diff --git a/.codecov.yml b/.codecov.yml deleted file mode 100644 index 0514262113ec2..0000000000000 --- a/.codecov.yml +++ /dev/null @@ -1,15 +0,0 @@ -codecov: - branch: master - ci: - - drone.nextcloud.com - - !scrutinizer-ci.com - -coverage: - precision: 2 - round: down - range: "70...100" - status: - project: off - patch: off - -comment: off diff --git a/.github/workflows/node-tests.yml b/.github/workflows/node-tests.yml index a3710249866ee..fad74c4e3961b 100644 --- a/.github/workflows/node-tests.yml +++ b/.github/workflows/node-tests.yml @@ -25,8 +25,8 @@ jobs: uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 id: versions with: - fallbackNode: '^12' - fallbackNpm: '^6' + fallbackNode: '^16' + fallbackNpm: '^7' test: runs-on: ubuntu-latest @@ -47,8 +47,13 @@ jobs: - name: Install dependencies run: npm ci - - name: Test - run: npm run test + - name: Test and process coverage + run: npm run test:coverage + + - name: Collect coverage + uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 + with: + files: ./coverage/lcov.info jsunit: runs-on: ubuntu-latest diff --git a/.gitignore b/.gitignore index de380d992bb10..e05e79eec6dc5 100644 --- a/.gitignore +++ b/.gitignore @@ -154,6 +154,7 @@ Vagrantfile /config/config-autotest-backup.php /config/autoconfig.php clover.xml +/coverage # Tests - dependencies tests/acceptance/vendor/ diff --git a/__mocks__/@nextcloud/auth.ts b/__mocks__/@nextcloud/auth.ts new file mode 100644 index 0000000000000..e18a50c7c5111 --- /dev/null +++ b/__mocks__/@nextcloud/auth.ts @@ -0,0 +1,34 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ + * + * @author John Molakvoæ + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +export const getCurrentUser = function() { + return { + uid: 'test', + displayName: 'Test', + isAdmin: false, + } +} + +export const getRequestToken = function() { + return 'test-token-1234' +} + +export const onRequestTokenUpdate = function() {} diff --git a/__mocks__/@nextcloud/axios.ts b/__mocks__/@nextcloud/axios.ts new file mode 100644 index 0000000000000..c78420c98b085 --- /dev/null +++ b/__mocks__/@nextcloud/axios.ts @@ -0,0 +1,24 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ + * + * @author John Molakvoæ + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +export default { + delete: async () => ({ status: 200, data: {} }), +} diff --git a/__mocks__/svg.js b/__mocks__/svg.js new file mode 100644 index 0000000000000..52b1041f754a9 --- /dev/null +++ b/__mocks__/svg.js @@ -0,0 +1,22 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ + * + * @author John Molakvoæ + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +export default 'SvgMock' diff --git a/tests/jestSetup.js b/__tests__/jest-setup.ts similarity index 100% rename from tests/jestSetup.js rename to __tests__/jest-setup.ts diff --git a/apps/files/src/actions/deleteAction.spec.ts b/apps/files/src/actions/deleteAction.spec.ts new file mode 100644 index 0000000000000..1046fa6dad707 --- /dev/null +++ b/apps/files/src/actions/deleteAction.spec.ts @@ -0,0 +1,184 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ + * + * @author John Molakvoæ + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +import { action } from './deleteAction' +import { expect } from '@jest/globals' +import { File, Folder, Permission } from '@nextcloud/files' +import { FileAction } from '../services/FileAction' +import * as eventBus from '@nextcloud/event-bus' +import axios from '@nextcloud/axios' +import type { Navigation } from '../services/Navigation' +import logger from '../logger' + +const view = { + id: 'files', + name: 'Files', +} as Navigation + +const trashbinView = { + id: 'trashbin', + name: 'Trashbin', +} as Navigation + +describe('Delete action conditions tests', () => { + test('Default values', () => { + expect(action).toBeInstanceOf(FileAction) + expect(action.id).toBe('delete') + expect(action.displayName([], view)).toBe('Delete') + expect(action.iconSvgInline([], view)).toBe('SvgMock') + expect(action.order).toBe(100) + }) + + test('Default trashbin view values', () => { + expect(action.displayName([], trashbinView)).toBe('Delete permanently') + }) +}) + +describe('Delete action enabled tests', () => { + test('Enabled with DELETE permissions', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.ALL, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(true) + }) + + test('Disabled without DELETE permissions', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(false) + }) + + test('Disabled without nodes', () => { + expect(action.enabled).toBeDefined() + expect(action.enabled!([], view)).toBe(false) + }) + + test('Disabled if not all nodes can be deleted', () => { + const folder1 = new Folder({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Foo/', + owner: 'admin', + permissions: Permission.DELETE, + }) + const folder2 = new Folder({ + id: 2, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Bar/', + owner: 'admin', + permissions: Permission.READ, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([folder1], view)).toBe(true) + expect(action.enabled!([folder2], view)).toBe(false) + expect(action.enabled!([folder1, folder2], view)).toBe(false) + }) +}) + +describe('Delete action execute tests', () => { + test('Delete action', async () => { + jest.spyOn(axios, 'delete') + jest.spyOn(eventBus, 'emit') + + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ | Permission.UPDATE | Permission.DELETE, + }) + + const exec = await action.exec(file, view, '/') + + expect(exec).toBe(true) + expect(axios.delete).toBeCalledTimes(1) + expect(axios.delete).toBeCalledWith('https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt') + + expect(eventBus.emit).toBeCalledTimes(1) + expect(eventBus.emit).toBeCalledWith('files:node:deleted', file) + }) + + test('Delete action batch', async () => { + jest.spyOn(axios, 'delete') + jest.spyOn(eventBus, 'emit') + + const file1 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foo.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ | Permission.UPDATE | Permission.DELETE, + }) + + const file2 = new File({ + id: 2, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/bar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ | Permission.UPDATE | Permission.DELETE, + }) + + const exec = await action.execBatch!([file1, file2], view, '/') + + expect(exec).toStrictEqual([true, true]) + expect(axios.delete).toBeCalledTimes(2) + expect(axios.delete).toHaveBeenNthCalledWith(1, 'https://cloud.domain.com/remote.php/dav/files/admin/foo.txt') + expect(axios.delete).toHaveBeenNthCalledWith(2, 'https://cloud.domain.com/remote.php/dav/files/admin/bar.txt') + + expect(eventBus.emit).toBeCalledTimes(2) + expect(eventBus.emit).toHaveBeenNthCalledWith(1, 'files:node:deleted', file1) + expect(eventBus.emit).toHaveBeenNthCalledWith(2, 'files:node:deleted', file2) + }) + + test('Delete fails', async () => { + jest.spyOn(axios, 'delete').mockImplementation(() => { throw new Error('Mock error') }) + jest.spyOn(logger, 'error').mockImplementation(() => jest.fn()) + + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ | Permission.UPDATE | Permission.DELETE, + }) + + const exec = await action.exec(file, view, '/') + + expect(exec).toBe(false) + expect(axios.delete).toBeCalledTimes(1) + expect(axios.delete).toBeCalledWith('https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt') + + expect(eventBus.emit).toBeCalledTimes(0) + expect(logger.error).toBeCalledTimes(1) + }) +}) diff --git a/apps/files/src/actions/deleteAction.ts b/apps/files/src/actions/deleteAction.ts index a633e477b1f94..20af8573dd986 100644 --- a/apps/files/src/actions/deleteAction.ts +++ b/apps/files/src/actions/deleteAction.ts @@ -25,11 +25,11 @@ import { translate as t } from '@nextcloud/l10n' import axios from '@nextcloud/axios' import TrashCan from '@mdi/svg/svg/trash-can.svg?raw' -import { registerFileAction, FileAction } from '../services/FileAction.ts' +import { registerFileAction, FileAction } from '../services/FileAction' import logger from '../logger.js' -import type { Navigation } from '../services/Navigation.ts' +import type { Navigation } from '../services/Navigation' -registerFileAction(new FileAction({ +export const action = new FileAction({ id: 'delete', displayName(nodes: Node[], view: Navigation) { return view.id === 'trashbin' @@ -63,4 +63,6 @@ registerFileAction(new FileAction({ }, order: 100, -})) +}) + +registerFileAction(action) diff --git a/apps/files/src/actions/downloadAction.spec.ts b/apps/files/src/actions/downloadAction.spec.ts new file mode 100644 index 0000000000000..5d75754c50cc6 --- /dev/null +++ b/apps/files/src/actions/downloadAction.spec.ts @@ -0,0 +1,185 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ + * + * @author John Molakvoæ + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +import { action } from './downloadAction' +import { expect } from '@jest/globals' +import { File, Folder, Permission } from '@nextcloud/files' +import { FileAction } from '../services/FileAction' +import * as eventBus from '@nextcloud/event-bus' +import axios from '@nextcloud/axios' +import type { Navigation } from '../services/Navigation' +import logger from '../logger' + +const view = { + id: 'files', + name: 'Files', +} as Navigation + +describe('Download action conditions tests', () => { + test('Default values', () => { + expect(action).toBeInstanceOf(FileAction) + expect(action.id).toBe('download') + expect(action.displayName([], view)).toBe('Download') + expect(action.iconSvgInline([], view)).toBe('SvgMock') + expect(action.order).toBe(30) + }) +}) + +describe('Download action enabled tests', () => { + test('Enabled with READ permissions', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.ALL, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(true) + }) + + test('Disabled without READ permissions', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.NONE, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(false) + }) + + test('Disabled if not all nodes have READ permissions', () => { + const folder1 = new Folder({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Foo/', + owner: 'admin', + permissions: Permission.READ, + }) + const folder2 = new Folder({ + id: 2, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Bar/', + owner: 'admin', + permissions: Permission.NONE, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([folder1], view)).toBe(true) + expect(action.enabled!([folder2], view)).toBe(false) + expect(action.enabled!([folder1, folder2], view)).toBe(false) + }) + + test('Disabled without nodes', () => { + expect(action.enabled).toBeDefined() + expect(action.enabled!([], view)).toBe(false) + }) +}) + +describe('Download action execute tests', () => { + const link = { + click: jest.fn(), + } as unknown as HTMLAnchorElement + + beforeEach(() => { + jest.spyOn(document, 'createElement').mockImplementation(() => link) + }) + + test('Download single file', async () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ, + }) + + const exec = await action.exec(file, view, '/') + + // Silent action + expect(exec).toBe(null) + expect(link.download).toEqual('') + expect(link.href).toEqual('https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt') + expect(link.click).toHaveBeenCalledTimes(1) + }) + + test('Download single file with batch', async () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ, + }) + + const exec = await action.execBatch!([file], view, '/') + + // Silent action + expect(exec).toStrictEqual([null]) + expect(link.download).toEqual('') + expect(link.href).toEqual('https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt') + expect(link.click).toHaveBeenCalledTimes(1) + }) + + test('Download single folder', async () => { + const folder = new Folder({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/FooBar/', + owner: 'admin', + permissions: Permission.READ, + }) + + const exec = await action.exec(folder, view, '/') + + // Silent action + expect(exec).toBe(null) + expect(link.download).toEqual('') + expect(link.href.startsWith('/index.php/apps/files/ajax/download.php?dir=%2F&files=%5B%22FooBar%22%5D&downloadStartSecret=')).toBe(true) + expect(link.click).toHaveBeenCalledTimes(1) + }) + + test('Download multiple nodes', async () => { + const file1 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Dir/foo.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ, + }) + const file2 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Dir/bar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.READ, + }) + + const exec = await action.execBatch!([file1, file2], view, '/Dir') + + // Silent action + expect(exec).toStrictEqual([null, null]) + expect(link.download).toEqual('') + expect(link.href.startsWith('/index.php/apps/files/ajax/download.php?dir=%2FDir&files=%5B%22foo.txt%22%2C%22bar.txt%22%5D&downloadStartSecret=')).toBe(true) + expect(link.click).toHaveBeenCalledTimes(1) + }) +}) diff --git a/apps/files/src/actions/downloadAction.ts b/apps/files/src/actions/downloadAction.ts new file mode 100644 index 0000000000000..3801553aeaa3e --- /dev/null +++ b/apps/files/src/actions/downloadAction.ts @@ -0,0 +1,82 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ + * + * @author John Molakvoæ + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +import { emit } from '@nextcloud/event-bus' +import { Permission, Node, FileType } from '@nextcloud/files' +import { translate as t } from '@nextcloud/l10n' +import ArrowDown from '@mdi/svg/svg/arrow-down.svg?raw' + +import { registerFileAction, FileAction } from '../services/FileAction' +import { generateUrl } from '@nextcloud/router' +import type { Navigation } from '../services/Navigation' + +const triggerDownload = function(url: string) { + const hiddenElement = document.createElement('a') + hiddenElement.download = '' + hiddenElement.href = url + hiddenElement.click() +} + +const downloadNodes = function(dir: string, nodes: Node[]) { + const secret = Math.random().toString(36).substring(2) + const url = generateUrl('/apps/files/ajax/download.php?dir={dir}&files={files}&downloadStartSecret={secret}', { + dir, + secret, + files: JSON.stringify(nodes.map(node => node.basename)), + }) + triggerDownload(url) +} + +export const action = new FileAction({ + id: 'download', + displayName: () => t('files', 'Download'), + iconSvgInline: () => ArrowDown, + + enabled(nodes: Node[]) { + return nodes.length > 0 && nodes + .map(node => node.permissions) + .every(permission => (permission & Permission.READ) !== 0) + }, + + async exec(node: Node, view: Navigation, dir: string) { + if (node.type === FileType.Folder) { + downloadNodes(dir, [node]) + return null + } + + triggerDownload(node.source) + return null + }, + + async execBatch(nodes: Node[], view: Navigation, dir: string) { + if (nodes.length === 1) { + this.exec(nodes[0], view, dir) + return [null] + } + + downloadNodes(dir, nodes) + return new Array(nodes.length).fill(null) + }, + + order: 30, +}) + +registerFileAction(action) diff --git a/apps/files/src/actions/openFolderAction.spec.ts b/apps/files/src/actions/openFolderAction.spec.ts new file mode 100644 index 0000000000000..07502be2eedd2 --- /dev/null +++ b/apps/files/src/actions/openFolderAction.spec.ts @@ -0,0 +1,163 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ + * + * @author John Molakvoæ + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +import { action } from './openFolderAction' +import { expect } from '@jest/globals' +import { File, Folder, Permission } from '@nextcloud/files' +import { FileAction } from '../services/FileAction' +import type { Navigation } from '../services/Navigation' + +const view = { + id: 'files', + name: 'Files', +} as Navigation + +describe('Open folder action conditions tests', () => { + test('Default values', () => { + const folder = new Folder({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/FooBar/', + owner: 'admin', + permissions: Permission.READ, + }) + + expect(action).toBeInstanceOf(FileAction) + expect(action.id).toBe('open-folder') + expect(action.displayName([folder], view)).toBe('Open folder FooBar') + expect(action.iconSvgInline([], view)).toBe('SvgMock') + expect(action.default).toBe(true) + expect(action.order).toBe(-100) + }) +}) + +describe('Open folder action enabled tests', () => { + test('Enabled for folders', () => { + const folder = new Folder({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/FooBar/', + owner: 'admin', + permissions: Permission.READ, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([folder], view)).toBe(true) + }) + + test('Disabled for non-dav ressources', () => { + const folder = new Folder({ + id: 1, + source: 'https://domain.com/data/FooBar/', + owner: 'admin', + permissions: Permission.NONE, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([folder], view)).toBe(false) + }) + + test('Disabled if more than one node', () => { + const folder1 = new Folder({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Foo/', + owner: 'admin', + permissions: Permission.READ, + }) + const folder2 = new Folder({ + id: 2, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Bar/', + owner: 'admin', + permissions: Permission.READ, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([folder1, folder2], view)).toBe(false) + }) + + test('Disabled for files', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Foo/', + owner: 'admin', + mime: 'text/plain', + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(false) + }) + + test('Disabled without READ permissions', () => { + const folder = new Folder({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Foo/', + owner: 'admin', + permissions: Permission.NONE, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([folder], view)).toBe(false) + }) +}) + +describe('Open folder action execute tests', () => { + test('Open folder', async () => { + const goToRouteMock = jest.fn() + window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } + + const folder = new Folder({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/FooBar/', + owner: 'admin', + permissions: Permission.READ, + }) + + const exec = await action.exec(folder, view, '/') + // Silent action + expect(exec).toBe(null) + expect(goToRouteMock).toBeCalledTimes(1) + expect(goToRouteMock).toBeCalledWith(null, null, { dir: '/FooBar' }) + }) + + test('Open folder fails without node', async () => { + const goToRouteMock = jest.fn() + window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } + + // @ts-ignore null as Node + const exec = await action.exec(null, view, '/') + expect(exec).toBe(false) + expect(goToRouteMock).toBeCalledTimes(0) + }) + + test('Open folder fails without Folder', async () => { + const goToRouteMock = jest.fn() + window.OCP = { Files: { Router: { goToRoute: goToRouteMock } } } + + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/Foo/', + owner: 'admin', + mime: 'text/plain', + }) + + const exec = await action.exec(file, view, '/') + expect(exec).toBe(false) + expect(goToRouteMock).toBeCalledTimes(0) + }) +}) diff --git a/apps/files/src/actions/openFolderAction.ts b/apps/files/src/actions/openFolderAction.ts index cc2c0825bd45b..76467796a2b32 100644 --- a/apps/files/src/actions/openFolderAction.ts +++ b/apps/files/src/actions/openFolderAction.ts @@ -27,7 +27,7 @@ import type { Navigation } from '../services/Navigation' import { join } from 'path' import { registerFileAction, FileAction } from '../services/FileAction' -registerFileAction(new FileAction({ +export const action = new FileAction({ id: 'open-folder', displayName(files: Node[]) { // Only works on single node @@ -43,6 +43,11 @@ registerFileAction(new FileAction({ } const node = nodes[0] + + if (!node.isDavRessource) { + return false + } + return node.type === FileType.Folder && (node.permissions & Permission.READ) !== 0 }, @@ -59,11 +64,10 @@ registerFileAction(new FileAction({ ) return null }, - async execBatch(nodes: Node[], view: Navigation, dir: string) { - return Promise.all(nodes.map(node => this.exec(node, view, dir))) - }, // Main action if enabled, meaning folders only - order: -100, default: true, -})) + order: -100, +}) + +registerFileAction(action) diff --git a/apps/files/src/actions/sidebarAction.spec.ts b/apps/files/src/actions/sidebarAction.spec.ts new file mode 100644 index 0000000000000..cdf878459dbba --- /dev/null +++ b/apps/files/src/actions/sidebarAction.spec.ts @@ -0,0 +1,144 @@ +/** + * @copyright Copyright (c) 2023 John Molakvoæ + * + * @author John Molakvoæ + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +import { action } from './sidebarAction' +import { expect } from '@jest/globals' +import { File } from '@nextcloud/files' +import { FileAction } from '../services/FileAction' +import type { Navigation } from '../services/Navigation' +import logger from '../logger' + +const view = { + id: 'files', + name: 'Files', +} as Navigation + +describe('Open sidebar action conditions tests', () => { + test('Default values', () => { + expect(action).toBeInstanceOf(FileAction) + expect(action.id).toBe('details') + expect(action.displayName([], view)).toBe('Details') + expect(action.iconSvgInline([], view)).toBe('SvgMock') + expect(action.default).toBe(true) + expect(action.order).toBe(-50) + }) +}) + +describe('Open folder action enabled tests', () => { + test('Enabled for ressources within user root folder', () => { + window.OCA = { Files: { Sidebar: {} } } + + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(true) + }) + + test('Disabled if more than one node', () => { + window.OCA = { Files: { Sidebar: {} } } + + const file1 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foo.txt', + owner: 'admin', + mime: 'text/plain', + }) + const file2 = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/bar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file1, file2], view)).toBe(false) + }) + + test('Disabled if no Sidebar', () => { + window.OCA = {} + + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(false) + }) + + test('Disabled for non-dav ressources', () => { + window.OCA = { Files: { Sidebar: {} } } + + const file = new File({ + id: 1, + source: 'https://domain.com/documents/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], view)).toBe(false) + }) +}) + +describe('Open sidebar action exec tests', () => { + test('Open sidebar', async () => { + const openMock = jest.fn() + window.OCA = { Files: { Sidebar: { open: openMock } } } + + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + const exec = await action.exec(file, view, '/') + // Silent action + expect(exec).toBe(null) + expect(openMock).toBeCalledWith('/foobar.txt') + }) + + test('Open sidebar fails', async () => { + const openMock = jest.fn(() => { throw new Error('Mock error') }) + window.OCA = { Files: { Sidebar: { open: openMock } } } + jest.spyOn(logger, 'error').mockImplementation(() => jest.fn()) + + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + }) + + const exec = await action.exec(file, view, '/') + expect(exec).toBe(false) + expect(openMock).toBeCalledTimes(1) + expect(logger.error).toBeCalledTimes(1) + }) +}) diff --git a/apps/files/src/actions/sidebarAction.ts b/apps/files/src/actions/sidebarAction.ts index f56d3a9475f42..d0baf611992a0 100644 --- a/apps/files/src/actions/sidebarAction.ts +++ b/apps/files/src/actions/sidebarAction.ts @@ -23,19 +23,30 @@ import { translate as t } from '@nextcloud/l10n' import InformationSvg from '@mdi/svg/svg/information-variant.svg?raw' import type { Node } from '@nextcloud/files' -import { registerFileAction, FileAction } from '../services/FileAction.ts' +import { registerFileAction, FileAction } from '../services/FileAction' import logger from '../logger.js' export const ACTION_DETAILS = 'details' -registerFileAction(new FileAction({ +export const action = new FileAction({ id: ACTION_DETAILS, displayName: () => t('files', 'Details'), iconSvgInline: () => InformationSvg, // Sidebar currently supports user folder only, /files/USER - enabled: (files: Node[]) => !!window?.OCA?.Files?.Sidebar - && files.some(node => node.root?.startsWith('/files/')), + enabled: (nodes: Node[]) => { + // Only works on single node + if (nodes.length !== 1) { + return false + } + + // Only work if the sidebar is available + if (!window?.OCA?.Files?.Sidebar) { + return false + } + + return nodes[0].root?.startsWith('/files/') ?? false + }, async exec(node: Node) { try { @@ -51,4 +62,7 @@ registerFileAction(new FileAction({ default: true, order: -50, -})) +}) + +registerFileAction(action) + diff --git a/apps/files/src/services/FileAction.ts b/apps/files/src/services/FileAction.ts index 70d6405c8049a..6b2e3750a2425 100644 --- a/apps/files/src/services/FileAction.ts +++ b/apps/files/src/services/FileAction.ts @@ -39,11 +39,11 @@ interface FileActionData { /** Unique ID */ id: string /** Translatable string displayed in the menu */ - displayName: (files: Node[], view) => string + displayName: (files: Node[], view: Navigation) => string /** Svg as inline string. */ - iconSvgInline: (files: Node[], view) => string + iconSvgInline: (files: Node[], view: Navigation) => string /** Condition wether this action is shown or not */ - enabled?: (files: Node[], view) => boolean + enabled?: (files: Node[], view: Navigation) => boolean /** * Function executed on single file action * @returns true if the action was executed, false otherwise @@ -64,12 +64,12 @@ interface FileActionData { /** * If true, the renderInline function will be called */ - inline?: (file: Node, view) => boolean, + inline?: (file: Node, view: Navigation) => boolean, /** * If defined, the returned html element will be * appended before the actions menu. */ - renderInline?: (file: Node, view) => HTMLElement, + renderInline?: (file: Node, view: Navigation) => HTMLElement, } export class FileAction { diff --git a/build/files-checker.php b/build/files-checker.php index c06e5ea81dc39..0befaed968e22 100644 --- a/build/files-checker.php +++ b/build/files-checker.php @@ -22,7 +22,6 @@ $expectedFiles = [ '.', '..', - '.codecov.yml', '.devcontainer', '.drone.yml', '.editorconfig', @@ -44,6 +43,8 @@ '.tag', '.tx', '.user.ini', + '__mocks__', + '__tests__', '3rdparty', 'AUTHORS', 'CHANGELOG.md', @@ -60,6 +61,7 @@ 'autotest.sh', 'babel.config.js', 'build', + 'codecov.yml', 'composer.json', 'composer.lock', 'config', @@ -74,7 +76,7 @@ 'dist', 'index.html', 'index.php', - 'jest.config.js', + 'jest.config.ts', 'lib', 'occ', 'ocm-provider', diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 0000000000000..7f31b67dc0e48 --- /dev/null +++ b/codecov.yml @@ -0,0 +1,7 @@ +codecov: + branch: master + ci: + - drone.nextcloud.com + - '!scrutinizer-ci.com' + +comment: false diff --git a/custom.d.ts b/custom.d.ts index 7f6487fb8359d..6a7b595c981f5 100644 --- a/custom.d.ts +++ b/custom.d.ts @@ -24,6 +24,11 @@ declare module '*.svg?raw' { export default content } +declare module '*.svg' { + const content: any + export default content +} + declare module '*.vue' { import Vue from 'vue' export default Vue diff --git a/dist/files-main.js b/dist/files-main.js index 727c695162b4c..6ae83c43dbf79 100644 --- a/dist/files-main.js +++ b/dist/files-main.js @@ -1,3 +1,3 @@ /*! For license information please see files-main.js.LICENSE.txt */ -(()=>{var e,n={68988:(e,t,n)=>{var o=n(25108);!function(t,n){e.exports=n()}(self,(()=>(()=>{var e={644:(e,t,n)=>{"use strict";n.d(t,{default:()=>L});var o=n(9104),i=n(5825),r=n(1205),a=n(932),s=n(2734),l=n.n(s),c=n(1441),u=n.n(c);function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function m(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&void 0!==arguments[0])||arguments[0];this.opened&&(this.opened=!1,this.$refs.popover.clearFocusTrap({returnFocus:e}),this.$emit("update:open",!1),this.$emit("close"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.$el.focus())},onOpen:function(e){var t=this;this.$nextTick((function(){t.focusFirstAction(e)}))},onMouseFocusAction:function(e){if(document.activeElement!==e.target){var t=e.target.closest("li");if(t){var n=t.querySelector(f);if(n){var o=v(this.$refs.menu.querySelectorAll(f)).indexOf(n);o>-1&&(this.focusIndex=o,this.focusAction())}}}},onKeydown:function(e){(38===e.keyCode||9===e.keyCode&&e.shiftKey)&&this.focusPreviousAction(e),(40===e.keyCode||9===e.keyCode&&!e.shiftKey)&&this.focusNextAction(e),33===e.keyCode&&this.focusFirstAction(e),34===e.keyCode&&this.focusLastAction(e),27===e.keyCode&&(this.closeMenu(),e.preventDefault())},removeCurrentActive:function(){var e=this.$refs.menu.querySelector("li.active");e&&e.classList.remove("active")},focusAction:function(){var e=this.$refs.menu.querySelectorAll(f)[this.focusIndex];if(e){this.removeCurrentActive();var t=e.closest("li.action");e.focus(),t&&t.classList.add("active")}},focusPreviousAction:function(e){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(e){if(this.opened){var t=this.$refs.menu.querySelectorAll(f).length-1;this.focusIndex===t?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=0,this.focusAction())},focusLastAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=this.$refs.menu.querySelectorAll(f).length-1,this.focusAction())},preventIfEvent:function(e){e&&(e.preventDefault(),e.stopPropagation())},onFocus:function(e){this.$emit("focus",e)},onBlur:function(e){this.$emit("blur",e)}},render:function(e){var t=this,n=(this.$slots.default||[]).filter((function(e){var t,n,o,i;return(null==e||null===(t=e.componentOptions)||void 0===t?void 0:t.tag)||(null==e||null===(n=e.componentOptions)||void 0===n||null===(o=n.Ctor)||void 0===o||null===(i=o.extendOptions)||void 0===i?void 0:i.name)})),o=n.every((function(e){var t,n,o,i,r,a,s,l;return"NcActionLink"===(null!==(t=null==e||null===(n=e.componentOptions)||void 0===n||null===(o=n.Ctor)||void 0===o||null===(i=o.extendOptions)||void 0===i?void 0:i.name)&&void 0!==t?t:null==e||null===(r=e.componentOptions)||void 0===r?void 0:r.tag)&&(null==e||null===(a=e.componentOptions)||void 0===a||null===(s=a.propsData)||void 0===s||null===(l=s.href)||void 0===l?void 0:l.startsWith(window.location.origin))})),i=n.filter(this.isValidSingleAction);if(this.forceMenu&&i.length>0&&this.inline>0&&(l().util.warn("Specifying forceMenu will ignore any inline actions rendering."),i=[]),0!==n.length){var r=function(n){var o,i,r,a,s,l,c,u,d,p,h,v,A,f,g,b,y,C,w,k,S,x,_=(null==n||null===(o=n.data)||void 0===o||null===(i=o.scopedSlots)||void 0===i||null===(r=i.icon())||void 0===r?void 0:r[0])||e("span",{class:["icon",null==n||null===(a=n.componentOptions)||void 0===a||null===(s=a.propsData)||void 0===s?void 0:s.icon]}),j=null==n||null===(l=n.componentOptions)||void 0===l||null===(c=l.listeners)||void 0===c?void 0:c.click,N=null==n||null===(u=n.componentOptions)||void 0===u||null===(d=u.children)||void 0===d||null===(p=d[0])||void 0===p||null===(h=p.text)||void 0===h||null===(v=h.trim)||void 0===v?void 0:v.call(h),z=(null==n||null===(A=n.componentOptions)||void 0===A||null===(f=A.propsData)||void 0===f?void 0:f.ariaLabel)||N,P=t.forceTitle?N:"",E=null==n||null===(g=n.componentOptions)||void 0===g||null===(b=g.propsData)||void 0===b?void 0:b.title;return t.forceTitle||E||(E=N),e("NcButton",{class:["action-item action-item--single",null==n||null===(y=n.data)||void 0===y?void 0:y.staticClass,null==n||null===(C=n.data)||void 0===C?void 0:C.class],attrs:{"aria-label":z,title:E},ref:null==n||null===(w=n.data)||void 0===w?void 0:w.ref,props:m({type:t.type||(P?"secondary":"tertiary"),disabled:t.disabled||(null==n||null===(k=n.componentOptions)||void 0===k||null===(S=k.propsData)||void 0===S?void 0:S.disabled),ariaHidden:t.ariaHidden},null==n||null===(x=n.componentOptions)||void 0===x?void 0:x.propsData),on:m({focus:t.onFocus,blur:t.onBlur},!!j&&{click:function(e){j&&j(e)}})},[e("template",{slot:"icon"},[_]),P])},a=function(n){var i,r,a=(null===(i=t.$slots.icon)||void 0===i?void 0:i[0])||(t.defaultIcon?e("span",{class:["icon",t.defaultIcon]}):e("DotsHorizontal",{props:{size:20}}));return e("NcPopover",{ref:"popover",props:{delay:0,handleResize:!0,shown:t.opened,placement:t.placement,boundary:t.boundariesElement,container:t.container,popoverBaseClass:"action-item__popper",setReturnFocus:null===(r=t.$refs.menuButton)||void 0===r?void 0:r.$el},attrs:{delay:0,handleResize:!0,shown:t.opened,placement:t.placement,boundary:t.boundariesElement,container:t.container,popoverBaseClass:"action-item__popper"},on:{show:t.openMenu,"after-show":t.onOpen,hide:t.closeMenu}},[e("NcButton",{class:"action-item__menutoggle",props:{type:t.triggerBtnType,disabled:t.disabled,ariaHidden:t.ariaHidden},slot:"trigger",ref:"menuButton",attrs:{"aria-haspopup":o?null:"menu","aria-label":t.ariaLabel,"aria-controls":t.opened?t.randomId:null,"aria-expanded":t.opened.toString()},on:{focus:t.onFocus,blur:t.onBlur}},[e("template",{slot:"icon"},[a]),t.menuTitle]),e("div",{class:{open:t.opened},attrs:{tabindex:"-1"},on:{keydown:t.onKeydown,mousemove:t.onMouseFocusAction},ref:"menu"},[e("ul",{attrs:{id:t.randomId,tabindex:"-1",role:o?null:"menu"}},[n])])])};if(1===n.length&&1===i.length&&!this.forceMenu)return r(i[0]);if(i.length>0&&this.inline>0){var s=i.slice(0,this.inline),c=n.filter((function(e){return!s.includes(e)}));return e("div",{class:["action-items","action-item--".concat(this.triggerBtnType)]},[].concat(v(s.map(r)),[c.length>0?e("div",{class:["action-item",{"action-item--open":this.opened}]},[a(c)]):null]))}return e("div",{class:["action-item action-item--default-popover","action-item--".concat(this.triggerBtnType),{"action-item--open":this.opened}]},[a(n)])}}};var b=n(3379),y=n.n(b),C=n(7795),w=n.n(C),k=n(569),S=n.n(k),x=n(3565),_=n.n(x),j=n(9216),N=n.n(j),z=n(4589),P=n.n(z),E=n(8827),O={};O.styleTagTransform=P(),O.setAttributes=_(),O.insert=S().bind(null,"head"),O.domAPI=w(),O.insertStyleElement=N(),y()(E.Z,O),E.Z&&E.Z.locals&&E.Z.locals;var T=n(5565),B={};B.styleTagTransform=P(),B.setAttributes=_(),B.insert=S().bind(null,"head"),B.domAPI=w(),B.insertStyleElement=N(),y()(T.Z,B),T.Z&&T.Z.locals&&T.Z.locals;var D=n(1900),F=n(5727),I=n.n(F),$=(0,D.Z)(g,void 0,void 0,!1,null,"20a3e950",null);"function"==typeof I()&&I()($);const L=$.exports},9104:(e,t,n)=>{"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;tj});const l={name:"NcButton",props:{disabled:{type:Boolean,default:!1},type:{type:String,validator:function(e){return-1!==["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].indexOf(e)},default:"secondary"},nativeType:{type:String,validator:function(e){return-1!==["submit","reset","button"].indexOf(e)},default:"button"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},href:{type:String,default:null},to:{type:[String,Object],default:null},exact:{type:Boolean,default:!1},ariaHidden:{type:Boolean,default:null}},render:function(e){var t,n,i,r,l,c=this,u=null===(t=this.$slots.default)||void 0===t||null===(n=t[0])||void 0===n||null===(i=n.text)||void 0===i||null===(r=i.trim)||void 0===r?void 0:r.call(i),d=!!u,p=null===(l=this.$slots)||void 0===l?void 0:l.icon;u||this.ariaLabel||o.warn("You need to fill either the text or the ariaLabel props in the button component.",{text:u,ariaLabel:this.ariaLabel},this);var m=function(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=n.navigate,i=n.isActive,r=n.isExactActive;return e(c.to||!c.href?"button":"a",{class:["button-vue",(t={"button-vue--icon-only":p&&!d,"button-vue--text-only":d&&!p,"button-vue--icon-and-text":p&&d},s(t,"button-vue--vue-".concat(c.type),c.type),s(t,"button-vue--wide",c.wide),s(t,"active",i),s(t,"router-link-exact-active",r),t)],attrs:a({"aria-label":c.ariaLabel,disabled:c.disabled,type:c.href?null:c.nativeType,role:c.href?"button":null,href:!c.to&&c.href?c.href:null},c.$attrs),on:a(a({},c.$listeners),{},{click:function(e){var t,n;null===(t=c.$listeners)||void 0===t||null===(n=t.click)||void 0===n||n.call(t,e),null==o||o(e)}})},[e("span",{class:"button-vue__wrapper"},[p?e("span",{class:"button-vue__icon",attrs:{"aria-hidden":c.ariaHidden}},[c.$slots.icon]):null,d?e("span",{class:"button-vue__text"},[u]):null])])};return this.to?e("router-link",{props:{custom:!0,to:this.to,exact:this.exact},scopedSlots:{default:m}}):m()}};var c=n(3379),u=n.n(c),d=n(7795),p=n.n(d),m=n(569),h=n.n(m),v=n(3565),A=n.n(v),f=n(9216),g=n.n(f),b=n(4589),y=n.n(b),C=n(1898),w={};w.styleTagTransform=y(),w.setAttributes=A(),w.insert=h().bind(null,"head"),w.domAPI=p(),w.insertStyleElement=g(),u()(C.Z,w),C.Z&&C.Z.locals&&C.Z.locals;var k=n(1900),S=n(2102),x=n.n(S),_=(0,k.Z)(l,void 0,void 0,!1,null,"2e49be1e",null);"function"==typeof x()&&x()(_);const j=_.exports},1373:(e,t,o)=>{"use strict";o.d(t,{default:()=>Y});var i=o(7645),r=o(1206),a=o(932),s=o(1205),l=o(3648),c=o(644),u=o(9104);function d(e,t){var n,o,i,r=t;this.start=function(){i=!0,o=new Date,n=setTimeout(e,r)},this.pause=function(){i=!1,clearTimeout(n),r-=new Date-o},this.clear=function(){i=!1,clearTimeout(n),r=0},this.getTimeLeft=function(){return i&&(this.pause(),this.start()),r},this.getStateRunning=function(){return i},this.start()}var p=o(336);const m=n(32964);var h=o.n(m),v=o(9044),A=o.n(v),f=o(8618),g=o.n(f);const b=n(81857);var y=o.n(b);const C=n(53071);var w=o.n(C),k=o(4505),S=o(2640),x=o.n(S);function _(e){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_(e)}function j(){j=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},r=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,n){return e[t]=n}}function c(e,t,n,i){var r=t&&t.prototype instanceof p?t:p,a=Object.create(r.prototype),s=new x(i||[]);return o(a,"_invoke",{value:C(e,n,s)}),a}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var d={};function p(){}function m(){}function h(){}var v={};l(v,r,(function(){return this}));var A=Object.getPrototypeOf,f=A&&A(A(N([])));f&&f!==t&&n.call(f,r)&&(v=f);var g=h.prototype=p.prototype=Object.create(v);function b(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function i(o,r,a,s){var l=u(e[o],e,r);if("throw"!==l.type){var c=l.arg,d=c.value;return d&&"object"==_(d)&&n.call(d,"__await")?t.resolve(d.__await).then((function(e){i("next",e,a,s)}),(function(e){i("throw",e,a,s)})):t.resolve(d).then((function(e){c.value=e,a(c)}),(function(e){return i("throw",e,a,s)}))}s(l.arg)}var r;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){i(e,n,t,o)}))}return r=r?r.then(o,o):o()}})}function C(e,t,n){var o="suspendedStart";return function(i,r){if("executing"===o)throw new Error("Generator is already running");if("completed"===o){if("throw"===i)throw r;return{value:void 0,done:!0}}for(n.method=i,n.arg=r;;){var a=n.delegate;if(a){var s=w(a,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===o)throw o="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o="executing";var l=u(e,t,n);if("normal"===l.type){if(o=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o="completed",n.method="throw",n.arg=l.arg)}}}function w(e,t){var n=t.method,o=e.iterator[n];if(void 0===o)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=u(o,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,d;var r=i.arg;return r?r.done?(t[e.resultName]=r.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function N(e){if(e){var t=e[r];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function t(){for(;++o=0;--i){var r=this.tryEntries[i],a=r.completion;if("root"===r.tryLoc)return o("end");if(r.tryLoc<=this.prev){var s=n.call(r,"catchLoc"),l=n.call(r,"finallyLoc");if(s&&l){if(this.prev=0;--o){var i=this.tryEntries[o];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),S(n),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var i=o.arg;S(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:N(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},e}function N(e,t,n,o,i,r,a){try{var s=e[r](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(o,i)}function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n{"use strict";n.d(t,{default:()=>P});var i=n(9454),r=n(4505),a=n(1206);function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function l(){l=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},r=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function d(e,t,n,i){var r=t&&t.prototype instanceof h?t:h,a=Object.create(r.prototype),s=new j(i||[]);return o(a,"_invoke",{value:k(e,n,s)}),a}function p(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=d;var m={};function h(){}function v(){}function A(){}var f={};u(f,r,(function(){return this}));var g=Object.getPrototypeOf,b=g&&g(g(N([])));b&&b!==t&&n.call(b,r)&&(f=b);var y=A.prototype=h.prototype=Object.create(f);function C(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function w(e,t){function i(o,r,a,l){var c=p(e[o],e,r);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==s(d)&&n.call(d,"__await")?t.resolve(d.__await).then((function(e){i("next",e,a,l)}),(function(e){i("throw",e,a,l)})):t.resolve(d).then((function(e){u.value=e,a(u)}),(function(e){return i("throw",e,a,l)}))}l(c.arg)}var r;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){i(e,n,t,o)}))}return r=r?r.then(o,o):o()}})}function k(e,t,n){var o="suspendedStart";return function(i,r){if("executing"===o)throw new Error("Generator is already running");if("completed"===o){if("throw"===i)throw r;return{value:void 0,done:!0}}for(n.method=i,n.arg=r;;){var a=n.delegate;if(a){var s=S(a,n);if(s){if(s===m)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===o)throw o="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o="executing";var l=p(e,t,n);if("normal"===l.type){if(o=n.done?"completed":"suspendedYield",l.arg===m)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o="completed",n.method="throw",n.arg=l.arg)}}}function S(e,t){var n=t.method,o=e.iterator[n];if(void 0===o)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,S(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var i=p(o,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,m;var r=i.arg;return r?r.done?(t[e.resultName]=r.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,m):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,m)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function j(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function N(e){if(e){var t=e[r];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function t(){for(;++o=0;--i){var r=this.tryEntries[i],a=r.completion;if("root"===r.tryLoc)return o("end");if(r.tryLoc<=this.prev){var s=n.call(r,"catchLoc"),l=n.call(r,"finallyLoc");if(s&&l){if(this.prev=0;--o){var i=this.tryEntries[o];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),_(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var i=o.arg;_(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:N(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),m}},e}function c(e,t,n,o,i,r,a){try{var s=e[r](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(o,i)}const u={name:"NcPopover",components:{Dropdown:i.Dropdown},inheritAttrs:!1,props:{popoverBaseClass:{type:String,default:""},focusTrap:{type:Boolean,default:!0},setReturnFocus:{default:void 0,type:[HTMLElement,SVGElement,String,Boolean]}},emits:["after-show","after-hide"],beforeDestroy:function(){this.clearFocusTrap()},methods:{useFocusTrap:function(){var e,t=this;return(e=l().mark((function e(){var n,o,i;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.$nextTick();case 2:if(t.focusTrap){e.next=4;break}return e.abrupt("return");case 4:if(i=null===(n=t.$refs.popover)||void 0===n||null===(o=n.$refs.popperContent)||void 0===o?void 0:o.$el){e.next=7;break}return e.abrupt("return");case 7:t.$focusTrap=(0,r.createFocusTrap)(i,{escapeDeactivates:!1,allowOutsideClick:!0,setReturnFocus:t.setReturnFocus,trapStack:(0,a.L)()}),t.$focusTrap.activate();case 9:case"end":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(o,i){var r=e.apply(t,n);function a(e){c(r,o,i,a,s,"next",e)}function s(e){c(r,o,i,a,s,"throw",e)}a(void 0)}))})()},clearFocusTrap:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{var t;null===(t=this.$focusTrap)||void 0===t||t.deactivate(e),this.$focusTrap=null}catch(e){o.warn(e)}},afterShow:function(){var e=this;this.$nextTick((function(){e.$emit("after-show"),e.useFocusTrap()}))},afterHide:function(){this.$emit("after-hide"),this.clearFocusTrap()}}},d=u;var p=n(3379),m=n.n(p),h=n(7795),v=n.n(h),A=n(569),f=n.n(A),g=n(3565),b=n.n(g),y=n(9216),C=n.n(y),w=n(4589),k=n.n(w),S=n(4401),x={};x.styleTagTransform=k(),x.setAttributes=b(),x.insert=f().bind(null,"head"),x.domAPI=v(),x.insertStyleElement=C(),m()(S.Z,x),S.Z&&S.Z.locals&&S.Z.locals;var _=n(1900),j=n(2405),N=n.n(j),z=(0,_.Z)(d,(function(){var e=this;return(0,e._self._c)("Dropdown",e._g(e._b({ref:"popover",attrs:{distance:10,"arrow-padding":10,"no-auto-focus":!0,"popper-class":e.popoverBaseClass},on:{"apply-show":e.afterShow,"apply-hide":e.afterHide},scopedSlots:e._u([{key:"popper",fn:function(){return[e._t("default")]},proxy:!0}],null,!0)},"Dropdown",e.$attrs,!1),e.$listeners),[e._t("trigger")],2)}),[],!1,null,null,null);"function"==typeof N()&&N()(z);const P=z.exports},336:(e,t,n)=>{"use strict";n.d(t,{default:()=>g});var o=n(9454),i=n(3379),r=n.n(i),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),m=n.n(p),h=n(4589),v=n.n(h),A=n(8384),f={};f.styleTagTransform=v(),f.setAttributes=d(),f.insert=c().bind(null,"head"),f.domAPI=s(),f.insertStyleElement=m(),r()(A.Z,f),A.Z&&A.Z.locals&&A.Z.locals,o.options.themes.tooltip.html=!1,o.options.themes.tooltip.delay={show:500,hide:200},o.options.themes.tooltip.distance=10,o.options.themes.tooltip["arrow-padding"]=3;const g=o.VTooltip},932:(e,t,n)=>{"use strict";n.d(t,{n:()=>r,t:()=>a});var o=(0,n(7931).getGettextBuilder)().detectLocale();[{locale:"ar",translations:{"{tag} (invisible)":"{tag} (غير مرئي)","{tag} (restricted)":"{tag} (مقيد)",Actions:"الإجراءات",Activities:"النشاطات","Animals & Nature":"الحيوانات والطبيعة","Anything shared with the same group of people will show up here":"أي مادة تمت مشاركتها مع نفس المجموعة من الأشخاص سيتم عرضها هنا","Avatar of {displayName}":"صورة {displayName} الرمزية","Avatar of {displayName}, {status}":"صورة {displayName} الرمزية، {status}","Cancel changes":"إلغاء التغييرات","Change title":"تغيير العنوان",Choose:"إختيار","Clear text":"مسح النص",Close:"أغلق","Close modal":"قفل الشرط","Close navigation":"إغلاق المتصفح","Close sidebar":"قفل الشريط الجانبي","Confirm changes":"تأكيد التغييرات",Custom:"مخصص","Edit item":"تعديل عنصر","Error getting related resources":"خطأ في تحصيل مصادر ذات صلة","External documentation for {title}":"الوثائق الخارجية لـ{title}",Favorite:"مفضلة",Flags:"الأعلام","Food & Drink":"الطعام والشراب","Frequently used":"كثيرا ما تستخدم",Global:"عالمي","Go back to the list":"العودة إلى القائمة","Hide password":"إخفاء كلمة السر","Message limit of {count} characters reached":"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف","More items …":"عناصر أخرى ...",Next:"التالي","No emoji found":"لم يتم العثور على أي رمز تعبيري","No results":"ليس هناك أية نتيجة",Objects:"الأشياء",Open:"فتح",'Open link to "{resourceTitle}"':'فتح رابط إلى "{resourceTitle}"',"Open navigation":"فتح المتصفح","Password is secure":"كلمة السر مُؤمّنة","Pause slideshow":"إيقاف العرض مؤقتًا","People & Body":"الناس والجسم","Pick an emoji":"اختر رمزًا تعبيريًا","Please select a time zone:":"الرجاء تحديد المنطقة الزمنية:",Previous:"السابق","Related resources":"مصادر ذات صلة",Search:"بحث","Search results":"نتائج البحث","Select a tag":"اختر علامة",Settings:"الإعدادات","Settings navigation":"إعدادات المتصفح","Show password":"أعرض كلمة السر","Smileys & Emotion":"الوجوه و الرموز التعبيرية","Start slideshow":"بدء العرض",Submit:"إرسال",Symbols:"الرموز","Travel & Places":"السفر والأماكن","Type to search time zone":"اكتب للبحث عن منطقة زمنية","Unable to search the group":"تعذر البحث في المجموعة","Undo changes":"التراجع عن التغييرات","Write message, @ to mention someone, : for emoji autocompletion …":"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ..."}},{locale:"br",translations:{"{tag} (invisible)":"{tag} (diwelus)","{tag} (restricted)":"{tag} (bevennet)",Actions:"Oberioù",Activities:"Oberiantizoù","Animals & Nature":"Loened & Natur",Choose:"Dibab",Close:"Serriñ",Custom:"Personelañ",Flags:"Bannieloù","Food & Drink":"Boued & Evajoù","Frequently used":"Implijet alies",Next:"Da heul","No emoji found":"Emoji ebet kavet","No results":"Disoc'h ebet",Objects:"Traoù","Pause slideshow":"Arsav an diaporama","People & Body":"Tud & Korf","Pick an emoji":"Choaz un emoji",Previous:"A-raok",Search:"Klask","Search results":"Disoc'hoù an enklask","Select a tag":"Choaz ur c'hlav",Settings:"Arventennoù","Smileys & Emotion":"Smileyioù & Fromoù","Start slideshow":"Kregiñ an diaporama",Symbols:"Arouezioù","Travel & Places":"Beaj & Lec'hioù","Unable to search the group":"Dibosupl eo klask ar strollad"}},{locale:"ca",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringit)",Actions:"Accions",Activities:"Activitats","Animals & Nature":"Animals i natura","Anything shared with the same group of people will show up here":"Qualsevol cosa compartida amb el mateix grup de persones es mostrarà aquí","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancel·la els canvis","Change title":"Canviar títol",Choose:"Tria","Clear text":"Netejar text",Close:"Tanca","Close modal":"Tancar el mode","Close navigation":"Tanca la navegació","Close sidebar":"Tancar la barra lateral","Confirm changes":"Confirmeu els canvis",Custom:"Personalitzat","Edit item":"Edita l'element","Error getting related resources":"Error obtenint els recursos relacionats","Error parsing svg":"Error en l'anàlisi del svg","External documentation for {title}":"Documentació externa per a {title}",Favorite:"Preferit",Flags:"Marques","Food & Drink":"Menjar i begudes","Frequently used":"Utilitzats recentment",Global:"Global","Go back to the list":"Torna a la llista","Hide password":"Amagar contrasenya","Message limit of {count} characters reached":"S'ha arribat al límit de {count} caràcters per missatge","More items …":"Més artícles...",Next:"Següent","No emoji found":"No s'ha trobat cap emoji","No results":"Sense resultats",Objects:"Objectes",Open:"Obrir",'Open link to "{resourceTitle}"':'Obrir enllaç a "{resourceTitle}"',"Open navigation":"Obre la navegació","Password is secure":"Contrasenya segura
","Pause slideshow":"Atura la presentació","People & Body":"Persones i cos","Pick an emoji":"Trieu un emoji","Please select a time zone:":"Seleccioneu una zona horària:",Previous:"Anterior","Related resources":"Recursos relacionats",Search:"Cerca","Search results":"Resultats de cerca","Select a tag":"Seleccioneu una etiqueta",Settings:"Paràmetres","Settings navigation":"Navegació d'opcions","Show password":"Mostrar contrasenya","Smileys & Emotion":"Cares i emocions","Start slideshow":"Inicia la presentació",Submit:"Envia",Symbols:"Símbols","Travel & Places":"Viatges i llocs","Type to search time zone":"Escriviu per cercar la zona horària","Unable to search the group":"No es pot cercar el grup","Undo changes":"Desfés els canvis",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escriu missatge, fes servir "@" per esmentar algú, fes servir ":" per autocompletar emojis...'}},{locale:"cs_CZ",translations:{"{tag} (invisible)":"{tag} (neviditelné)","{tag} (restricted)":"{tag} (omezené)",Actions:"Akce",Activities:"Aktivity","Animals & Nature":"Zvířata a příroda","Anything shared with the same group of people will show up here":"Cokoli nasdíleného stejné skupině lidí se zobrazí zde","Avatar of {displayName}":"Zástupný obrázek uživatele {displayName}","Avatar of {displayName}, {status}":"Zástupný obrázek uživatele {displayName}, {status}","Cancel changes":"Zrušit změny","Change title":"Změnit nadpis",Choose:"Zvolit","Clear text":"Čitelný text",Close:"Zavřít","Close modal":"Zavřít dialogové okno","Close navigation":"Zavřít navigaci","Close sidebar":"Zavřít postranní panel","Confirm changes":"Potvrdit změny",Custom:"Uživatelsky určené","Edit item":"Upravit položku","Error getting related resources":"Chyba při získávání souvisejících prostředků","Error parsing svg":"Chyba při zpracovávání svg","External documentation for {title}":"Externí dokumentace k {title}",Favorite:"Oblíbené",Flags:"Příznaky","Food & Drink":"Jídlo a pití","Frequently used":"Často používané",Global:"Globální","Go back to the list":"Jít zpět na seznam","Hide password":"Skrýt heslo","Message limit of {count} characters reached":"Dosaženo limitu počtu ({count}) znaků zprávy","More items …":"Další položky…",Next:"Následující","No emoji found":"Nenalezeno žádné emoji","No results":"Nic nenalezeno",Objects:"Objekty",Open:"Otevřít",'Open link to "{resourceTitle}"':"Otevřít odkaz na „{resourceTitle}“","Open navigation":"Otevřít navigaci","Password is secure":"Heslo je bezpečné","Pause slideshow":"Pozastavit prezentaci","People & Body":"Lidé a tělo","Pick an emoji":"Vybrat emoji","Please select a time zone:":"Vyberte časovou zónu:",Previous:"Předchozí","Related resources":"Související prostředky",Search:"Hledat","Search results":"Výsledky hledání","Select a tag":"Vybrat štítek",Settings:"Nastavení","Settings navigation":"Pohyb po nastavení","Show password":"Zobrazit heslo","Smileys & Emotion":"Úsměvy a emoce","Start slideshow":"Spustit prezentaci",Submit:"Odeslat",Symbols:"Symboly","Travel & Places":"Cestování a místa","Type to search time zone":"Psaním vyhledejte časovou zónu","Unable to search the group":"Nedaří se hledat skupinu","Undo changes":"Vzít změny zpět",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem „@“ (zavináč); automatické doplňování emotikonů zahájíte napsáním „:“ (dvojtečky)…"}},{locale:"da",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (begrænset)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr & Natur","Anything shared with the same group of people will show up here":"Alt der deles med samme gruppe af personer vil vises her","Avatar of {displayName}":"Avatar af {displayName}","Avatar of {displayName}, {status}":"Avatar af {displayName}, {status}","Cancel changes":"Annuller ændringer","Change title":"Ret titel",Choose:"Vælg","Clear text":"Ryd tekst",Close:"Luk","Close modal":"Luk vindue","Close navigation":"Luk navigation","Close sidebar":"Luk sidepanel","Confirm changes":"Bekræft ændringer",Custom:"Brugerdefineret","Edit item":"Rediger emne","Error getting related resources":"Kunne ikke hente tilknyttede data","Error parsing svg":"Fejl ved analysering af svg","External documentation for {title}":"Ekstern dokumentation for {title}",Favorite:"Favorit",Flags:"Flag","Food & Drink":"Mad & Drikke","Frequently used":"Ofte brugt",Global:"Global","Go back to the list":"Tilbage til listen","Hide password":"Skjul kodeord","Message limit of {count} characters reached":"Begrænsning på {count} tegn er nået","More items …":"Mere ...",Next:"Videre","No emoji found":"Ingen emoji fundet","No results":"Ingen resultater",Objects:"Objekter",Open:"Åbn",'Open link to "{resourceTitle}"':'Åbn link til "{resourceTitle}"',"Open navigation":"Åbn navigation","Password is secure":"Kodeordet er sikkert","Pause slideshow":"Suspender fremvisning","People & Body":"Mennesker & Menneskekroppen","Pick an emoji":"Vælg en emoji","Please select a time zone:":"Vælg venligst en tidszone:",Previous:"Forrige","Related resources":"Relaterede emner",Search:"Søg","Search results":"Søgeresultater","Select a tag":"Vælg et mærke",Settings:"Indstillinger","Settings navigation":"Naviger i indstillinger","Show password":"Vis kodeord","Smileys & Emotion":"Smileys & Emotion","Start slideshow":"Start fremvisning",Submit:"Send",Symbols:"Symboler","Travel & Places":"Rejser & Rejsemål","Type to search time zone":"Indtast for at søge efter tidszone","Unable to search the group":"Kan ikke søge på denne gruppe","Undo changes":"Fortryd ændringer",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv besked, brug "@" for at nævne nogen, brug ":" til emoji-autofuldførelse ...'}},{locale:"de",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Anything shared with the same group of people will show up here":"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt","Avatar of {displayName}":"Avatar von {displayName}","Avatar of {displayName}, {status}":"Avatar von {displayName}, {status}","Cancel changes":"Änderungen verwerfen","Change title":"Titel ändern",Choose:"Auswählen","Clear text":"Klartext",Close:"Schließen","Close modal":"Modal schließen","Close navigation":"Navigation schließen","Close sidebar":"Seitenleiste schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","Edit item":"Objekt bearbeiten","Error getting related resources":"Fehler beim Abrufen verwandter Ressourcen","Error parsing svg":"Fehler beim Einlesen der SVG","External documentation for {title}":"Externe Dokumentation für {title}",Favorite:"Favorit",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Go back to the list":"Zurück zur Liste","Hide password":"Passwort verbergen","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht","More items …":"Weitere Elemente …",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Gegenstände",Open:"Öffnen",'Open link to "{resourceTitle}"':'Link zu "{resourceTitle}" öffnen',"Open navigation":"Navigation öffnen","Password is secure":"Passwort ist sicher","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte wählen Sie eine Zeitzone:",Previous:"Vorherige","Related resources":"Verwandte Ressourcen",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Show password":"Passwort anzeigen","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um Zeitzone zu suchen","Unable to search the group":"Die Gruppe konnte nicht durchsucht werden","Undo changes":"Änderungen rückgängig machen",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Nachricht schreiben, "@" um jemanden zu erwähnen, ":" für die automatische Vervollständigung von Emojis …'}},{locale:"de_DE",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Anything shared with the same group of people will show up here":"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt","Avatar of {displayName}":"Avatar von {displayName}","Avatar of {displayName}, {status}":"Avatar von {displayName}, {status}","Cancel changes":"Änderungen verwerfen","Change title":"Titel ändern",Choose:"Auswählen","Clear text":"Klartext",Close:"Schließen","Close modal":"Modal schließen","Close navigation":"Navigation schließen","Close sidebar":"Seitenleiste schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","Edit item":"Objekt bearbeiten","Error getting related resources":"Fehler beim Abrufen verwandter Ressourcen","Error parsing svg":"Fehler beim Einlesen der SVG","External documentation for {title}":"Externe Dokumentation für {title}",Favorite:"Favorit",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Go back to the list":"Zurück zur Liste","Hide password":"Passwort verbergen","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht","More items …":"Weitere Elemente …",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Objekte",Open:"Öffnen",'Open link to "{resourceTitle}"':'Link zu "{resourceTitle}" öffnen',"Open navigation":"Navigation öffnen","Password is secure":"Passwort ist sicher","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte eine Zeitzone auswählen:",Previous:"Vorherige","Related resources":"Verwandte Ressourcen",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Show password":"Passwort anzeigen","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um eine Zeitzone zu suchen","Unable to search the group":"Die Gruppe kann nicht durchsucht werden","Undo changes":"Änderungen rückgängig machen",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Nachricht schreiben, "@" um jemanden zu erwähnen, ":" für die automatische Vervollständigung von Emojis …'}},{locale:"el",translations:{"{tag} (invisible)":"{tag} (αόρατο)","{tag} (restricted)":"{tag} (περιορισμένο)",Actions:"Ενέργειες",Activities:"Δραστηριότητες","Animals & Nature":"Ζώα & Φύση","Anything shared with the same group of people will show up here":"Οτιδήποτε μοιράζεται με την ίδια ομάδα ατόμων θα εμφανίζεται εδώ","Avatar of {displayName}":"Άβαταρ του {displayName}","Avatar of {displayName}, {status}":"Άβαταρ του {displayName}, {status}","Cancel changes":"Ακύρωση αλλαγών","Change title":"Αλλαγή τίτλου",Choose:"Επιλογή","Clear text":"Εκκαθάριση κειμένου",Close:"Κλείσιμο","Close modal":"Βοηθητικό κλείσιμο","Close navigation":"Κλείσιμο πλοήγησης","Close sidebar":"Κλείσιμο πλευρικής μπάρας","Confirm changes":"Επιβεβαίωση αλλαγών",Custom:"Προσαρμογή","Edit item":"Επεξεργασία","Error getting related resources":"Σφάλμα λήψης σχετικών πόρων","Error parsing svg":"Σφάλμα ανάλυσης svg","External documentation for {title}":"Εξωτερική τεκμηρίωση για {title}",Favorite:"Αγαπημένα",Flags:"Σημαίες","Food & Drink":"Φαγητό & Ποτό","Frequently used":"Συχνά χρησιμοποιούμενο",Global:"Καθολικό","Go back to the list":"Επιστροφή στην αρχική λίστα ","Hide password":"Απόκρυψη κωδικού πρόσβασης","Message limit of {count} characters reached":"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος","More items …":"Περισσότερα στοιχεία …",Next:"Επόμενο","No emoji found":"Δεν βρέθηκε emoji","No results":"Κανένα αποτέλεσμα",Objects:"Αντικείμενα",Open:"Άνοιγμα",'Open link to "{resourceTitle}"':'Άνοιγμα συνδέσμου στο "{resourceTitle}"',"Open navigation":"Άνοιγμα πλοήγησης","Password is secure":"Ο κωδικός πρόσβασης είναι ασφαλής","Pause slideshow":"Παύση προβολής διαφανειών","People & Body":"Άνθρωποι & Σώμα","Pick an emoji":"Επιλέξτε ένα emoji","Please select a time zone:":"Παρακαλούμε επιλέξτε μια ζώνη ώρας:",Previous:"Προηγούμενο","Related resources":"Σχετικοί πόροι",Search:"Αναζήτηση","Search results":"Αποτελέσματα αναζήτησης","Select a tag":"Επιλογή ετικέτας",Settings:"Ρυθμίσεις","Settings navigation":"Πλοήγηση ρυθμίσεων","Show password":"Εμφάνιση κωδικού πρόσβασης","Smileys & Emotion":"Φατσούλες & Συναίσθημα","Start slideshow":"Έναρξη προβολής διαφανειών",Submit:"Υποβολή",Symbols:"Σύμβολα","Travel & Places":"Ταξίδια & Τοποθεσίες","Type to search time zone":"Πληκτρολογήστε για αναζήτηση ζώνης ώρας","Unable to search the group":"Δεν είναι δυνατή η αναζήτηση της ομάδας","Undo changes":"Αναίρεση Αλλαγών",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Γράψτε μήνυμα, χρησιμοποιείστε "@" για να αναφέρετε κάποιον, χρησιμοποιείστε ":" για αυτόματη συμπλήρωση emoji …'}},{locale:"en_GB",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restricted)",Actions:"Actions",Activities:"Activities","Animals & Nature":"Animals & Nature","Anything shared with the same group of people will show up here":"Anything shared with the same group of people will show up here","Avatar of {displayName}":"Avatar of {displayName}","Avatar of {displayName}, {status}":"Avatar of {displayName}, {status}","Cancel changes":"Cancel changes","Change title":"Change title",Choose:"Choose","Clear text":"Clear text",Close:"Close","Close modal":"Close modal","Close navigation":"Close navigation","Close sidebar":"Close sidebar","Confirm changes":"Confirm changes",Custom:"Custom","Edit item":"Edit item","Error getting related resources":"Error getting related resources","Error parsing svg":"Error parsing svg","External documentation for {title}":"External documentation for {title}",Favorite:"Favourite",Flags:"Flags","Food & Drink":"Food & Drink","Frequently used":"Frequently used",Global:"Global","Go back to the list":"Go back to the list","Hide password":"Hide password","Message limit of {count} characters reached":"Message limit of {count} characters reached","More items …":"More items …",Next:"Next","No emoji found":"No emoji found","No results":"No results",Objects:"Objects",Open:"Open",'Open link to "{resourceTitle}"':'Open link to "{resourceTitle}"',"Open navigation":"Open navigation","Password is secure":"Password is secure","Pause slideshow":"Pause slideshow","People & Body":"People & Body","Pick an emoji":"Pick an emoji","Please select a time zone:":"Please select a time zone:",Previous:"Previous","Related resources":"Related resources",Search:"Search","Search results":"Search results","Select a tag":"Select a tag",Settings:"Settings","Settings navigation":"Settings navigation","Show password":"Show password","Smileys & Emotion":"Smileys & Emotion","Start slideshow":"Start slideshow",Submit:"Submit",Symbols:"Symbols","Travel & Places":"Travel & Places","Type to search time zone":"Type to search time zone","Unable to search the group":"Unable to search the group","Undo changes":"Undo changes",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Write message, use "@" to mention someone, use ":" for emoji autocompletion …'}},{locale:"eo",translations:{"{tag} (invisible)":"{tag} (kaŝita)","{tag} (restricted)":"{tag} (limigita)",Actions:"Agoj",Activities:"Aktiveco","Animals & Nature":"Bestoj & Naturo",Choose:"Elektu",Close:"Fermu",Custom:"Propra",Flags:"Flagoj","Food & Drink":"Manĝaĵo & Trinkaĵo","Frequently used":"Ofte uzataj","Message limit of {count} characters reached":"La limo je {count} da literoj atingita",Next:"Sekva","No emoji found":"La emoĝio forestas","No results":"La rezulto forestas",Objects:"Objektoj","Pause slideshow":"Payzi bildprezenton","People & Body":"Homoj & Korpo","Pick an emoji":"Elekti emoĝion ",Previous:"Antaŭa",Search:"Serĉi","Search results":"Serĉrezultoj","Select a tag":"Elektu etikedon",Settings:"Agordo","Settings navigation":"Agorda navigado","Smileys & Emotion":"Ridoj kaj Emocioj","Start slideshow":"Komenci bildprezenton",Symbols:"Signoj","Travel & Places":"Vojaĵoj & Lokoj","Unable to search the group":"Ne eblas serĉi en la grupo","Write message, @ to mention someone …":"Mesaĝi, uzu @ por mencii iun ..."}},{locale:"es",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringido)",Actions:"Acciones",Activities:"Actividades","Animals & Nature":"Animales y naturaleza","Anything shared with the same group of people will show up here":"Cualquier cosa que sea compartida con el mismo grupo de personas se mostrará aquí","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancelar cambios","Change title":"Cambiar título",Choose:"Elegir","Clear text":"Limpiar texto",Close:"Cerrar","Close modal":"Cerrar modal","Close navigation":"Cerrar navegación","Close sidebar":"Cerrar barra lateral","Confirm changes":"Confirmar cambios",Custom:"Personalizado","Edit item":"Editar elemento","Error getting related resources":"Se encontró un error al obtener los recursos relacionados","Error parsing svg":"Error procesando svg","External documentation for {title}":"Documentacion externa de {title}",Favorite:"Favorito",Flags:"Banderas","Food & Drink":"Comida y bebida","Frequently used":"Usado con frecuenca",Global:"Global","Go back to the list":"Volver a la lista","Hide password":"Ocultar contraseña","Message limit of {count} characters reached":"El mensaje ha alcanzado el límite de {count} caracteres","More items …":"Más ítems...",Next:"Siguiente","No emoji found":"No hay ningún emoji","No results":" Ningún resultado",Objects:"Objetos",Open:"Abrir",'Open link to "{resourceTitle}"':'Abrir enlace a "{resourceTitle}"',"Open navigation":"Abrir navegación","Password is secure":"La contraseña es segura","Pause slideshow":"Pausar la presentación ","People & Body":"Personas y cuerpos","Pick an emoji":"Elegir un emoji","Please select a time zone:":"Por favor elige un huso de horario:",Previous:"Anterior","Related resources":"Recursos relacionados",Search:"Buscar","Search results":"Resultados de la búsqueda","Select a tag":"Seleccione una etiqueta",Settings:"Ajustes","Settings navigation":"Navegación por ajustes","Show password":"Mostrar contraseña","Smileys & Emotion":"Smileys y emoticonos","Start slideshow":"Iniciar la presentación",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viajes y lugares","Type to search time zone":"Escribe para buscar un huso de horario","Unable to search the group":"No es posible buscar en el grupo","Undo changes":"Deshacer cambios",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escribir mensaje, utilice "@" para mencionar a alguien, utilice ":" para autocompletado de emojis ...'}},{locale:"eu",translations:{"{tag} (invisible)":"{tag} (ikusezina)","{tag} (restricted)":"{tag} (mugatua)",Actions:"Ekintzak",Activities:"Jarduerak","Animals & Nature":"Animaliak eta Natura","Anything shared with the same group of people will show up here":"Pertsona-talde berarekin partekatutako edozer agertuko da hemen","Avatar of {displayName}":"{displayName}-(e)n irudia","Avatar of {displayName}, {status}":"{displayName} -(e)n irudia, {status}","Cancel changes":"Ezeztatu aldaketak","Change title":"Aldatu titulua",Choose:"Aukeratu","Clear text":"Garbitu testua",Close:"Itxi","Close modal":"Itxi modala","Close navigation":"Itxi nabigazioa","Close sidebar":"Itxi albo-barra","Confirm changes":"Baieztatu aldaketak",Custom:"Pertsonalizatua","Edit item":"Editatu elementua","Error getting related resources":"Errorea erlazionatutako baliabideak lortzerakoan","Error parsing svg":"Errore bat gertatu da svg-a analizatzean","External documentation for {title}":"Kanpoko dokumentazioa {title}(r)entzat",Favorite:"Gogokoa",Flags:"Banderak","Food & Drink":"Janaria eta edariak","Frequently used":"Askotan erabilia",Global:"Globala","Go back to the list":"Bueltatu zerrendara","Hide password":"Ezkutatu pasahitza","Message limit of {count} characters reached":"Mezuaren {count} karaketere-limitera heldu zara","More items …":"Elementu gehiago …",Next:"Hurrengoa","No emoji found":"Ez da emojirik aurkitu","No results":"Emaitzarik ez",Objects:"Objektuak",Open:"Ireki",'Open link to "{resourceTitle}"':'Ireki esteka: "{resourceTitle}"',"Open navigation":"Ireki nabigazioa","Password is secure":"Pasahitza segurua da","Pause slideshow":"Pausatu diaporama","People & Body":"Jendea eta gorputza","Pick an emoji":"Hautatu emoji bat","Please select a time zone:":"Mesedez hautatu ordu-zona bat:",Previous:"Aurrekoa","Related resources":"Erlazionatutako baliabideak",Search:"Bilatu","Search results":"Bilaketa emaitzak","Select a tag":"Hautatu etiketa bat",Settings:"Ezarpenak","Settings navigation":"Nabigazio ezarpenak","Show password":"Erakutsi pasahitza","Smileys & Emotion":"Smileyak eta emozioa","Start slideshow":"Hasi diaporama",Submit:"Bidali",Symbols:"Sinboloak","Travel & Places":"Bidaiak eta lekuak","Type to search time zone":"Idatzi ordu-zona bat bilatzeko","Unable to search the group":"Ezin izan da taldea bilatu","Undo changes":"Aldaketak desegin",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Idatzi mezua, erabili "@" norbait aipatzeko, erabili ":" emojiak automatikoki osatzeko...'}},{locale:"fi_FI",translations:{"{tag} (invisible)":"{tag} (näkymätön)","{tag} (restricted)":"{tag} (rajoitettu)",Actions:"Toiminnot",Activities:"Aktiviteetit","Animals & Nature":"Eläimet & luonto","Avatar of {displayName}":"Käyttäjän {displayName} avatar","Avatar of {displayName}, {status}":"Käyttäjän {displayName} avatar, {status}","Cancel changes":"Peruuta muutokset",Choose:"Valitse",Close:"Sulje","Close navigation":"Sulje navigaatio","Confirm changes":"Vahvista muutokset",Custom:"Mukautettu","Edit item":"Muokkaa kohdetta","External documentation for {title}":"Ulkoinen dokumentaatio kohteelle {title}",Flags:"Liput","Food & Drink":"Ruoka & juoma","Frequently used":"Usein käytetyt",Global:"Yleinen","Go back to the list":"Siirry takaisin listaan","Message limit of {count} characters reached":"Viestin merkken enimmäisimäärä {count} täynnä ",Next:"Seuraava","No emoji found":"Emojia ei löytynyt","No results":"Ei tuloksia",Objects:"Esineet & asiat","Open navigation":"Avaa navigaatio","Pause slideshow":"Keskeytä diaesitys","People & Body":"Ihmiset & keho","Pick an emoji":"Valitse emoji","Please select a time zone:":"Valitse aikavyöhyke:",Previous:"Edellinen",Search:"Etsi","Search results":"Hakutulokset","Select a tag":"Valitse tagi",Settings:"Asetukset","Settings navigation":"Asetusnavigaatio","Smileys & Emotion":"Hymiöt & tunteet","Start slideshow":"Aloita diaesitys",Submit:"Lähetä",Symbols:"Symbolit","Travel & Places":"Matkustus & kohteet","Type to search time zone":"Kirjoita etsiäksesi aikavyöhyke","Unable to search the group":"Ryhmää ei voi hakea","Undo changes":"Kumoa muutokset","Write message, @ to mention someone, : for emoji autocompletion …":"Kirjoita viesti, @ mainitaksesi käyttäjän, : emojin automaattitäydennykseen…"}},{locale:"fr",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restreint)",Actions:"Actions",Activities:"Activités","Animals & Nature":"Animaux & Nature","Anything shared with the same group of people will show up here":"Tout ce qui est partagé avec le même groupe de personnes apparaîtra ici","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Annuler les modifications","Change title":"Modifier le titre",Choose:"Choisir","Clear text":"Effacer le texte",Close:"Fermer","Close modal":"Fermer la fenêtre","Close navigation":"Fermer la navigation","Close sidebar":"Fermer la barre latérale","Confirm changes":"Confirmer les modifications",Custom:"Personnalisé","Edit item":"Éditer l'élément","Error getting related resources":"Erreur à la récupération des ressources liées","Error parsing svg":"Erreur d'analyse SVG","External documentation for {title}":"Documentation externe pour {title}",Favorite:"Favori",Flags:"Drapeaux","Food & Drink":"Nourriture & Boissons","Frequently used":"Utilisés fréquemment",Global:"Global","Go back to the list":"Retourner à la liste","Hide password":"Cacher le mot de passe","Message limit of {count} characters reached":"Limite de messages de {count} caractères atteinte","More items …":"Plus d'éléments...",Next:"Suivant","No emoji found":"Pas d’émoji trouvé","No results":"Aucun résultat",Objects:"Objets",Open:"Ouvrir",'Open link to "{resourceTitle}"':'Ouvrir le lien vers "{resourceTitle}"',"Open navigation":"Ouvrir la navigation","Password is secure":"Le mot de passe est sécurisé","Pause slideshow":"Mettre le diaporama en pause","People & Body":"Personnes & Corps","Pick an emoji":"Choisissez un émoji","Please select a time zone:":"Sélectionnez un fuseau horaire : ",Previous:"Précédent","Related resources":"Ressources liées",Search:"Chercher","Search results":"Résultats de recherche","Select a tag":"Sélectionnez une balise",Settings:"Paramètres","Settings navigation":"Navigation dans les paramètres","Show password":"Afficher le mot de passe","Smileys & Emotion":"Smileys & Émotions","Start slideshow":"Démarrer le diaporama",Submit:"Valider",Symbols:"Symboles","Travel & Places":"Voyage & Lieux","Type to search time zone":"Saisissez les premiers lettres pour rechercher un fuseau horaire","Unable to search the group":"Impossible de chercher le groupe","Undo changes":"Annuler les changements",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Écrire un message, utiliser "@" pour mentionner une personne, ":" pour l\'autocomplétion des émojis...'}},{locale:"gl",translations:{"{tag} (invisible)":"{tag} (invisíbel)","{tag} (restricted)":"{tag} (restrinxido)",Actions:"Accións",Activities:"Actividades","Animals & Nature":"Animais e natureza","Cancel changes":"Cancelar os cambios",Choose:"Escoller",Close:"Pechar","Confirm changes":"Confirma os cambios",Custom:"Personalizado","External documentation for {title}":"Documentación externa para {title}",Flags:"Bandeiras","Food & Drink":"Comida e bebida","Frequently used":"Usado con frecuencia","Message limit of {count} characters reached":"Acadouse o límite de {count} caracteres por mensaxe",Next:"Seguinte","No emoji found":"Non se atopou ningún «emoji»","No results":"Sen resultados",Objects:"Obxectos","Pause slideshow":"Pausar o diaporama","People & Body":"Persoas e corpo","Pick an emoji":"Escolla un «emoji»",Previous:"Anterir",Search:"Buscar","Search results":"Resultados da busca","Select a tag":"Seleccione unha etiqueta",Settings:"Axustes","Settings navigation":"Navegación polos axustes","Smileys & Emotion":"Sorrisos e emocións","Start slideshow":"Iniciar o diaporama",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viaxes e lugares","Unable to search the group":"Non foi posíbel buscar o grupo","Write message, @ to mention someone …":"Escriba a mensaxe, @ para mencionar a alguén…"}},{locale:"he",translations:{"{tag} (invisible)":"{tag} (נסתר)","{tag} (restricted)":"{tag} (מוגבל)",Actions:"פעולות",Activities:"פעילויות","Animals & Nature":"חיות וטבע",Choose:"בחירה",Close:"סגירה",Custom:"בהתאמה אישית",Flags:"דגלים","Food & Drink":"מזון ומשקאות","Frequently used":"בשימוש תדיר",Next:"הבא","No emoji found":"לא נמצא אמוג׳י","No results":"אין תוצאות",Objects:"חפצים","Pause slideshow":"השהיית מצגת","People & Body":"אנשים וגוף","Pick an emoji":"נא לבחור אמוג׳י",Previous:"הקודם",Search:"חיפוש","Search results":"תוצאות חיפוש","Select a tag":"בחירת תגית",Settings:"הגדרות","Smileys & Emotion":"חייכנים ורגשונים","Start slideshow":"התחלת המצגת",Symbols:"סמלים","Travel & Places":"טיולים ומקומות","Unable to search the group":"לא ניתן לחפש בקבוצה"}},{locale:"hu_HU",translations:{"{tag} (invisible)":"{tag} (láthatatlan)","{tag} (restricted)":"{tag} (korlátozott)",Actions:"Műveletek",Activities:"Tevékenységek","Animals & Nature":"Állatok és természet","Anything shared with the same group of people will show up here":"Minden, amit ugyanazzal a csoporttal oszt meg, itt fog megjelenni","Avatar of {displayName}":"{displayName} profilképe","Avatar of {displayName}, {status}":"{displayName} profilképe, {status}","Cancel changes":"Változtatások elvetése","Change title":"Cím megváltoztatása",Choose:"Válassszon","Clear text":"Szöveg törlése",Close:"Bezárás","Close modal":"Ablak bezárása","Close navigation":"Navigáció bezárása","Close sidebar":"Oldalsáv bezárása","Confirm changes":"Változtatások megerősítése",Custom:"Egyéni","Edit item":"Elem szerkesztése","Error getting related resources":"Hiba a kapcsolódó erőforrások lekérésekor","Error parsing svg":"Hiba az SVG feldolgozásakor","External documentation for {title}":"Külső dokumentáció ehhez: {title}",Favorite:"Kedvenc",Flags:"Zászlók","Food & Drink":"Étel és ital","Frequently used":"Gyakran használt",Global:"Globális","Go back to the list":"Ugrás vissza a listához","Hide password":"Jelszó elrejtése","Message limit of {count} characters reached":"{count} karakteres üzenetkorlát elérve","More items …":"További elemek...",Next:"Következő","No emoji found":"Nem található emodzsi","No results":"Nincs találat",Objects:"Tárgyak",Open:"Megnyitás",'Open link to "{resourceTitle}"':"A(z) „{resourceTitle}” hivatkozásának megnyitása","Open navigation":"Navigáció megnyitása","Password is secure":"A jelszó biztonságos","Pause slideshow":"Diavetítés szüneteltetése","People & Body":"Emberek és test","Pick an emoji":"Válasszon egy emodzsit","Please select a time zone:":"Válasszon időzónát:",Previous:"Előző","Related resources":"Kapcsolódó erőforrások",Search:"Keresés","Search results":"Találatok","Select a tag":"Válasszon címkét",Settings:"Beállítások","Settings navigation":"Navigáció a beállításokban","Show password":"Jelszó megjelenítése","Smileys & Emotion":"Mosolyok és érzelmek","Start slideshow":"Diavetítés indítása",Submit:"Beküldés",Symbols:"Szimbólumok","Travel & Places":"Utazás és helyek","Type to search time zone":"Gépeljen az időzóna kereséséhez","Unable to search the group":"A csoport nem kereshető","Undo changes":"Változtatások visszavonása",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':"Írjon egy üzenetet, használja a „@”-ot valaki megemlítéséhet, illetve a „:”-ot az emodzsik automatikus kiegészítéséhez…"}},{locale:"is",translations:{"{tag} (invisible)":"{tag} (ósýnilegt)","{tag} (restricted)":"{tag} (takmarkað)",Actions:"Aðgerðir",Activities:"Aðgerðir","Animals & Nature":"Dýr og náttúra",Choose:"Velja",Close:"Loka",Custom:"Sérsniðið",Flags:"Flögg","Food & Drink":"Matur og drykkur","Frequently used":"Oftast notað",Next:"Næsta","No emoji found":"Ekkert tjáningartákn fannst","No results":"Engar niðurstöður",Objects:"Hlutir","Pause slideshow":"Gera hlé á skyggnusýningu","People & Body":"Fólk og líkami","Pick an emoji":"Veldu tjáningartákn",Previous:"Fyrri",Search:"Leita","Search results":"Leitarniðurstöður","Select a tag":"Veldu merki",Settings:"Stillingar","Smileys & Emotion":"Broskallar og tilfinningar","Start slideshow":"Byrja skyggnusýningu",Symbols:"Tákn","Travel & Places":"Staðir og ferðalög","Unable to search the group":"Get ekki leitað í hópnum"}},{locale:"it",translations:{"{tag} (invisible)":"{tag} (invisibile)","{tag} (restricted)":"{tag} (limitato)",Actions:"Azioni",Activities:"Attività","Animals & Nature":"Animali e natura","Anything shared with the same group of people will show up here":"Tutto ciò che è stato condiviso con lo stesso gruppo di persone viene visualizzato qui","Avatar of {displayName}":"Avatar di {displayName}","Avatar of {displayName}, {status}":"Avatar di {displayName}, {status}","Cancel changes":"Annulla modifiche","Change title":"Modifica il titolo",Choose:"Scegli","Clear text":"Cancella il testo",Close:"Chiudi","Close modal":"Chiudi il messaggio modale","Close navigation":"Chiudi la navigazione","Close sidebar":"Chiudi la barra laterale","Confirm changes":"Conferma modifiche",Custom:"Personalizzato","Edit item":"Modifica l'elemento","Error getting related resources":"Errore nell'ottenere risorse correlate","Error parsing svg":"Errore nell'analizzare l'svg","External documentation for {title}":"Documentazione esterna per {title}",Favorite:"Preferito",Flags:"Bandiere","Food & Drink":"Cibo e bevande","Frequently used":"Usati di frequente",Global:"Globale","Go back to the list":"Torna all'elenco","Hide password":"Nascondi la password","Message limit of {count} characters reached":"Limite dei messaggi di {count} caratteri raggiunto","More items …":"Più elementi ...",Next:"Successivo","No emoji found":"Nessun emoji trovato","No results":"Nessun risultato",Objects:"Oggetti",Open:"Apri",'Open link to "{resourceTitle}"':'Apri il link a "{resourceTitle}"',"Open navigation":"Apri la navigazione","Password is secure":"La password è sicura","Pause slideshow":"Presentazione in pausa","People & Body":"Persone e corpo","Pick an emoji":"Scegli un emoji","Please select a time zone:":"Si prega di selezionare un fuso orario:",Previous:"Precedente","Related resources":"Risorse correlate",Search:"Cerca","Search results":"Risultati di ricerca","Select a tag":"Seleziona un'etichetta",Settings:"Impostazioni","Settings navigation":"Navigazione delle impostazioni","Show password":"Mostra la password","Smileys & Emotion":"Faccine ed emozioni","Start slideshow":"Avvia presentazione",Submit:"Invia",Symbols:"Simboli","Travel & Places":"Viaggi e luoghi","Type to search time zone":"Digita per cercare un fuso orario","Unable to search the group":"Impossibile cercare il gruppo","Undo changes":"Cancella i cambiamenti",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Scrivi un messaggio, "@" per menzionare qualcuno, ":" per il completamento automatico delle emoji ...'}},{locale:"ja_JP",translations:{"{tag} (invisible)":"{タグ} (不可視)","{tag} (restricted)":"{タグ} (制限付)",Actions:"操作",Activities:"アクティビティ","Animals & Nature":"動物と自然","Anything shared with the same group of people will show up here":"同じグループで共有しているものは、全てここに表示されます","Avatar of {displayName}":"{displayName} のアバター","Avatar of {displayName}, {status}":"{displayName}, {status} のアバター","Cancel changes":"変更をキャンセル","Change title":"タイトルを変更",Choose:"選択","Clear text":"テキストをクリア",Close:"閉じる","Close modal":"モーダルを閉じる","Close navigation":"ナビゲーションを閉じる","Close sidebar":"サイドバーを閉じる","Confirm changes":"変更を承認",Custom:"カスタム","Edit item":"編集","Error getting related resources":"関連リソースの取得エラー","Error parsing svg":"svgの解析エラー","External documentation for {title}":"{title} のための添付文書",Favorite:"お気に入り",Flags:"国旗","Food & Drink":"食べ物と飲み物","Frequently used":"よく使うもの",Global:"全体","Go back to the list":"リストに戻る","Hide password":"パスワードを非表示","Message limit of {count} characters reached":"{count} 文字のメッセージ上限に達しています","More items …":"他のアイテム",Next:"次","No emoji found":"絵文字が見つかりません","No results":"なし",Objects:"物",Open:"開く",'Open link to "{resourceTitle}"':'"{resourceTitle}"のリンクを開く',"Open navigation":"ナビゲーションを開く","Password is secure":"パスワードは保護されています","Pause slideshow":"スライドショーを一時停止","People & Body":"様々な人と体の部位","Pick an emoji":"絵文字を選択","Please select a time zone:":"タイムゾーンを選んで下さい:",Previous:"前","Related resources":"関連リソース",Search:"検索","Search results":"検索結果","Select a tag":"タグを選択",Settings:"設定","Settings navigation":"ナビゲーション設定","Show password":"パスワードを表示","Smileys & Emotion":"感情表現","Start slideshow":"スライドショーを開始",Submit:"提出",Symbols:"記号","Travel & Places":"旅行と場所","Type to search time zone":"タイムゾーン検索のため入力してください","Unable to search the group":"グループを検索できません","Undo changes":"変更を取り消し",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'メッセージを記入、"@"でメンション、":"で絵文字の自動補完 ...'}},{locale:"lt_LT",translations:{"{tag} (invisible)":"{tag} (nematoma)","{tag} (restricted)":"{tag} (apribota)",Actions:"Veiksmai",Activities:"Veiklos","Animals & Nature":"Gyvūnai ir gamta",Choose:"Pasirinkti",Close:"Užverti",Custom:"Tinkinti","External documentation for {title}":"Išorinė {title} dokumentacija",Flags:"Vėliavos","Food & Drink":"Maistas ir gėrimai","Frequently used":"Dažniausiai naudoti","Message limit of {count} characters reached":"Pasiekta {count} simbolių žinutės riba",Next:"Kitas","No emoji found":"Nerasta jaustukų","No results":"Nėra rezultatų",Objects:"Objektai","Pause slideshow":"Pristabdyti skaidrių rodymą","People & Body":"Žmonės ir kūnas","Pick an emoji":"Pasirinkti jaustuką",Previous:"Ankstesnis",Search:"Ieškoti","Search results":"Paieškos rezultatai","Select a tag":"Pasirinkti žymę",Settings:"Nustatymai","Settings navigation":"Naršymas nustatymuose","Smileys & Emotion":"Šypsenos ir emocijos","Start slideshow":"Pradėti skaidrių rodymą",Submit:"Pateikti",Symbols:"Simboliai","Travel & Places":"Kelionės ir vietos","Unable to search the group":"Nepavyko atlikti paiešką grupėje","Write message, @ to mention someone …":"Rašykite žinutę, naudokite @ norėdami kažką paminėti…"}},{locale:"lv",translations:{"{tag} (invisible)":"{tag} (neredzams)","{tag} (restricted)":"{tag} (ierobežots)",Choose:"Izvēlēties",Close:"Aizvērt",Next:"Nākamais","No results":"Nav rezultātu","Pause slideshow":"Pauzēt slaidrādi",Previous:"Iepriekšējais","Select a tag":"Izvēlēties birku",Settings:"Iestatījumi","Start slideshow":"Sākt slaidrādi"}},{locale:"mk",translations:{"{tag} (invisible)":"{tag} (невидливо)","{tag} (restricted)":"{tag} (ограничено)",Actions:"Акции",Activities:"Активности","Animals & Nature":"Животни & Природа","Avatar of {displayName}":"Аватар на {displayName}","Avatar of {displayName}, {status}":"Аватар на {displayName}, {status}","Cancel changes":"Откажи ги промените","Change title":"Промени наслов",Choose:"Избери",Close:"Затвори","Close modal":"Затвори модал","Close navigation":"Затвори навигација","Confirm changes":"Потврди ги промените",Custom:"Прилагодени","Edit item":"Уреди","External documentation for {title}":"Надворешна документација за {title}",Favorite:"Фаворити",Flags:"Знамиња","Food & Drink":"Храна & Пијалоци","Frequently used":"Најчесто користени",Global:"Глобално","Go back to the list":"Врати се на листата",items:"ставки","Message limit of {count} characters reached":"Ограничувањето на должината на пораката од {count} карактери е надминато","More {dashboardItemType} …":"Повеќе {dashboardItemType} …",Next:"Следно","No emoji found":"Не се пронајдени емотикони","No results":"Нема резултати",Objects:"Објекти",Open:"Отвори","Open navigation":"Отвори навигација","Pause slideshow":"Пузирај слајдшоу","People & Body":"Луѓе & Тело","Pick an emoji":"Избери емотикон","Please select a time zone:":"Изберете временска зона:",Previous:"Предходно",Search:"Барај","Search results":"Резултати од барувањето","Select a tag":"Избери ознака",Settings:"Параметри","Settings navigation":"Параметри за навигација","Smileys & Emotion":"Смешковци & Емотикони","Start slideshow":"Стартувај слајдшоу",Submit:"Испрати",Symbols:"Симболи","Travel & Places":"Патувања & Места","Type to search time zone":"Напишете за да пребарате временска зона","Unable to search the group":"Неможе да се принајде групата","Undo changes":"Врати ги промените","Write message, @ to mention someone, : for emoji autocompletion …":"Напиши порака, @ за да спомнете некого, : за емотинони автоатско комплетирање ..."}},{locale:"my",translations:{"{tag} (invisible)":"{tag} (ကွယ်ဝှက်ထား)","{tag} (restricted)":"{tag} (ကန့်သတ်)",Actions:"လုပ်ဆောင်ချက်များ",Activities:"ပြုလုပ်ဆောင်တာများ","Animals & Nature":"တိရစ္ဆာန်များနှင့် သဘာဝ","Avatar of {displayName}":"{displayName} ၏ ကိုယ်ပွား","Cancel changes":"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်",Choose:"ရွေးချယ်ရန်",Close:"ပိတ်ရန်","Confirm changes":"ပြောင်းလဲမှုများ အတည်ပြုရန်",Custom:"အလိုကျချိန်ညှိမှု","External documentation for {title}":"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း",Flags:"အလံများ","Food & Drink":"အစားအသောက်","Frequently used":"မကြာခဏအသုံးပြုသော",Global:"ကမ္ဘာလုံးဆိုင်ရာ","Message limit of {count} characters reached":"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ",Next:"နောက်သို့ဆက်ရန်","No emoji found":"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ","No results":"ရလဒ်မရှိပါ",Objects:"အရာဝတ္ထုများ","Pause slideshow":"စလိုက်ရှိုး ခေတ္တရပ်ရန်","People & Body":"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်","Pick an emoji":"အီမိုဂျီရွေးရန်","Please select a time zone:":"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ",Previous:"ယခင်",Search:"ရှာဖွေရန်","Search results":"ရှာဖွေမှု ရလဒ်များ","Select a tag":"tag ရွေးချယ်ရန်",Settings:"ချိန်ညှိချက်များ","Settings navigation":"ချိန်ညှိချက်အညွှန်း","Smileys & Emotion":"စမိုင်လီများနှင့် အီမိုရှင်း","Start slideshow":"စလိုက်ရှိုးအား စတင်ရန်",Submit:"တင်သွင်းရန်",Symbols:"သင်္ကေတများ","Travel & Places":"ခရီးသွားလာခြင်းနှင့် နေရာများ","Type to search time zone":"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ","Unable to search the group":"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ","Write message, @ to mention someone …":"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်..."}},{locale:"nb_NO",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (beskyttet)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr og natur","Anything shared with the same group of people will show up here":"Alt som er delt med den samme gruppen vil vises her","Avatar of {displayName}":"Avataren til {displayName}","Avatar of {displayName}, {status}":"{displayName}'s avatar, {status}","Cancel changes":"Avbryt endringer","Change title":"Endre tittel",Choose:"Velg","Clear text":"Fjern tekst",Close:"Lukk","Close modal":"Lukk modal","Close navigation":"Lukk navigasjon","Close sidebar":"Lukk sidepanel","Confirm changes":"Bekreft endringer",Custom:"Tilpasset","Edit item":"Rediger","Error getting related resources":"Feil ved henting av relaterte ressurser","Error parsing svg":"Feil ved parsing av svg","External documentation for {title}":"Ekstern dokumentasjon for {title}",Favorite:"Favoritt",Flags:"Flagg","Food & Drink":"Mat og drikke","Frequently used":"Ofte brukt",Global:"Global","Go back to the list":"Gå tilbake til listen","Hide password":"Skjul passord","Message limit of {count} characters reached":"Karakter begrensing {count} nådd i melding","More items …":"Flere gjenstander...",Next:"Neste","No emoji found":"Fant ingen emoji","No results":"Ingen resultater",Objects:"Objekter",Open:"Åpne",'Open link to "{resourceTitle}"':'Åpne link til "{resourceTitle}"',"Open navigation":"Åpne navigasjon","Password is secure":"Passordet er sikkert","Pause slideshow":"Pause lysbildefremvisning","People & Body":"Mennesker og kropp","Pick an emoji":"Velg en emoji","Please select a time zone:":"Vennligst velg tidssone",Previous:"Forrige","Related resources":"Relaterte ressurser",Search:"Søk","Search results":"Søkeresultater","Select a tag":"Velg en merkelapp",Settings:"Innstillinger","Settings navigation":"Navigasjonsinstillinger","Show password":"Vis passord","Smileys & Emotion":"Smilefjes og følelser","Start slideshow":"Start lysbildefremvisning",Submit:"Send",Symbols:"Symboler","Travel & Places":"Reise og steder","Type to search time zone":"Tast for å søke etter tidssone","Unable to search the group":"Kunne ikke søke i gruppen","Undo changes":"Tilbakestill endringer",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv melding, bruk "@" for å nevne noen, bruk ":" for autofullføring av emoji...'}},{locale:"nl",translations:{"{tag} (invisible)":"{tag} (onzichtbaar)","{tag} (restricted)":"{tag} (beperkt)",Actions:"Acties",Activities:"Activiteiten","Animals & Nature":"Dieren & Natuur","Avatar of {displayName}":"Avatar van {displayName}","Avatar of {displayName}, {status}":"Avatar van {displayName}, {status}","Cancel changes":"Wijzigingen annuleren",Choose:"Kies",Close:"Sluiten","Close navigation":"Navigatie sluiten","Confirm changes":"Wijzigingen bevestigen",Custom:"Aangepast","Edit item":"Item bewerken","External documentation for {title}":"Externe documentatie voor {title}",Flags:"Vlaggen","Food & Drink":"Eten & Drinken","Frequently used":"Vaak gebruikt",Global:"Globaal","Go back to the list":"Ga terug naar de lijst","Message limit of {count} characters reached":"Berichtlimiet van {count} karakters bereikt",Next:"Volgende","No emoji found":"Geen emoji gevonden","No results":"Geen resultaten",Objects:"Objecten","Open navigation":"Navigatie openen","Pause slideshow":"Pauzeer diavoorstelling","People & Body":"Mensen & Lichaam","Pick an emoji":"Kies een emoji","Please select a time zone:":"Selecteer een tijdzone:",Previous:"Vorige",Search:"Zoeken","Search results":"Zoekresultaten","Select a tag":"Selecteer een label",Settings:"Instellingen","Settings navigation":"Instellingen navigatie","Smileys & Emotion":"Smileys & Emotie","Start slideshow":"Start diavoorstelling",Submit:"Verwerken",Symbols:"Symbolen","Travel & Places":"Reizen & Plaatsen","Type to search time zone":"Type om de tijdzone te zoeken","Unable to search the group":"Kan niet in de groep zoeken","Undo changes":"Wijzigingen ongedaan maken","Write message, @ to mention someone, : for emoji autocompletion …":"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ..."}},{locale:"oc",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (limit)",Actions:"Accions",Choose:"Causir",Close:"Tampar",Next:"Seguent","No results":"Cap de resultat","Pause slideshow":"Metre en pausa lo diaporama",Previous:"Precedent","Select a tag":"Seleccionar una etiqueta",Settings:"Paramètres","Start slideshow":"Lançar lo diaporama"}},{locale:"pl",translations:{"{tag} (invisible)":"{tag} (niewidoczna)","{tag} (restricted)":"{tag} (ograniczona)",Actions:"Działania",Activities:"Aktywność","Animals & Nature":"Zwierzęta i natura","Anything shared with the same group of people will show up here":"Tutaj pojawi się wszystko, co zostało udostępnione tej samej grupie osób","Avatar of {displayName}":"Awatar {displayName}","Avatar of {displayName}, {status}":"Awatar {displayName}, {status}","Cancel changes":"Anuluj zmiany","Change title":"Zmień tytuł",Choose:"Wybierz","Clear text":"Wyczyść tekst",Close:"Zamknij","Close modal":"Zamknij modal","Close navigation":"Zamknij nawigację","Close sidebar":"Zamknij pasek boczny","Confirm changes":"Potwierdź zmiany",Custom:"Zwyczajne","Edit item":"Edytuj element","Error getting related resources":"Błąd podczas pobierania powiązanych zasobów","Error parsing svg":"Błąd podczas analizowania svg","External documentation for {title}":"Dokumentacja zewnętrzna dla {title}",Favorite:"Ulubiony",Flags:"Flagi","Food & Drink":"Jedzenie i picie","Frequently used":"Często używane",Global:"Globalnie","Go back to the list":"Powrót do listy","Hide password":"Ukryj hasło","Message limit of {count} characters reached":"Przekroczono limit wiadomości wynoszący {count} znaków","More items …":"Więcej pozycji…",Next:"Następny","No emoji found":"Nie znaleziono emoji","No results":"Brak wyników",Objects:"Obiekty",Open:"Otwórz",'Open link to "{resourceTitle}"':'Otwórz link do "{resourceTitle}"',"Open navigation":"Otwórz nawigację","Password is secure":"Hasło jest bezpieczne","Pause slideshow":"Wstrzymaj pokaz slajdów","People & Body":"Ludzie i ciało","Pick an emoji":"Wybierz emoji","Please select a time zone:":"Wybierz strefę czasową:",Previous:"Poprzedni","Related resources":"Powiązane zasoby",Search:"Szukaj","Search results":"Wyniki wyszukiwania","Select a tag":"Wybierz etykietę",Settings:"Ustawienia","Settings navigation":"Ustawienia nawigacji","Show password":"Pokaż hasło","Smileys & Emotion":"Buźki i emotikony","Start slideshow":"Rozpocznij pokaz slajdów",Submit:"Wyślij",Symbols:"Symbole","Travel & Places":"Podróże i miejsca","Type to search time zone":"Wpisz, aby wyszukać strefę czasową","Unable to search the group":"Nie można przeszukać grupy","Undo changes":"Cofnij zmiany",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Napisz wiadomość, "@" aby o kimś wspomnieć, ":" dla autouzupełniania emoji…'}},{locale:"pt_BR",translations:{"{tag} (invisible)":"{tag} (invisível)","{tag} (restricted)":"{tag} (restrito) ",Actions:"Ações",Activities:"Atividades","Animals & Nature":"Animais & Natureza","Anything shared with the same group of people will show up here":"Qualquer coisa compartilhada com o mesmo grupo de pessoas aparecerá aqui","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancelar alterações","Change title":"Alterar título",Choose:"Escolher","Clear text":"Limpar texto",Close:"Fechar","Close modal":"Fechar modal","Close navigation":"Fechar navegação","Close sidebar":"Fechar barra lateral","Confirm changes":"Confirmar alterações",Custom:"Personalizado","Edit item":"Editar item","Error getting related resources":"Erro ao obter recursos relacionados","Error parsing svg":"Erro ao analisar svg","External documentation for {title}":"Documentação externa para {title}",Favorite:"Favorito",Flags:"Bandeiras","Food & Drink":"Comida & Bebida","Frequently used":"Mais usados",Global:"Global","Go back to the list":"Volte para a lista","Hide password":"Ocultar a senha","Message limit of {count} characters reached":"Limite de mensagem de {count} caracteres atingido","More items …":"Mais itens …",Next:"Próximo","No emoji found":"Nenhum emoji encontrado","No results":"Sem resultados",Objects:"Objetos",Open:"Aberto",'Open link to "{resourceTitle}"':'Abrir link para "{resourceTitle}"',"Open navigation":"Abrir navegação","Password is secure":"A senha é segura","Pause slideshow":"Pausar apresentação de slides","People & Body":"Pessoas & Corpo","Pick an emoji":"Escolha um emoji","Please select a time zone:":"Selecione um fuso horário: ",Previous:"Anterior","Related resources":"Recursos relacionados",Search:"Pesquisar","Search results":"Resultados da pesquisa","Select a tag":"Selecionar uma tag",Settings:"Configurações","Settings navigation":"Navegação de configurações","Show password":"Mostrar senha","Smileys & Emotion":"Smiles & Emoções","Start slideshow":"Iniciar apresentação de slides",Submit:"Enviar",Symbols:"Símbolo","Travel & Places":"Viagem & Lugares","Type to search time zone":"Digite para pesquisar o fuso horário ","Unable to search the group":"Não foi possível pesquisar o grupo","Undo changes":"Desfazer modificações",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escreva mensagens, use "@" para mencionar algum, use ":" for autocompletar emoji …'}},{locale:"pt_PT",translations:{"{tag} (invisible)":"{tag} (invisivel)","{tag} (restricted)":"{tag} (restrito)",Actions:"Ações",Choose:"Escolher",Close:"Fechar",Next:"Seguinte","No results":"Sem resultados","Pause slideshow":"Pausar diaporama",Previous:"Anterior","Select a tag":"Selecionar uma etiqueta",Settings:"Definições","Start slideshow":"Iniciar diaporama","Unable to search the group":"Não é possível pesquisar o grupo"}},{locale:"ro",translations:{"{tag} (invisible)":"{tag} (invizibil)","{tag} (restricted)":"{tag} (restricționat)",Actions:"Acțiuni",Activities:"Activități","Animals & Nature":"Animale și natură","Anything shared with the same group of people will show up here":"Tot ceea ce este partajat cu același grup de persoane va fi afișat aici","Avatar of {displayName}":"Avatarul lui {displayName}","Avatar of {displayName}, {status}":"Avatarul lui {displayName}, {status}","Cancel changes":"Anulează modificările","Change title":"Modificați titlul",Choose:"Alegeți","Clear text":"Șterge textul",Close:"Închideți","Close modal":"Închideți modulul","Close navigation":"Închideți navigarea","Close sidebar":"Închide bara laterală","Confirm changes":"Confirmați modificările",Custom:"Personalizat","Edit item":"Editați elementul","Error getting related resources":" Eroare la returnarea resurselor legate","Error parsing svg":"Eroare de analizare a svg","External documentation for {title}":"Documentație externă pentru {title}",Favorite:"Favorit",Flags:"Marcaje","Food & Drink":"Alimente și băuturi","Frequently used":"Utilizate frecvent",Global:"Global","Go back to the list":"Întoarceți-vă la listă","Hide password":"Ascunde parola","Message limit of {count} characters reached":"Limita mesajului de {count} caractere a fost atinsă","More items …":"Mai multe articole ...",Next:"Următorul","No emoji found":"Nu s-a găsit niciun emoji","No results":"Nu există rezultate",Objects:"Obiecte",Open:"Deschideți",'Open link to "{resourceTitle}"':'Deschide legătura la "{resourceTitle}"',"Open navigation":"Deschideți navigația","Password is secure":"Parola este sigură","Pause slideshow":"Pauză prezentare de diapozitive","People & Body":"Oameni și corp","Pick an emoji":"Alege un emoji","Please select a time zone:":"Vă rugăm să selectați un fus orar:",Previous:"Anterior","Related resources":"Resurse legate",Search:"Căutare","Search results":"Rezultatele căutării","Select a tag":"Selectați o etichetă",Settings:"Setări","Settings navigation":"Navigare setări","Show password":"Arată parola","Smileys & Emotion":"Zâmbete și emoții","Start slideshow":"Începeți prezentarea de diapozitive",Submit:"Trimiteți",Symbols:"Simboluri","Travel & Places":"Călătorii și locuri","Type to search time zone":"Tastați pentru a căuta fusul orar","Unable to search the group":"Imposibilitatea de a căuta în grup","Undo changes":"Anularea modificărilor",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Scrie un mesaj, folosește "@" pentru a menționa pe cineva, folosește ":" pentru autocompletarea cu emoji ...'}},{locale:"ru",translations:{"{tag} (invisible)":"{tag} (невидимое)","{tag} (restricted)":"{tag} (ограниченное)",Actions:"Действия ",Activities:"События","Animals & Nature":"Животные и природа ","Avatar of {displayName}":"Аватар {displayName}","Avatar of {displayName}, {status}":"Фотография {displayName}, {status}","Cancel changes":"Отменить изменения",Choose:"Выберите",Close:"Закрыть","Close modal":"Закрыть модальное окно","Close navigation":"Закрыть навигацию","Confirm changes":"Подтвердить изменения",Custom:"Пользовательское","Edit item":"Изменить элемент","External documentation for {title}":"Внешняя документация для {title}",Flags:"Флаги","Food & Drink":"Еда, напиток","Frequently used":"Часто используемый",Global:"Глобальный","Go back to the list":"Вернуться к списку",items:"элементов","Message limit of {count} characters reached":"Достигнуто ограничение на количество символов в {count}","More {dashboardItemType} …":"Больше {dashboardItemType} …",Next:"Следующее","No emoji found":"Эмодзи не найдено","No results":"Результаты отсуствуют",Objects:"Объекты",Open:"Открыть","Open navigation":"Открыть навигацию","Pause slideshow":"Приостановить показ слйдов","People & Body":"Люди и тело","Pick an emoji":"Выберите эмодзи","Please select a time zone:":"Пожалуйста, выберите часовой пояс:",Previous:"Предыдущее",Search:"Поиск","Search results":"Результаты поиска","Select a tag":"Выберите метку",Settings:"Параметры","Settings navigation":"Навигация по настройкам","Smileys & Emotion":"Смайлики и эмоции","Start slideshow":"Начать показ слайдов",Submit:"Утвердить",Symbols:"Символы","Travel & Places":"Путешествия и места","Type to search time zone":"Введите для поиска часового пояса","Unable to search the group":"Невозможно найти группу","Undo changes":"Отменить изменения","Write message, @ to mention someone, : for emoji autocompletion …":"Напишите сообщение, @ - чтобы упомянуть кого-то, : - для автозаполнения эмодзи …"}},{locale:"sk_SK",translations:{"{tag} (invisible)":"{tag} (neviditeľný)","{tag} (restricted)":"{tag} (obmedzený)",Actions:"Akcie",Activities:"Aktivity","Animals & Nature":"Zvieratá a príroda","Avatar of {displayName}":"Avatar {displayName}","Avatar of {displayName}, {status}":"Avatar {displayName}, {status}","Cancel changes":"Zrušiť zmeny",Choose:"Vybrať",Close:"Zatvoriť","Close navigation":"Zavrieť navigáciu","Confirm changes":"Potvrdiť zmeny",Custom:"Zvyk","Edit item":"Upraviť položku","External documentation for {title}":"Externá dokumentácia pre {title}",Flags:"Vlajky","Food & Drink":"Jedlo a nápoje","Frequently used":"Často používané",Global:"Globálne","Go back to the list":"Naspäť na zoznam","Message limit of {count} characters reached":"Limit správy na {count} znakov dosiahnutý",Next:"Ďalší","No emoji found":"Nenašli sa žiadne emodži","No results":"Žiadne výsledky",Objects:"Objekty","Open navigation":"Otvoriť navigáciu","Pause slideshow":"Pozastaviť prezentáciu","People & Body":"Ľudia a telo","Pick an emoji":"Vyberte si emodži","Please select a time zone:":"Prosím vyberte časovú zónu:",Previous:"Predchádzajúci",Search:"Hľadať","Search results":"Výsledky vyhľadávania","Select a tag":"Vybrať štítok",Settings:"Nastavenia","Settings navigation":"Navigácia v nastaveniach","Smileys & Emotion":"Smajlíky a emócie","Start slideshow":"Začať prezentáciu",Submit:"Odoslať",Symbols:"Symboly","Travel & Places":"Cestovanie a miesta","Type to search time zone":"Začníte písať pre vyhľadávanie časovej zóny","Unable to search the group":"Skupinu sa nepodarilo nájsť","Undo changes":"Vrátiť zmeny","Write message, @ to mention someone, : for emoji autocompletion …":"Napíšte správu, @ ak chcete niekoho spomenúť, : pre automatické dopĺňanie emotikonov…"}},{locale:"sl",translations:{"{tag} (invisible)":"{tag} (nevidno)","{tag} (restricted)":"{tag} (omejeno)",Actions:"Dejanja",Activities:"Dejavnosti","Animals & Nature":"Živali in Narava","Avatar of {displayName}":"Podoba {displayName}","Avatar of {displayName}, {status}":"Prikazna slika {displayName}, {status}","Cancel changes":"Prekliči spremembe","Change title":"Spremeni naziv",Choose:"Izbor","Clear text":"Počisti besedilo",Close:"Zapri","Close modal":"Zapri pojavno okno","Close navigation":"Zapri krmarjenje","Close sidebar":"Zapri stransko vrstico","Confirm changes":"Potrdi spremembe",Custom:"Po meri","Edit item":"Uredi predmet","Error getting related resources":"Napaka pridobivanja povezanih virov","External documentation for {title}":"Zunanja dokumentacija za {title}",Favorite:"Priljubljeno",Flags:"Zastavice","Food & Drink":"Hrana in Pijača","Frequently used":"Pogostost uporabe",Global:"Splošno","Go back to the list":"Vrni se na seznam","Hide password":"Skrij geslo","Message limit of {count} characters reached":"Dosežena omejitev {count} znakov na sporočilo.","More items …":"Več predmetov ...",Next:"Naslednji","No emoji found":"Ni najdenih izraznih ikon","No results":"Ni zadetkov",Objects:"Predmeti",Open:"Odpri",'Open link to "{resourceTitle}"':"Odpri povezavo do »{resourceTitle}«","Open navigation":"Odpri krmarjenje","Password is secure":"Geslo je varno","Pause slideshow":"Ustavi predstavitev","People & Body":"Ljudje in Telo","Pick a date":"Izbor datuma","Pick a date and a time":"Izbor datuma in časa","Pick a month":"Izbor meseca","Pick a time":"Izbor časa","Pick a week":"Izbor tedna","Pick a year":"Izbor leta","Pick an emoji":"Izbor izrazne ikone","Please select a time zone:":"Izbor časovnega pasu:",Previous:"Predhodni","Related resources":"Povezani viri",Search:"Iskanje","Search results":"Zadetki iskanja","Select a tag":"Izbor oznake",Settings:"Nastavitve","Settings navigation":"Krmarjenje nastavitev","Show password":"Pokaži geslo","Smileys & Emotion":"Izrazne ikone","Start slideshow":"Začni predstavitev",Submit:"Pošlji",Symbols:"Simboli","Travel & Places":"Potovanja in Kraji","Type to search time zone":"Vpišite niz za iskanje časovnega pasu","Unable to search the group":"Ni mogoče iskati po skupini","Undo changes":"Razveljavi spremembe","Write message, @ to mention someone, : for emoji autocompletion …":"Napišite sporočilo, za omembo pred ime postavite@, začnite z : za vstavljanje izraznih ikon …"}},{locale:"sr",translations:{"{tag} (invisible)":"{tag} (nevidljivo)","{tag} (restricted)":"{tag} (ograničeno)",Actions:"Radnje",Activities:"Aktivnosti","Animals & Nature":"Životinje i Priroda","Avatar of {displayName}":"Avatar za {displayName}","Avatar of {displayName}, {status}":"Avatar za {displayName}, {status}","Cancel changes":"Otkaži izmene","Change title":"Izmeni naziv",Choose:"Изаберите",Close:"Затвори","Close modal":"Zatvori modal","Close navigation":"Zatvori navigaciju","Close sidebar":"Zatvori bočnu traku","Confirm changes":"Potvrdite promene",Custom:"Po meri","Edit item":"Uredi stavku","External documentation for {title}":"Eksterna dokumentacija za {title}",Favorite:"Omiljeni",Flags:"Zastave","Food & Drink":"Hrana i Piće","Frequently used":"Često korišćeno",Global:"Globalno","Go back to the list":"Natrag na listu",items:"stavke","Message limit of {count} characters reached":"Dostignuto je ograničenje za poruke od {count} znakova","More {dashboardItemType} …":"Više {dashboardItemType} …",Next:"Следеће","No emoji found":"Nije pronađen nijedan emodži","No results":"Нема резултата",Objects:"Objekti",Open:"Otvori","Open navigation":"Otvori navigaciju","Pause slideshow":"Паузирај слајд шоу","People & Body":"Ljudi i Telo","Pick an emoji":"Izaberi emodži","Please select a time zone:":"Molimo izaberite vremensku zonu:",Previous:"Претходно",Search:"Pretraži","Search results":"Rezultati pretrage","Select a tag":"Изаберите ознаку",Settings:"Поставке","Settings navigation":"Navigacija u podešavanjima","Smileys & Emotion":"Smajli i Emocije","Start slideshow":"Покрени слајд шоу",Submit:"Prihvati",Symbols:"Simboli","Travel & Places":"Putovanja i Mesta","Type to search time zone":"Ukucaj da pretražiš vremenske zone","Unable to search the group":"Nije moguće pretražiti grupu","Undo changes":"Poništi promene","Write message, @ to mention someone, : for emoji autocompletion …":"Napišite poruku, @ da pomenete nekoga, : za automatsko dovršavanje emodžija…"}},{locale:"sv",translations:{"{tag} (invisible)":"{tag} (osynlig)","{tag} (restricted)":"{tag} (begränsad)",Actions:"Åtgärder",Activities:"Aktiviteter","Animals & Nature":"Djur & Natur","Anything shared with the same group of people will show up here":"Något som delats med samma grupp av personer kommer att visas här","Avatar of {displayName}":"{displayName}s avatar","Avatar of {displayName}, {status}":"{displayName}s avatar, {status}","Cancel changes":"Avbryt ändringar","Change title":"Ändra titel",Choose:"Välj","Clear text":"Ta bort text",Close:"Stäng","Close modal":"Stäng modal","Close navigation":"Stäng navigering","Close sidebar":"Stäng sidopanel","Confirm changes":"Bekräfta ändringar",Custom:"Anpassad","Edit item":"Ändra","Error getting related resources":"Problem att hämta relaterade resurser","Error parsing svg":"Fel vid inläsning av svg","External documentation for {title}":"Extern dokumentation för {title}",Favorite:"Favorit",Flags:"Flaggor","Food & Drink":"Mat & Dryck","Frequently used":"Används ofta",Global:"Global","Go back to the list":"Gå tillbaka till listan","Hide password":"Göm lössenordet","Message limit of {count} characters reached":"Meddelandegräns {count} tecken används","More items …":"Fler objekt",Next:"Nästa","No emoji found":"Hittade inga emojis","No results":"Inga resultat",Objects:"Objekt",Open:"Öppna",'Open link to "{resourceTitle}"':'Öppna länk till "{resourceTitle}"',"Open navigation":"Öppna navigering","Password is secure":"Lössenordet är säkert","Pause slideshow":"Pausa bildspelet","People & Body":"Kropp & Själ","Pick an emoji":"Välj en emoji","Please select a time zone:":"Välj tidszon:",Previous:"Föregående","Related resources":"Relaterade resurser",Search:"Sök","Search results":"Sökresultat","Select a tag":"Välj en tag",Settings:"Inställningar","Settings navigation":"Inställningsmeny","Show password":"Visa lössenordet","Smileys & Emotion":"Selfies & Känslor","Start slideshow":"Starta bildspelet",Submit:"Skicka",Symbols:"Symboler","Travel & Places":"Resor & Sevärdigheter","Type to search time zone":"Skriv för att välja tidszon","Unable to search the group":"Kunde inte söka i gruppen","Undo changes":"Ångra ändringar",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv meddelande, använd "@" för att nämna någon, använd ":" för automatiska emojiförslag ...'}},{locale:"tr",translations:{"{tag} (invisible)":"{tag} (görünmez)","{tag} (restricted)":"{tag} (kısıtlı)",Actions:"İşlemler",Activities:"Etkinlikler","Animals & Nature":"Hayvanlar ve Doğa","Anything shared with the same group of people will show up here":"Aynı kişi grubu ile paylaşılan herşey burada görüntülenir","Avatar of {displayName}":"{displayName} avatarı","Avatar of {displayName}, {status}":"{displayName}, {status} avatarı","Cancel changes":"Değişiklikleri iptal et","Change title":"Başlığı değiştir",Choose:"Seçin","Clear text":"Metni temizle",Close:"Kapat","Close modal":"Üste açılan pencereyi kapat","Close navigation":"Gezinmeyi kapat","Close sidebar":"Yan çubuğu kapat","Confirm changes":"Değişiklikleri onayla",Custom:"Özel","Edit item":"Ögeyi düzenle","Error getting related resources":"İlgili kaynaklar alınırken sorun çıktı","Error parsing svg":"svg işlenirken sorun çıktı","External documentation for {title}":"{title} için dış belgeler",Favorite:"Sık kullanılanlara ekle",Flags:"Bayraklar","Food & Drink":"Yeme ve İçme","Frequently used":"Sık kullanılanlar",Global:"Evrensel","Go back to the list":"Listeye dön","Hide password":"Parolayı gizle","Message limit of {count} characters reached":"{count} karakter ileti sınırına ulaşıldı","More items …":"Diğer ögeler…",Next:"Sonraki","No emoji found":"Herhangi bir emoji bulunamadı","No results":"Herhangi bir sonuç bulunamadı",Objects:"Nesneler",Open:"Aç",'Open link to "{resourceTitle}"':'"{resourceTitle}" bağlantısını aç',"Open navigation":"Gezinmeyi aç","Password is secure":"Parola güvenli","Pause slideshow":"Slayt sunumunu duraklat","People & Body":"İnsanlar ve Beden","Pick an emoji":"Bir emoji seçin","Please select a time zone:":"Lütfen bir saat dilimi seçin:",Previous:"Önceki","Related resources":"İlgili kaynaklar",Search:"Arama","Search results":"Arama sonuçları","Select a tag":"Bir etiket seçin",Settings:"Ayarlar","Settings navigation":"Gezinme ayarları","Show password":"Parolayı görüntüle","Smileys & Emotion":"İfadeler ve Duygular","Start slideshow":"Slayt sunumunu başlat",Submit:"Gönder",Symbols:"Simgeler","Travel & Places":"Gezi ve Yerler","Type to search time zone":"Saat dilimi aramak için yazmaya başlayın","Unable to search the group":"Grupta arama yapılamadı","Undo changes":"Değişiklikleri geri al",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'İleti yazın, birini anmak için @, otomatik emoji tamamlamak için ":" kullanın…'}},{locale:"uk",translations:{"{tag} (invisible)":"{tag} (невидимий)","{tag} (restricted)":"{tag} (обмежений)",Actions:"Дії",Activities:"Діяльність","Animals & Nature":"Тварини та природа","Avatar of {displayName}":"Аватар {displayName}","Avatar of {displayName}, {status}":"Аватар {displayName}, {status}","Cancel changes":"Скасувати зміни","Change title":"Змінити назву",Choose:"ВиберітьВиберіть","Clear text":"Очистити текст",Close:"Закрити","Close modal":"Закрити модаль","Close navigation":"Закрити навігацію","Close sidebar":"Закрити бічну панель","Confirm changes":"Підтвердити зміни",Custom:"Власне","Edit item":"Редагувати елемент","External documentation for {title}":"Зовнішня документація для {title}",Favorite:"Улюблений",Flags:"Прапори","Food & Drink":"Їжа та напої","Frequently used":"Найчастіші",Global:"Глобальний","Go back to the list":"Повернутися до списку","Hide password":"Приховати пароль",items:"елементи","Message limit of {count} characters reached":"Вичерпано ліміт у {count} символів для повідомлення","More {dashboardItemType} …":"Більше {dashboardItemType}…",Next:"Вперед","No emoji found":"Емоційки відсутні","No results":"Відсутні результати",Objects:"Об'єкти",Open:"Відкрити","Open navigation":"Відкрити навігацію","Password is secure":"Пароль безпечний","Pause slideshow":"Пауза у показі слайдів","People & Body":"Люди та жести","Pick an emoji":"Виберіть емоційку","Please select a time zone:":"Виберіть часовий пояс:",Previous:"Назад",Search:"Пошук","Search results":"Результати пошуку","Select a tag":"Виберіть позначку",Settings:"Налаштування","Settings navigation":"Навігація у налаштуваннях","Show password":"Показати пароль","Smileys & Emotion":"Смайли та емоції","Start slideshow":"Почати показ слайдів",Submit:"Надіслати",Symbols:"Символи","Travel & Places":"Поїздки та місця","Type to search time zone":"Введіть для пошуку часовий пояс","Unable to search the group":"Неможливо шукати в групі","Undo changes":"Скасувати зміни","Write message, @ to mention someone, : for emoji autocompletion …":"Напишіть повідомлення, @, щоб згадати когось, : для автозаповнення емодзі…"}},{locale:"zh_CN",translations:{"{tag} (invisible)":"{tag} (不可见)","{tag} (restricted)":"{tag} (受限)",Actions:"行为",Activities:"活动","Animals & Nature":"动物 & 自然","Anything shared with the same group of people will show up here":"与同组用户分享的所有内容都会显示于此","Avatar of {displayName}":"{displayName}的头像","Avatar of {displayName}, {status}":"{displayName}的头像,{status}","Cancel changes":"取消更改","Change title":"更改标题",Choose:"选择","Clear text":"清除文本",Close:"关闭","Close modal":"关闭窗口","Close navigation":"关闭导航","Close sidebar":"关闭侧边栏","Confirm changes":"确认更改",Custom:"自定义","Edit item":"编辑项目","Error getting related resources":"获取相关资源时出错","Error parsing svg":"解析 svg 时出错","External documentation for {title}":"{title}的外部文档",Favorite:"喜爱",Flags:"旗帜","Food & Drink":"食物 & 饮品","Frequently used":"经常使用",Global:"全局","Go back to the list":"返回至列表","Hide password":"隐藏密码","Message limit of {count} characters reached":"已达到 {count} 个字符的消息限制","More items …":"更多项目…",Next:"下一个","No emoji found":"表情未找到","No results":"无结果",Objects:"物体",Open:"打开",'Open link to "{resourceTitle}"':'打开"{resourceTitle}"的连接',"Open navigation":"开启导航","Password is secure":"密码安全","Pause slideshow":"暂停幻灯片","People & Body":"人 & 身体","Pick an emoji":"选择一个表情","Please select a time zone:":"请选择一个时区:",Previous:"上一个","Related resources":"相关资源",Search:"搜索","Search results":"搜索结果","Select a tag":"选择一个标签",Settings:"设置","Settings navigation":"设置向导","Show password":"显示密码","Smileys & Emotion":"笑脸 & 情感","Start slideshow":"开始幻灯片",Submit:"提交",Symbols:"符号","Travel & Places":"旅游 & 地点","Type to search time zone":"打字以搜索时区","Unable to search the group":"无法搜索分组","Undo changes":"撤销更改",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'写信息,使用"@"来提及某人,使用":"进行表情符号自动完成 ...'}},{locale:"zh_HK",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然","Anything shared with the same group of people will show up here":"與同一組人共享的任何內容都會顯示在此處","Avatar of {displayName}":"{displayName} 的頭像","Avatar of {displayName}, {status}":"{displayName} 的頭像,{status}","Cancel changes":"取消更改","Change title":"更改標題",Choose:"選擇","Clear text":"清除文本",Close:"關閉","Close modal":"關閉模態","Close navigation":"關閉導航","Close sidebar":"關閉側邊欄","Confirm changes":"確認更改",Custom:"自定義","Edit item":"編輯項目","Error getting related resources":"獲取相關資源出錯","Error parsing svg":"解析 svg 時出錯","External documentation for {title}":"{title} 的外部文檔",Favorite:"喜愛",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"經常使用",Global:"全球的","Go back to the list":"返回清單","Hide password":"隱藏密碼","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制","More items …":"更多項目 …",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件",Open:"打開",'Open link to "{resourceTitle}"':"打開指向 “{resourceTitle}” 的鏈結","Open navigation":"開啟導航","Password is secure":"密碼是安全的","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號","Please select a time zone:":"請選擇時區:",Previous:"上一個","Related resources":"相關資源",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Show password":"顯示密碼","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Submit:"提交",Symbols:"標誌","Travel & Places":"旅遊與景點","Type to search time zone":"鍵入以搜索時區","Unable to search the group":"無法搜尋群組","Undo changes":"取消更改",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'寫訊息,使用 "@" 來指代某人,使用 ":" 用於表情符號自動填充 ...'}},{locale:"zh_TW",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然",Choose:"選擇",Close:"關閉",Custom:"自定義",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"最近使用","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號",Previous:"上一個",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Symbols:"標誌","Travel & Places":"旅遊與景點","Unable to search the group":"無法搜尋群組","Write message, @ to mention someone …":"輸入訊息時可使用 @ 來標示某人..."}}].forEach((function(e){var t={};for(var n in e.translations)e.translations[n].pluralId?t[n]={msgid:n,msgid_plural:e.translations[n].pluralId,msgstr:e.translations[n].msgstr}:t[n]={msgid:n,msgstr:[e.translations[n]]};o.addTranslation(e.locale,{translations:{"":t}})}));var i=o.build(),r=i.ngettext.bind(i),a=i.gettext.bind(i)},334:(e,t,n)=>{"use strict";n.d(t,{default:()=>r});var o=n(2734),i=new(n.n(o)())({data:function(){return{isMobile:!1}},watch:{isMobile:function(e){this.$emit("changed",e)}},created:function(){window.addEventListener("resize",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener("resize",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});const r={data:function(){return{isMobile:!1}},mounted:function(){i.$on("changed",this.onIsMobileChanged),this.isMobile=i.isMobile},beforeDestroy:function(){i.$off("changed",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(e){this.isMobile=e}}}},3648:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var o=n(932);const i={methods:{n:o.n,t:o.t}}},1205:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const o=function(e){return Math.random().toString(36).replace(/[^a-z]+/g,"").slice(0,e||5)}},7645:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const o=function(e){e.mounted?Array.isArray(e.mounted)||(e.mounted=[e.mounted]):e.mounted=[],e.mounted.push((function(){this.$el.setAttribute("data-v-".concat("70f0364"),"")}))}},1206:(e,t,n)=>{"use strict";n.d(t,{L:()=>o}),n(4505);var o=function(){return Object.assign(window,{_nc_focus_trap:window._nc_focus_trap||[]}),window._nc_focus_trap}},8384:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-tooltip.v-popper__popper{position:absolute;z-index:100000;top:0;right:auto;left:auto;display:block;margin:0;padding:0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{right:100%;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{left:100%;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity .15s,visibility .15s;opacity:0}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity .15s;opacity:1}.v-popper--theme-tooltip .v-popper__inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.v-popper--theme-tooltip .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/directives/Tooltip/index.scss"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCSA,0CACC,iBAAA,CACA,cAAA,CACA,KAAA,CACA,UAAA,CACA,SAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,SAAA,CACA,eAAA,CAEA,eAAA,CACA,sDAAA,CAGA,iGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAID,oGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAID,mGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAID,kGACC,SAAA,CACA,oBAAA,CACA,8CAAA,CAID,4DACC,iBAAA,CACA,uCAAA,CACA,SAAA,CAED,6DACC,kBAAA,CACA,uBAAA,CACA,SAAA,CAKF,0CACC,eAAA,CACA,eAAA,CACA,iBAAA,CACA,4BAAA,CACA,kCAAA,CACA,6CAAA,CAID,oDACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBAhFY",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n/**\n* @copyright Copyright (c) 2016, John Molakvoæ \n* @copyright Copyright (c) 2016, Robin Appelman \n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt \n* @copyright Copyright (c) 2016, Erik Pellikka \n* @copyright Copyright (c) 2015, Vincent Petry \n*\n* Bootstrap (http://getbootstrap.com)\n* SCSS copied from version 3.3.5\n* Copyright 2011-2015 Twitter, Inc.\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n*/\n\n$arrow-width: 10px;\n\n.v-popper--theme-tooltip {\n\t&.v-popper__popper {\n\t\tposition: absolute;\n\t\tz-index: 100000;\n\t\ttop: 0;\n\t\tright: auto;\n\t\tleft: auto;\n\t\tdisplay: block;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\ttext-align: left;\n\t\ttext-align: start;\n\t\topacity: 0;\n\t\tline-height: 1.6;\n\n\t\tline-break: auto;\n\t\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t\t// TOP\n\t\t&[data-popper-placement^='top'] .v-popper__arrow-container {\n\t\t\tbottom: -$arrow-width;\n\t\t\tborder-bottom-width: 0;\n\t\t\tborder-top-color: var(--color-main-background);\n\t\t}\n\n\t\t// BOTTOM\n\t\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\n\t\t\ttop: -$arrow-width;\n\t\t\tborder-top-width: 0;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t}\n\n\t\t// RIGHT\n\t\t&[data-popper-placement^='right'] .v-popper__arrow-container {\n\t\t\tright: 100%;\n\t\t\tborder-left-width: 0;\n\t\t\tborder-right-color: var(--color-main-background);\n\t\t}\n\n\t\t// LEFT\n\t\t&[data-popper-placement^='left'] .v-popper__arrow-container {\n\t\t\tleft: 100%;\n\t\t\tborder-right-width: 0;\n\t\t\tborder-left-color: var(--color-main-background);\n\t\t}\n\n\t\t// HIDDEN / SHOWN\n\t\t&[aria-hidden='true'] {\n\t\t\tvisibility: hidden;\n\t\t\ttransition: opacity .15s, visibility .15s;\n\t\t\topacity: 0;\n\t\t}\n\t\t&[aria-hidden='false'] {\n\t\t\tvisibility: visible;\n\t\t\ttransition: opacity .15s;\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t// CONTENT\n\t.v-popper__inner {\n\t\tmax-width: 350px;\n\t\tpadding: 5px 8px;\n\t\ttext-align: center;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-color: var(--color-main-background);\n\t}\n\n\t// ARROW\n\t.v-popper__arrow-container {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: 0;\n\t\tborder-style: solid;\n\t\tborder-color: transparent;\n\t\tborder-width: $arrow-width;\n\t}\n}\n"],sourceRoot:""}]);const s=a},8827:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-20a3e950]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-items[data-v-20a3e950]{display:flex;align-items:center}.action-items>button[data-v-20a3e950]{margin-right:7px}.action-item[data-v-20a3e950]{--open-background-color: var(--color-background-hover, $action-background-hover);position:relative;display:inline-block}.action-item.action-item--primary[data-v-20a3e950]{--open-background-color: var(--color-primary-element-hover)}.action-item.action-item--secondary[data-v-20a3e950]{--open-background-color: var(--color-primary-element-light-hover)}.action-item.action-item--error[data-v-20a3e950]{--open-background-color: var(--color-error-hover)}.action-item.action-item--warning[data-v-20a3e950]{--open-background-color: var(--color-warning-hover)}.action-item.action-item--success[data-v-20a3e950]{--open-background-color: var(--color-success-hover)}.action-item.action-item--tertiary-no-background[data-v-20a3e950]{--open-background-color: transparent}.action-item.action-item--open .action-item__menutoggle[data-v-20a3e950]{background-color:var(--open-background-color)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcActions/NcActions.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,+BACC,YAAA,CACA,kBAAA,CAGA,sCACC,gBAAA,CAIF,8BACC,gFAAA,CACA,iBAAA,CACA,oBAAA,CAEA,mDACC,2DAAA,CAGD,qDACC,iEAAA,CAGD,iDACC,iDAAA,CAGD,mDACC,mDAAA,CAGD,mDACC,mDAAA,CAGD,kEACC,oCAAA,CAGD,yEACC,6CAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n// Inline buttons\n.action-items {\n\tdisplay: flex;\n\talign-items: center;\n\n\t// Spacing between buttons\n\t& > button {\n\t\tmargin-right: math.div($icon-margin, 2);\n\t}\n}\n\n.action-item {\n\t--open-background-color: var(--color-background-hover, $action-background-hover);\n\tposition: relative;\n\tdisplay: inline-block;\n\n\t&.action-item--primary {\n\t\t--open-background-color: var(--color-primary-element-hover);\n\t}\n\n\t&.action-item--secondary {\n\t\t--open-background-color: var(--color-primary-element-light-hover);\n\t}\n\n\t&.action-item--error {\n\t\t--open-background-color: var(--color-error-hover);\n\t}\n\n\t&.action-item--warning {\n\t\t--open-background-color: var(--color-warning-hover);\n\t}\n\n\t&.action-item--success {\n\t\t--open-background-color: var(--color-success-hover);\n\t}\n\n\t&.action-item--tertiary-no-background {\n\t\t--open-background-color: transparent;\n\t}\n\n\t&.action-item--open .action-item__menutoggle {\n\t\tbackground-color: var(--open-background-color);\n\t}\n}\n"],sourceRoot:""}]);const s=a},5565:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper{border-radius:var(--border-radius-large);overflow:hidden}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner{border-radius:var(--border-radius-large);padding:4px;max-height:calc(50vh - 16px);overflow:auto}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcActions/NcActions.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,kFACC,wCAAA,CACA,eAAA,CAEA,mGACC,wCAAA,CACA,WAAA,CACA,4BAAA,CACA,aAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n// We overwrote the popover base class, so we can style\n// the popover__inner for actions only.\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper {\n\tborder-radius: var(--border-radius-large);\n\toverflow:hidden;\n\n\t.v-popper__inner {\n\t\tborder-radius: var(--border-radius-large);\n\t\tpadding: 4px;\n\t\tmax-height: calc(50vh - 16px);\n\t\toverflow: auto;\n\t}\n}\n"],sourceRoot:""}]);const s=a},5223:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-549cf324]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-settings-modal[data-v-549cf324] .modal-wrapper .modal-container{display:flex;overflow:hidden}.app-settings[data-v-549cf324]{width:100%;display:flex;flex-direction:column;min-width:0}.app-settings__title[data-v-549cf324]{min-height:44px;height:44px;line-height:44px;padding-top:4px;text-align:center}.app-settings__wrapper[data-v-549cf324]{display:flex;width:100%;overflow:hidden;height:100%;position:relative}.app-settings__navigation[data-v-549cf324]{min-width:200px;margin-right:20px;overflow-x:hidden;overflow-y:auto;position:relative;height:100%}.app-settings__content[data-v-549cf324]{max-width:100vw;overflow-y:auto;overflow-x:hidden;padding:24px;width:100%}.navigation-list[data-v-549cf324]{height:100%;box-sizing:border-box;overflow-y:auto;padding:12px}.navigation-list__link[data-v-549cf324]{display:block;font-size:16px;height:44px;margin:4px 0;line-height:44px;border-radius:var(--border-radius-pill);font-weight:bold;padding:0 20px;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background-color:rgba(0,0,0,0);border:none}.navigation-list__link[data-v-549cf324]:hover,.navigation-list__link[data-v-549cf324]:focus{background-color:var(--color-background-hover)}.navigation-list__link--active[data-v-549cf324]{background-color:var(--color-primary-element-light) !important}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppSettingsDialog/NcAppSettingsDialog.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,qEACC,YAAA,CACA,eAAA,CAGD,+BACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,WAAA,CACA,sCACC,eCWe,CDVf,WCUe,CDTf,gBCSe,CDRf,eAAA,CACA,iBAAA,CAED,wCACC,YAAA,CACA,UAAA,CACA,eAAA,CACA,WAAA,CACA,iBAAA,CAED,2CACC,eAAA,CACA,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,iBAAA,CACA,WAAA,CAED,wCACC,eAAA,CACA,eAAA,CACA,iBAAA,CACA,YAAA,CACA,UAAA,CAIF,kCACC,WAAA,CACA,qBAAA,CACA,eAAA,CACA,YAAA,CACA,wCACC,aAAA,CACA,cAAA,CACA,WC3Be,CD4Bf,YAAA,CACA,gBC7Be,CD8Bf,uCAAA,CACA,gBAAA,CACA,cAAA,CACA,cAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,8BAAA,CACA,WAAA,CACA,4FAEC,8CAAA,CAED,gDACC,8DAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n\n.app-settings-modal :deep(.modal-wrapper .modal-container) {\n\tdisplay: flex;\n\toverflow: hidden;\n}\n\n.app-settings {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tmin-width: 0;\n\t&__title {\n\t\tmin-height: $clickable-area;\n\t\theight: $clickable-area;\n\t\tline-height: $clickable-area;\n\t\tpadding-top: 4px; // Same as the close button top spacing\n\t\ttext-align: center;\n\t}\n\t&__wrapper {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t\theight: 100%;\n\t\tposition: relative;\n\t}\n\t&__navigation {\n\t\tmin-width: 200px;\n\t\tmargin-right: 20px;\n\t\toverflow-x: hidden;\n\t\toverflow-y: auto;\n\t\tposition: relative;\n\t\theight: 100%;\n\t}\n\t&__content {\n\t\tmax-width: 100vw;\n\t\toverflow-y: auto;\n\t\toverflow-x: hidden;\n\t\tpadding: 24px;\n\t\twidth: 100%;\n\t}\n}\n\n.navigation-list {\n\theight: 100%;\n\tbox-sizing: border-box;\n\toverflow-y: auto;\n\tpadding: 12px;\n\t&__link {\n\t\tdisplay: block;\n\t\tfont-size: 16px;\n\t\theight: $clickable-area;\n\t\tmargin: 4px 0;\n\t\tline-height: $clickable-area;\n\t\tborder-radius: var(--border-radius-pill);\n\t\tfont-weight: bold;\n\t\tpadding: 0 20px;\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t\tbackground-color: transparent;\n\t\tborder: none;\n\t\t&:hover,\n\t\t&:focus {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t\t&--active {\n\t\t\tbackground-color: var(--color-primary-element-light) !important;\n\t\t}\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=a},1898:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-2e49be1e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-2e49be1e]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition-property:color,border-color,background-color;transition-duration:.1s;transition-timing-function:linear;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue *[data-v-2e49be1e],.button-vue span[data-v-2e49be1e]{cursor:pointer}.button-vue[data-v-2e49be1e]:focus{outline:none}.button-vue[data-v-2e49be1e]:disabled{cursor:default;opacity:.5;filter:saturate(0.7)}.button-vue:disabled *[data-v-2e49be1e]{cursor:default}.button-vue[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-light-hover)}.button-vue[data-v-2e49be1e]:active{background-color:var(--color-primary-element-light)}.button-vue__wrapper[data-v-2e49be1e]{display:inline-flex;align-items:center;justify-content:center;width:100%}.button-vue__icon[data-v-2e49be1e]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-2e49be1e]{font-weight:bold;margin-bottom:1px;padding:2px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button-vue--icon-only[data-v-2e49be1e]{width:44px !important}.button-vue--text-only[data-v-2e49be1e]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-2e49be1e]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-2e49be1e]{padding:0 16px 0 4px}.button-vue--wide[data-v-2e49be1e]{width:100%}.button-vue[data-v-2e49be1e]:focus-visible{outline:2px solid var(--color-main-text) !important}.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{outline:2px solid var(--color-primary-element-text);border-radius:var(--border-radius);background-color:rgba(0,0,0,0)}.button-vue--vue-primary[data-v-2e49be1e]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.button-vue--vue-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-2e49be1e]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-2e49be1e]{color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue--vue-secondary[data-v-2e49be1e]:hover:not(:disabled){color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light-hover)}.button-vue--vue-tertiary[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{color:var(--color-primary-element-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-success[data-v-2e49be1e]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-2e49be1e]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-2e49be1e]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-2e49be1e]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-2e49be1e]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-2e49be1e]:active{background-color:var(--color-error)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcButton/NcButton.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,kCAAA,CACA,gBAAA,CACA,eCcgB,CDbhB,cCagB,CDZhB,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,cAAA,CAKA,kBAAA,CACA,uDAAA,CACA,uBAAA,CACA,iCAAA,CAkBA,6CAAA,CACA,mDAAA,CA1BA,iEAEC,cAAA,CAQD,mCACC,YAAA,CAGD,sCACC,cAAA,CAIA,UCIiB,CDFjB,oBAAA,CALA,wCACC,cAAA,CAUF,kDACC,yDAAA,CAKD,oCACC,mDAAA,CAGD,sCACC,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAGD,mCACC,WCvCe,CDwCf,UCxCe,CDyCf,eCzCe,CD0Cf,cC1Ce,CD2Cf,YAAA,CACA,sBAAA,CACA,kBAAA,CAGD,mCACC,gBAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAID,wCACC,qBAAA,CAID,wCACC,cAAA,CACA,0DACC,eAAA,CACA,gBAAA,CAKF,4CACC,oBAAA,CAID,mCACC,UAAA,CAGD,2CACC,mDAAA,CACA,+EACC,mDAAA,CACA,kCAAA,CACA,8BAAA,CAOF,0CACC,6CAAA,CACA,uCAAA,CACA,+DACC,mDAAA,CAID,iDACC,6CAAA,CAKF,4CACC,6CAAA,CACA,mDAAA,CACA,iEACC,6CAAA,CACA,yDAAA,CAKF,2CACC,4BAAA,CACA,8BAAA,CACA,gEACC,6BAAA,CACA,8CAAA,CAKF,yDACC,4BAAA,CACA,8BAAA,CACA,8EACC,8BAAA,CAKF,sDACC,uCAAA,CACA,8BAAA,CAEA,2EACC,8BAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,wCACC,mCAAA,CACA,UAAA,CACA,6DACC,yCAAA,CAID,+CACC,mCAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n\n.button-vue {\n\tposition: relative;\n\twidth: fit-content;\n\toverflow: hidden;\n\tborder: 0;\n\tpadding: 0;\n\tfont-size: var(--default-font-size);\n\tfont-weight: bold;\n\tmin-height: $clickable-area;\n\tmin-width: $clickable-area;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t// Cursor pointer on element and all children\n\tcursor: pointer;\n\t& *,\n\tspan {\n\t\tcursor: pointer;\n\t}\n\tborder-radius: math.div($clickable-area, 2);\n\ttransition-property: color, border-color, background-color;\n\ttransition-duration: 0.1s;\n\ttransition-timing-function: linear;\n\n\t// No outline feedback for focus. Handled with a toggled class in js (see data)\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t\t& * {\n\t\t\tcursor: default;\n\t\t}\n\t\topacity: $opacity_disabled;\n\t\t// Gives a wash out effect\n\t\tfilter: saturate($opacity_normal);\n\t}\n\n\t// Default button type\n\tcolor: var(--color-primary-element-light-text);\n\tbackground-color: var(--color-primary-element-light);\n\t&:hover:not(:disabled) {\n\t\tbackground-color: var(--color-primary-element-light-hover);\n\t}\n\n\t// Back to the default color for this button when active\n\t// TODO: add ripple effect\n\t&:active {\n\t\tbackground-color: var(--color-primary-element-light);\n\t}\n\n\t&__wrapper {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t}\n\n\t&__icon {\n\t\theight: $clickable-area;\n\t\twidth: $clickable-area;\n\t\tmin-height: $clickable-area;\n\t\tmin-width: $clickable-area;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\n\t&__text {\n\t\tfont-weight: bold;\n\t\tmargin-bottom: 1px;\n\t\tpadding: 2px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t}\n\n\t// Icon-only button\n\t&--icon-only {\n\t\twidth: $clickable-area !important;\n\t}\n\n\t// Text-only button\n\t&--text-only {\n\t\tpadding: 0 12px;\n\t\t& .button-vue__text {\n\t\t\tmargin-left: 4px;\n\t\t\tmargin-right: 4px;\n\t\t}\n\t}\n\n\t// Icon and text button\n\t&--icon-and-text {\n\t\tpadding: 0 16px 0 4px;\n\t}\n\n\t// Wide button spans the whole width of the container\n\t&--wide {\n\t\twidth: 100%;\n\t}\n\n\t&:focus-visible {\n\t\toutline: 2px solid var(--color-main-text) !important;\n\t\t&.button-vue--vue-tertiary-on-primary {\n\t\t\toutline: 2px solid var(--color-primary-element-text);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Button types\n\n\t// Primary\n\t&--vue-primary {\n\t\tbackground-color: var(--color-primary-element);\n\t\tcolor: var(--color-primary-element-text);\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\t}\n\n\t// Secondary\n\t&--vue-secondary {\n\t\tcolor: var(--color-primary-element-light-text);\n\t\tbackground-color: var(--color-primary-element-light);\n\t\t&:hover:not(:disabled) {\n\t\t\tcolor: var(--color-primary-element-light-text);\n\t\t\tbackground-color: var(--color-primary-element-light-hover);\n\t\t}\n\t}\n\n\t// Tertiary\n\t&--vue-tertiary {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Tertiary, no background\n\t&--vue-tertiary-no-background {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Tertiary on primary color (like the header)\n\t&--vue-tertiary-on-primary {\n\t\tcolor: var(--color-primary-element-text);\n\t\tbackground-color: transparent;\n\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Success\n\t&--vue-success {\n\t\tbackground-color: var(--color-success);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-success-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// : add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-success);\n\t\t}\n\t}\n\n\t// Warning\n\t&--vue-warning {\n\t\tbackground-color: var(--color-warning);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-warning-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-warning);\n\t\t}\n\t}\n\n\t// Error\n\t&--vue-error {\n\t\tbackground-color: var(--color-error);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-error-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-error);\n\t\t}\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=a},4167:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,'.material-design-icon[data-v-1350db4f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-1350db4f]{position:fixed;z-index:9998;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,.5)}.modal-mask--dark[data-v-1350db4f]{background-color:rgba(0,0,0,.92)}.modal-header[data-v-1350db4f]{position:absolute;z-index:10001;top:0;right:0;left:0;display:flex !important;align-items:center;justify-content:center;width:100%;height:50px;overflow:hidden;transition:opacity 250ms,visibility 250ms}.modal-header.invisible[style*="display:none"][data-v-1350db4f],.modal-header.invisible[style*="display: none"][data-v-1350db4f]{visibility:hidden}.modal-header .modal-title[data-v-1350db4f]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 132px 0 12px;transition:padding ease 100ms;white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:14px;margin-bottom:0}@media only screen and (min-width: 1024px){.modal-header .modal-title[data-v-1350db4f]{padding-left:132px;text-align:center}}.modal-header .icons-menu[data-v-1350db4f]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .header-close[data-v-1350db4f]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:3px;padding:0}.modal-header .icons-menu .play-pause-icons[data-v-1350db4f]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;border:none;background-color:rgba(0,0,0,0)}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-1350db4f]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,.25)}.modal-header .icons-menu .play-pause-icons__play[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons__pause[data-v-1350db4f]{box-sizing:border-box;width:44px;height:44px;margin:3px;cursor:pointer;opacity:.7}.modal-header .icons-menu .header-actions[data-v-1350db4f]{color:#fff}.modal-header .icons-menu[data-v-1350db4f] .action-item{margin:3px}.modal-header .icons-menu[data-v-1350db4f] .action-item--single{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-1350db4f] button{color:#fff}.modal-header .icons-menu[data-v-1350db4f] .action-item__menutoggle{padding:0}.modal-header .icons-menu[data-v-1350db4f] .action-item__menutoggle span,.modal-header .icons-menu[data-v-1350db4f] .action-item__menutoggle svg{width:var(--icon-size);height:var(--icon-size)}.modal-wrapper[data-v-1350db4f]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-1350db4f],.modal-wrapper .next[data-v-1350db4f]{z-index:10000;display:flex !important;height:35vw;position:absolute;transition:opacity 250ms,visibility 250ms;color:var(--color-primary-element-text)}.modal-wrapper .prev[data-v-1350db4f]:focus-visible,.modal-wrapper .next[data-v-1350db4f]:focus-visible{box-shadow:0 0 0 2px var(--color-primary-element-text);background-color:var(--color-box-shadow)}.modal-wrapper .prev.invisible[style*="display:none"][data-v-1350db4f],.modal-wrapper .prev.invisible[style*="display: none"][data-v-1350db4f],.modal-wrapper .next.invisible[style*="display:none"][data-v-1350db4f],.modal-wrapper .next.invisible[style*="display: none"][data-v-1350db4f]{visibility:hidden}.modal-wrapper .prev[data-v-1350db4f]{left:2px}.modal-wrapper .next[data-v-1350db4f]{right:2px}.modal-wrapper .modal-container[data-v-1350db4f]{position:relative;display:block;overflow:auto;padding:0;transition:transform 300ms ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);box-shadow:0 0 40px rgba(0,0,0,.2)}.modal-wrapper .modal-container__close[data-v-1350db4f]{position:absolute;top:4px;right:4px}.modal-wrapper--small .modal-container[data-v-1350db4f]{width:400px;max-width:90%;max-height:90%}.modal-wrapper--normal .modal-container[data-v-1350db4f]{max-width:90%;width:600px;max-height:90%}.modal-wrapper--large .modal-container[data-v-1350db4f]{max-width:90%;width:900px;max-height:90%}.modal-wrapper--full .modal-container[data-v-1350db4f]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}@media only screen and (max-width: 512px){.modal-wrapper .modal-container[data-v-1350db4f]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}}.fade-enter-active[data-v-1350db4f],.fade-leave-active[data-v-1350db4f]{transition:opacity 250ms}.fade-enter[data-v-1350db4f],.fade-leave-to[data-v-1350db4f]{opacity:0}.fade-visibility-enter[data-v-1350db4f],.fade-visibility-leave-to[data-v-1350db4f]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-1350db4f],.modal-in-leave-active[data-v-1350db4f],.modal-out-enter-active[data-v-1350db4f],.modal-out-leave-active[data-v-1350db4f]{transition:opacity 250ms}.modal-in-enter[data-v-1350db4f],.modal-in-leave-to[data-v-1350db4f],.modal-out-enter[data-v-1350db4f],.modal-out-leave-to[data-v-1350db4f]{opacity:0}.modal-in-enter .modal-container[data-v-1350db4f],.modal-in-leave-to .modal-container[data-v-1350db4f]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-1350db4f],.modal-out-leave-to .modal-container[data-v-1350db4f]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-1350db4f]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-1350db4f]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-1350db4f linear var(--slideshow-duration) infinite;stroke-linecap:round;stroke-dashoffset:94.2477796077;stroke-dasharray:94.2477796077}.modal-mask .play-pause-icons--paused .icon-pause[data-v-1350db4f]{animation:breath-1350db4f 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-1350db4f]{animation-play-state:paused !important}@keyframes progressring-1350db4f{from{stroke-dashoffset:94.2477796077}to{stroke-dashoffset:0}}@keyframes breath-1350db4f{0%{opacity:1}50%{opacity:0}100%{opacity:1}}',"",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcModal/NcModal.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,cAAA,CACA,YAAA,CACA,KAAA,CACA,MAAA,CACA,aAAA,CACA,UAAA,CACA,WAAA,CACA,+BAAA,CACA,mCACC,gCAAA,CAIF,+BACC,iBAAA,CACA,aAAA,CACA,KAAA,CACA,OAAA,CACA,MAAA,CAGA,uBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WCuBe,CDtBf,eAAA,CACA,yCAAA,CAIA,iIAEC,iBAAA,CAGD,4CACC,iBAAA,CACA,qBAAA,CACA,UAAA,CACA,sBAAA,CACA,6BAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,cChBY,CDiBZ,eAAA,CAID,2CACC,4CACC,kBAAA,CACA,iBAAA,CAAA,CAIF,2CACC,iBAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,wBAAA,CAEA,yDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA,CAGD,6DACC,iBAAA,CACA,UC3Ba,CD4Bb,WC5Ba,CD6Bb,QAAA,CACA,SAAA,CACA,cAAA,CACA,WAAA,CACA,8BAAA,CAGC,8WAEC,SC9CU,CD+CV,kBAAA,CACA,sCCxDW,CD2Db,uIAEC,qBAAA,CACA,UCzEa,CD0Eb,WC1Ea,CD2Eb,UAAA,CACA,cAAA,CACA,UC3Da,CD+Df,2DACC,UAAA,CAGD,yDACC,UAAA,CAEA,iEACC,qBAAA,CACA,UC1Fa,CD2Fb,WC3Fa,CD4Fb,cAAA,CACA,0BAAA,CACA,oBAAA,CAIF,kDAEC,UAAA,CAID,oEACC,SAAA,CACA,iJACC,sBAAA,CACA,uBAAA,CAMJ,gCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CAGA,4EAEC,aAAA,CAEA,uBAAA,CACA,WAAA,CACA,iBAAA,CACA,yCAAA,CAEA,uCAAA,CAEA,wGAEC,sDAAA,CACA,wCAAA,CAOD,8RAEC,iBAAA,CAGF,sCACC,QAAA,CAED,sCACC,SAAA,CAID,iDACC,iBAAA,CACA,aAAA,CACA,aAAA,CACA,SAAA,CACA,+BAAA,CACA,wCAAA,CACA,6CAAA,CACA,kCAAA,CACA,wDACC,iBAAA,CACA,OAAA,CACA,SAAA,CAMD,wDACC,WAAA,CACA,aAAA,CACA,cAAA,CAID,yDACC,aAAA,CACA,WAAA,CACA,cAAA,CAID,wDACC,aAAA,CACA,WAAA,CACA,cAAA,CAID,uDACC,UAAA,CACA,wCAAA,CACA,iBAAA,CACA,QC7Ka,CD8Kb,eAAA,CAKF,0CACC,iDACC,iBAAA,CACA,UAAA,CACA,kBAAA,CACA,wCAAA,CACA,iBAAA,CACA,QC1La,CD2Lb,eAAA,CAAA,CAMH,wEAEC,wBAAA,CAGD,6DAEC,SAAA,CAGD,mFAEC,iBAAA,CACA,SAAA,CAGD,kKAIC,wBAAA,CAGD,4IAIC,SAAA,CAGD,uGAEC,oBAAA,CAGD,yGAEC,oBAAA,CAQA,8DACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CACA,qFACC,kCAAA,CACA,wBAAA,CACA,yEAAA,CAEA,oBAAA,CACA,+BAAA,CACA,8BAAA,CAID,mEACC,kEAAA,CAED,8EACC,sCAAA,CAMH,iCACC,KACC,+BAAA,CAED,GACC,mBAAA,CAAA,CAIF,2BACC,GACC,SAAA,CAED,IACC,SAAA,CAED,KACC,SAAA,CAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n\n.modal-mask {\n\tposition: fixed;\n\tz-index: 9998;\n\ttop: 0;\n\tleft: 0;\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: rgba(0, 0, 0, .5);\n\t&--dark {\n\t\tbackground-color: rgba(0, 0, 0, .92);\n\t}\n}\n\n.modal-header {\n\tposition: absolute;\n\tz-index: 10001;\n\ttop: 0;\n\tright: 0;\n\tleft: 0;\n\t// prevent vue show to use display:none and reseting\n\t// the circle animation loop\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 100%;\n\theight: $header-height;\n\toverflow: hidden;\n\ttransition: opacity 250ms,\n\t\tvisibility 250ms;\n\n\t// replace display by visibility\n\t&.invisible[style*='display:none'],\n\t&.invisible[style*='display: none'] {\n\t\tvisibility: hidden;\n\t}\n\n\t.modal-title {\n\t\toverflow-x: hidden;\n\t\tbox-sizing: border-box;\n\t\twidth: 100%;\n\t\tpadding: 0 #{$clickable-area * 3} 0 12px; // maximum actions is 3\n\t\ttransition: padding ease 100ms;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: #fff;\n\t\tfont-size: $icon-margin;\n\t\tmargin-bottom: 0;\n\t}\n\n\t// On wider screens the title can be centered\n\t@media only screen and (min-width: $breakpoint-mobile) {\n\t\t.modal-title {\n\t\t\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\n\t\t\ttext-align: center;\n\t\t}\n\t}\n\n\t.icons-menu {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\n\t\t.header-close {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tbox-sizing: border-box;\n\t\t\tmargin: math.div($header-height - $clickable-area, 2);\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t.play-pause-icons {\n\t\t\tposition: relative;\n\t\t\twidth: $header-height;\n\t\t\theight: $header-height;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tcursor: pointer;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\t.play-pause-icons__play,\n\t\t\t\t.play-pause-icons__pause {\n\t\t\t\t\topacity: $opacity_full;\n\t\t\t\t\tborder-radius: math.div($clickable-area, 2);\n\t\t\t\t\tbackground-color: $icon-focus-bg;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&__play,\n\t\t\t&__pause {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: $clickable-area;\n\t\t\t\theight: $clickable-area;\n\t\t\t\tmargin: math.div($header-height - $clickable-area, 2);\n\t\t\t\tcursor: pointer;\n\t\t\t\topacity: $opacity_normal;\n\t\t\t}\n\t\t}\n\n\t\t.header-actions {\n\t\t\tcolor: white;\n\t\t}\n\n\t\t&:deep() .action-item {\n\t\t\tmargin: math.div($header-height - $clickable-area, 2);\n\n\t\t\t&--single {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: $clickable-area;\n\t\t\t\theight: $clickable-area;\n\t\t\t\tcursor: pointer;\n\t\t\t\tbackground-position: center;\n\t\t\t\tbackground-size: 22px;\n\t\t\t}\n\t\t}\n\n\t\t:deep(button) {\n\t\t\t// force white instead of default main text\n\t\t\tcolor: #fff;\n\t\t}\n\n\t\t// Force the Actions menu icon to be the same size as other icons\n\t\t&:deep(.action-item__menutoggle) {\n\t\t\tpadding: 0;\n\t\t\tspan, svg {\n\t\t\t\twidth: var(--icon-size);\n\t\t\t\theight: var(--icon-size);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.modal-wrapper {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight: 100%;\n\n\t/* Navigation buttons */\n\t.prev,\n\t.next {\n\t\tz-index: 10000;\n\t\t// ignore display: none\n\t\tdisplay: flex !important;\n\t\theight: 35vw;\n\t\tposition: absolute;\n\t\ttransition: opacity 250ms,\n\t\t\tvisibility 250ms;\n\t\tcolor: var(--color-primary-element-text);\n\n\t\t&:focus-visible {\n\t\t\t// Override NcButton focus styles\n\t\t\tbox-shadow: 0 0 0 2px var(--color-primary-element-text);\n\t\t\tbackground-color: var(--color-box-shadow);\n\t\t}\n\n\t\t// we want to keep the elements on page\n\t\t// even if hidden to avoid having a unbalanced\n\t\t// centered content\n\t\t// replace display by visibility\n\t\t&.invisible[style*='display:none'],\n\t\t&.invisible[style*='display: none'] {\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\t.prev {\n\t\tleft: 2px;\n\t}\n\t.next {\n\t\tright: 2px;\n\t}\n\n\t/* Content */\n\t.modal-container {\n\t\tposition: relative;\n\t\tdisplay: block;\n\t\toverflow: auto; // avoids unecessary hacks if the content should be bigger than the modal\n\t\tpadding: 0;\n\t\ttransition: transform 300ms ease;\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\t\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\n\t\t&__close {\n\t\t\tposition: absolute;\n\t\t\ttop: 4px;\n\t\t\tright: 4px;\n\t\t}\n\t}\n\n\t// Sizing\n\t&--small {\n\t\t.modal-container {\n\t\t\twidth: 400px;\n\t\t\tmax-width: 90%;\n\t\t\tmax-height: 90%;\n\t\t}\n\t}\n\t&--normal {\n\t\t.modal-container {\n\t\t\tmax-width: 90%;\n\t\t\twidth: 600px;\n\t\t\tmax-height: 90%;\n\t\t}\n\t}\n\t&--large {\n\t\t.modal-container {\n\t\t\tmax-width: 90%;\n\t\t\twidth: 900px;\n\t\t\tmax-height: 90%;\n\t\t}\n\t}\n\t&--full {\n\t\t.modal-container {\n\t\t\twidth: 100%;\n\t\t\theight: calc(100% - var(--header-height));\n\t\t\tposition: absolute;\n\t\t\ttop: $header-height;\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n\n\t// Make modal full screen on mobile\n\t@media only screen and (max-width: math.div($breakpoint-mobile, 2)) {\n\t\t.modal-container {\n\t\t\tmax-width: initial;\n\t\t\twidth: 100%;\n\t\t\tmax-height: initial;\n\t\t\theight: calc(100% - var(--header-height));\n\t\t\tposition: absolute;\n\t\t\ttop: $header-height;\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n}\n\n/* TRANSITIONS */\n.fade-enter-active,\n.fade-leave-active {\n\ttransition: opacity 250ms;\n}\n\n.fade-enter,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.fade-visibility-enter,\n.fade-visibility-leave-to {\n\tvisibility: hidden;\n\topacity: 0;\n}\n\n.modal-in-enter-active,\n.modal-in-leave-active,\n.modal-out-enter-active,\n.modal-out-leave-active {\n\ttransition: opacity 250ms;\n}\n\n.modal-in-enter,\n.modal-in-leave-to,\n.modal-out-enter,\n.modal-out-leave-to {\n\topacity: 0;\n}\n\n.modal-in-enter .modal-container,\n.modal-in-leave-to .modal-container {\n\ttransform: scale(.9);\n}\n\n.modal-out-enter .modal-container,\n.modal-out-leave-to .modal-container {\n\ttransform: scale(1.1);\n}\n\n// animated circle\n$radius: 15;\n$pi: 3.14159265358979;\n\n.modal-mask .play-pause-icons {\n\t.progress-ring {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\ttransform: rotate(-90deg);\n\t\t.progress-ring__circle {\n\t\t\ttransition: 100ms stroke-dashoffset;\n\t\t\ttransform-origin: 50% 50%; // axis compensation\n\t\t\tanimation: progressring linear var(--slideshow-duration) infinite;\n\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\n\t\t\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\n\t\t}\n\t}\n\t&--paused {\n\t\t.icon-pause {\n\t\t\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\n\t\t}\n\t\t.progress-ring__circle {\n\t\t\tanimation-play-state: paused !important;\n\t\t}\n\t}\n}\n\n// keyframes get scoped too and break the animation name, we need them unscoped\n@keyframes progressring {\n\tfrom {\n\t\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\n\t}\n\tto {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes breath {\n\t0% {\n\t\topacity: 1;\n\t}\n\t50% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=a},4401:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:rgba(0,0,0,0);pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown.v-popper__popper{z-index:100000;top:0;left:0;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-dropdown.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);overflow:hidden;background:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-10px;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcPopover/NcPopover.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,iBACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CACA,aAAA,CACA,eAAA,CACA,SAAA,CAGD,wBACC,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CAMA,2CACC,cAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CAEA,sDAAA,CAEA,4DACC,SAAA,CACA,4BAAA,CACA,kCAAA,CACA,eAAA,CACA,uCAAA,CAGD,sEACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBA1BW,CA6BZ,kGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAGD,qGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAGD,oGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAGD,mGACC,WAAA,CACA,oBAAA,CACA,8CAAA,CAGD,6DACC,iBAAA,CACA,2EAAA,CACA,SAAA,CAGD,8DACC,kBAAA,CACA,yCAAA,CACA,SAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n\n.resize-observer {\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\tz-index:-1;\n\twidth:100%;\n\theight:100%;\n\tborder:none;\n\tbackground-color:transparent;\n\tpointer-events:none;\n\tdisplay:block;\n\toverflow:hidden;\n\topacity:0\n}\n\n.resize-observer object {\n\tdisplay:block;\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\theight:100%;\n\twidth:100%;\n\toverflow:hidden;\n\tpointer-events:none;\n\tz-index:-1\n}\n\n$arrow-width: 10px;\n\n.v-popper--theme-dropdown {\n\t&.v-popper__popper {\n\t\tz-index: 100000;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block !important;\n\n\t\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t\t.v-popper__inner {\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\toverflow: hidden;\n\t\t\tbackground: var(--color-main-background);\n\t\t}\n\n\t\t.v-popper__arrow-container {\n\t\t\tposition: absolute;\n\t\t\tz-index: 1;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t\tborder-color: transparent;\n\t\t\tborder-width: $arrow-width;\n\t\t}\n\n\t\t&[data-popper-placement^='top'] .v-popper__arrow-container {\n\t\t\tbottom: -$arrow-width;\n\t\t\tborder-bottom-width: 0;\n\t\t\tborder-top-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\n\t\t\ttop: -$arrow-width;\n\t\t\tborder-top-width: 0;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='right'] .v-popper__arrow-container {\n\t\t\tleft: -$arrow-width;\n\t\t\tborder-left-width: 0;\n\t\t\tborder-right-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='left'] .v-popper__arrow-container {\n\t\t\tright: -$arrow-width;\n\t\t\tborder-right-width: 0;\n\t\t\tborder-left-color: var(--color-main-background);\n\t\t}\n\n\t\t&[aria-hidden='true'] {\n\t\t\tvisibility: hidden;\n\t\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\t\topacity: 0;\n\t\t}\n\n\t\t&[aria-hidden='false'] {\n\t\t\tvisibility: visible;\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const s=a},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",o=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),o&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),o&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,o,i,r){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(o)for(var s=0;s0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=r),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),i&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=i):u[4]="".concat(i)),t.push(u))}},t}},7537:e=>{"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),i="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(o),r="/*# ".concat(i," */");return[t].concat([r]).join("\n")}return[t].join("\n")}},3379:e=>{"use strict";var t=[];function n(e){for(var n=-1,o=0;o{"use strict";var t={};e.exports=function(e,n){var o=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(n)}},9216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{"use strict";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var o="";n.supports&&(o+="@supports (".concat(n.supports,") {")),n.media&&(o+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(o+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),o+=n.css,i&&(o+="}"),n.media&&(o+="}"),n.supports&&(o+="}");var r=n.sourceMap;r&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),t.styleTagTransform(o,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},5727:()=>{},7984:()=>{},2102:()=>{},9989:()=>{},2405:()=>{},1900:(e,t,n)=>{"use strict";function o(e,t,n,o,i,r,a,s){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}n.d(t,{Z:()=>o})},7931:e=>{"use strict";e.exports=n(23955)},3465:e=>{"use strict";e.exports=n(20296)},9454:e=>{"use strict";e.exports=n(73045)},4505:e=>{"use strict";e.exports=n(15303)},2640:e=>{"use strict";e.exports=n(50840)},2734:e=>{"use strict";e.exports=n(20144)},9044:e=>{"use strict";e.exports=n(11585)},8618:e=>{"use strict";e.exports=n(82675)},1441:e=>{"use strict";e.exports=n(89115)}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={id:n,exports:{}};return e[n](r,r.exports,i),r.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nc=void 0;var r={};return(()=>{"use strict";i.r(r),i.d(r,{default:()=>N});var e=i(1373),t=i(334),n=i(932),o=i(3465),a=i.n(o);function s(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n{var t;self,t=()=>(()=>{"use strict";var e={2746:(e,t,n)=>{n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-600605cc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-settings-section[data-v-600605cc]{margin-bottom:80px}.app-settings-section__title[data-v-600605cc]{font-size:20px;margin:0;padding:20px 0;font-weight:bold;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcAppSettingsSection/NcAppSettingsSection.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,uCACC,kBAAA,CACA,8CACC,cAAA,CACA,QAAA,CACA,cAAA,CACA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n.app-settings-section {\n\tmargin-bottom: 80px;\n\t&__title {\n\t\tfont-size: 20px;\n\t\tmargin: 0;\n\t\tpadding: 20px 0;\n\t\tfont-weight: bold;\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n"],sourceRoot:""}]);const s=a},3645:e=>{e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",o=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),o&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),o&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,o,i,r){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(o)for(var s=0;s0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=r),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),i&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=i):u[4]="".concat(i)),t.push(u))}},t}},7537:e=>{e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),i="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(o),r="/*# ".concat(i," */");return[t].concat([r]).join("\n")}return[t].join("\n")}},3379:e=>{var t=[];function n(e){for(var n=-1,o=0;o{var t={};e.exports=function(e,n){var o=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(n)}},9216:e=>{e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var o="";n.supports&&(o+="@supports (".concat(n.supports,") {")),n.media&&(o+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(o+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),o+=n.css,i&&(o+="}"),n.media&&(o+="}"),n.supports&&(o+="}");var r=n.sourceMap;r&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),t.styleTagTransform(o,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},1900:(e,t,n)=>{function o(e,t,n,o,i,r,a,s){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}n.d(t,{Z:()=>o})}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var r=t[o]={id:o,exports:{}};return e[o](r,r.exports,n),r.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nc=void 0;var o={};return(()=>{n.r(o),n.d(o,{default:()=>f});const e={name:"NcAppSettingsSection",props:{title:{type:String,required:!0},id:{type:String,required:!0,validator:function(e){return/^[a-z0-9\-_]+$/.test(e)}}},computed:{htmlId:function(){return"settings-section_"+this.id}}};var t=n(3379),i=n.n(t),r=n(7795),a=n.n(r),s=n(569),l=n.n(s),c=n(3565),u=n.n(c),d=n(9216),p=n.n(d),m=n(4589),h=n.n(m),v=n(2746),A={};A.styleTagTransform=h(),A.setAttributes=u(),A.insert=l().bind(null,"head"),A.domAPI=a(),A.insertStyleElement=p(),i()(v.Z,A),v.Z&&v.Z.locals&&v.Z.locals;const f=(0,n(1900).Z)(e,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"app-settings-section",attrs:{id:e.htmlId}},[t("h3",{staticClass:"app-settings-section__title"},[e._v("\n\t\t"+e._s(e.title)+"\n\t")]),e._v(" "),e._t("default")],2)}),[],!1,null,"600605cc",null).exports})(),o})(),e.exports=t()},64412:(e,t,n)=>{var o=n(25108);!function(t,n){e.exports=n()}(self,(()=>(()=>{var e={644:(e,t,n)=>{"use strict";n.d(t,{default:()=>L});var o=n(9104),i=n(5825),r=n(1205),a=n(932),s=n(2734),l=n.n(s),c=n(1441),u=n.n(c);function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function m(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&void 0!==arguments[0])||arguments[0];this.opened&&(this.opened=!1,this.$refs.popover.clearFocusTrap({returnFocus:e}),this.$emit("update:open",!1),this.$emit("close"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.$el.focus())},onOpen:function(e){var t=this;this.$nextTick((function(){t.focusFirstAction(e)}))},onMouseFocusAction:function(e){if(document.activeElement!==e.target){var t=e.target.closest("li");if(t){var n=t.querySelector(f);if(n){var o=v(this.$refs.menu.querySelectorAll(f)).indexOf(n);o>-1&&(this.focusIndex=o,this.focusAction())}}}},onKeydown:function(e){(38===e.keyCode||9===e.keyCode&&e.shiftKey)&&this.focusPreviousAction(e),(40===e.keyCode||9===e.keyCode&&!e.shiftKey)&&this.focusNextAction(e),33===e.keyCode&&this.focusFirstAction(e),34===e.keyCode&&this.focusLastAction(e),27===e.keyCode&&(this.closeMenu(),e.preventDefault())},removeCurrentActive:function(){var e=this.$refs.menu.querySelector("li.active");e&&e.classList.remove("active")},focusAction:function(){var e=this.$refs.menu.querySelectorAll(f)[this.focusIndex];if(e){this.removeCurrentActive();var t=e.closest("li.action");e.focus(),t&&t.classList.add("active")}},focusPreviousAction:function(e){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(e){if(this.opened){var t=this.$refs.menu.querySelectorAll(f).length-1;this.focusIndex===t?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=0,this.focusAction())},focusLastAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=this.$refs.menu.querySelectorAll(f).length-1,this.focusAction())},preventIfEvent:function(e){e&&(e.preventDefault(),e.stopPropagation())},onFocus:function(e){this.$emit("focus",e)},onBlur:function(e){this.$emit("blur",e)}},render:function(e){var t=this,n=(this.$slots.default||[]).filter((function(e){var t,n,o,i;return(null==e||null===(t=e.componentOptions)||void 0===t?void 0:t.tag)||(null==e||null===(n=e.componentOptions)||void 0===n||null===(o=n.Ctor)||void 0===o||null===(i=o.extendOptions)||void 0===i?void 0:i.name)})),o=n.every((function(e){var t,n,o,i,r,a,s,l;return"NcActionLink"===(null!==(t=null==e||null===(n=e.componentOptions)||void 0===n||null===(o=n.Ctor)||void 0===o||null===(i=o.extendOptions)||void 0===i?void 0:i.name)&&void 0!==t?t:null==e||null===(r=e.componentOptions)||void 0===r?void 0:r.tag)&&(null==e||null===(a=e.componentOptions)||void 0===a||null===(s=a.propsData)||void 0===s||null===(l=s.href)||void 0===l?void 0:l.startsWith(window.location.origin))})),i=n.filter(this.isValidSingleAction);if(this.forceMenu&&i.length>0&&this.inline>0&&(l().util.warn("Specifying forceMenu will ignore any inline actions rendering."),i=[]),0!==n.length){var r=function(n){var o,i,r,a,s,l,c,u,d,p,h,v,A,f,g,b,y,C,w,k,S,x,_=(null==n||null===(o=n.data)||void 0===o||null===(i=o.scopedSlots)||void 0===i||null===(r=i.icon())||void 0===r?void 0:r[0])||e("span",{class:["icon",null==n||null===(a=n.componentOptions)||void 0===a||null===(s=a.propsData)||void 0===s?void 0:s.icon]}),j=null==n||null===(l=n.componentOptions)||void 0===l||null===(c=l.listeners)||void 0===c?void 0:c.click,N=null==n||null===(u=n.componentOptions)||void 0===u||null===(d=u.children)||void 0===d||null===(p=d[0])||void 0===p||null===(h=p.text)||void 0===h||null===(v=h.trim)||void 0===v?void 0:v.call(h),z=(null==n||null===(A=n.componentOptions)||void 0===A||null===(f=A.propsData)||void 0===f?void 0:f.ariaLabel)||N,P=t.forceTitle?N:"",E=null==n||null===(g=n.componentOptions)||void 0===g||null===(b=g.propsData)||void 0===b?void 0:b.title;return t.forceTitle||E||(E=N),e("NcButton",{class:["action-item action-item--single",null==n||null===(y=n.data)||void 0===y?void 0:y.staticClass,null==n||null===(C=n.data)||void 0===C?void 0:C.class],attrs:{"aria-label":z,title:E},ref:null==n||null===(w=n.data)||void 0===w?void 0:w.ref,props:m({type:t.type||(P?"secondary":"tertiary"),disabled:t.disabled||(null==n||null===(k=n.componentOptions)||void 0===k||null===(S=k.propsData)||void 0===S?void 0:S.disabled),ariaHidden:t.ariaHidden},null==n||null===(x=n.componentOptions)||void 0===x?void 0:x.propsData),on:m({focus:t.onFocus,blur:t.onBlur},!!j&&{click:function(e){j&&j(e)}})},[e("template",{slot:"icon"},[_]),P])},a=function(n){var i,r,a=(null===(i=t.$slots.icon)||void 0===i?void 0:i[0])||(t.defaultIcon?e("span",{class:["icon",t.defaultIcon]}):e("DotsHorizontal",{props:{size:20}}));return e("NcPopover",{ref:"popover",props:{delay:0,handleResize:!0,shown:t.opened,placement:t.placement,boundary:t.boundariesElement,container:t.container,popoverBaseClass:"action-item__popper",setReturnFocus:null===(r=t.$refs.menuButton)||void 0===r?void 0:r.$el},attrs:{delay:0,handleResize:!0,shown:t.opened,placement:t.placement,boundary:t.boundariesElement,container:t.container,popoverBaseClass:"action-item__popper"},on:{show:t.openMenu,"after-show":t.onOpen,hide:t.closeMenu}},[e("NcButton",{class:"action-item__menutoggle",props:{type:t.triggerBtnType,disabled:t.disabled,ariaHidden:t.ariaHidden},slot:"trigger",ref:"menuButton",attrs:{"aria-haspopup":o?null:"menu","aria-label":t.ariaLabel,"aria-controls":t.opened?t.randomId:null,"aria-expanded":t.opened.toString()},on:{focus:t.onFocus,blur:t.onBlur}},[e("template",{slot:"icon"},[a]),t.menuTitle]),e("div",{class:{open:t.opened},attrs:{tabindex:"-1"},on:{keydown:t.onKeydown,mousemove:t.onMouseFocusAction},ref:"menu"},[e("ul",{attrs:{id:t.randomId,tabindex:"-1",role:o?null:"menu"}},[n])])])};if(1===n.length&&1===i.length&&!this.forceMenu)return r(i[0]);if(i.length>0&&this.inline>0){var s=i.slice(0,this.inline),c=n.filter((function(e){return!s.includes(e)}));return e("div",{class:["action-items","action-item--".concat(this.triggerBtnType)]},[].concat(v(s.map(r)),[c.length>0?e("div",{class:["action-item",{"action-item--open":this.opened}]},[a(c)]):null]))}return e("div",{class:["action-item action-item--default-popover","action-item--".concat(this.triggerBtnType),{"action-item--open":this.opened}]},[a(n)])}}};var b=n(3379),y=n.n(b),C=n(7795),w=n.n(C),k=n(569),S=n.n(k),x=n(3565),_=n.n(x),j=n(9216),N=n.n(j),z=n(4589),P=n.n(z),E=n(8827),O={};O.styleTagTransform=P(),O.setAttributes=_(),O.insert=S().bind(null,"head"),O.domAPI=w(),O.insertStyleElement=N(),y()(E.Z,O),E.Z&&E.Z.locals&&E.Z.locals;var T=n(5565),B={};B.styleTagTransform=P(),B.setAttributes=_(),B.insert=S().bind(null,"head"),B.domAPI=w(),B.insertStyleElement=N(),y()(T.Z,B),T.Z&&T.Z.locals&&T.Z.locals;var D=n(1900),F=n(5727),I=n.n(F),$=(0,D.Z)(g,void 0,void 0,!1,null,"20a3e950",null);"function"==typeof I()&&I()($);const L=$.exports},9104:(e,t,n)=>{"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;tj});const l={name:"NcButton",props:{disabled:{type:Boolean,default:!1},type:{type:String,validator:function(e){return-1!==["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].indexOf(e)},default:"secondary"},nativeType:{type:String,validator:function(e){return-1!==["submit","reset","button"].indexOf(e)},default:"button"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},href:{type:String,default:null},to:{type:[String,Object],default:null},exact:{type:Boolean,default:!1},ariaHidden:{type:Boolean,default:null}},render:function(e){var t,n,i,r,l,c=this,u=null===(t=this.$slots.default)||void 0===t||null===(n=t[0])||void 0===n||null===(i=n.text)||void 0===i||null===(r=i.trim)||void 0===r?void 0:r.call(i),d=!!u,p=null===(l=this.$slots)||void 0===l?void 0:l.icon;u||this.ariaLabel||o.warn("You need to fill either the text or the ariaLabel props in the button component.",{text:u,ariaLabel:this.ariaLabel},this);var m=function(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=n.navigate,i=n.isActive,r=n.isExactActive;return e(c.to||!c.href?"button":"a",{class:["button-vue",(t={"button-vue--icon-only":p&&!d,"button-vue--text-only":d&&!p,"button-vue--icon-and-text":p&&d},s(t,"button-vue--vue-".concat(c.type),c.type),s(t,"button-vue--wide",c.wide),s(t,"active",i),s(t,"router-link-exact-active",r),t)],attrs:a({"aria-label":c.ariaLabel,disabled:c.disabled,type:c.href?null:c.nativeType,role:c.href?"button":null,href:!c.to&&c.href?c.href:null},c.$attrs),on:a(a({},c.$listeners),{},{click:function(e){var t,n;null===(t=c.$listeners)||void 0===t||null===(n=t.click)||void 0===n||n.call(t,e),null==o||o(e)}})},[e("span",{class:"button-vue__wrapper"},[p?e("span",{class:"button-vue__icon",attrs:{"aria-hidden":c.ariaHidden}},[c.$slots.icon]):null,d?e("span",{class:"button-vue__text"},[u]):null])])};return this.to?e("router-link",{props:{custom:!0,to:this.to,exact:this.exact},scopedSlots:{default:m}}):m()}};var c=n(3379),u=n.n(c),d=n(7795),p=n.n(d),m=n(569),h=n.n(m),v=n(3565),A=n.n(v),f=n(9216),g=n.n(f),b=n(4589),y=n.n(b),C=n(1898),w={};w.styleTagTransform=y(),w.setAttributes=A(),w.insert=h().bind(null,"head"),w.domAPI=p(),w.insertStyleElement=g(),u()(C.Z,w),C.Z&&C.Z.locals&&C.Z.locals;var k=n(1900),S=n(2102),x=n.n(S),_=(0,k.Z)(l,void 0,void 0,!1,null,"2e49be1e",null);"function"==typeof x()&&x()(_);const j=_.exports},5825:(e,t,n)=>{"use strict";n.d(t,{default:()=>P});var i=n(9454),r=n(4505),a=n(1206);function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function l(){l=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},r=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function d(e,t,n,i){var r=t&&t.prototype instanceof h?t:h,a=Object.create(r.prototype),s=new j(i||[]);return o(a,"_invoke",{value:k(e,n,s)}),a}function p(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=d;var m={};function h(){}function v(){}function A(){}var f={};u(f,r,(function(){return this}));var g=Object.getPrototypeOf,b=g&&g(g(N([])));b&&b!==t&&n.call(b,r)&&(f=b);var y=A.prototype=h.prototype=Object.create(f);function C(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function w(e,t){function i(o,r,a,l){var c=p(e[o],e,r);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==s(d)&&n.call(d,"__await")?t.resolve(d.__await).then((function(e){i("next",e,a,l)}),(function(e){i("throw",e,a,l)})):t.resolve(d).then((function(e){u.value=e,a(u)}),(function(e){return i("throw",e,a,l)}))}l(c.arg)}var r;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){i(e,n,t,o)}))}return r=r?r.then(o,o):o()}})}function k(e,t,n){var o="suspendedStart";return function(i,r){if("executing"===o)throw new Error("Generator is already running");if("completed"===o){if("throw"===i)throw r;return{value:void 0,done:!0}}for(n.method=i,n.arg=r;;){var a=n.delegate;if(a){var s=S(a,n);if(s){if(s===m)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===o)throw o="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o="executing";var l=p(e,t,n);if("normal"===l.type){if(o=n.done?"completed":"suspendedYield",l.arg===m)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o="completed",n.method="throw",n.arg=l.arg)}}}function S(e,t){var n=t.method,o=e.iterator[n];if(void 0===o)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,S(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var i=p(o,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,m;var r=i.arg;return r?r.done?(t[e.resultName]=r.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,m):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,m)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function j(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function N(e){if(e){var t=e[r];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function t(){for(;++o=0;--i){var r=this.tryEntries[i],a=r.completion;if("root"===r.tryLoc)return o("end");if(r.tryLoc<=this.prev){var s=n.call(r,"catchLoc"),l=n.call(r,"finallyLoc");if(s&&l){if(this.prev=0;--o){var i=this.tryEntries[o];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),_(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var i=o.arg;_(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:N(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),m}},e}function c(e,t,n,o,i,r,a){try{var s=e[r](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(o,i)}const u={name:"NcPopover",components:{Dropdown:i.Dropdown},inheritAttrs:!1,props:{popoverBaseClass:{type:String,default:""},focusTrap:{type:Boolean,default:!0},setReturnFocus:{default:void 0,type:[HTMLElement,SVGElement,String,Boolean]}},emits:["after-show","after-hide"],beforeDestroy:function(){this.clearFocusTrap()},methods:{useFocusTrap:function(){var e,t=this;return(e=l().mark((function e(){var n,o,i;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.$nextTick();case 2:if(t.focusTrap){e.next=4;break}return e.abrupt("return");case 4:if(i=null===(n=t.$refs.popover)||void 0===n||null===(o=n.$refs.popperContent)||void 0===o?void 0:o.$el){e.next=7;break}return e.abrupt("return");case 7:t.$focusTrap=(0,r.createFocusTrap)(i,{escapeDeactivates:!1,allowOutsideClick:!0,setReturnFocus:t.setReturnFocus,trapStack:(0,a.L)()}),t.$focusTrap.activate();case 9:case"end":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(o,i){var r=e.apply(t,n);function a(e){c(r,o,i,a,s,"next",e)}function s(e){c(r,o,i,a,s,"throw",e)}a(void 0)}))})()},clearFocusTrap:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{var t;null===(t=this.$focusTrap)||void 0===t||t.deactivate(e),this.$focusTrap=null}catch(e){o.warn(e)}},afterShow:function(){var e=this;this.$nextTick((function(){e.$emit("after-show"),e.useFocusTrap()}))},afterHide:function(){this.$emit("after-hide"),this.clearFocusTrap()}}},d=u;var p=n(3379),m=n.n(p),h=n(7795),v=n.n(h),A=n(569),f=n.n(A),g=n(3565),b=n.n(g),y=n(9216),C=n.n(y),w=n(4589),k=n.n(w),S=n(4401),x={};x.styleTagTransform=k(),x.setAttributes=b(),x.insert=f().bind(null,"head"),x.domAPI=v(),x.insertStyleElement=C(),m()(S.Z,x),S.Z&&S.Z.locals&&S.Z.locals;var _=n(1900),j=n(2405),N=n.n(j),z=(0,_.Z)(d,(function(){var e=this;return(0,e._self._c)("Dropdown",e._g(e._b({ref:"popover",attrs:{distance:10,"arrow-padding":10,"no-auto-focus":!0,"popper-class":e.popoverBaseClass},on:{"apply-show":e.afterShow,"apply-hide":e.afterHide},scopedSlots:e._u([{key:"popper",fn:function(){return[e._t("default")]},proxy:!0}],null,!0)},"Dropdown",e.$attrs,!1),e.$listeners),[e._t("trigger")],2)}),[],!1,null,null,null);"function"==typeof N()&&N()(z);const P=z.exports},932:(e,t,n)=>{"use strict";n.d(t,{t:()=>r});var o=(0,n(7931).getGettextBuilder)().detectLocale();[{locale:"ar",translations:{"{tag} (invisible)":"{tag} (غير مرئي)","{tag} (restricted)":"{tag} (مقيد)",Actions:"الإجراءات",Activities:"النشاطات","Animals & Nature":"الحيوانات والطبيعة","Anything shared with the same group of people will show up here":"أي مادة تمت مشاركتها مع نفس المجموعة من الأشخاص سيتم عرضها هنا","Avatar of {displayName}":"صورة {displayName} الرمزية","Avatar of {displayName}, {status}":"صورة {displayName} الرمزية، {status}","Cancel changes":"إلغاء التغييرات","Change title":"تغيير العنوان",Choose:"إختيار","Clear text":"مسح النص",Close:"أغلق","Close modal":"قفل الشرط","Close navigation":"إغلاق المتصفح","Close sidebar":"قفل الشريط الجانبي","Confirm changes":"تأكيد التغييرات",Custom:"مخصص","Edit item":"تعديل عنصر","Error getting related resources":"خطأ في تحصيل مصادر ذات صلة","External documentation for {title}":"الوثائق الخارجية لـ{title}",Favorite:"مفضلة",Flags:"الأعلام","Food & Drink":"الطعام والشراب","Frequently used":"كثيرا ما تستخدم",Global:"عالمي","Go back to the list":"العودة إلى القائمة","Hide password":"إخفاء كلمة السر","Message limit of {count} characters reached":"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف","More items …":"عناصر أخرى ...",Next:"التالي","No emoji found":"لم يتم العثور على أي رمز تعبيري","No results":"ليس هناك أية نتيجة",Objects:"الأشياء",Open:"فتح",'Open link to "{resourceTitle}"':'فتح رابط إلى "{resourceTitle}"',"Open navigation":"فتح المتصفح","Password is secure":"كلمة السر مُؤمّنة","Pause slideshow":"إيقاف العرض مؤقتًا","People & Body":"الناس والجسم","Pick an emoji":"اختر رمزًا تعبيريًا","Please select a time zone:":"الرجاء تحديد المنطقة الزمنية:",Previous:"السابق","Related resources":"مصادر ذات صلة",Search:"بحث","Search results":"نتائج البحث","Select a tag":"اختر علامة",Settings:"الإعدادات","Settings navigation":"إعدادات المتصفح","Show password":"أعرض كلمة السر","Smileys & Emotion":"الوجوه و الرموز التعبيرية","Start slideshow":"بدء العرض",Submit:"إرسال",Symbols:"الرموز","Travel & Places":"السفر والأماكن","Type to search time zone":"اكتب للبحث عن منطقة زمنية","Unable to search the group":"تعذر البحث في المجموعة","Undo changes":"التراجع عن التغييرات","Write message, @ to mention someone, : for emoji autocompletion …":"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ..."}},{locale:"br",translations:{"{tag} (invisible)":"{tag} (diwelus)","{tag} (restricted)":"{tag} (bevennet)",Actions:"Oberioù",Activities:"Oberiantizoù","Animals & Nature":"Loened & Natur",Choose:"Dibab",Close:"Serriñ",Custom:"Personelañ",Flags:"Bannieloù","Food & Drink":"Boued & Evajoù","Frequently used":"Implijet alies",Next:"Da heul","No emoji found":"Emoji ebet kavet","No results":"Disoc'h ebet",Objects:"Traoù","Pause slideshow":"Arsav an diaporama","People & Body":"Tud & Korf","Pick an emoji":"Choaz un emoji",Previous:"A-raok",Search:"Klask","Search results":"Disoc'hoù an enklask","Select a tag":"Choaz ur c'hlav",Settings:"Arventennoù","Smileys & Emotion":"Smileyioù & Fromoù","Start slideshow":"Kregiñ an diaporama",Symbols:"Arouezioù","Travel & Places":"Beaj & Lec'hioù","Unable to search the group":"Dibosupl eo klask ar strollad"}},{locale:"ca",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringit)",Actions:"Accions",Activities:"Activitats","Animals & Nature":"Animals i natura","Anything shared with the same group of people will show up here":"Qualsevol cosa compartida amb el mateix grup de persones es mostrarà aquí","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancel·la els canvis","Change title":"Canviar títol",Choose:"Tria","Clear text":"Netejar text",Close:"Tanca","Close modal":"Tancar el mode","Close navigation":"Tanca la navegació","Close sidebar":"Tancar la barra lateral","Confirm changes":"Confirmeu els canvis",Custom:"Personalitzat","Edit item":"Edita l'element","Error getting related resources":"Error obtenint els recursos relacionats","Error parsing svg":"Error en l'anàlisi del svg","External documentation for {title}":"Documentació externa per a {title}",Favorite:"Preferit",Flags:"Marques","Food & Drink":"Menjar i begudes","Frequently used":"Utilitzats recentment",Global:"Global","Go back to the list":"Torna a la llista","Hide password":"Amagar contrasenya","Message limit of {count} characters reached":"S'ha arribat al límit de {count} caràcters per missatge","More items …":"Més artícles...",Next:"Següent","No emoji found":"No s'ha trobat cap emoji","No results":"Sense resultats",Objects:"Objectes",Open:"Obrir",'Open link to "{resourceTitle}"':'Obrir enllaç a "{resourceTitle}"',"Open navigation":"Obre la navegació","Password is secure":"Contrasenya segura
","Pause slideshow":"Atura la presentació","People & Body":"Persones i cos","Pick an emoji":"Trieu un emoji","Please select a time zone:":"Seleccioneu una zona horària:",Previous:"Anterior","Related resources":"Recursos relacionats",Search:"Cerca","Search results":"Resultats de cerca","Select a tag":"Seleccioneu una etiqueta",Settings:"Paràmetres","Settings navigation":"Navegació d'opcions","Show password":"Mostrar contrasenya","Smileys & Emotion":"Cares i emocions","Start slideshow":"Inicia la presentació",Submit:"Envia",Symbols:"Símbols","Travel & Places":"Viatges i llocs","Type to search time zone":"Escriviu per cercar la zona horària","Unable to search the group":"No es pot cercar el grup","Undo changes":"Desfés els canvis",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escriu missatge, fes servir "@" per esmentar algú, fes servir ":" per autocompletar emojis...'}},{locale:"cs_CZ",translations:{"{tag} (invisible)":"{tag} (neviditelné)","{tag} (restricted)":"{tag} (omezené)",Actions:"Akce",Activities:"Aktivity","Animals & Nature":"Zvířata a příroda","Anything shared with the same group of people will show up here":"Cokoli nasdíleného stejné skupině lidí se zobrazí zde","Avatar of {displayName}":"Zástupný obrázek uživatele {displayName}","Avatar of {displayName}, {status}":"Zástupný obrázek uživatele {displayName}, {status}","Cancel changes":"Zrušit změny","Change title":"Změnit nadpis",Choose:"Zvolit","Clear text":"Čitelný text",Close:"Zavřít","Close modal":"Zavřít dialogové okno","Close navigation":"Zavřít navigaci","Close sidebar":"Zavřít postranní panel","Confirm changes":"Potvrdit změny",Custom:"Uživatelsky určené","Edit item":"Upravit položku","Error getting related resources":"Chyba při získávání souvisejících prostředků","Error parsing svg":"Chyba při zpracovávání svg","External documentation for {title}":"Externí dokumentace k {title}",Favorite:"Oblíbené",Flags:"Příznaky","Food & Drink":"Jídlo a pití","Frequently used":"Často používané",Global:"Globální","Go back to the list":"Jít zpět na seznam","Hide password":"Skrýt heslo","Message limit of {count} characters reached":"Dosaženo limitu počtu ({count}) znaků zprávy","More items …":"Další položky…",Next:"Následující","No emoji found":"Nenalezeno žádné emoji","No results":"Nic nenalezeno",Objects:"Objekty",Open:"Otevřít",'Open link to "{resourceTitle}"':"Otevřít odkaz na „{resourceTitle}“","Open navigation":"Otevřít navigaci","Password is secure":"Heslo je bezpečné","Pause slideshow":"Pozastavit prezentaci","People & Body":"Lidé a tělo","Pick an emoji":"Vybrat emoji","Please select a time zone:":"Vyberte časovou zónu:",Previous:"Předchozí","Related resources":"Související prostředky",Search:"Hledat","Search results":"Výsledky hledání","Select a tag":"Vybrat štítek",Settings:"Nastavení","Settings navigation":"Pohyb po nastavení","Show password":"Zobrazit heslo","Smileys & Emotion":"Úsměvy a emoce","Start slideshow":"Spustit prezentaci",Submit:"Odeslat",Symbols:"Symboly","Travel & Places":"Cestování a místa","Type to search time zone":"Psaním vyhledejte časovou zónu","Unable to search the group":"Nedaří se hledat skupinu","Undo changes":"Vzít změny zpět",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem „@“ (zavináč); automatické doplňování emotikonů zahájíte napsáním „:“ (dvojtečky)…"}},{locale:"da",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (begrænset)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr & Natur","Anything shared with the same group of people will show up here":"Alt der deles med samme gruppe af personer vil vises her","Avatar of {displayName}":"Avatar af {displayName}","Avatar of {displayName}, {status}":"Avatar af {displayName}, {status}","Cancel changes":"Annuller ændringer","Change title":"Ret titel",Choose:"Vælg","Clear text":"Ryd tekst",Close:"Luk","Close modal":"Luk vindue","Close navigation":"Luk navigation","Close sidebar":"Luk sidepanel","Confirm changes":"Bekræft ændringer",Custom:"Brugerdefineret","Edit item":"Rediger emne","Error getting related resources":"Kunne ikke hente tilknyttede data","Error parsing svg":"Fejl ved analysering af svg","External documentation for {title}":"Ekstern dokumentation for {title}",Favorite:"Favorit",Flags:"Flag","Food & Drink":"Mad & Drikke","Frequently used":"Ofte brugt",Global:"Global","Go back to the list":"Tilbage til listen","Hide password":"Skjul kodeord","Message limit of {count} characters reached":"Begrænsning på {count} tegn er nået","More items …":"Mere ...",Next:"Videre","No emoji found":"Ingen emoji fundet","No results":"Ingen resultater",Objects:"Objekter",Open:"Åbn",'Open link to "{resourceTitle}"':'Åbn link til "{resourceTitle}"',"Open navigation":"Åbn navigation","Password is secure":"Kodeordet er sikkert","Pause slideshow":"Suspender fremvisning","People & Body":"Mennesker & Menneskekroppen","Pick an emoji":"Vælg en emoji","Please select a time zone:":"Vælg venligst en tidszone:",Previous:"Forrige","Related resources":"Relaterede emner",Search:"Søg","Search results":"Søgeresultater","Select a tag":"Vælg et mærke",Settings:"Indstillinger","Settings navigation":"Naviger i indstillinger","Show password":"Vis kodeord","Smileys & Emotion":"Smileys & Emotion","Start slideshow":"Start fremvisning",Submit:"Send",Symbols:"Symboler","Travel & Places":"Rejser & Rejsemål","Type to search time zone":"Indtast for at søge efter tidszone","Unable to search the group":"Kan ikke søge på denne gruppe","Undo changes":"Fortryd ændringer",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv besked, brug "@" for at nævne nogen, brug ":" til emoji-autofuldførelse ...'}},{locale:"de",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Anything shared with the same group of people will show up here":"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt","Avatar of {displayName}":"Avatar von {displayName}","Avatar of {displayName}, {status}":"Avatar von {displayName}, {status}","Cancel changes":"Änderungen verwerfen","Change title":"Titel ändern",Choose:"Auswählen","Clear text":"Klartext",Close:"Schließen","Close modal":"Modal schließen","Close navigation":"Navigation schließen","Close sidebar":"Seitenleiste schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","Edit item":"Objekt bearbeiten","Error getting related resources":"Fehler beim Abrufen verwandter Ressourcen","Error parsing svg":"Fehler beim Einlesen der SVG","External documentation for {title}":"Externe Dokumentation für {title}",Favorite:"Favorit",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Go back to the list":"Zurück zur Liste","Hide password":"Passwort verbergen","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht","More items …":"Weitere Elemente …",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Gegenstände",Open:"Öffnen",'Open link to "{resourceTitle}"':'Link zu "{resourceTitle}" öffnen',"Open navigation":"Navigation öffnen","Password is secure":"Passwort ist sicher","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte wählen Sie eine Zeitzone:",Previous:"Vorherige","Related resources":"Verwandte Ressourcen",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Show password":"Passwort anzeigen","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um Zeitzone zu suchen","Unable to search the group":"Die Gruppe konnte nicht durchsucht werden","Undo changes":"Änderungen rückgängig machen",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Nachricht schreiben, "@" um jemanden zu erwähnen, ":" für die automatische Vervollständigung von Emojis …'}},{locale:"de_DE",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Anything shared with the same group of people will show up here":"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt","Avatar of {displayName}":"Avatar von {displayName}","Avatar of {displayName}, {status}":"Avatar von {displayName}, {status}","Cancel changes":"Änderungen verwerfen","Change title":"Titel ändern",Choose:"Auswählen","Clear text":"Klartext",Close:"Schließen","Close modal":"Modal schließen","Close navigation":"Navigation schließen","Close sidebar":"Seitenleiste schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","Edit item":"Objekt bearbeiten","Error getting related resources":"Fehler beim Abrufen verwandter Ressourcen","Error parsing svg":"Fehler beim Einlesen der SVG","External documentation for {title}":"Externe Dokumentation für {title}",Favorite:"Favorit",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Go back to the list":"Zurück zur Liste","Hide password":"Passwort verbergen","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht","More items …":"Weitere Elemente …",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Objekte",Open:"Öffnen",'Open link to "{resourceTitle}"':'Link zu "{resourceTitle}" öffnen',"Open navigation":"Navigation öffnen","Password is secure":"Passwort ist sicher","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte eine Zeitzone auswählen:",Previous:"Vorherige","Related resources":"Verwandte Ressourcen",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Show password":"Passwort anzeigen","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um eine Zeitzone zu suchen","Unable to search the group":"Die Gruppe kann nicht durchsucht werden","Undo changes":"Änderungen rückgängig machen",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Nachricht schreiben, "@" um jemanden zu erwähnen, ":" für die automatische Vervollständigung von Emojis …'}},{locale:"el",translations:{"{tag} (invisible)":"{tag} (αόρατο)","{tag} (restricted)":"{tag} (περιορισμένο)",Actions:"Ενέργειες",Activities:"Δραστηριότητες","Animals & Nature":"Ζώα & Φύση","Anything shared with the same group of people will show up here":"Οτιδήποτε μοιράζεται με την ίδια ομάδα ατόμων θα εμφανίζεται εδώ","Avatar of {displayName}":"Άβαταρ του {displayName}","Avatar of {displayName}, {status}":"Άβαταρ του {displayName}, {status}","Cancel changes":"Ακύρωση αλλαγών","Change title":"Αλλαγή τίτλου",Choose:"Επιλογή","Clear text":"Εκκαθάριση κειμένου",Close:"Κλείσιμο","Close modal":"Βοηθητικό κλείσιμο","Close navigation":"Κλείσιμο πλοήγησης","Close sidebar":"Κλείσιμο πλευρικής μπάρας","Confirm changes":"Επιβεβαίωση αλλαγών",Custom:"Προσαρμογή","Edit item":"Επεξεργασία","Error getting related resources":"Σφάλμα λήψης σχετικών πόρων","Error parsing svg":"Σφάλμα ανάλυσης svg","External documentation for {title}":"Εξωτερική τεκμηρίωση για {title}",Favorite:"Αγαπημένα",Flags:"Σημαίες","Food & Drink":"Φαγητό & Ποτό","Frequently used":"Συχνά χρησιμοποιούμενο",Global:"Καθολικό","Go back to the list":"Επιστροφή στην αρχική λίστα ","Hide password":"Απόκρυψη κωδικού πρόσβασης","Message limit of {count} characters reached":"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος","More items …":"Περισσότερα στοιχεία …",Next:"Επόμενο","No emoji found":"Δεν βρέθηκε emoji","No results":"Κανένα αποτέλεσμα",Objects:"Αντικείμενα",Open:"Άνοιγμα",'Open link to "{resourceTitle}"':'Άνοιγμα συνδέσμου στο "{resourceTitle}"',"Open navigation":"Άνοιγμα πλοήγησης","Password is secure":"Ο κωδικός πρόσβασης είναι ασφαλής","Pause slideshow":"Παύση προβολής διαφανειών","People & Body":"Άνθρωποι & Σώμα","Pick an emoji":"Επιλέξτε ένα emoji","Please select a time zone:":"Παρακαλούμε επιλέξτε μια ζώνη ώρας:",Previous:"Προηγούμενο","Related resources":"Σχετικοί πόροι",Search:"Αναζήτηση","Search results":"Αποτελέσματα αναζήτησης","Select a tag":"Επιλογή ετικέτας",Settings:"Ρυθμίσεις","Settings navigation":"Πλοήγηση ρυθμίσεων","Show password":"Εμφάνιση κωδικού πρόσβασης","Smileys & Emotion":"Φατσούλες & Συναίσθημα","Start slideshow":"Έναρξη προβολής διαφανειών",Submit:"Υποβολή",Symbols:"Σύμβολα","Travel & Places":"Ταξίδια & Τοποθεσίες","Type to search time zone":"Πληκτρολογήστε για αναζήτηση ζώνης ώρας","Unable to search the group":"Δεν είναι δυνατή η αναζήτηση της ομάδας","Undo changes":"Αναίρεση Αλλαγών",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Γράψτε μήνυμα, χρησιμοποιείστε "@" για να αναφέρετε κάποιον, χρησιμοποιείστε ":" για αυτόματη συμπλήρωση emoji …'}},{locale:"en_GB",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restricted)",Actions:"Actions",Activities:"Activities","Animals & Nature":"Animals & Nature","Anything shared with the same group of people will show up here":"Anything shared with the same group of people will show up here","Avatar of {displayName}":"Avatar of {displayName}","Avatar of {displayName}, {status}":"Avatar of {displayName}, {status}","Cancel changes":"Cancel changes","Change title":"Change title",Choose:"Choose","Clear text":"Clear text",Close:"Close","Close modal":"Close modal","Close navigation":"Close navigation","Close sidebar":"Close sidebar","Confirm changes":"Confirm changes",Custom:"Custom","Edit item":"Edit item","Error getting related resources":"Error getting related resources","Error parsing svg":"Error parsing svg","External documentation for {title}":"External documentation for {title}",Favorite:"Favourite",Flags:"Flags","Food & Drink":"Food & Drink","Frequently used":"Frequently used",Global:"Global","Go back to the list":"Go back to the list","Hide password":"Hide password","Message limit of {count} characters reached":"Message limit of {count} characters reached","More items …":"More items …",Next:"Next","No emoji found":"No emoji found","No results":"No results",Objects:"Objects",Open:"Open",'Open link to "{resourceTitle}"':'Open link to "{resourceTitle}"',"Open navigation":"Open navigation","Password is secure":"Password is secure","Pause slideshow":"Pause slideshow","People & Body":"People & Body","Pick an emoji":"Pick an emoji","Please select a time zone:":"Please select a time zone:",Previous:"Previous","Related resources":"Related resources",Search:"Search","Search results":"Search results","Select a tag":"Select a tag",Settings:"Settings","Settings navigation":"Settings navigation","Show password":"Show password","Smileys & Emotion":"Smileys & Emotion","Start slideshow":"Start slideshow",Submit:"Submit",Symbols:"Symbols","Travel & Places":"Travel & Places","Type to search time zone":"Type to search time zone","Unable to search the group":"Unable to search the group","Undo changes":"Undo changes",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Write message, use "@" to mention someone, use ":" for emoji autocompletion …'}},{locale:"eo",translations:{"{tag} (invisible)":"{tag} (kaŝita)","{tag} (restricted)":"{tag} (limigita)",Actions:"Agoj",Activities:"Aktiveco","Animals & Nature":"Bestoj & Naturo",Choose:"Elektu",Close:"Fermu",Custom:"Propra",Flags:"Flagoj","Food & Drink":"Manĝaĵo & Trinkaĵo","Frequently used":"Ofte uzataj","Message limit of {count} characters reached":"La limo je {count} da literoj atingita",Next:"Sekva","No emoji found":"La emoĝio forestas","No results":"La rezulto forestas",Objects:"Objektoj","Pause slideshow":"Payzi bildprezenton","People & Body":"Homoj & Korpo","Pick an emoji":"Elekti emoĝion ",Previous:"Antaŭa",Search:"Serĉi","Search results":"Serĉrezultoj","Select a tag":"Elektu etikedon",Settings:"Agordo","Settings navigation":"Agorda navigado","Smileys & Emotion":"Ridoj kaj Emocioj","Start slideshow":"Komenci bildprezenton",Symbols:"Signoj","Travel & Places":"Vojaĵoj & Lokoj","Unable to search the group":"Ne eblas serĉi en la grupo","Write message, @ to mention someone …":"Mesaĝi, uzu @ por mencii iun ..."}},{locale:"es",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringido)",Actions:"Acciones",Activities:"Actividades","Animals & Nature":"Animales y naturaleza","Anything shared with the same group of people will show up here":"Cualquier cosa que sea compartida con el mismo grupo de personas se mostrará aquí","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancelar cambios","Change title":"Cambiar título",Choose:"Elegir","Clear text":"Limpiar texto",Close:"Cerrar","Close modal":"Cerrar modal","Close navigation":"Cerrar navegación","Close sidebar":"Cerrar barra lateral","Confirm changes":"Confirmar cambios",Custom:"Personalizado","Edit item":"Editar elemento","Error getting related resources":"Se encontró un error al obtener los recursos relacionados","Error parsing svg":"Error procesando svg","External documentation for {title}":"Documentacion externa de {title}",Favorite:"Favorito",Flags:"Banderas","Food & Drink":"Comida y bebida","Frequently used":"Usado con frecuenca",Global:"Global","Go back to the list":"Volver a la lista","Hide password":"Ocultar contraseña","Message limit of {count} characters reached":"El mensaje ha alcanzado el límite de {count} caracteres","More items …":"Más ítems...",Next:"Siguiente","No emoji found":"No hay ningún emoji","No results":" Ningún resultado",Objects:"Objetos",Open:"Abrir",'Open link to "{resourceTitle}"':'Abrir enlace a "{resourceTitle}"',"Open navigation":"Abrir navegación","Password is secure":"La contraseña es segura","Pause slideshow":"Pausar la presentación ","People & Body":"Personas y cuerpos","Pick an emoji":"Elegir un emoji","Please select a time zone:":"Por favor elige un huso de horario:",Previous:"Anterior","Related resources":"Recursos relacionados",Search:"Buscar","Search results":"Resultados de la búsqueda","Select a tag":"Seleccione una etiqueta",Settings:"Ajustes","Settings navigation":"Navegación por ajustes","Show password":"Mostrar contraseña","Smileys & Emotion":"Smileys y emoticonos","Start slideshow":"Iniciar la presentación",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viajes y lugares","Type to search time zone":"Escribe para buscar un huso de horario","Unable to search the group":"No es posible buscar en el grupo","Undo changes":"Deshacer cambios",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escribir mensaje, utilice "@" para mencionar a alguien, utilice ":" para autocompletado de emojis ...'}},{locale:"eu",translations:{"{tag} (invisible)":"{tag} (ikusezina)","{tag} (restricted)":"{tag} (mugatua)",Actions:"Ekintzak",Activities:"Jarduerak","Animals & Nature":"Animaliak eta Natura","Anything shared with the same group of people will show up here":"Pertsona-talde berarekin partekatutako edozer agertuko da hemen","Avatar of {displayName}":"{displayName}-(e)n irudia","Avatar of {displayName}, {status}":"{displayName} -(e)n irudia, {status}","Cancel changes":"Ezeztatu aldaketak","Change title":"Aldatu titulua",Choose:"Aukeratu","Clear text":"Garbitu testua",Close:"Itxi","Close modal":"Itxi modala","Close navigation":"Itxi nabigazioa","Close sidebar":"Itxi albo-barra","Confirm changes":"Baieztatu aldaketak",Custom:"Pertsonalizatua","Edit item":"Editatu elementua","Error getting related resources":"Errorea erlazionatutako baliabideak lortzerakoan","Error parsing svg":"Errore bat gertatu da svg-a analizatzean","External documentation for {title}":"Kanpoko dokumentazioa {title}(r)entzat",Favorite:"Gogokoa",Flags:"Banderak","Food & Drink":"Janaria eta edariak","Frequently used":"Askotan erabilia",Global:"Globala","Go back to the list":"Bueltatu zerrendara","Hide password":"Ezkutatu pasahitza","Message limit of {count} characters reached":"Mezuaren {count} karaketere-limitera heldu zara","More items …":"Elementu gehiago …",Next:"Hurrengoa","No emoji found":"Ez da emojirik aurkitu","No results":"Emaitzarik ez",Objects:"Objektuak",Open:"Ireki",'Open link to "{resourceTitle}"':'Ireki esteka: "{resourceTitle}"',"Open navigation":"Ireki nabigazioa","Password is secure":"Pasahitza segurua da","Pause slideshow":"Pausatu diaporama","People & Body":"Jendea eta gorputza","Pick an emoji":"Hautatu emoji bat","Please select a time zone:":"Mesedez hautatu ordu-zona bat:",Previous:"Aurrekoa","Related resources":"Erlazionatutako baliabideak",Search:"Bilatu","Search results":"Bilaketa emaitzak","Select a tag":"Hautatu etiketa bat",Settings:"Ezarpenak","Settings navigation":"Nabigazio ezarpenak","Show password":"Erakutsi pasahitza","Smileys & Emotion":"Smileyak eta emozioa","Start slideshow":"Hasi diaporama",Submit:"Bidali",Symbols:"Sinboloak","Travel & Places":"Bidaiak eta lekuak","Type to search time zone":"Idatzi ordu-zona bat bilatzeko","Unable to search the group":"Ezin izan da taldea bilatu","Undo changes":"Aldaketak desegin",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Idatzi mezua, erabili "@" norbait aipatzeko, erabili ":" emojiak automatikoki osatzeko...'}},{locale:"fi_FI",translations:{"{tag} (invisible)":"{tag} (näkymätön)","{tag} (restricted)":"{tag} (rajoitettu)",Actions:"Toiminnot",Activities:"Aktiviteetit","Animals & Nature":"Eläimet & luonto","Avatar of {displayName}":"Käyttäjän {displayName} avatar","Avatar of {displayName}, {status}":"Käyttäjän {displayName} avatar, {status}","Cancel changes":"Peruuta muutokset",Choose:"Valitse",Close:"Sulje","Close navigation":"Sulje navigaatio","Confirm changes":"Vahvista muutokset",Custom:"Mukautettu","Edit item":"Muokkaa kohdetta","External documentation for {title}":"Ulkoinen dokumentaatio kohteelle {title}",Flags:"Liput","Food & Drink":"Ruoka & juoma","Frequently used":"Usein käytetyt",Global:"Yleinen","Go back to the list":"Siirry takaisin listaan","Message limit of {count} characters reached":"Viestin merkken enimmäisimäärä {count} täynnä ",Next:"Seuraava","No emoji found":"Emojia ei löytynyt","No results":"Ei tuloksia",Objects:"Esineet & asiat","Open navigation":"Avaa navigaatio","Pause slideshow":"Keskeytä diaesitys","People & Body":"Ihmiset & keho","Pick an emoji":"Valitse emoji","Please select a time zone:":"Valitse aikavyöhyke:",Previous:"Edellinen",Search:"Etsi","Search results":"Hakutulokset","Select a tag":"Valitse tagi",Settings:"Asetukset","Settings navigation":"Asetusnavigaatio","Smileys & Emotion":"Hymiöt & tunteet","Start slideshow":"Aloita diaesitys",Submit:"Lähetä",Symbols:"Symbolit","Travel & Places":"Matkustus & kohteet","Type to search time zone":"Kirjoita etsiäksesi aikavyöhyke","Unable to search the group":"Ryhmää ei voi hakea","Undo changes":"Kumoa muutokset","Write message, @ to mention someone, : for emoji autocompletion …":"Kirjoita viesti, @ mainitaksesi käyttäjän, : emojin automaattitäydennykseen…"}},{locale:"fr",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restreint)",Actions:"Actions",Activities:"Activités","Animals & Nature":"Animaux & Nature","Anything shared with the same group of people will show up here":"Tout ce qui est partagé avec le même groupe de personnes apparaîtra ici","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Annuler les modifications","Change title":"Modifier le titre",Choose:"Choisir","Clear text":"Effacer le texte",Close:"Fermer","Close modal":"Fermer la fenêtre","Close navigation":"Fermer la navigation","Close sidebar":"Fermer la barre latérale","Confirm changes":"Confirmer les modifications",Custom:"Personnalisé","Edit item":"Éditer l'élément","Error getting related resources":"Erreur à la récupération des ressources liées","Error parsing svg":"Erreur d'analyse SVG","External documentation for {title}":"Documentation externe pour {title}",Favorite:"Favori",Flags:"Drapeaux","Food & Drink":"Nourriture & Boissons","Frequently used":"Utilisés fréquemment",Global:"Global","Go back to the list":"Retourner à la liste","Hide password":"Cacher le mot de passe","Message limit of {count} characters reached":"Limite de messages de {count} caractères atteinte","More items …":"Plus d'éléments...",Next:"Suivant","No emoji found":"Pas d’émoji trouvé","No results":"Aucun résultat",Objects:"Objets",Open:"Ouvrir",'Open link to "{resourceTitle}"':'Ouvrir le lien vers "{resourceTitle}"',"Open navigation":"Ouvrir la navigation","Password is secure":"Le mot de passe est sécurisé","Pause slideshow":"Mettre le diaporama en pause","People & Body":"Personnes & Corps","Pick an emoji":"Choisissez un émoji","Please select a time zone:":"Sélectionnez un fuseau horaire : ",Previous:"Précédent","Related resources":"Ressources liées",Search:"Chercher","Search results":"Résultats de recherche","Select a tag":"Sélectionnez une balise",Settings:"Paramètres","Settings navigation":"Navigation dans les paramètres","Show password":"Afficher le mot de passe","Smileys & Emotion":"Smileys & Émotions","Start slideshow":"Démarrer le diaporama",Submit:"Valider",Symbols:"Symboles","Travel & Places":"Voyage & Lieux","Type to search time zone":"Saisissez les premiers lettres pour rechercher un fuseau horaire","Unable to search the group":"Impossible de chercher le groupe","Undo changes":"Annuler les changements",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Écrire un message, utiliser "@" pour mentionner une personne, ":" pour l\'autocomplétion des émojis...'}},{locale:"gl",translations:{"{tag} (invisible)":"{tag} (invisíbel)","{tag} (restricted)":"{tag} (restrinxido)",Actions:"Accións",Activities:"Actividades","Animals & Nature":"Animais e natureza","Cancel changes":"Cancelar os cambios",Choose:"Escoller",Close:"Pechar","Confirm changes":"Confirma os cambios",Custom:"Personalizado","External documentation for {title}":"Documentación externa para {title}",Flags:"Bandeiras","Food & Drink":"Comida e bebida","Frequently used":"Usado con frecuencia","Message limit of {count} characters reached":"Acadouse o límite de {count} caracteres por mensaxe",Next:"Seguinte","No emoji found":"Non se atopou ningún «emoji»","No results":"Sen resultados",Objects:"Obxectos","Pause slideshow":"Pausar o diaporama","People & Body":"Persoas e corpo","Pick an emoji":"Escolla un «emoji»",Previous:"Anterir",Search:"Buscar","Search results":"Resultados da busca","Select a tag":"Seleccione unha etiqueta",Settings:"Axustes","Settings navigation":"Navegación polos axustes","Smileys & Emotion":"Sorrisos e emocións","Start slideshow":"Iniciar o diaporama",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viaxes e lugares","Unable to search the group":"Non foi posíbel buscar o grupo","Write message, @ to mention someone …":"Escriba a mensaxe, @ para mencionar a alguén…"}},{locale:"he",translations:{"{tag} (invisible)":"{tag} (נסתר)","{tag} (restricted)":"{tag} (מוגבל)",Actions:"פעולות",Activities:"פעילויות","Animals & Nature":"חיות וטבע",Choose:"בחירה",Close:"סגירה",Custom:"בהתאמה אישית",Flags:"דגלים","Food & Drink":"מזון ומשקאות","Frequently used":"בשימוש תדיר",Next:"הבא","No emoji found":"לא נמצא אמוג׳י","No results":"אין תוצאות",Objects:"חפצים","Pause slideshow":"השהיית מצגת","People & Body":"אנשים וגוף","Pick an emoji":"נא לבחור אמוג׳י",Previous:"הקודם",Search:"חיפוש","Search results":"תוצאות חיפוש","Select a tag":"בחירת תגית",Settings:"הגדרות","Smileys & Emotion":"חייכנים ורגשונים","Start slideshow":"התחלת המצגת",Symbols:"סמלים","Travel & Places":"טיולים ומקומות","Unable to search the group":"לא ניתן לחפש בקבוצה"}},{locale:"hu_HU",translations:{"{tag} (invisible)":"{tag} (láthatatlan)","{tag} (restricted)":"{tag} (korlátozott)",Actions:"Műveletek",Activities:"Tevékenységek","Animals & Nature":"Állatok és természet","Anything shared with the same group of people will show up here":"Minden, amit ugyanazzal a csoporttal oszt meg, itt fog megjelenni","Avatar of {displayName}":"{displayName} profilképe","Avatar of {displayName}, {status}":"{displayName} profilképe, {status}","Cancel changes":"Változtatások elvetése","Change title":"Cím megváltoztatása",Choose:"Válassszon","Clear text":"Szöveg törlése",Close:"Bezárás","Close modal":"Ablak bezárása","Close navigation":"Navigáció bezárása","Close sidebar":"Oldalsáv bezárása","Confirm changes":"Változtatások megerősítése",Custom:"Egyéni","Edit item":"Elem szerkesztése","Error getting related resources":"Hiba a kapcsolódó erőforrások lekérésekor","Error parsing svg":"Hiba az SVG feldolgozásakor","External documentation for {title}":"Külső dokumentáció ehhez: {title}",Favorite:"Kedvenc",Flags:"Zászlók","Food & Drink":"Étel és ital","Frequently used":"Gyakran használt",Global:"Globális","Go back to the list":"Ugrás vissza a listához","Hide password":"Jelszó elrejtése","Message limit of {count} characters reached":"{count} karakteres üzenetkorlát elérve","More items …":"További elemek...",Next:"Következő","No emoji found":"Nem található emodzsi","No results":"Nincs találat",Objects:"Tárgyak",Open:"Megnyitás",'Open link to "{resourceTitle}"':"A(z) „{resourceTitle}” hivatkozásának megnyitása","Open navigation":"Navigáció megnyitása","Password is secure":"A jelszó biztonságos","Pause slideshow":"Diavetítés szüneteltetése","People & Body":"Emberek és test","Pick an emoji":"Válasszon egy emodzsit","Please select a time zone:":"Válasszon időzónát:",Previous:"Előző","Related resources":"Kapcsolódó erőforrások",Search:"Keresés","Search results":"Találatok","Select a tag":"Válasszon címkét",Settings:"Beállítások","Settings navigation":"Navigáció a beállításokban","Show password":"Jelszó megjelenítése","Smileys & Emotion":"Mosolyok és érzelmek","Start slideshow":"Diavetítés indítása",Submit:"Beküldés",Symbols:"Szimbólumok","Travel & Places":"Utazás és helyek","Type to search time zone":"Gépeljen az időzóna kereséséhez","Unable to search the group":"A csoport nem kereshető","Undo changes":"Változtatások visszavonása",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':"Írjon egy üzenetet, használja a „@”-ot valaki megemlítéséhet, illetve a „:”-ot az emodzsik automatikus kiegészítéséhez…"}},{locale:"is",translations:{"{tag} (invisible)":"{tag} (ósýnilegt)","{tag} (restricted)":"{tag} (takmarkað)",Actions:"Aðgerðir",Activities:"Aðgerðir","Animals & Nature":"Dýr og náttúra",Choose:"Velja",Close:"Loka",Custom:"Sérsniðið",Flags:"Flögg","Food & Drink":"Matur og drykkur","Frequently used":"Oftast notað",Next:"Næsta","No emoji found":"Ekkert tjáningartákn fannst","No results":"Engar niðurstöður",Objects:"Hlutir","Pause slideshow":"Gera hlé á skyggnusýningu","People & Body":"Fólk og líkami","Pick an emoji":"Veldu tjáningartákn",Previous:"Fyrri",Search:"Leita","Search results":"Leitarniðurstöður","Select a tag":"Veldu merki",Settings:"Stillingar","Smileys & Emotion":"Broskallar og tilfinningar","Start slideshow":"Byrja skyggnusýningu",Symbols:"Tákn","Travel & Places":"Staðir og ferðalög","Unable to search the group":"Get ekki leitað í hópnum"}},{locale:"it",translations:{"{tag} (invisible)":"{tag} (invisibile)","{tag} (restricted)":"{tag} (limitato)",Actions:"Azioni",Activities:"Attività","Animals & Nature":"Animali e natura","Anything shared with the same group of people will show up here":"Tutto ciò che è stato condiviso con lo stesso gruppo di persone viene visualizzato qui","Avatar of {displayName}":"Avatar di {displayName}","Avatar of {displayName}, {status}":"Avatar di {displayName}, {status}","Cancel changes":"Annulla modifiche","Change title":"Modifica il titolo",Choose:"Scegli","Clear text":"Cancella il testo",Close:"Chiudi","Close modal":"Chiudi il messaggio modale","Close navigation":"Chiudi la navigazione","Close sidebar":"Chiudi la barra laterale","Confirm changes":"Conferma modifiche",Custom:"Personalizzato","Edit item":"Modifica l'elemento","Error getting related resources":"Errore nell'ottenere risorse correlate","Error parsing svg":"Errore nell'analizzare l'svg","External documentation for {title}":"Documentazione esterna per {title}",Favorite:"Preferito",Flags:"Bandiere","Food & Drink":"Cibo e bevande","Frequently used":"Usati di frequente",Global:"Globale","Go back to the list":"Torna all'elenco","Hide password":"Nascondi la password","Message limit of {count} characters reached":"Limite dei messaggi di {count} caratteri raggiunto","More items …":"Più elementi ...",Next:"Successivo","No emoji found":"Nessun emoji trovato","No results":"Nessun risultato",Objects:"Oggetti",Open:"Apri",'Open link to "{resourceTitle}"':'Apri il link a "{resourceTitle}"',"Open navigation":"Apri la navigazione","Password is secure":"La password è sicura","Pause slideshow":"Presentazione in pausa","People & Body":"Persone e corpo","Pick an emoji":"Scegli un emoji","Please select a time zone:":"Si prega di selezionare un fuso orario:",Previous:"Precedente","Related resources":"Risorse correlate",Search:"Cerca","Search results":"Risultati di ricerca","Select a tag":"Seleziona un'etichetta",Settings:"Impostazioni","Settings navigation":"Navigazione delle impostazioni","Show password":"Mostra la password","Smileys & Emotion":"Faccine ed emozioni","Start slideshow":"Avvia presentazione",Submit:"Invia",Symbols:"Simboli","Travel & Places":"Viaggi e luoghi","Type to search time zone":"Digita per cercare un fuso orario","Unable to search the group":"Impossibile cercare il gruppo","Undo changes":"Cancella i cambiamenti",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Scrivi un messaggio, "@" per menzionare qualcuno, ":" per il completamento automatico delle emoji ...'}},{locale:"ja_JP",translations:{"{tag} (invisible)":"{タグ} (不可視)","{tag} (restricted)":"{タグ} (制限付)",Actions:"操作",Activities:"アクティビティ","Animals & Nature":"動物と自然","Anything shared with the same group of people will show up here":"同じグループで共有しているものは、全てここに表示されます","Avatar of {displayName}":"{displayName} のアバター","Avatar of {displayName}, {status}":"{displayName}, {status} のアバター","Cancel changes":"変更をキャンセル","Change title":"タイトルを変更",Choose:"選択","Clear text":"テキストをクリア",Close:"閉じる","Close modal":"モーダルを閉じる","Close navigation":"ナビゲーションを閉じる","Close sidebar":"サイドバーを閉じる","Confirm changes":"変更を承認",Custom:"カスタム","Edit item":"編集","Error getting related resources":"関連リソースの取得エラー","Error parsing svg":"svgの解析エラー","External documentation for {title}":"{title} のための添付文書",Favorite:"お気に入り",Flags:"国旗","Food & Drink":"食べ物と飲み物","Frequently used":"よく使うもの",Global:"全体","Go back to the list":"リストに戻る","Hide password":"パスワードを非表示","Message limit of {count} characters reached":"{count} 文字のメッセージ上限に達しています","More items …":"他のアイテム",Next:"次","No emoji found":"絵文字が見つかりません","No results":"なし",Objects:"物",Open:"開く",'Open link to "{resourceTitle}"':'"{resourceTitle}"のリンクを開く',"Open navigation":"ナビゲーションを開く","Password is secure":"パスワードは保護されています","Pause slideshow":"スライドショーを一時停止","People & Body":"様々な人と体の部位","Pick an emoji":"絵文字を選択","Please select a time zone:":"タイムゾーンを選んで下さい:",Previous:"前","Related resources":"関連リソース",Search:"検索","Search results":"検索結果","Select a tag":"タグを選択",Settings:"設定","Settings navigation":"ナビゲーション設定","Show password":"パスワードを表示","Smileys & Emotion":"感情表現","Start slideshow":"スライドショーを開始",Submit:"提出",Symbols:"記号","Travel & Places":"旅行と場所","Type to search time zone":"タイムゾーン検索のため入力してください","Unable to search the group":"グループを検索できません","Undo changes":"変更を取り消し",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'メッセージを記入、"@"でメンション、":"で絵文字の自動補完 ...'}},{locale:"lt_LT",translations:{"{tag} (invisible)":"{tag} (nematoma)","{tag} (restricted)":"{tag} (apribota)",Actions:"Veiksmai",Activities:"Veiklos","Animals & Nature":"Gyvūnai ir gamta",Choose:"Pasirinkti",Close:"Užverti",Custom:"Tinkinti","External documentation for {title}":"Išorinė {title} dokumentacija",Flags:"Vėliavos","Food & Drink":"Maistas ir gėrimai","Frequently used":"Dažniausiai naudoti","Message limit of {count} characters reached":"Pasiekta {count} simbolių žinutės riba",Next:"Kitas","No emoji found":"Nerasta jaustukų","No results":"Nėra rezultatų",Objects:"Objektai","Pause slideshow":"Pristabdyti skaidrių rodymą","People & Body":"Žmonės ir kūnas","Pick an emoji":"Pasirinkti jaustuką",Previous:"Ankstesnis",Search:"Ieškoti","Search results":"Paieškos rezultatai","Select a tag":"Pasirinkti žymę",Settings:"Nustatymai","Settings navigation":"Naršymas nustatymuose","Smileys & Emotion":"Šypsenos ir emocijos","Start slideshow":"Pradėti skaidrių rodymą",Submit:"Pateikti",Symbols:"Simboliai","Travel & Places":"Kelionės ir vietos","Unable to search the group":"Nepavyko atlikti paiešką grupėje","Write message, @ to mention someone …":"Rašykite žinutę, naudokite @ norėdami kažką paminėti…"}},{locale:"lv",translations:{"{tag} (invisible)":"{tag} (neredzams)","{tag} (restricted)":"{tag} (ierobežots)",Choose:"Izvēlēties",Close:"Aizvērt",Next:"Nākamais","No results":"Nav rezultātu","Pause slideshow":"Pauzēt slaidrādi",Previous:"Iepriekšējais","Select a tag":"Izvēlēties birku",Settings:"Iestatījumi","Start slideshow":"Sākt slaidrādi"}},{locale:"mk",translations:{"{tag} (invisible)":"{tag} (невидливо)","{tag} (restricted)":"{tag} (ограничено)",Actions:"Акции",Activities:"Активности","Animals & Nature":"Животни & Природа","Avatar of {displayName}":"Аватар на {displayName}","Avatar of {displayName}, {status}":"Аватар на {displayName}, {status}","Cancel changes":"Откажи ги промените","Change title":"Промени наслов",Choose:"Избери",Close:"Затвори","Close modal":"Затвори модал","Close navigation":"Затвори навигација","Confirm changes":"Потврди ги промените",Custom:"Прилагодени","Edit item":"Уреди","External documentation for {title}":"Надворешна документација за {title}",Favorite:"Фаворити",Flags:"Знамиња","Food & Drink":"Храна & Пијалоци","Frequently used":"Најчесто користени",Global:"Глобално","Go back to the list":"Врати се на листата",items:"ставки","Message limit of {count} characters reached":"Ограничувањето на должината на пораката од {count} карактери е надминато","More {dashboardItemType} …":"Повеќе {dashboardItemType} …",Next:"Следно","No emoji found":"Не се пронајдени емотикони","No results":"Нема резултати",Objects:"Објекти",Open:"Отвори","Open navigation":"Отвори навигација","Pause slideshow":"Пузирај слајдшоу","People & Body":"Луѓе & Тело","Pick an emoji":"Избери емотикон","Please select a time zone:":"Изберете временска зона:",Previous:"Предходно",Search:"Барај","Search results":"Резултати од барувањето","Select a tag":"Избери ознака",Settings:"Параметри","Settings navigation":"Параметри за навигација","Smileys & Emotion":"Смешковци & Емотикони","Start slideshow":"Стартувај слајдшоу",Submit:"Испрати",Symbols:"Симболи","Travel & Places":"Патувања & Места","Type to search time zone":"Напишете за да пребарате временска зона","Unable to search the group":"Неможе да се принајде групата","Undo changes":"Врати ги промените","Write message, @ to mention someone, : for emoji autocompletion …":"Напиши порака, @ за да спомнете некого, : за емотинони автоатско комплетирање ..."}},{locale:"my",translations:{"{tag} (invisible)":"{tag} (ကွယ်ဝှက်ထား)","{tag} (restricted)":"{tag} (ကန့်သတ်)",Actions:"လုပ်ဆောင်ချက်များ",Activities:"ပြုလုပ်ဆောင်တာများ","Animals & Nature":"တိရစ္ဆာန်များနှင့် သဘာဝ","Avatar of {displayName}":"{displayName} ၏ ကိုယ်ပွား","Cancel changes":"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်",Choose:"ရွေးချယ်ရန်",Close:"ပိတ်ရန်","Confirm changes":"ပြောင်းလဲမှုများ အတည်ပြုရန်",Custom:"အလိုကျချိန်ညှိမှု","External documentation for {title}":"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း",Flags:"အလံများ","Food & Drink":"အစားအသောက်","Frequently used":"မကြာခဏအသုံးပြုသော",Global:"ကမ္ဘာလုံးဆိုင်ရာ","Message limit of {count} characters reached":"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ",Next:"နောက်သို့ဆက်ရန်","No emoji found":"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ","No results":"ရလဒ်မရှိပါ",Objects:"အရာဝတ္ထုများ","Pause slideshow":"စလိုက်ရှိုး ခေတ္တရပ်ရန်","People & Body":"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်","Pick an emoji":"အီမိုဂျီရွေးရန်","Please select a time zone:":"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ",Previous:"ယခင်",Search:"ရှာဖွေရန်","Search results":"ရှာဖွေမှု ရလဒ်များ","Select a tag":"tag ရွေးချယ်ရန်",Settings:"ချိန်ညှိချက်များ","Settings navigation":"ချိန်ညှိချက်အညွှန်း","Smileys & Emotion":"စမိုင်လီများနှင့် အီမိုရှင်း","Start slideshow":"စလိုက်ရှိုးအား စတင်ရန်",Submit:"တင်သွင်းရန်",Symbols:"သင်္ကေတများ","Travel & Places":"ခရီးသွားလာခြင်းနှင့် နေရာများ","Type to search time zone":"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ","Unable to search the group":"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ","Write message, @ to mention someone …":"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်..."}},{locale:"nb_NO",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (beskyttet)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr og natur","Anything shared with the same group of people will show up here":"Alt som er delt med den samme gruppen vil vises her","Avatar of {displayName}":"Avataren til {displayName}","Avatar of {displayName}, {status}":"{displayName}'s avatar, {status}","Cancel changes":"Avbryt endringer","Change title":"Endre tittel",Choose:"Velg","Clear text":"Fjern tekst",Close:"Lukk","Close modal":"Lukk modal","Close navigation":"Lukk navigasjon","Close sidebar":"Lukk sidepanel","Confirm changes":"Bekreft endringer",Custom:"Tilpasset","Edit item":"Rediger","Error getting related resources":"Feil ved henting av relaterte ressurser","Error parsing svg":"Feil ved parsing av svg","External documentation for {title}":"Ekstern dokumentasjon for {title}",Favorite:"Favoritt",Flags:"Flagg","Food & Drink":"Mat og drikke","Frequently used":"Ofte brukt",Global:"Global","Go back to the list":"Gå tilbake til listen","Hide password":"Skjul passord","Message limit of {count} characters reached":"Karakter begrensing {count} nådd i melding","More items …":"Flere gjenstander...",Next:"Neste","No emoji found":"Fant ingen emoji","No results":"Ingen resultater",Objects:"Objekter",Open:"Åpne",'Open link to "{resourceTitle}"':'Åpne link til "{resourceTitle}"',"Open navigation":"Åpne navigasjon","Password is secure":"Passordet er sikkert","Pause slideshow":"Pause lysbildefremvisning","People & Body":"Mennesker og kropp","Pick an emoji":"Velg en emoji","Please select a time zone:":"Vennligst velg tidssone",Previous:"Forrige","Related resources":"Relaterte ressurser",Search:"Søk","Search results":"Søkeresultater","Select a tag":"Velg en merkelapp",Settings:"Innstillinger","Settings navigation":"Navigasjonsinstillinger","Show password":"Vis passord","Smileys & Emotion":"Smilefjes og følelser","Start slideshow":"Start lysbildefremvisning",Submit:"Send",Symbols:"Symboler","Travel & Places":"Reise og steder","Type to search time zone":"Tast for å søke etter tidssone","Unable to search the group":"Kunne ikke søke i gruppen","Undo changes":"Tilbakestill endringer",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv melding, bruk "@" for å nevne noen, bruk ":" for autofullføring av emoji...'}},{locale:"nl",translations:{"{tag} (invisible)":"{tag} (onzichtbaar)","{tag} (restricted)":"{tag} (beperkt)",Actions:"Acties",Activities:"Activiteiten","Animals & Nature":"Dieren & Natuur","Avatar of {displayName}":"Avatar van {displayName}","Avatar of {displayName}, {status}":"Avatar van {displayName}, {status}","Cancel changes":"Wijzigingen annuleren",Choose:"Kies",Close:"Sluiten","Close navigation":"Navigatie sluiten","Confirm changes":"Wijzigingen bevestigen",Custom:"Aangepast","Edit item":"Item bewerken","External documentation for {title}":"Externe documentatie voor {title}",Flags:"Vlaggen","Food & Drink":"Eten & Drinken","Frequently used":"Vaak gebruikt",Global:"Globaal","Go back to the list":"Ga terug naar de lijst","Message limit of {count} characters reached":"Berichtlimiet van {count} karakters bereikt",Next:"Volgende","No emoji found":"Geen emoji gevonden","No results":"Geen resultaten",Objects:"Objecten","Open navigation":"Navigatie openen","Pause slideshow":"Pauzeer diavoorstelling","People & Body":"Mensen & Lichaam","Pick an emoji":"Kies een emoji","Please select a time zone:":"Selecteer een tijdzone:",Previous:"Vorige",Search:"Zoeken","Search results":"Zoekresultaten","Select a tag":"Selecteer een label",Settings:"Instellingen","Settings navigation":"Instellingen navigatie","Smileys & Emotion":"Smileys & Emotie","Start slideshow":"Start diavoorstelling",Submit:"Verwerken",Symbols:"Symbolen","Travel & Places":"Reizen & Plaatsen","Type to search time zone":"Type om de tijdzone te zoeken","Unable to search the group":"Kan niet in de groep zoeken","Undo changes":"Wijzigingen ongedaan maken","Write message, @ to mention someone, : for emoji autocompletion …":"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ..."}},{locale:"oc",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (limit)",Actions:"Accions",Choose:"Causir",Close:"Tampar",Next:"Seguent","No results":"Cap de resultat","Pause slideshow":"Metre en pausa lo diaporama",Previous:"Precedent","Select a tag":"Seleccionar una etiqueta",Settings:"Paramètres","Start slideshow":"Lançar lo diaporama"}},{locale:"pl",translations:{"{tag} (invisible)":"{tag} (niewidoczna)","{tag} (restricted)":"{tag} (ograniczona)",Actions:"Działania",Activities:"Aktywność","Animals & Nature":"Zwierzęta i natura","Anything shared with the same group of people will show up here":"Tutaj pojawi się wszystko, co zostało udostępnione tej samej grupie osób","Avatar of {displayName}":"Awatar {displayName}","Avatar of {displayName}, {status}":"Awatar {displayName}, {status}","Cancel changes":"Anuluj zmiany","Change title":"Zmień tytuł",Choose:"Wybierz","Clear text":"Wyczyść tekst",Close:"Zamknij","Close modal":"Zamknij modal","Close navigation":"Zamknij nawigację","Close sidebar":"Zamknij pasek boczny","Confirm changes":"Potwierdź zmiany",Custom:"Zwyczajne","Edit item":"Edytuj element","Error getting related resources":"Błąd podczas pobierania powiązanych zasobów","Error parsing svg":"Błąd podczas analizowania svg","External documentation for {title}":"Dokumentacja zewnętrzna dla {title}",Favorite:"Ulubiony",Flags:"Flagi","Food & Drink":"Jedzenie i picie","Frequently used":"Często używane",Global:"Globalnie","Go back to the list":"Powrót do listy","Hide password":"Ukryj hasło","Message limit of {count} characters reached":"Przekroczono limit wiadomości wynoszący {count} znaków","More items …":"Więcej pozycji…",Next:"Następny","No emoji found":"Nie znaleziono emoji","No results":"Brak wyników",Objects:"Obiekty",Open:"Otwórz",'Open link to "{resourceTitle}"':'Otwórz link do "{resourceTitle}"',"Open navigation":"Otwórz nawigację","Password is secure":"Hasło jest bezpieczne","Pause slideshow":"Wstrzymaj pokaz slajdów","People & Body":"Ludzie i ciało","Pick an emoji":"Wybierz emoji","Please select a time zone:":"Wybierz strefę czasową:",Previous:"Poprzedni","Related resources":"Powiązane zasoby",Search:"Szukaj","Search results":"Wyniki wyszukiwania","Select a tag":"Wybierz etykietę",Settings:"Ustawienia","Settings navigation":"Ustawienia nawigacji","Show password":"Pokaż hasło","Smileys & Emotion":"Buźki i emotikony","Start slideshow":"Rozpocznij pokaz slajdów",Submit:"Wyślij",Symbols:"Symbole","Travel & Places":"Podróże i miejsca","Type to search time zone":"Wpisz, aby wyszukać strefę czasową","Unable to search the group":"Nie można przeszukać grupy","Undo changes":"Cofnij zmiany",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Napisz wiadomość, "@" aby o kimś wspomnieć, ":" dla autouzupełniania emoji…'}},{locale:"pt_BR",translations:{"{tag} (invisible)":"{tag} (invisível)","{tag} (restricted)":"{tag} (restrito) ",Actions:"Ações",Activities:"Atividades","Animals & Nature":"Animais & Natureza","Anything shared with the same group of people will show up here":"Qualquer coisa compartilhada com o mesmo grupo de pessoas aparecerá aqui","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancelar alterações","Change title":"Alterar título",Choose:"Escolher","Clear text":"Limpar texto",Close:"Fechar","Close modal":"Fechar modal","Close navigation":"Fechar navegação","Close sidebar":"Fechar barra lateral","Confirm changes":"Confirmar alterações",Custom:"Personalizado","Edit item":"Editar item","Error getting related resources":"Erro ao obter recursos relacionados","Error parsing svg":"Erro ao analisar svg","External documentation for {title}":"Documentação externa para {title}",Favorite:"Favorito",Flags:"Bandeiras","Food & Drink":"Comida & Bebida","Frequently used":"Mais usados",Global:"Global","Go back to the list":"Volte para a lista","Hide password":"Ocultar a senha","Message limit of {count} characters reached":"Limite de mensagem de {count} caracteres atingido","More items …":"Mais itens …",Next:"Próximo","No emoji found":"Nenhum emoji encontrado","No results":"Sem resultados",Objects:"Objetos",Open:"Aberto",'Open link to "{resourceTitle}"':'Abrir link para "{resourceTitle}"',"Open navigation":"Abrir navegação","Password is secure":"A senha é segura","Pause slideshow":"Pausar apresentação de slides","People & Body":"Pessoas & Corpo","Pick an emoji":"Escolha um emoji","Please select a time zone:":"Selecione um fuso horário: ",Previous:"Anterior","Related resources":"Recursos relacionados",Search:"Pesquisar","Search results":"Resultados da pesquisa","Select a tag":"Selecionar uma tag",Settings:"Configurações","Settings navigation":"Navegação de configurações","Show password":"Mostrar senha","Smileys & Emotion":"Smiles & Emoções","Start slideshow":"Iniciar apresentação de slides",Submit:"Enviar",Symbols:"Símbolo","Travel & Places":"Viagem & Lugares","Type to search time zone":"Digite para pesquisar o fuso horário ","Unable to search the group":"Não foi possível pesquisar o grupo","Undo changes":"Desfazer modificações",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escreva mensagens, use "@" para mencionar algum, use ":" for autocompletar emoji …'}},{locale:"pt_PT",translations:{"{tag} (invisible)":"{tag} (invisivel)","{tag} (restricted)":"{tag} (restrito)",Actions:"Ações",Choose:"Escolher",Close:"Fechar",Next:"Seguinte","No results":"Sem resultados","Pause slideshow":"Pausar diaporama",Previous:"Anterior","Select a tag":"Selecionar uma etiqueta",Settings:"Definições","Start slideshow":"Iniciar diaporama","Unable to search the group":"Não é possível pesquisar o grupo"}},{locale:"ro",translations:{"{tag} (invisible)":"{tag} (invizibil)","{tag} (restricted)":"{tag} (restricționat)",Actions:"Acțiuni",Activities:"Activități","Animals & Nature":"Animale și natură","Anything shared with the same group of people will show up here":"Tot ceea ce este partajat cu același grup de persoane va fi afișat aici","Avatar of {displayName}":"Avatarul lui {displayName}","Avatar of {displayName}, {status}":"Avatarul lui {displayName}, {status}","Cancel changes":"Anulează modificările","Change title":"Modificați titlul",Choose:"Alegeți","Clear text":"Șterge textul",Close:"Închideți","Close modal":"Închideți modulul","Close navigation":"Închideți navigarea","Close sidebar":"Închide bara laterală","Confirm changes":"Confirmați modificările",Custom:"Personalizat","Edit item":"Editați elementul","Error getting related resources":" Eroare la returnarea resurselor legate","Error parsing svg":"Eroare de analizare a svg","External documentation for {title}":"Documentație externă pentru {title}",Favorite:"Favorit",Flags:"Marcaje","Food & Drink":"Alimente și băuturi","Frequently used":"Utilizate frecvent",Global:"Global","Go back to the list":"Întoarceți-vă la listă","Hide password":"Ascunde parola","Message limit of {count} characters reached":"Limita mesajului de {count} caractere a fost atinsă","More items …":"Mai multe articole ...",Next:"Următorul","No emoji found":"Nu s-a găsit niciun emoji","No results":"Nu există rezultate",Objects:"Obiecte",Open:"Deschideți",'Open link to "{resourceTitle}"':'Deschide legătura la "{resourceTitle}"',"Open navigation":"Deschideți navigația","Password is secure":"Parola este sigură","Pause slideshow":"Pauză prezentare de diapozitive","People & Body":"Oameni și corp","Pick an emoji":"Alege un emoji","Please select a time zone:":"Vă rugăm să selectați un fus orar:",Previous:"Anterior","Related resources":"Resurse legate",Search:"Căutare","Search results":"Rezultatele căutării","Select a tag":"Selectați o etichetă",Settings:"Setări","Settings navigation":"Navigare setări","Show password":"Arată parola","Smileys & Emotion":"Zâmbete și emoții","Start slideshow":"Începeți prezentarea de diapozitive",Submit:"Trimiteți",Symbols:"Simboluri","Travel & Places":"Călătorii și locuri","Type to search time zone":"Tastați pentru a căuta fusul orar","Unable to search the group":"Imposibilitatea de a căuta în grup","Undo changes":"Anularea modificărilor",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Scrie un mesaj, folosește "@" pentru a menționa pe cineva, folosește ":" pentru autocompletarea cu emoji ...'}},{locale:"ru",translations:{"{tag} (invisible)":"{tag} (невидимое)","{tag} (restricted)":"{tag} (ограниченное)",Actions:"Действия ",Activities:"События","Animals & Nature":"Животные и природа ","Avatar of {displayName}":"Аватар {displayName}","Avatar of {displayName}, {status}":"Фотография {displayName}, {status}","Cancel changes":"Отменить изменения",Choose:"Выберите",Close:"Закрыть","Close modal":"Закрыть модальное окно","Close navigation":"Закрыть навигацию","Confirm changes":"Подтвердить изменения",Custom:"Пользовательское","Edit item":"Изменить элемент","External documentation for {title}":"Внешняя документация для {title}",Flags:"Флаги","Food & Drink":"Еда, напиток","Frequently used":"Часто используемый",Global:"Глобальный","Go back to the list":"Вернуться к списку",items:"элементов","Message limit of {count} characters reached":"Достигнуто ограничение на количество символов в {count}","More {dashboardItemType} …":"Больше {dashboardItemType} …",Next:"Следующее","No emoji found":"Эмодзи не найдено","No results":"Результаты отсуствуют",Objects:"Объекты",Open:"Открыть","Open navigation":"Открыть навигацию","Pause slideshow":"Приостановить показ слйдов","People & Body":"Люди и тело","Pick an emoji":"Выберите эмодзи","Please select a time zone:":"Пожалуйста, выберите часовой пояс:",Previous:"Предыдущее",Search:"Поиск","Search results":"Результаты поиска","Select a tag":"Выберите метку",Settings:"Параметры","Settings navigation":"Навигация по настройкам","Smileys & Emotion":"Смайлики и эмоции","Start slideshow":"Начать показ слайдов",Submit:"Утвердить",Symbols:"Символы","Travel & Places":"Путешествия и места","Type to search time zone":"Введите для поиска часового пояса","Unable to search the group":"Невозможно найти группу","Undo changes":"Отменить изменения","Write message, @ to mention someone, : for emoji autocompletion …":"Напишите сообщение, @ - чтобы упомянуть кого-то, : - для автозаполнения эмодзи …"}},{locale:"sk_SK",translations:{"{tag} (invisible)":"{tag} (neviditeľný)","{tag} (restricted)":"{tag} (obmedzený)",Actions:"Akcie",Activities:"Aktivity","Animals & Nature":"Zvieratá a príroda","Avatar of {displayName}":"Avatar {displayName}","Avatar of {displayName}, {status}":"Avatar {displayName}, {status}","Cancel changes":"Zrušiť zmeny",Choose:"Vybrať",Close:"Zatvoriť","Close navigation":"Zavrieť navigáciu","Confirm changes":"Potvrdiť zmeny",Custom:"Zvyk","Edit item":"Upraviť položku","External documentation for {title}":"Externá dokumentácia pre {title}",Flags:"Vlajky","Food & Drink":"Jedlo a nápoje","Frequently used":"Často používané",Global:"Globálne","Go back to the list":"Naspäť na zoznam","Message limit of {count} characters reached":"Limit správy na {count} znakov dosiahnutý",Next:"Ďalší","No emoji found":"Nenašli sa žiadne emodži","No results":"Žiadne výsledky",Objects:"Objekty","Open navigation":"Otvoriť navigáciu","Pause slideshow":"Pozastaviť prezentáciu","People & Body":"Ľudia a telo","Pick an emoji":"Vyberte si emodži","Please select a time zone:":"Prosím vyberte časovú zónu:",Previous:"Predchádzajúci",Search:"Hľadať","Search results":"Výsledky vyhľadávania","Select a tag":"Vybrať štítok",Settings:"Nastavenia","Settings navigation":"Navigácia v nastaveniach","Smileys & Emotion":"Smajlíky a emócie","Start slideshow":"Začať prezentáciu",Submit:"Odoslať",Symbols:"Symboly","Travel & Places":"Cestovanie a miesta","Type to search time zone":"Začníte písať pre vyhľadávanie časovej zóny","Unable to search the group":"Skupinu sa nepodarilo nájsť","Undo changes":"Vrátiť zmeny","Write message, @ to mention someone, : for emoji autocompletion …":"Napíšte správu, @ ak chcete niekoho spomenúť, : pre automatické dopĺňanie emotikonov…"}},{locale:"sl",translations:{"{tag} (invisible)":"{tag} (nevidno)","{tag} (restricted)":"{tag} (omejeno)",Actions:"Dejanja",Activities:"Dejavnosti","Animals & Nature":"Živali in Narava","Avatar of {displayName}":"Podoba {displayName}","Avatar of {displayName}, {status}":"Prikazna slika {displayName}, {status}","Cancel changes":"Prekliči spremembe","Change title":"Spremeni naziv",Choose:"Izbor","Clear text":"Počisti besedilo",Close:"Zapri","Close modal":"Zapri pojavno okno","Close navigation":"Zapri krmarjenje","Close sidebar":"Zapri stransko vrstico","Confirm changes":"Potrdi spremembe",Custom:"Po meri","Edit item":"Uredi predmet","Error getting related resources":"Napaka pridobivanja povezanih virov","External documentation for {title}":"Zunanja dokumentacija za {title}",Favorite:"Priljubljeno",Flags:"Zastavice","Food & Drink":"Hrana in Pijača","Frequently used":"Pogostost uporabe",Global:"Splošno","Go back to the list":"Vrni se na seznam","Hide password":"Skrij geslo","Message limit of {count} characters reached":"Dosežena omejitev {count} znakov na sporočilo.","More items …":"Več predmetov ...",Next:"Naslednji","No emoji found":"Ni najdenih izraznih ikon","No results":"Ni zadetkov",Objects:"Predmeti",Open:"Odpri",'Open link to "{resourceTitle}"':"Odpri povezavo do »{resourceTitle}«","Open navigation":"Odpri krmarjenje","Password is secure":"Geslo je varno","Pause slideshow":"Ustavi predstavitev","People & Body":"Ljudje in Telo","Pick a date":"Izbor datuma","Pick a date and a time":"Izbor datuma in časa","Pick a month":"Izbor meseca","Pick a time":"Izbor časa","Pick a week":"Izbor tedna","Pick a year":"Izbor leta","Pick an emoji":"Izbor izrazne ikone","Please select a time zone:":"Izbor časovnega pasu:",Previous:"Predhodni","Related resources":"Povezani viri",Search:"Iskanje","Search results":"Zadetki iskanja","Select a tag":"Izbor oznake",Settings:"Nastavitve","Settings navigation":"Krmarjenje nastavitev","Show password":"Pokaži geslo","Smileys & Emotion":"Izrazne ikone","Start slideshow":"Začni predstavitev",Submit:"Pošlji",Symbols:"Simboli","Travel & Places":"Potovanja in Kraji","Type to search time zone":"Vpišite niz za iskanje časovnega pasu","Unable to search the group":"Ni mogoče iskati po skupini","Undo changes":"Razveljavi spremembe","Write message, @ to mention someone, : for emoji autocompletion …":"Napišite sporočilo, za omembo pred ime postavite@, začnite z : za vstavljanje izraznih ikon …"}},{locale:"sr",translations:{"{tag} (invisible)":"{tag} (nevidljivo)","{tag} (restricted)":"{tag} (ograničeno)",Actions:"Radnje",Activities:"Aktivnosti","Animals & Nature":"Životinje i Priroda","Avatar of {displayName}":"Avatar za {displayName}","Avatar of {displayName}, {status}":"Avatar za {displayName}, {status}","Cancel changes":"Otkaži izmene","Change title":"Izmeni naziv",Choose:"Изаберите",Close:"Затвори","Close modal":"Zatvori modal","Close navigation":"Zatvori navigaciju","Close sidebar":"Zatvori bočnu traku","Confirm changes":"Potvrdite promene",Custom:"Po meri","Edit item":"Uredi stavku","External documentation for {title}":"Eksterna dokumentacija za {title}",Favorite:"Omiljeni",Flags:"Zastave","Food & Drink":"Hrana i Piće","Frequently used":"Često korišćeno",Global:"Globalno","Go back to the list":"Natrag na listu",items:"stavke","Message limit of {count} characters reached":"Dostignuto je ograničenje za poruke od {count} znakova","More {dashboardItemType} …":"Više {dashboardItemType} …",Next:"Следеће","No emoji found":"Nije pronađen nijedan emodži","No results":"Нема резултата",Objects:"Objekti",Open:"Otvori","Open navigation":"Otvori navigaciju","Pause slideshow":"Паузирај слајд шоу","People & Body":"Ljudi i Telo","Pick an emoji":"Izaberi emodži","Please select a time zone:":"Molimo izaberite vremensku zonu:",Previous:"Претходно",Search:"Pretraži","Search results":"Rezultati pretrage","Select a tag":"Изаберите ознаку",Settings:"Поставке","Settings navigation":"Navigacija u podešavanjima","Smileys & Emotion":"Smajli i Emocije","Start slideshow":"Покрени слајд шоу",Submit:"Prihvati",Symbols:"Simboli","Travel & Places":"Putovanja i Mesta","Type to search time zone":"Ukucaj da pretražiš vremenske zone","Unable to search the group":"Nije moguće pretražiti grupu","Undo changes":"Poništi promene","Write message, @ to mention someone, : for emoji autocompletion …":"Napišite poruku, @ da pomenete nekoga, : za automatsko dovršavanje emodžija…"}},{locale:"sv",translations:{"{tag} (invisible)":"{tag} (osynlig)","{tag} (restricted)":"{tag} (begränsad)",Actions:"Åtgärder",Activities:"Aktiviteter","Animals & Nature":"Djur & Natur","Anything shared with the same group of people will show up here":"Något som delats med samma grupp av personer kommer att visas här","Avatar of {displayName}":"{displayName}s avatar","Avatar of {displayName}, {status}":"{displayName}s avatar, {status}","Cancel changes":"Avbryt ändringar","Change title":"Ändra titel",Choose:"Välj","Clear text":"Ta bort text",Close:"Stäng","Close modal":"Stäng modal","Close navigation":"Stäng navigering","Close sidebar":"Stäng sidopanel","Confirm changes":"Bekräfta ändringar",Custom:"Anpassad","Edit item":"Ändra","Error getting related resources":"Problem att hämta relaterade resurser","Error parsing svg":"Fel vid inläsning av svg","External documentation for {title}":"Extern dokumentation för {title}",Favorite:"Favorit",Flags:"Flaggor","Food & Drink":"Mat & Dryck","Frequently used":"Används ofta",Global:"Global","Go back to the list":"Gå tillbaka till listan","Hide password":"Göm lössenordet","Message limit of {count} characters reached":"Meddelandegräns {count} tecken används","More items …":"Fler objekt",Next:"Nästa","No emoji found":"Hittade inga emojis","No results":"Inga resultat",Objects:"Objekt",Open:"Öppna",'Open link to "{resourceTitle}"':'Öppna länk till "{resourceTitle}"',"Open navigation":"Öppna navigering","Password is secure":"Lössenordet är säkert","Pause slideshow":"Pausa bildspelet","People & Body":"Kropp & Själ","Pick an emoji":"Välj en emoji","Please select a time zone:":"Välj tidszon:",Previous:"Föregående","Related resources":"Relaterade resurser",Search:"Sök","Search results":"Sökresultat","Select a tag":"Välj en tag",Settings:"Inställningar","Settings navigation":"Inställningsmeny","Show password":"Visa lössenordet","Smileys & Emotion":"Selfies & Känslor","Start slideshow":"Starta bildspelet",Submit:"Skicka",Symbols:"Symboler","Travel & Places":"Resor & Sevärdigheter","Type to search time zone":"Skriv för att välja tidszon","Unable to search the group":"Kunde inte söka i gruppen","Undo changes":"Ångra ändringar",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv meddelande, använd "@" för att nämna någon, använd ":" för automatiska emojiförslag ...'}},{locale:"tr",translations:{"{tag} (invisible)":"{tag} (görünmez)","{tag} (restricted)":"{tag} (kısıtlı)",Actions:"İşlemler",Activities:"Etkinlikler","Animals & Nature":"Hayvanlar ve Doğa","Anything shared with the same group of people will show up here":"Aynı kişi grubu ile paylaşılan herşey burada görüntülenir","Avatar of {displayName}":"{displayName} avatarı","Avatar of {displayName}, {status}":"{displayName}, {status} avatarı","Cancel changes":"Değişiklikleri iptal et","Change title":"Başlığı değiştir",Choose:"Seçin","Clear text":"Metni temizle",Close:"Kapat","Close modal":"Üste açılan pencereyi kapat","Close navigation":"Gezinmeyi kapat","Close sidebar":"Yan çubuğu kapat","Confirm changes":"Değişiklikleri onayla",Custom:"Özel","Edit item":"Ögeyi düzenle","Error getting related resources":"İlgili kaynaklar alınırken sorun çıktı","Error parsing svg":"svg işlenirken sorun çıktı","External documentation for {title}":"{title} için dış belgeler",Favorite:"Sık kullanılanlara ekle",Flags:"Bayraklar","Food & Drink":"Yeme ve İçme","Frequently used":"Sık kullanılanlar",Global:"Evrensel","Go back to the list":"Listeye dön","Hide password":"Parolayı gizle","Message limit of {count} characters reached":"{count} karakter ileti sınırına ulaşıldı","More items …":"Diğer ögeler…",Next:"Sonraki","No emoji found":"Herhangi bir emoji bulunamadı","No results":"Herhangi bir sonuç bulunamadı",Objects:"Nesneler",Open:"Aç",'Open link to "{resourceTitle}"':'"{resourceTitle}" bağlantısını aç',"Open navigation":"Gezinmeyi aç","Password is secure":"Parola güvenli","Pause slideshow":"Slayt sunumunu duraklat","People & Body":"İnsanlar ve Beden","Pick an emoji":"Bir emoji seçin","Please select a time zone:":"Lütfen bir saat dilimi seçin:",Previous:"Önceki","Related resources":"İlgili kaynaklar",Search:"Arama","Search results":"Arama sonuçları","Select a tag":"Bir etiket seçin",Settings:"Ayarlar","Settings navigation":"Gezinme ayarları","Show password":"Parolayı görüntüle","Smileys & Emotion":"İfadeler ve Duygular","Start slideshow":"Slayt sunumunu başlat",Submit:"Gönder",Symbols:"Simgeler","Travel & Places":"Gezi ve Yerler","Type to search time zone":"Saat dilimi aramak için yazmaya başlayın","Unable to search the group":"Grupta arama yapılamadı","Undo changes":"Değişiklikleri geri al",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'İleti yazın, birini anmak için @, otomatik emoji tamamlamak için ":" kullanın…'}},{locale:"uk",translations:{"{tag} (invisible)":"{tag} (невидимий)","{tag} (restricted)":"{tag} (обмежений)",Actions:"Дії",Activities:"Діяльність","Animals & Nature":"Тварини та природа","Avatar of {displayName}":"Аватар {displayName}","Avatar of {displayName}, {status}":"Аватар {displayName}, {status}","Cancel changes":"Скасувати зміни","Change title":"Змінити назву",Choose:"ВиберітьВиберіть","Clear text":"Очистити текст",Close:"Закрити","Close modal":"Закрити модаль","Close navigation":"Закрити навігацію","Close sidebar":"Закрити бічну панель","Confirm changes":"Підтвердити зміни",Custom:"Власне","Edit item":"Редагувати елемент","External documentation for {title}":"Зовнішня документація для {title}",Favorite:"Улюблений",Flags:"Прапори","Food & Drink":"Їжа та напої","Frequently used":"Найчастіші",Global:"Глобальний","Go back to the list":"Повернутися до списку","Hide password":"Приховати пароль",items:"елементи","Message limit of {count} characters reached":"Вичерпано ліміт у {count} символів для повідомлення","More {dashboardItemType} …":"Більше {dashboardItemType}…",Next:"Вперед","No emoji found":"Емоційки відсутні","No results":"Відсутні результати",Objects:"Об'єкти",Open:"Відкрити","Open navigation":"Відкрити навігацію","Password is secure":"Пароль безпечний","Pause slideshow":"Пауза у показі слайдів","People & Body":"Люди та жести","Pick an emoji":"Виберіть емоційку","Please select a time zone:":"Виберіть часовий пояс:",Previous:"Назад",Search:"Пошук","Search results":"Результати пошуку","Select a tag":"Виберіть позначку",Settings:"Налаштування","Settings navigation":"Навігація у налаштуваннях","Show password":"Показати пароль","Smileys & Emotion":"Смайли та емоції","Start slideshow":"Почати показ слайдів",Submit:"Надіслати",Symbols:"Символи","Travel & Places":"Поїздки та місця","Type to search time zone":"Введіть для пошуку часовий пояс","Unable to search the group":"Неможливо шукати в групі","Undo changes":"Скасувати зміни","Write message, @ to mention someone, : for emoji autocompletion …":"Напишіть повідомлення, @, щоб згадати когось, : для автозаповнення емодзі…"}},{locale:"zh_CN",translations:{"{tag} (invisible)":"{tag} (不可见)","{tag} (restricted)":"{tag} (受限)",Actions:"行为",Activities:"活动","Animals & Nature":"动物 & 自然","Anything shared with the same group of people will show up here":"与同组用户分享的所有内容都会显示于此","Avatar of {displayName}":"{displayName}的头像","Avatar of {displayName}, {status}":"{displayName}的头像,{status}","Cancel changes":"取消更改","Change title":"更改标题",Choose:"选择","Clear text":"清除文本",Close:"关闭","Close modal":"关闭窗口","Close navigation":"关闭导航","Close sidebar":"关闭侧边栏","Confirm changes":"确认更改",Custom:"自定义","Edit item":"编辑项目","Error getting related resources":"获取相关资源时出错","Error parsing svg":"解析 svg 时出错","External documentation for {title}":"{title}的外部文档",Favorite:"喜爱",Flags:"旗帜","Food & Drink":"食物 & 饮品","Frequently used":"经常使用",Global:"全局","Go back to the list":"返回至列表","Hide password":"隐藏密码","Message limit of {count} characters reached":"已达到 {count} 个字符的消息限制","More items …":"更多项目…",Next:"下一个","No emoji found":"表情未找到","No results":"无结果",Objects:"物体",Open:"打开",'Open link to "{resourceTitle}"':'打开"{resourceTitle}"的连接',"Open navigation":"开启导航","Password is secure":"密码安全","Pause slideshow":"暂停幻灯片","People & Body":"人 & 身体","Pick an emoji":"选择一个表情","Please select a time zone:":"请选择一个时区:",Previous:"上一个","Related resources":"相关资源",Search:"搜索","Search results":"搜索结果","Select a tag":"选择一个标签",Settings:"设置","Settings navigation":"设置向导","Show password":"显示密码","Smileys & Emotion":"笑脸 & 情感","Start slideshow":"开始幻灯片",Submit:"提交",Symbols:"符号","Travel & Places":"旅游 & 地点","Type to search time zone":"打字以搜索时区","Unable to search the group":"无法搜索分组","Undo changes":"撤销更改",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'写信息,使用"@"来提及某人,使用":"进行表情符号自动完成 ...'}},{locale:"zh_HK",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然","Anything shared with the same group of people will show up here":"與同一組人共享的任何內容都會顯示在此處","Avatar of {displayName}":"{displayName} 的頭像","Avatar of {displayName}, {status}":"{displayName} 的頭像,{status}","Cancel changes":"取消更改","Change title":"更改標題",Choose:"選擇","Clear text":"清除文本",Close:"關閉","Close modal":"關閉模態","Close navigation":"關閉導航","Close sidebar":"關閉側邊欄","Confirm changes":"確認更改",Custom:"自定義","Edit item":"編輯項目","Error getting related resources":"獲取相關資源出錯","Error parsing svg":"解析 svg 時出錯","External documentation for {title}":"{title} 的外部文檔",Favorite:"喜愛",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"經常使用",Global:"全球的","Go back to the list":"返回清單","Hide password":"隱藏密碼","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制","More items …":"更多項目 …",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件",Open:"打開",'Open link to "{resourceTitle}"':"打開指向 “{resourceTitle}” 的鏈結","Open navigation":"開啟導航","Password is secure":"密碼是安全的","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號","Please select a time zone:":"請選擇時區:",Previous:"上一個","Related resources":"相關資源",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Show password":"顯示密碼","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Submit:"提交",Symbols:"標誌","Travel & Places":"旅遊與景點","Type to search time zone":"鍵入以搜索時區","Unable to search the group":"無法搜尋群組","Undo changes":"取消更改",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'寫訊息,使用 "@" 來指代某人,使用 ":" 用於表情符號自動填充 ...'}},{locale:"zh_TW",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然",Choose:"選擇",Close:"關閉",Custom:"自定義",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"最近使用","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號",Previous:"上一個",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Symbols:"標誌","Travel & Places":"旅遊與景點","Unable to search the group":"無法搜尋群組","Write message, @ to mention someone …":"輸入訊息時可使用 @ 來標示某人..."}}].forEach((function(e){var t={};for(var n in e.translations)e.translations[n].pluralId?t[n]={msgid:n,msgid_plural:e.translations[n].pluralId,msgstr:e.translations[n].msgstr}:t[n]={msgid:n,msgstr:[e.translations[n]]};o.addTranslation(e.locale,{translations:{"":t}})}));var i=o.build(),r=(i.ngettext.bind(i),i.gettext.bind(i))},1205:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const o=function(e){return Math.random().toString(36).replace(/[^a-z]+/g,"").slice(0,e||5)}},1206:(e,t,n)=>{"use strict";n.d(t,{L:()=>o}),n(4505);var o=function(){return Object.assign(window,{_nc_focus_trap:window._nc_focus_trap||[]}),window._nc_focus_trap}},8827:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-20a3e950]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-items[data-v-20a3e950]{display:flex;align-items:center}.action-items>button[data-v-20a3e950]{margin-right:7px}.action-item[data-v-20a3e950]{--open-background-color: var(--color-background-hover, $action-background-hover);position:relative;display:inline-block}.action-item.action-item--primary[data-v-20a3e950]{--open-background-color: var(--color-primary-element-hover)}.action-item.action-item--secondary[data-v-20a3e950]{--open-background-color: var(--color-primary-element-light-hover)}.action-item.action-item--error[data-v-20a3e950]{--open-background-color: var(--color-error-hover)}.action-item.action-item--warning[data-v-20a3e950]{--open-background-color: var(--color-warning-hover)}.action-item.action-item--success[data-v-20a3e950]{--open-background-color: var(--color-success-hover)}.action-item.action-item--tertiary-no-background[data-v-20a3e950]{--open-background-color: transparent}.action-item.action-item--open .action-item__menutoggle[data-v-20a3e950]{background-color:var(--open-background-color)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcActions/NcActions.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,+BACC,YAAA,CACA,kBAAA,CAGA,sCACC,gBAAA,CAIF,8BACC,gFAAA,CACA,iBAAA,CACA,oBAAA,CAEA,mDACC,2DAAA,CAGD,qDACC,iEAAA,CAGD,iDACC,iDAAA,CAGD,mDACC,mDAAA,CAGD,mDACC,mDAAA,CAGD,kEACC,oCAAA,CAGD,yEACC,6CAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n// Inline buttons\n.action-items {\n\tdisplay: flex;\n\talign-items: center;\n\n\t// Spacing between buttons\n\t& > button {\n\t\tmargin-right: math.div($icon-margin, 2);\n\t}\n}\n\n.action-item {\n\t--open-background-color: var(--color-background-hover, $action-background-hover);\n\tposition: relative;\n\tdisplay: inline-block;\n\n\t&.action-item--primary {\n\t\t--open-background-color: var(--color-primary-element-hover);\n\t}\n\n\t&.action-item--secondary {\n\t\t--open-background-color: var(--color-primary-element-light-hover);\n\t}\n\n\t&.action-item--error {\n\t\t--open-background-color: var(--color-error-hover);\n\t}\n\n\t&.action-item--warning {\n\t\t--open-background-color: var(--color-warning-hover);\n\t}\n\n\t&.action-item--success {\n\t\t--open-background-color: var(--color-success-hover);\n\t}\n\n\t&.action-item--tertiary-no-background {\n\t\t--open-background-color: transparent;\n\t}\n\n\t&.action-item--open .action-item__menutoggle {\n\t\tbackground-color: var(--open-background-color);\n\t}\n}\n"],sourceRoot:""}]);const s=a},5565:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper{border-radius:var(--border-radius-large);overflow:hidden}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner{border-radius:var(--border-radius-large);padding:4px;max-height:calc(50vh - 16px);overflow:auto}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcActions/NcActions.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,kFACC,wCAAA,CACA,eAAA,CAEA,mGACC,wCAAA,CACA,WAAA,CACA,4BAAA,CACA,aAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n// We overwrote the popover base class, so we can style\n// the popover__inner for actions only.\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper {\n\tborder-radius: var(--border-radius-large);\n\toverflow:hidden;\n\n\t.v-popper__inner {\n\t\tborder-radius: var(--border-radius-large);\n\t\tpadding: 4px;\n\t\tmax-height: calc(50vh - 16px);\n\t\toverflow: auto;\n\t}\n}\n"],sourceRoot:""}]);const s=a},9560:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-74afe090]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-crumb[data-v-74afe090]{background-image:none;display:inline-flex;height:44px;padding:0}.vue-crumb[data-v-74afe090]:last-child{max-width:210px;font-weight:bold}.vue-crumb:last-child .vue-crumb__separator[data-v-74afe090]{display:none}.vue-crumb>a[data-v-74afe090]:hover,.vue-crumb>a[data-v-74afe090]:focus{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb--hidden[data-v-74afe090]{display:none}.vue-crumb.vue-crumb--hovered>a[data-v-74afe090]{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb__separator[data-v-74afe090]{padding:0;color:var(--color-text-maxcontrast)}.vue-crumb>a[data-v-74afe090]{overflow:hidden;color:var(--color-text-maxcontrast);padding:12px;min-width:44px;max-width:100%;border-radius:var(--border-radius-pill);align-items:center;display:inline-flex;justify-content:center}.vue-crumb>a>span[data-v-74afe090]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item{max-width:100%}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item .button-vue{padding:0 4px 0 16px}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item .button-vue__wrapper{flex-direction:row-reverse}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item.action-item--open .action-item__menutoggle{background-color:var(--color-background-dark);color:var(--color-main-text)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcBreadcrumb/NcBreadcrumb.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,4BACC,qBAAA,CACA,mBAAA,CACA,WCmBgB,CDlBhB,SAAA,CAEA,uCACC,eAAA,CACA,gBAAA,CAGA,6DACC,YAAA,CAKF,wEAEC,6CAAA,CACA,4BAAA,CAGD,oCACC,YAAA,CAGD,iDACC,6CAAA,CACA,4BAAA,CAGD,uCACC,SAAA,CACA,mCAAA,CAGD,8BACC,eAAA,CACA,mCAAA,CACA,YAAA,CACA,cCnBe,CDoBf,cAAA,CACA,uCAAA,CACA,kBAAA,CACA,mBAAA,CACA,sBAAA,CAEA,mCACC,eAAA,CACA,sBAAA,CACA,kBAAA,CAMF,wDAEC,cAAA,CAEA,oEACC,oBAAA,CAEA,6EACC,0BAAA,CAKF,mGACC,6CAAA,CACA,4BAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n\n.vue-crumb {\n\tbackground-image: none;\n\tdisplay: inline-flex;\n\theight: $clickable-area;\n\tpadding: 0;\n\n\t&:last-child {\n\t\tmax-width: 210px;\n\t\tfont-weight: bold;\n\n\t\t// Don't show breadcrumb separator for last crumb\n\t\t.vue-crumb__separator {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t// Hover and focus effect for crumbs\n\t& > a:hover,\n\t& > a:focus {\n\t\tbackground-color: var(--color-background-dark);\n\t\tcolor: var(--color-main-text);\n\t}\n\n\t&--hidden {\n\t\tdisplay: none;\n\t}\n\n\t&#{&}--hovered > a {\n\t\tbackground-color: var(--color-background-dark);\n\t\tcolor: var(--color-main-text);\n\t}\n\n\t&__separator {\n\t\tpadding: 0;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t> a {\n\t\toverflow: hidden;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tpadding: 12px;\n\t\tmin-width: $clickable-area;\n\t\tmax-width: 100%;\n\t\tborder-radius: var(--border-radius-pill);\n\t\talign-items: center;\n\t\tdisplay: inline-flex;\n\t\tjustify-content: center;\n\n\t\t> span {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t// Adjust action item appearance for crumbs with actions\n\t// to match other crumbs\n\t&:not(.dropdown) :deep(.action-item) {\n\t\t// Adjustments necessary to correctly shrink on small screens\n\t\tmax-width: 100%;\n\n\t\t.button-vue {\n\t\t\tpadding: 0 4px 0 16px;\n\n\t\t\t&__wrapper {\n\t\t\t\tflex-direction: row-reverse;\n\t\t\t}\n\t\t}\n\n\t\t// Adjust the background of the last crumb when the action is open\n\t\t&.action-item--open .action-item__menutoggle {\n\t\t\tbackground-color: var(--color-background-dark);\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=a},1898:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-2e49be1e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-2e49be1e]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition-property:color,border-color,background-color;transition-duration:.1s;transition-timing-function:linear;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue *[data-v-2e49be1e],.button-vue span[data-v-2e49be1e]{cursor:pointer}.button-vue[data-v-2e49be1e]:focus{outline:none}.button-vue[data-v-2e49be1e]:disabled{cursor:default;opacity:.5;filter:saturate(0.7)}.button-vue:disabled *[data-v-2e49be1e]{cursor:default}.button-vue[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-light-hover)}.button-vue[data-v-2e49be1e]:active{background-color:var(--color-primary-element-light)}.button-vue__wrapper[data-v-2e49be1e]{display:inline-flex;align-items:center;justify-content:center;width:100%}.button-vue__icon[data-v-2e49be1e]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-2e49be1e]{font-weight:bold;margin-bottom:1px;padding:2px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button-vue--icon-only[data-v-2e49be1e]{width:44px !important}.button-vue--text-only[data-v-2e49be1e]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-2e49be1e]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-2e49be1e]{padding:0 16px 0 4px}.button-vue--wide[data-v-2e49be1e]{width:100%}.button-vue[data-v-2e49be1e]:focus-visible{outline:2px solid var(--color-main-text) !important}.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{outline:2px solid var(--color-primary-element-text);border-radius:var(--border-radius);background-color:rgba(0,0,0,0)}.button-vue--vue-primary[data-v-2e49be1e]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.button-vue--vue-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-2e49be1e]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-2e49be1e]{color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue--vue-secondary[data-v-2e49be1e]:hover:not(:disabled){color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light-hover)}.button-vue--vue-tertiary[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{color:var(--color-primary-element-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-success[data-v-2e49be1e]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-2e49be1e]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-2e49be1e]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-2e49be1e]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-2e49be1e]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-2e49be1e]:active{background-color:var(--color-error)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcButton/NcButton.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,kCAAA,CACA,gBAAA,CACA,eCcgB,CDbhB,cCagB,CDZhB,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,cAAA,CAKA,kBAAA,CACA,uDAAA,CACA,uBAAA,CACA,iCAAA,CAkBA,6CAAA,CACA,mDAAA,CA1BA,iEAEC,cAAA,CAQD,mCACC,YAAA,CAGD,sCACC,cAAA,CAIA,UCIiB,CDFjB,oBAAA,CALA,wCACC,cAAA,CAUF,kDACC,yDAAA,CAKD,oCACC,mDAAA,CAGD,sCACC,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAGD,mCACC,WCvCe,CDwCf,UCxCe,CDyCf,eCzCe,CD0Cf,cC1Ce,CD2Cf,YAAA,CACA,sBAAA,CACA,kBAAA,CAGD,mCACC,gBAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAID,wCACC,qBAAA,CAID,wCACC,cAAA,CACA,0DACC,eAAA,CACA,gBAAA,CAKF,4CACC,oBAAA,CAID,mCACC,UAAA,CAGD,2CACC,mDAAA,CACA,+EACC,mDAAA,CACA,kCAAA,CACA,8BAAA,CAOF,0CACC,6CAAA,CACA,uCAAA,CACA,+DACC,mDAAA,CAID,iDACC,6CAAA,CAKF,4CACC,6CAAA,CACA,mDAAA,CACA,iEACC,6CAAA,CACA,yDAAA,CAKF,2CACC,4BAAA,CACA,8BAAA,CACA,gEACC,6BAAA,CACA,8CAAA,CAKF,yDACC,4BAAA,CACA,8BAAA,CACA,8EACC,8BAAA,CAKF,sDACC,uCAAA,CACA,8BAAA,CAEA,2EACC,8BAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,wCACC,mCAAA,CACA,UAAA,CACA,6DACC,yCAAA,CAID,+CACC,mCAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n\n.button-vue {\n\tposition: relative;\n\twidth: fit-content;\n\toverflow: hidden;\n\tborder: 0;\n\tpadding: 0;\n\tfont-size: var(--default-font-size);\n\tfont-weight: bold;\n\tmin-height: $clickable-area;\n\tmin-width: $clickable-area;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t// Cursor pointer on element and all children\n\tcursor: pointer;\n\t& *,\n\tspan {\n\t\tcursor: pointer;\n\t}\n\tborder-radius: math.div($clickable-area, 2);\n\ttransition-property: color, border-color, background-color;\n\ttransition-duration: 0.1s;\n\ttransition-timing-function: linear;\n\n\t// No outline feedback for focus. Handled with a toggled class in js (see data)\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t\t& * {\n\t\t\tcursor: default;\n\t\t}\n\t\topacity: $opacity_disabled;\n\t\t// Gives a wash out effect\n\t\tfilter: saturate($opacity_normal);\n\t}\n\n\t// Default button type\n\tcolor: var(--color-primary-element-light-text);\n\tbackground-color: var(--color-primary-element-light);\n\t&:hover:not(:disabled) {\n\t\tbackground-color: var(--color-primary-element-light-hover);\n\t}\n\n\t// Back to the default color for this button when active\n\t// TODO: add ripple effect\n\t&:active {\n\t\tbackground-color: var(--color-primary-element-light);\n\t}\n\n\t&__wrapper {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t}\n\n\t&__icon {\n\t\theight: $clickable-area;\n\t\twidth: $clickable-area;\n\t\tmin-height: $clickable-area;\n\t\tmin-width: $clickable-area;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\n\t&__text {\n\t\tfont-weight: bold;\n\t\tmargin-bottom: 1px;\n\t\tpadding: 2px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t}\n\n\t// Icon-only button\n\t&--icon-only {\n\t\twidth: $clickable-area !important;\n\t}\n\n\t// Text-only button\n\t&--text-only {\n\t\tpadding: 0 12px;\n\t\t& .button-vue__text {\n\t\t\tmargin-left: 4px;\n\t\t\tmargin-right: 4px;\n\t\t}\n\t}\n\n\t// Icon and text button\n\t&--icon-and-text {\n\t\tpadding: 0 16px 0 4px;\n\t}\n\n\t// Wide button spans the whole width of the container\n\t&--wide {\n\t\twidth: 100%;\n\t}\n\n\t&:focus-visible {\n\t\toutline: 2px solid var(--color-main-text) !important;\n\t\t&.button-vue--vue-tertiary-on-primary {\n\t\t\toutline: 2px solid var(--color-primary-element-text);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Button types\n\n\t// Primary\n\t&--vue-primary {\n\t\tbackground-color: var(--color-primary-element);\n\t\tcolor: var(--color-primary-element-text);\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\t}\n\n\t// Secondary\n\t&--vue-secondary {\n\t\tcolor: var(--color-primary-element-light-text);\n\t\tbackground-color: var(--color-primary-element-light);\n\t\t&:hover:not(:disabled) {\n\t\t\tcolor: var(--color-primary-element-light-text);\n\t\t\tbackground-color: var(--color-primary-element-light-hover);\n\t\t}\n\t}\n\n\t// Tertiary\n\t&--vue-tertiary {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Tertiary, no background\n\t&--vue-tertiary-no-background {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Tertiary on primary color (like the header)\n\t&--vue-tertiary-on-primary {\n\t\tcolor: var(--color-primary-element-text);\n\t\tbackground-color: transparent;\n\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Success\n\t&--vue-success {\n\t\tbackground-color: var(--color-success);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-success-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// : add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-success);\n\t\t}\n\t}\n\n\t// Warning\n\t&--vue-warning {\n\t\tbackground-color: var(--color-warning);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-warning-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-warning);\n\t\t}\n\t}\n\n\t// Error\n\t&--vue-error {\n\t\tbackground-color: var(--color-error);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-error-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-error);\n\t\t}\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=a},4401:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:rgba(0,0,0,0);pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown.v-popper__popper{z-index:100000;top:0;left:0;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-dropdown.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);overflow:hidden;background:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-10px;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcPopover/NcPopover.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,iBACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CACA,aAAA,CACA,eAAA,CACA,SAAA,CAGD,wBACC,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CAMA,2CACC,cAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CAEA,sDAAA,CAEA,4DACC,SAAA,CACA,4BAAA,CACA,kCAAA,CACA,eAAA,CACA,uCAAA,CAGD,sEACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBA1BW,CA6BZ,kGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAGD,qGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAGD,oGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAGD,mGACC,WAAA,CACA,oBAAA,CACA,8CAAA,CAGD,6DACC,iBAAA,CACA,2EAAA,CACA,SAAA,CAGD,8DACC,kBAAA,CACA,yCAAA,CACA,SAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n\n.resize-observer {\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\tz-index:-1;\n\twidth:100%;\n\theight:100%;\n\tborder:none;\n\tbackground-color:transparent;\n\tpointer-events:none;\n\tdisplay:block;\n\toverflow:hidden;\n\topacity:0\n}\n\n.resize-observer object {\n\tdisplay:block;\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\theight:100%;\n\twidth:100%;\n\toverflow:hidden;\n\tpointer-events:none;\n\tz-index:-1\n}\n\n$arrow-width: 10px;\n\n.v-popper--theme-dropdown {\n\t&.v-popper__popper {\n\t\tz-index: 100000;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block !important;\n\n\t\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t\t.v-popper__inner {\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\toverflow: hidden;\n\t\t\tbackground: var(--color-main-background);\n\t\t}\n\n\t\t.v-popper__arrow-container {\n\t\t\tposition: absolute;\n\t\t\tz-index: 1;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t\tborder-color: transparent;\n\t\t\tborder-width: $arrow-width;\n\t\t}\n\n\t\t&[data-popper-placement^='top'] .v-popper__arrow-container {\n\t\t\tbottom: -$arrow-width;\n\t\t\tborder-bottom-width: 0;\n\t\t\tborder-top-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\n\t\t\ttop: -$arrow-width;\n\t\t\tborder-top-width: 0;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='right'] .v-popper__arrow-container {\n\t\t\tleft: -$arrow-width;\n\t\t\tborder-left-width: 0;\n\t\t\tborder-right-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='left'] .v-popper__arrow-container {\n\t\t\tright: -$arrow-width;\n\t\t\tborder-right-width: 0;\n\t\t\tborder-left-color: var(--color-main-background);\n\t\t}\n\n\t\t&[aria-hidden='true'] {\n\t\t\tvisibility: hidden;\n\t\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\t\topacity: 0;\n\t\t}\n\n\t\t&[aria-hidden='false'] {\n\t\t\tvisibility: visible;\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const s=a},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",o=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),o&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),o&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,o,i,r){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(o)for(var s=0;s0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=r),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),i&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=i):u[4]="".concat(i)),t.push(u))}},t}},7537:e=>{"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),i="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(o),r="/*# ".concat(i," */");return[t].concat([r]).join("\n")}return[t].join("\n")}},3379:e=>{"use strict";var t=[];function n(e){for(var n=-1,o=0;o{"use strict";var t={};e.exports=function(e,n){var o=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(n)}},9216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{"use strict";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var o="";n.supports&&(o+="@supports (".concat(n.supports,") {")),n.media&&(o+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(o+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),o+=n.css,i&&(o+="}"),n.media&&(o+="}"),n.supports&&(o+="}");var r=n.sourceMap;r&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),t.styleTagTransform(o,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},5727:()=>{},6591:()=>{},2102:()=>{},2405:()=>{},1900:(e,t,n)=>{"use strict";function o(e,t,n,o,i,r,a,s){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}n.d(t,{Z:()=>o})},7931:e=>{"use strict";e.exports=n(23955)},9454:e=>{"use strict";e.exports=n(73045)},4505:e=>{"use strict";e.exports=n(15303)},2734:e=>{"use strict";e.exports=n(20144)},9044:e=>{"use strict";e.exports=n(11585)},1441:e=>{"use strict";e.exports=n(89115)}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={id:n,exports:{}};return e[n](r,r.exports,i),r.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nc=void 0;var r={};return(()=>{"use strict";i.r(r),i.d(r,{default:()=>P});var e=i(644),t=i(1205),n=i(9044),a=i.n(n);function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function c(e){for(var t=1;t{var o=n(25108);!function(t,n){e.exports=n()}(self,(()=>(()=>{var e={6299:(e,t,n)=>{"use strict";n.d(t,{default:()=>w});const o={name:"NcActionLink",mixins:[n(1139).Z],props:{href:{type:String,default:"#",required:!0,validator:function(e){try{return new URL(e)}catch(t){return e.startsWith("#")||e.startsWith("/")}}},download:{type:String,default:null},target:{type:String,default:"_self",validator:function(e){return e&&(!e.startsWith("_")||["_blank","_self","_parent","_top"].indexOf(e)>-1)}},title:{type:String,default:null},ariaHidden:{type:Boolean,default:null}}};var i=n(3379),r=n.n(i),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),m=n.n(p),h=n(4589),v=n.n(h),A=n(1759),f={};f.styleTagTransform=v(),f.setAttributes=d(),f.insert=c().bind(null,"head"),f.domAPI=s(),f.insertStyleElement=m(),r()(A.Z,f),A.Z&&A.Z.locals&&A.Z.locals;var g=n(1900),b=n(9158),y=n.n(b),C=(0,g.Z)(o,(function(){var e=this,t=e._self._c;return t("li",{staticClass:"action"},[t("a",{staticClass:"action-link focusable",attrs:{download:e.download,href:e.href,"aria-label":e.ariaLabel,target:e.target,title:e.title,rel:"nofollow noreferrer noopener"},on:{click:e.onClick}},[e._t("icon",(function(){return[t("span",{staticClass:"action-link__icon",class:[e.isIconUrl?"action-link__icon--url":e.icon],style:{backgroundImage:e.isIconUrl?"url(".concat(e.icon,")"):null},attrs:{"aria-hidden":e.ariaHidden}})]})),e._v(" "),e.nameTitleFallback?t("p",[t("strong",{staticClass:"action-link__title"},[e._v("\n\t\t\t\t"+e._s(e.nameTitleFallback)+"\n\t\t\t")]),e._v(" "),t("br"),e._v(" "),t("span",{staticClass:"action-link__longtext",domProps:{textContent:e._s(e.text)}})]):e.isLongText?t("p",{staticClass:"action-link__longtext",domProps:{textContent:e._s(e.text)}}):t("span",{staticClass:"action-link__text"},[e._v(e._s(e.text))]),e._v(" "),e._e()],2)])}),[],!1,null,"1ba1edf1",null);"function"==typeof y()&&y()(C);const w=C.exports},1484:(e,t,n)=>{"use strict";n.d(t,{default:()=>g});const o={name:"NcActionRouter",mixins:[n(1139).Z],props:{to:{type:[String,Object],default:"",required:!0},exact:{type:Boolean,default:!1}}};var i=n(3379),r=n.n(i),a=n(7795),s=n.n(a),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),m=n.n(p),h=n(4589),v=n.n(h),A=n(2180),f={};f.styleTagTransform=v(),f.setAttributes=d(),f.insert=c().bind(null,"head"),f.domAPI=s(),f.insertStyleElement=m(),r()(A.Z,f),A.Z&&A.Z.locals&&A.Z.locals;const g=(0,n(1900).Z)(o,(function(){var e=this,t=e._self._c;return t("li",{staticClass:"action"},[t("router-link",{staticClass:"action-router focusable",attrs:{to:e.to,"aria-label":e.ariaLabel,exact:e.exact,title:e.title,rel:"nofollow noreferrer noopener"},nativeOn:{click:function(t){return e.onClick.apply(null,arguments)}}},[e._t("icon",(function(){return[t("span",{staticClass:"action-router__icon",class:[e.isIconUrl?"action-router__icon--url":e.icon],style:{backgroundImage:e.isIconUrl?"url(".concat(e.icon,")"):null}})]})),e._v(" "),e.nameTitleFallback?t("p",[t("strong",{staticClass:"action-router__title"},[e._v("\n\t\t\t\t"+e._s(e.nameTitleFallback)+"\n\t\t\t")]),e._v(" "),t("br"),e._v(" "),t("span",{staticClass:"action-router__longtext",domProps:{textContent:e._s(e.text)}})]):e.isLongText?t("p",{staticClass:"action-router__longtext",domProps:{textContent:e._s(e.text)}}):t("span",{staticClass:"action-router__text"},[e._v(e._s(e.text))]),e._v(" "),e._e()],2)],1)}),[],!1,null,"ab5e8848",null).exports},644:(e,t,n)=>{"use strict";n.d(t,{default:()=>L});var o=n(9104),i=n(5825),r=n(1205),a=n(932),s=n(2734),l=n.n(s),c=n(1441),u=n.n(c);function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function m(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&void 0!==arguments[0])||arguments[0];this.opened&&(this.opened=!1,this.$refs.popover.clearFocusTrap({returnFocus:e}),this.$emit("update:open",!1),this.$emit("close"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.$el.focus())},onOpen:function(e){var t=this;this.$nextTick((function(){t.focusFirstAction(e)}))},onMouseFocusAction:function(e){if(document.activeElement!==e.target){var t=e.target.closest("li");if(t){var n=t.querySelector(f);if(n){var o=v(this.$refs.menu.querySelectorAll(f)).indexOf(n);o>-1&&(this.focusIndex=o,this.focusAction())}}}},onKeydown:function(e){(38===e.keyCode||9===e.keyCode&&e.shiftKey)&&this.focusPreviousAction(e),(40===e.keyCode||9===e.keyCode&&!e.shiftKey)&&this.focusNextAction(e),33===e.keyCode&&this.focusFirstAction(e),34===e.keyCode&&this.focusLastAction(e),27===e.keyCode&&(this.closeMenu(),e.preventDefault())},removeCurrentActive:function(){var e=this.$refs.menu.querySelector("li.active");e&&e.classList.remove("active")},focusAction:function(){var e=this.$refs.menu.querySelectorAll(f)[this.focusIndex];if(e){this.removeCurrentActive();var t=e.closest("li.action");e.focus(),t&&t.classList.add("active")}},focusPreviousAction:function(e){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(e){if(this.opened){var t=this.$refs.menu.querySelectorAll(f).length-1;this.focusIndex===t?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=0,this.focusAction())},focusLastAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=this.$refs.menu.querySelectorAll(f).length-1,this.focusAction())},preventIfEvent:function(e){e&&(e.preventDefault(),e.stopPropagation())},onFocus:function(e){this.$emit("focus",e)},onBlur:function(e){this.$emit("blur",e)}},render:function(e){var t=this,n=(this.$slots.default||[]).filter((function(e){var t,n,o,i;return(null==e||null===(t=e.componentOptions)||void 0===t?void 0:t.tag)||(null==e||null===(n=e.componentOptions)||void 0===n||null===(o=n.Ctor)||void 0===o||null===(i=o.extendOptions)||void 0===i?void 0:i.name)})),o=n.every((function(e){var t,n,o,i,r,a,s,l;return"NcActionLink"===(null!==(t=null==e||null===(n=e.componentOptions)||void 0===n||null===(o=n.Ctor)||void 0===o||null===(i=o.extendOptions)||void 0===i?void 0:i.name)&&void 0!==t?t:null==e||null===(r=e.componentOptions)||void 0===r?void 0:r.tag)&&(null==e||null===(a=e.componentOptions)||void 0===a||null===(s=a.propsData)||void 0===s||null===(l=s.href)||void 0===l?void 0:l.startsWith(window.location.origin))})),i=n.filter(this.isValidSingleAction);if(this.forceMenu&&i.length>0&&this.inline>0&&(l().util.warn("Specifying forceMenu will ignore any inline actions rendering."),i=[]),0!==n.length){var r=function(n){var o,i,r,a,s,l,c,u,d,p,h,v,A,f,g,b,y,C,w,k,S,x,_=(null==n||null===(o=n.data)||void 0===o||null===(i=o.scopedSlots)||void 0===i||null===(r=i.icon())||void 0===r?void 0:r[0])||e("span",{class:["icon",null==n||null===(a=n.componentOptions)||void 0===a||null===(s=a.propsData)||void 0===s?void 0:s.icon]}),j=null==n||null===(l=n.componentOptions)||void 0===l||null===(c=l.listeners)||void 0===c?void 0:c.click,N=null==n||null===(u=n.componentOptions)||void 0===u||null===(d=u.children)||void 0===d||null===(p=d[0])||void 0===p||null===(h=p.text)||void 0===h||null===(v=h.trim)||void 0===v?void 0:v.call(h),z=(null==n||null===(A=n.componentOptions)||void 0===A||null===(f=A.propsData)||void 0===f?void 0:f.ariaLabel)||N,P=t.forceTitle?N:"",E=null==n||null===(g=n.componentOptions)||void 0===g||null===(b=g.propsData)||void 0===b?void 0:b.title;return t.forceTitle||E||(E=N),e("NcButton",{class:["action-item action-item--single",null==n||null===(y=n.data)||void 0===y?void 0:y.staticClass,null==n||null===(C=n.data)||void 0===C?void 0:C.class],attrs:{"aria-label":z,title:E},ref:null==n||null===(w=n.data)||void 0===w?void 0:w.ref,props:m({type:t.type||(P?"secondary":"tertiary"),disabled:t.disabled||(null==n||null===(k=n.componentOptions)||void 0===k||null===(S=k.propsData)||void 0===S?void 0:S.disabled),ariaHidden:t.ariaHidden},null==n||null===(x=n.componentOptions)||void 0===x?void 0:x.propsData),on:m({focus:t.onFocus,blur:t.onBlur},!!j&&{click:function(e){j&&j(e)}})},[e("template",{slot:"icon"},[_]),P])},a=function(n){var i,r,a=(null===(i=t.$slots.icon)||void 0===i?void 0:i[0])||(t.defaultIcon?e("span",{class:["icon",t.defaultIcon]}):e("DotsHorizontal",{props:{size:20}}));return e("NcPopover",{ref:"popover",props:{delay:0,handleResize:!0,shown:t.opened,placement:t.placement,boundary:t.boundariesElement,container:t.container,popoverBaseClass:"action-item__popper",setReturnFocus:null===(r=t.$refs.menuButton)||void 0===r?void 0:r.$el},attrs:{delay:0,handleResize:!0,shown:t.opened,placement:t.placement,boundary:t.boundariesElement,container:t.container,popoverBaseClass:"action-item__popper"},on:{show:t.openMenu,"after-show":t.onOpen,hide:t.closeMenu}},[e("NcButton",{class:"action-item__menutoggle",props:{type:t.triggerBtnType,disabled:t.disabled,ariaHidden:t.ariaHidden},slot:"trigger",ref:"menuButton",attrs:{"aria-haspopup":o?null:"menu","aria-label":t.ariaLabel,"aria-controls":t.opened?t.randomId:null,"aria-expanded":t.opened.toString()},on:{focus:t.onFocus,blur:t.onBlur}},[e("template",{slot:"icon"},[a]),t.menuTitle]),e("div",{class:{open:t.opened},attrs:{tabindex:"-1"},on:{keydown:t.onKeydown,mousemove:t.onMouseFocusAction},ref:"menu"},[e("ul",{attrs:{id:t.randomId,tabindex:"-1",role:o?null:"menu"}},[n])])])};if(1===n.length&&1===i.length&&!this.forceMenu)return r(i[0]);if(i.length>0&&this.inline>0){var s=i.slice(0,this.inline),c=n.filter((function(e){return!s.includes(e)}));return e("div",{class:["action-items","action-item--".concat(this.triggerBtnType)]},[].concat(v(s.map(r)),[c.length>0?e("div",{class:["action-item",{"action-item--open":this.opened}]},[a(c)]):null]))}return e("div",{class:["action-item action-item--default-popover","action-item--".concat(this.triggerBtnType),{"action-item--open":this.opened}]},[a(n)])}}};var b=n(3379),y=n.n(b),C=n(7795),w=n.n(C),k=n(569),S=n.n(k),x=n(3565),_=n.n(x),j=n(9216),N=n.n(j),z=n(4589),P=n.n(z),E=n(8827),O={};O.styleTagTransform=P(),O.setAttributes=_(),O.insert=S().bind(null,"head"),O.domAPI=w(),O.insertStyleElement=N(),y()(E.Z,O),E.Z&&E.Z.locals&&E.Z.locals;var T=n(5565),B={};B.styleTagTransform=P(),B.setAttributes=_(),B.insert=S().bind(null,"head"),B.domAPI=w(),B.insertStyleElement=N(),y()(T.Z,B),T.Z&&T.Z.locals&&T.Z.locals;var D=n(1900),F=n(5727),I=n.n(F),$=(0,D.Z)(g,void 0,void 0,!1,null,"20a3e950",null);"function"==typeof I()&&I()($);const L=$.exports},6882:(e,t,n)=>{"use strict";n.d(t,{default:()=>E});var i=n(644),r=n(1205),a=n(9044),s=n.n(a);function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function u(e){for(var t=1;t{"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;tj});const l={name:"NcButton",props:{disabled:{type:Boolean,default:!1},type:{type:String,validator:function(e){return-1!==["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].indexOf(e)},default:"secondary"},nativeType:{type:String,validator:function(e){return-1!==["submit","reset","button"].indexOf(e)},default:"button"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},href:{type:String,default:null},to:{type:[String,Object],default:null},exact:{type:Boolean,default:!1},ariaHidden:{type:Boolean,default:null}},render:function(e){var t,n,i,r,l,c=this,u=null===(t=this.$slots.default)||void 0===t||null===(n=t[0])||void 0===n||null===(i=n.text)||void 0===i||null===(r=i.trim)||void 0===r?void 0:r.call(i),d=!!u,p=null===(l=this.$slots)||void 0===l?void 0:l.icon;u||this.ariaLabel||o.warn("You need to fill either the text or the ariaLabel props in the button component.",{text:u,ariaLabel:this.ariaLabel},this);var m=function(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=n.navigate,i=n.isActive,r=n.isExactActive;return e(c.to||!c.href?"button":"a",{class:["button-vue",(t={"button-vue--icon-only":p&&!d,"button-vue--text-only":d&&!p,"button-vue--icon-and-text":p&&d},s(t,"button-vue--vue-".concat(c.type),c.type),s(t,"button-vue--wide",c.wide),s(t,"active",i),s(t,"router-link-exact-active",r),t)],attrs:a({"aria-label":c.ariaLabel,disabled:c.disabled,type:c.href?null:c.nativeType,role:c.href?"button":null,href:!c.to&&c.href?c.href:null},c.$attrs),on:a(a({},c.$listeners),{},{click:function(e){var t,n;null===(t=c.$listeners)||void 0===t||null===(n=t.click)||void 0===n||n.call(t,e),null==o||o(e)}})},[e("span",{class:"button-vue__wrapper"},[p?e("span",{class:"button-vue__icon",attrs:{"aria-hidden":c.ariaHidden}},[c.$slots.icon]):null,d?e("span",{class:"button-vue__text"},[u]):null])])};return this.to?e("router-link",{props:{custom:!0,to:this.to,exact:this.exact},scopedSlots:{default:m}}):m()}};var c=n(3379),u=n.n(c),d=n(7795),p=n.n(d),m=n(569),h=n.n(m),v=n(3565),A=n.n(v),f=n(9216),g=n.n(f),b=n(4589),y=n.n(b),C=n(1898),w={};w.styleTagTransform=y(),w.setAttributes=A(),w.insert=h().bind(null,"head"),w.domAPI=p(),w.insertStyleElement=g(),u()(C.Z,w),C.Z&&C.Z.locals&&C.Z.locals;var k=n(1900),S=n(2102),x=n.n(S),_=(0,k.Z)(l,void 0,void 0,!1,null,"2e49be1e",null);"function"==typeof x()&&x()(_);const j=_.exports},5825:(e,t,n)=>{"use strict";n.d(t,{default:()=>P});var i=n(9454),r=n(4505),a=n(1206);function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function l(){l=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},r=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function d(e,t,n,i){var r=t&&t.prototype instanceof h?t:h,a=Object.create(r.prototype),s=new j(i||[]);return o(a,"_invoke",{value:k(e,n,s)}),a}function p(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=d;var m={};function h(){}function v(){}function A(){}var f={};u(f,r,(function(){return this}));var g=Object.getPrototypeOf,b=g&&g(g(N([])));b&&b!==t&&n.call(b,r)&&(f=b);var y=A.prototype=h.prototype=Object.create(f);function C(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function w(e,t){function i(o,r,a,l){var c=p(e[o],e,r);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==s(d)&&n.call(d,"__await")?t.resolve(d.__await).then((function(e){i("next",e,a,l)}),(function(e){i("throw",e,a,l)})):t.resolve(d).then((function(e){u.value=e,a(u)}),(function(e){return i("throw",e,a,l)}))}l(c.arg)}var r;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){i(e,n,t,o)}))}return r=r?r.then(o,o):o()}})}function k(e,t,n){var o="suspendedStart";return function(i,r){if("executing"===o)throw new Error("Generator is already running");if("completed"===o){if("throw"===i)throw r;return{value:void 0,done:!0}}for(n.method=i,n.arg=r;;){var a=n.delegate;if(a){var s=S(a,n);if(s){if(s===m)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===o)throw o="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o="executing";var l=p(e,t,n);if("normal"===l.type){if(o=n.done?"completed":"suspendedYield",l.arg===m)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o="completed",n.method="throw",n.arg=l.arg)}}}function S(e,t){var n=t.method,o=e.iterator[n];if(void 0===o)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,S(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var i=p(o,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,m;var r=i.arg;return r?r.done?(t[e.resultName]=r.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,m):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,m)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function j(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function N(e){if(e){var t=e[r];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function t(){for(;++o=0;--i){var r=this.tryEntries[i],a=r.completion;if("root"===r.tryLoc)return o("end");if(r.tryLoc<=this.prev){var s=n.call(r,"catchLoc"),l=n.call(r,"finallyLoc");if(s&&l){if(this.prev=0;--o){var i=this.tryEntries[o];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),_(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var i=o.arg;_(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:N(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),m}},e}function c(e,t,n,o,i,r,a){try{var s=e[r](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(o,i)}const u={name:"NcPopover",components:{Dropdown:i.Dropdown},inheritAttrs:!1,props:{popoverBaseClass:{type:String,default:""},focusTrap:{type:Boolean,default:!0},setReturnFocus:{default:void 0,type:[HTMLElement,SVGElement,String,Boolean]}},emits:["after-show","after-hide"],beforeDestroy:function(){this.clearFocusTrap()},methods:{useFocusTrap:function(){var e,t=this;return(e=l().mark((function e(){var n,o,i;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.$nextTick();case 2:if(t.focusTrap){e.next=4;break}return e.abrupt("return");case 4:if(i=null===(n=t.$refs.popover)||void 0===n||null===(o=n.$refs.popperContent)||void 0===o?void 0:o.$el){e.next=7;break}return e.abrupt("return");case 7:t.$focusTrap=(0,r.createFocusTrap)(i,{escapeDeactivates:!1,allowOutsideClick:!0,setReturnFocus:t.setReturnFocus,trapStack:(0,a.L)()}),t.$focusTrap.activate();case 9:case"end":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(o,i){var r=e.apply(t,n);function a(e){c(r,o,i,a,s,"next",e)}function s(e){c(r,o,i,a,s,"throw",e)}a(void 0)}))})()},clearFocusTrap:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{var t;null===(t=this.$focusTrap)||void 0===t||t.deactivate(e),this.$focusTrap=null}catch(e){o.warn(e)}},afterShow:function(){var e=this;this.$nextTick((function(){e.$emit("after-show"),e.useFocusTrap()}))},afterHide:function(){this.$emit("after-hide"),this.clearFocusTrap()}}},d=u;var p=n(3379),m=n.n(p),h=n(7795),v=n.n(h),A=n(569),f=n.n(A),g=n(3565),b=n.n(g),y=n(9216),C=n.n(y),w=n(4589),k=n.n(w),S=n(4401),x={};x.styleTagTransform=k(),x.setAttributes=b(),x.insert=f().bind(null,"head"),x.domAPI=v(),x.insertStyleElement=C(),m()(S.Z,x),S.Z&&S.Z.locals&&S.Z.locals;var _=n(1900),j=n(2405),N=n.n(j),z=(0,_.Z)(d,(function(){var e=this;return(0,e._self._c)("Dropdown",e._g(e._b({ref:"popover",attrs:{distance:10,"arrow-padding":10,"no-auto-focus":!0,"popper-class":e.popoverBaseClass},on:{"apply-show":e.afterShow,"apply-hide":e.afterHide},scopedSlots:e._u([{key:"popper",fn:function(){return[e._t("default")]},proxy:!0}],null,!0)},"Dropdown",e.$attrs,!1),e.$listeners),[e._t("trigger")],2)}),[],!1,null,null,null);"function"==typeof N()&&N()(z);const P=z.exports},932:(e,t,n)=>{"use strict";n.d(t,{t:()=>r});var o=(0,n(7931).getGettextBuilder)().detectLocale();[{locale:"ar",translations:{"{tag} (invisible)":"{tag} (غير مرئي)","{tag} (restricted)":"{tag} (مقيد)",Actions:"الإجراءات",Activities:"النشاطات","Animals & Nature":"الحيوانات والطبيعة","Anything shared with the same group of people will show up here":"أي مادة تمت مشاركتها مع نفس المجموعة من الأشخاص سيتم عرضها هنا","Avatar of {displayName}":"صورة {displayName} الرمزية","Avatar of {displayName}, {status}":"صورة {displayName} الرمزية، {status}","Cancel changes":"إلغاء التغييرات","Change title":"تغيير العنوان",Choose:"إختيار","Clear text":"مسح النص",Close:"أغلق","Close modal":"قفل الشرط","Close navigation":"إغلاق المتصفح","Close sidebar":"قفل الشريط الجانبي","Confirm changes":"تأكيد التغييرات",Custom:"مخصص","Edit item":"تعديل عنصر","Error getting related resources":"خطأ في تحصيل مصادر ذات صلة","External documentation for {title}":"الوثائق الخارجية لـ{title}",Favorite:"مفضلة",Flags:"الأعلام","Food & Drink":"الطعام والشراب","Frequently used":"كثيرا ما تستخدم",Global:"عالمي","Go back to the list":"العودة إلى القائمة","Hide password":"إخفاء كلمة السر","Message limit of {count} characters reached":"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف","More items …":"عناصر أخرى ...",Next:"التالي","No emoji found":"لم يتم العثور على أي رمز تعبيري","No results":"ليس هناك أية نتيجة",Objects:"الأشياء",Open:"فتح",'Open link to "{resourceTitle}"':'فتح رابط إلى "{resourceTitle}"',"Open navigation":"فتح المتصفح","Password is secure":"كلمة السر مُؤمّنة","Pause slideshow":"إيقاف العرض مؤقتًا","People & Body":"الناس والجسم","Pick an emoji":"اختر رمزًا تعبيريًا","Please select a time zone:":"الرجاء تحديد المنطقة الزمنية:",Previous:"السابق","Related resources":"مصادر ذات صلة",Search:"بحث","Search results":"نتائج البحث","Select a tag":"اختر علامة",Settings:"الإعدادات","Settings navigation":"إعدادات المتصفح","Show password":"أعرض كلمة السر","Smileys & Emotion":"الوجوه و الرموز التعبيرية","Start slideshow":"بدء العرض",Submit:"إرسال",Symbols:"الرموز","Travel & Places":"السفر والأماكن","Type to search time zone":"اكتب للبحث عن منطقة زمنية","Unable to search the group":"تعذر البحث في المجموعة","Undo changes":"التراجع عن التغييرات","Write message, @ to mention someone, : for emoji autocompletion …":"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ..."}},{locale:"br",translations:{"{tag} (invisible)":"{tag} (diwelus)","{tag} (restricted)":"{tag} (bevennet)",Actions:"Oberioù",Activities:"Oberiantizoù","Animals & Nature":"Loened & Natur",Choose:"Dibab",Close:"Serriñ",Custom:"Personelañ",Flags:"Bannieloù","Food & Drink":"Boued & Evajoù","Frequently used":"Implijet alies",Next:"Da heul","No emoji found":"Emoji ebet kavet","No results":"Disoc'h ebet",Objects:"Traoù","Pause slideshow":"Arsav an diaporama","People & Body":"Tud & Korf","Pick an emoji":"Choaz un emoji",Previous:"A-raok",Search:"Klask","Search results":"Disoc'hoù an enklask","Select a tag":"Choaz ur c'hlav",Settings:"Arventennoù","Smileys & Emotion":"Smileyioù & Fromoù","Start slideshow":"Kregiñ an diaporama",Symbols:"Arouezioù","Travel & Places":"Beaj & Lec'hioù","Unable to search the group":"Dibosupl eo klask ar strollad"}},{locale:"ca",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringit)",Actions:"Accions",Activities:"Activitats","Animals & Nature":"Animals i natura","Anything shared with the same group of people will show up here":"Qualsevol cosa compartida amb el mateix grup de persones es mostrarà aquí","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancel·la els canvis","Change title":"Canviar títol",Choose:"Tria","Clear text":"Netejar text",Close:"Tanca","Close modal":"Tancar el mode","Close navigation":"Tanca la navegació","Close sidebar":"Tancar la barra lateral","Confirm changes":"Confirmeu els canvis",Custom:"Personalitzat","Edit item":"Edita l'element","Error getting related resources":"Error obtenint els recursos relacionats","Error parsing svg":"Error en l'anàlisi del svg","External documentation for {title}":"Documentació externa per a {title}",Favorite:"Preferit",Flags:"Marques","Food & Drink":"Menjar i begudes","Frequently used":"Utilitzats recentment",Global:"Global","Go back to the list":"Torna a la llista","Hide password":"Amagar contrasenya","Message limit of {count} characters reached":"S'ha arribat al límit de {count} caràcters per missatge","More items …":"Més artícles...",Next:"Següent","No emoji found":"No s'ha trobat cap emoji","No results":"Sense resultats",Objects:"Objectes",Open:"Obrir",'Open link to "{resourceTitle}"':'Obrir enllaç a "{resourceTitle}"',"Open navigation":"Obre la navegació","Password is secure":"Contrasenya segura
","Pause slideshow":"Atura la presentació","People & Body":"Persones i cos","Pick an emoji":"Trieu un emoji","Please select a time zone:":"Seleccioneu una zona horària:",Previous:"Anterior","Related resources":"Recursos relacionats",Search:"Cerca","Search results":"Resultats de cerca","Select a tag":"Seleccioneu una etiqueta",Settings:"Paràmetres","Settings navigation":"Navegació d'opcions","Show password":"Mostrar contrasenya","Smileys & Emotion":"Cares i emocions","Start slideshow":"Inicia la presentació",Submit:"Envia",Symbols:"Símbols","Travel & Places":"Viatges i llocs","Type to search time zone":"Escriviu per cercar la zona horària","Unable to search the group":"No es pot cercar el grup","Undo changes":"Desfés els canvis",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escriu missatge, fes servir "@" per esmentar algú, fes servir ":" per autocompletar emojis...'}},{locale:"cs_CZ",translations:{"{tag} (invisible)":"{tag} (neviditelné)","{tag} (restricted)":"{tag} (omezené)",Actions:"Akce",Activities:"Aktivity","Animals & Nature":"Zvířata a příroda","Anything shared with the same group of people will show up here":"Cokoli nasdíleného stejné skupině lidí se zobrazí zde","Avatar of {displayName}":"Zástupný obrázek uživatele {displayName}","Avatar of {displayName}, {status}":"Zástupný obrázek uživatele {displayName}, {status}","Cancel changes":"Zrušit změny","Change title":"Změnit nadpis",Choose:"Zvolit","Clear text":"Čitelný text",Close:"Zavřít","Close modal":"Zavřít dialogové okno","Close navigation":"Zavřít navigaci","Close sidebar":"Zavřít postranní panel","Confirm changes":"Potvrdit změny",Custom:"Uživatelsky určené","Edit item":"Upravit položku","Error getting related resources":"Chyba při získávání souvisejících prostředků","Error parsing svg":"Chyba při zpracovávání svg","External documentation for {title}":"Externí dokumentace k {title}",Favorite:"Oblíbené",Flags:"Příznaky","Food & Drink":"Jídlo a pití","Frequently used":"Často používané",Global:"Globální","Go back to the list":"Jít zpět na seznam","Hide password":"Skrýt heslo","Message limit of {count} characters reached":"Dosaženo limitu počtu ({count}) znaků zprávy","More items …":"Další položky…",Next:"Následující","No emoji found":"Nenalezeno žádné emoji","No results":"Nic nenalezeno",Objects:"Objekty",Open:"Otevřít",'Open link to "{resourceTitle}"':"Otevřít odkaz na „{resourceTitle}“","Open navigation":"Otevřít navigaci","Password is secure":"Heslo je bezpečné","Pause slideshow":"Pozastavit prezentaci","People & Body":"Lidé a tělo","Pick an emoji":"Vybrat emoji","Please select a time zone:":"Vyberte časovou zónu:",Previous:"Předchozí","Related resources":"Související prostředky",Search:"Hledat","Search results":"Výsledky hledání","Select a tag":"Vybrat štítek",Settings:"Nastavení","Settings navigation":"Pohyb po nastavení","Show password":"Zobrazit heslo","Smileys & Emotion":"Úsměvy a emoce","Start slideshow":"Spustit prezentaci",Submit:"Odeslat",Symbols:"Symboly","Travel & Places":"Cestování a místa","Type to search time zone":"Psaním vyhledejte časovou zónu","Unable to search the group":"Nedaří se hledat skupinu","Undo changes":"Vzít změny zpět",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem „@“ (zavináč); automatické doplňování emotikonů zahájíte napsáním „:“ (dvojtečky)…"}},{locale:"da",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (begrænset)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr & Natur","Anything shared with the same group of people will show up here":"Alt der deles med samme gruppe af personer vil vises her","Avatar of {displayName}":"Avatar af {displayName}","Avatar of {displayName}, {status}":"Avatar af {displayName}, {status}","Cancel changes":"Annuller ændringer","Change title":"Ret titel",Choose:"Vælg","Clear text":"Ryd tekst",Close:"Luk","Close modal":"Luk vindue","Close navigation":"Luk navigation","Close sidebar":"Luk sidepanel","Confirm changes":"Bekræft ændringer",Custom:"Brugerdefineret","Edit item":"Rediger emne","Error getting related resources":"Kunne ikke hente tilknyttede data","Error parsing svg":"Fejl ved analysering af svg","External documentation for {title}":"Ekstern dokumentation for {title}",Favorite:"Favorit",Flags:"Flag","Food & Drink":"Mad & Drikke","Frequently used":"Ofte brugt",Global:"Global","Go back to the list":"Tilbage til listen","Hide password":"Skjul kodeord","Message limit of {count} characters reached":"Begrænsning på {count} tegn er nået","More items …":"Mere ...",Next:"Videre","No emoji found":"Ingen emoji fundet","No results":"Ingen resultater",Objects:"Objekter",Open:"Åbn",'Open link to "{resourceTitle}"':'Åbn link til "{resourceTitle}"',"Open navigation":"Åbn navigation","Password is secure":"Kodeordet er sikkert","Pause slideshow":"Suspender fremvisning","People & Body":"Mennesker & Menneskekroppen","Pick an emoji":"Vælg en emoji","Please select a time zone:":"Vælg venligst en tidszone:",Previous:"Forrige","Related resources":"Relaterede emner",Search:"Søg","Search results":"Søgeresultater","Select a tag":"Vælg et mærke",Settings:"Indstillinger","Settings navigation":"Naviger i indstillinger","Show password":"Vis kodeord","Smileys & Emotion":"Smileys & Emotion","Start slideshow":"Start fremvisning",Submit:"Send",Symbols:"Symboler","Travel & Places":"Rejser & Rejsemål","Type to search time zone":"Indtast for at søge efter tidszone","Unable to search the group":"Kan ikke søge på denne gruppe","Undo changes":"Fortryd ændringer",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv besked, brug "@" for at nævne nogen, brug ":" til emoji-autofuldførelse ...'}},{locale:"de",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Anything shared with the same group of people will show up here":"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt","Avatar of {displayName}":"Avatar von {displayName}","Avatar of {displayName}, {status}":"Avatar von {displayName}, {status}","Cancel changes":"Änderungen verwerfen","Change title":"Titel ändern",Choose:"Auswählen","Clear text":"Klartext",Close:"Schließen","Close modal":"Modal schließen","Close navigation":"Navigation schließen","Close sidebar":"Seitenleiste schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","Edit item":"Objekt bearbeiten","Error getting related resources":"Fehler beim Abrufen verwandter Ressourcen","Error parsing svg":"Fehler beim Einlesen der SVG","External documentation for {title}":"Externe Dokumentation für {title}",Favorite:"Favorit",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Go back to the list":"Zurück zur Liste","Hide password":"Passwort verbergen","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht","More items …":"Weitere Elemente …",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Gegenstände",Open:"Öffnen",'Open link to "{resourceTitle}"':'Link zu "{resourceTitle}" öffnen',"Open navigation":"Navigation öffnen","Password is secure":"Passwort ist sicher","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte wählen Sie eine Zeitzone:",Previous:"Vorherige","Related resources":"Verwandte Ressourcen",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Show password":"Passwort anzeigen","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um Zeitzone zu suchen","Unable to search the group":"Die Gruppe konnte nicht durchsucht werden","Undo changes":"Änderungen rückgängig machen",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Nachricht schreiben, "@" um jemanden zu erwähnen, ":" für die automatische Vervollständigung von Emojis …'}},{locale:"de_DE",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Anything shared with the same group of people will show up here":"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt","Avatar of {displayName}":"Avatar von {displayName}","Avatar of {displayName}, {status}":"Avatar von {displayName}, {status}","Cancel changes":"Änderungen verwerfen","Change title":"Titel ändern",Choose:"Auswählen","Clear text":"Klartext",Close:"Schließen","Close modal":"Modal schließen","Close navigation":"Navigation schließen","Close sidebar":"Seitenleiste schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","Edit item":"Objekt bearbeiten","Error getting related resources":"Fehler beim Abrufen verwandter Ressourcen","Error parsing svg":"Fehler beim Einlesen der SVG","External documentation for {title}":"Externe Dokumentation für {title}",Favorite:"Favorit",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Go back to the list":"Zurück zur Liste","Hide password":"Passwort verbergen","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht","More items …":"Weitere Elemente …",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Objekte",Open:"Öffnen",'Open link to "{resourceTitle}"':'Link zu "{resourceTitle}" öffnen',"Open navigation":"Navigation öffnen","Password is secure":"Passwort ist sicher","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte eine Zeitzone auswählen:",Previous:"Vorherige","Related resources":"Verwandte Ressourcen",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Show password":"Passwort anzeigen","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um eine Zeitzone zu suchen","Unable to search the group":"Die Gruppe kann nicht durchsucht werden","Undo changes":"Änderungen rückgängig machen",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Nachricht schreiben, "@" um jemanden zu erwähnen, ":" für die automatische Vervollständigung von Emojis …'}},{locale:"el",translations:{"{tag} (invisible)":"{tag} (αόρατο)","{tag} (restricted)":"{tag} (περιορισμένο)",Actions:"Ενέργειες",Activities:"Δραστηριότητες","Animals & Nature":"Ζώα & Φύση","Anything shared with the same group of people will show up here":"Οτιδήποτε μοιράζεται με την ίδια ομάδα ατόμων θα εμφανίζεται εδώ","Avatar of {displayName}":"Άβαταρ του {displayName}","Avatar of {displayName}, {status}":"Άβαταρ του {displayName}, {status}","Cancel changes":"Ακύρωση αλλαγών","Change title":"Αλλαγή τίτλου",Choose:"Επιλογή","Clear text":"Εκκαθάριση κειμένου",Close:"Κλείσιμο","Close modal":"Βοηθητικό κλείσιμο","Close navigation":"Κλείσιμο πλοήγησης","Close sidebar":"Κλείσιμο πλευρικής μπάρας","Confirm changes":"Επιβεβαίωση αλλαγών",Custom:"Προσαρμογή","Edit item":"Επεξεργασία","Error getting related resources":"Σφάλμα λήψης σχετικών πόρων","Error parsing svg":"Σφάλμα ανάλυσης svg","External documentation for {title}":"Εξωτερική τεκμηρίωση για {title}",Favorite:"Αγαπημένα",Flags:"Σημαίες","Food & Drink":"Φαγητό & Ποτό","Frequently used":"Συχνά χρησιμοποιούμενο",Global:"Καθολικό","Go back to the list":"Επιστροφή στην αρχική λίστα ","Hide password":"Απόκρυψη κωδικού πρόσβασης","Message limit of {count} characters reached":"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος","More items …":"Περισσότερα στοιχεία …",Next:"Επόμενο","No emoji found":"Δεν βρέθηκε emoji","No results":"Κανένα αποτέλεσμα",Objects:"Αντικείμενα",Open:"Άνοιγμα",'Open link to "{resourceTitle}"':'Άνοιγμα συνδέσμου στο "{resourceTitle}"',"Open navigation":"Άνοιγμα πλοήγησης","Password is secure":"Ο κωδικός πρόσβασης είναι ασφαλής","Pause slideshow":"Παύση προβολής διαφανειών","People & Body":"Άνθρωποι & Σώμα","Pick an emoji":"Επιλέξτε ένα emoji","Please select a time zone:":"Παρακαλούμε επιλέξτε μια ζώνη ώρας:",Previous:"Προηγούμενο","Related resources":"Σχετικοί πόροι",Search:"Αναζήτηση","Search results":"Αποτελέσματα αναζήτησης","Select a tag":"Επιλογή ετικέτας",Settings:"Ρυθμίσεις","Settings navigation":"Πλοήγηση ρυθμίσεων","Show password":"Εμφάνιση κωδικού πρόσβασης","Smileys & Emotion":"Φατσούλες & Συναίσθημα","Start slideshow":"Έναρξη προβολής διαφανειών",Submit:"Υποβολή",Symbols:"Σύμβολα","Travel & Places":"Ταξίδια & Τοποθεσίες","Type to search time zone":"Πληκτρολογήστε για αναζήτηση ζώνης ώρας","Unable to search the group":"Δεν είναι δυνατή η αναζήτηση της ομάδας","Undo changes":"Αναίρεση Αλλαγών",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Γράψτε μήνυμα, χρησιμοποιείστε "@" για να αναφέρετε κάποιον, χρησιμοποιείστε ":" για αυτόματη συμπλήρωση emoji …'}},{locale:"en_GB",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restricted)",Actions:"Actions",Activities:"Activities","Animals & Nature":"Animals & Nature","Anything shared with the same group of people will show up here":"Anything shared with the same group of people will show up here","Avatar of {displayName}":"Avatar of {displayName}","Avatar of {displayName}, {status}":"Avatar of {displayName}, {status}","Cancel changes":"Cancel changes","Change title":"Change title",Choose:"Choose","Clear text":"Clear text",Close:"Close","Close modal":"Close modal","Close navigation":"Close navigation","Close sidebar":"Close sidebar","Confirm changes":"Confirm changes",Custom:"Custom","Edit item":"Edit item","Error getting related resources":"Error getting related resources","Error parsing svg":"Error parsing svg","External documentation for {title}":"External documentation for {title}",Favorite:"Favourite",Flags:"Flags","Food & Drink":"Food & Drink","Frequently used":"Frequently used",Global:"Global","Go back to the list":"Go back to the list","Hide password":"Hide password","Message limit of {count} characters reached":"Message limit of {count} characters reached","More items …":"More items …",Next:"Next","No emoji found":"No emoji found","No results":"No results",Objects:"Objects",Open:"Open",'Open link to "{resourceTitle}"':'Open link to "{resourceTitle}"',"Open navigation":"Open navigation","Password is secure":"Password is secure","Pause slideshow":"Pause slideshow","People & Body":"People & Body","Pick an emoji":"Pick an emoji","Please select a time zone:":"Please select a time zone:",Previous:"Previous","Related resources":"Related resources",Search:"Search","Search results":"Search results","Select a tag":"Select a tag",Settings:"Settings","Settings navigation":"Settings navigation","Show password":"Show password","Smileys & Emotion":"Smileys & Emotion","Start slideshow":"Start slideshow",Submit:"Submit",Symbols:"Symbols","Travel & Places":"Travel & Places","Type to search time zone":"Type to search time zone","Unable to search the group":"Unable to search the group","Undo changes":"Undo changes",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Write message, use "@" to mention someone, use ":" for emoji autocompletion …'}},{locale:"eo",translations:{"{tag} (invisible)":"{tag} (kaŝita)","{tag} (restricted)":"{tag} (limigita)",Actions:"Agoj",Activities:"Aktiveco","Animals & Nature":"Bestoj & Naturo",Choose:"Elektu",Close:"Fermu",Custom:"Propra",Flags:"Flagoj","Food & Drink":"Manĝaĵo & Trinkaĵo","Frequently used":"Ofte uzataj","Message limit of {count} characters reached":"La limo je {count} da literoj atingita",Next:"Sekva","No emoji found":"La emoĝio forestas","No results":"La rezulto forestas",Objects:"Objektoj","Pause slideshow":"Payzi bildprezenton","People & Body":"Homoj & Korpo","Pick an emoji":"Elekti emoĝion ",Previous:"Antaŭa",Search:"Serĉi","Search results":"Serĉrezultoj","Select a tag":"Elektu etikedon",Settings:"Agordo","Settings navigation":"Agorda navigado","Smileys & Emotion":"Ridoj kaj Emocioj","Start slideshow":"Komenci bildprezenton",Symbols:"Signoj","Travel & Places":"Vojaĵoj & Lokoj","Unable to search the group":"Ne eblas serĉi en la grupo","Write message, @ to mention someone …":"Mesaĝi, uzu @ por mencii iun ..."}},{locale:"es",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringido)",Actions:"Acciones",Activities:"Actividades","Animals & Nature":"Animales y naturaleza","Anything shared with the same group of people will show up here":"Cualquier cosa que sea compartida con el mismo grupo de personas se mostrará aquí","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancelar cambios","Change title":"Cambiar título",Choose:"Elegir","Clear text":"Limpiar texto",Close:"Cerrar","Close modal":"Cerrar modal","Close navigation":"Cerrar navegación","Close sidebar":"Cerrar barra lateral","Confirm changes":"Confirmar cambios",Custom:"Personalizado","Edit item":"Editar elemento","Error getting related resources":"Se encontró un error al obtener los recursos relacionados","Error parsing svg":"Error procesando svg","External documentation for {title}":"Documentacion externa de {title}",Favorite:"Favorito",Flags:"Banderas","Food & Drink":"Comida y bebida","Frequently used":"Usado con frecuenca",Global:"Global","Go back to the list":"Volver a la lista","Hide password":"Ocultar contraseña","Message limit of {count} characters reached":"El mensaje ha alcanzado el límite de {count} caracteres","More items …":"Más ítems...",Next:"Siguiente","No emoji found":"No hay ningún emoji","No results":" Ningún resultado",Objects:"Objetos",Open:"Abrir",'Open link to "{resourceTitle}"':'Abrir enlace a "{resourceTitle}"',"Open navigation":"Abrir navegación","Password is secure":"La contraseña es segura","Pause slideshow":"Pausar la presentación ","People & Body":"Personas y cuerpos","Pick an emoji":"Elegir un emoji","Please select a time zone:":"Por favor elige un huso de horario:",Previous:"Anterior","Related resources":"Recursos relacionados",Search:"Buscar","Search results":"Resultados de la búsqueda","Select a tag":"Seleccione una etiqueta",Settings:"Ajustes","Settings navigation":"Navegación por ajustes","Show password":"Mostrar contraseña","Smileys & Emotion":"Smileys y emoticonos","Start slideshow":"Iniciar la presentación",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viajes y lugares","Type to search time zone":"Escribe para buscar un huso de horario","Unable to search the group":"No es posible buscar en el grupo","Undo changes":"Deshacer cambios",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escribir mensaje, utilice "@" para mencionar a alguien, utilice ":" para autocompletado de emojis ...'}},{locale:"eu",translations:{"{tag} (invisible)":"{tag} (ikusezina)","{tag} (restricted)":"{tag} (mugatua)",Actions:"Ekintzak",Activities:"Jarduerak","Animals & Nature":"Animaliak eta Natura","Anything shared with the same group of people will show up here":"Pertsona-talde berarekin partekatutako edozer agertuko da hemen","Avatar of {displayName}":"{displayName}-(e)n irudia","Avatar of {displayName}, {status}":"{displayName} -(e)n irudia, {status}","Cancel changes":"Ezeztatu aldaketak","Change title":"Aldatu titulua",Choose:"Aukeratu","Clear text":"Garbitu testua",Close:"Itxi","Close modal":"Itxi modala","Close navigation":"Itxi nabigazioa","Close sidebar":"Itxi albo-barra","Confirm changes":"Baieztatu aldaketak",Custom:"Pertsonalizatua","Edit item":"Editatu elementua","Error getting related resources":"Errorea erlazionatutako baliabideak lortzerakoan","Error parsing svg":"Errore bat gertatu da svg-a analizatzean","External documentation for {title}":"Kanpoko dokumentazioa {title}(r)entzat",Favorite:"Gogokoa",Flags:"Banderak","Food & Drink":"Janaria eta edariak","Frequently used":"Askotan erabilia",Global:"Globala","Go back to the list":"Bueltatu zerrendara","Hide password":"Ezkutatu pasahitza","Message limit of {count} characters reached":"Mezuaren {count} karaketere-limitera heldu zara","More items …":"Elementu gehiago …",Next:"Hurrengoa","No emoji found":"Ez da emojirik aurkitu","No results":"Emaitzarik ez",Objects:"Objektuak",Open:"Ireki",'Open link to "{resourceTitle}"':'Ireki esteka: "{resourceTitle}"',"Open navigation":"Ireki nabigazioa","Password is secure":"Pasahitza segurua da","Pause slideshow":"Pausatu diaporama","People & Body":"Jendea eta gorputza","Pick an emoji":"Hautatu emoji bat","Please select a time zone:":"Mesedez hautatu ordu-zona bat:",Previous:"Aurrekoa","Related resources":"Erlazionatutako baliabideak",Search:"Bilatu","Search results":"Bilaketa emaitzak","Select a tag":"Hautatu etiketa bat",Settings:"Ezarpenak","Settings navigation":"Nabigazio ezarpenak","Show password":"Erakutsi pasahitza","Smileys & Emotion":"Smileyak eta emozioa","Start slideshow":"Hasi diaporama",Submit:"Bidali",Symbols:"Sinboloak","Travel & Places":"Bidaiak eta lekuak","Type to search time zone":"Idatzi ordu-zona bat bilatzeko","Unable to search the group":"Ezin izan da taldea bilatu","Undo changes":"Aldaketak desegin",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Idatzi mezua, erabili "@" norbait aipatzeko, erabili ":" emojiak automatikoki osatzeko...'}},{locale:"fi_FI",translations:{"{tag} (invisible)":"{tag} (näkymätön)","{tag} (restricted)":"{tag} (rajoitettu)",Actions:"Toiminnot",Activities:"Aktiviteetit","Animals & Nature":"Eläimet & luonto","Avatar of {displayName}":"Käyttäjän {displayName} avatar","Avatar of {displayName}, {status}":"Käyttäjän {displayName} avatar, {status}","Cancel changes":"Peruuta muutokset",Choose:"Valitse",Close:"Sulje","Close navigation":"Sulje navigaatio","Confirm changes":"Vahvista muutokset",Custom:"Mukautettu","Edit item":"Muokkaa kohdetta","External documentation for {title}":"Ulkoinen dokumentaatio kohteelle {title}",Flags:"Liput","Food & Drink":"Ruoka & juoma","Frequently used":"Usein käytetyt",Global:"Yleinen","Go back to the list":"Siirry takaisin listaan","Message limit of {count} characters reached":"Viestin merkken enimmäisimäärä {count} täynnä ",Next:"Seuraava","No emoji found":"Emojia ei löytynyt","No results":"Ei tuloksia",Objects:"Esineet & asiat","Open navigation":"Avaa navigaatio","Pause slideshow":"Keskeytä diaesitys","People & Body":"Ihmiset & keho","Pick an emoji":"Valitse emoji","Please select a time zone:":"Valitse aikavyöhyke:",Previous:"Edellinen",Search:"Etsi","Search results":"Hakutulokset","Select a tag":"Valitse tagi",Settings:"Asetukset","Settings navigation":"Asetusnavigaatio","Smileys & Emotion":"Hymiöt & tunteet","Start slideshow":"Aloita diaesitys",Submit:"Lähetä",Symbols:"Symbolit","Travel & Places":"Matkustus & kohteet","Type to search time zone":"Kirjoita etsiäksesi aikavyöhyke","Unable to search the group":"Ryhmää ei voi hakea","Undo changes":"Kumoa muutokset","Write message, @ to mention someone, : for emoji autocompletion …":"Kirjoita viesti, @ mainitaksesi käyttäjän, : emojin automaattitäydennykseen…"}},{locale:"fr",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restreint)",Actions:"Actions",Activities:"Activités","Animals & Nature":"Animaux & Nature","Anything shared with the same group of people will show up here":"Tout ce qui est partagé avec le même groupe de personnes apparaîtra ici","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Annuler les modifications","Change title":"Modifier le titre",Choose:"Choisir","Clear text":"Effacer le texte",Close:"Fermer","Close modal":"Fermer la fenêtre","Close navigation":"Fermer la navigation","Close sidebar":"Fermer la barre latérale","Confirm changes":"Confirmer les modifications",Custom:"Personnalisé","Edit item":"Éditer l'élément","Error getting related resources":"Erreur à la récupération des ressources liées","Error parsing svg":"Erreur d'analyse SVG","External documentation for {title}":"Documentation externe pour {title}",Favorite:"Favori",Flags:"Drapeaux","Food & Drink":"Nourriture & Boissons","Frequently used":"Utilisés fréquemment",Global:"Global","Go back to the list":"Retourner à la liste","Hide password":"Cacher le mot de passe","Message limit of {count} characters reached":"Limite de messages de {count} caractères atteinte","More items …":"Plus d'éléments...",Next:"Suivant","No emoji found":"Pas d’émoji trouvé","No results":"Aucun résultat",Objects:"Objets",Open:"Ouvrir",'Open link to "{resourceTitle}"':'Ouvrir le lien vers "{resourceTitle}"',"Open navigation":"Ouvrir la navigation","Password is secure":"Le mot de passe est sécurisé","Pause slideshow":"Mettre le diaporama en pause","People & Body":"Personnes & Corps","Pick an emoji":"Choisissez un émoji","Please select a time zone:":"Sélectionnez un fuseau horaire : ",Previous:"Précédent","Related resources":"Ressources liées",Search:"Chercher","Search results":"Résultats de recherche","Select a tag":"Sélectionnez une balise",Settings:"Paramètres","Settings navigation":"Navigation dans les paramètres","Show password":"Afficher le mot de passe","Smileys & Emotion":"Smileys & Émotions","Start slideshow":"Démarrer le diaporama",Submit:"Valider",Symbols:"Symboles","Travel & Places":"Voyage & Lieux","Type to search time zone":"Saisissez les premiers lettres pour rechercher un fuseau horaire","Unable to search the group":"Impossible de chercher le groupe","Undo changes":"Annuler les changements",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Écrire un message, utiliser "@" pour mentionner une personne, ":" pour l\'autocomplétion des émojis...'}},{locale:"gl",translations:{"{tag} (invisible)":"{tag} (invisíbel)","{tag} (restricted)":"{tag} (restrinxido)",Actions:"Accións",Activities:"Actividades","Animals & Nature":"Animais e natureza","Cancel changes":"Cancelar os cambios",Choose:"Escoller",Close:"Pechar","Confirm changes":"Confirma os cambios",Custom:"Personalizado","External documentation for {title}":"Documentación externa para {title}",Flags:"Bandeiras","Food & Drink":"Comida e bebida","Frequently used":"Usado con frecuencia","Message limit of {count} characters reached":"Acadouse o límite de {count} caracteres por mensaxe",Next:"Seguinte","No emoji found":"Non se atopou ningún «emoji»","No results":"Sen resultados",Objects:"Obxectos","Pause slideshow":"Pausar o diaporama","People & Body":"Persoas e corpo","Pick an emoji":"Escolla un «emoji»",Previous:"Anterir",Search:"Buscar","Search results":"Resultados da busca","Select a tag":"Seleccione unha etiqueta",Settings:"Axustes","Settings navigation":"Navegación polos axustes","Smileys & Emotion":"Sorrisos e emocións","Start slideshow":"Iniciar o diaporama",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viaxes e lugares","Unable to search the group":"Non foi posíbel buscar o grupo","Write message, @ to mention someone …":"Escriba a mensaxe, @ para mencionar a alguén…"}},{locale:"he",translations:{"{tag} (invisible)":"{tag} (נסתר)","{tag} (restricted)":"{tag} (מוגבל)",Actions:"פעולות",Activities:"פעילויות","Animals & Nature":"חיות וטבע",Choose:"בחירה",Close:"סגירה",Custom:"בהתאמה אישית",Flags:"דגלים","Food & Drink":"מזון ומשקאות","Frequently used":"בשימוש תדיר",Next:"הבא","No emoji found":"לא נמצא אמוג׳י","No results":"אין תוצאות",Objects:"חפצים","Pause slideshow":"השהיית מצגת","People & Body":"אנשים וגוף","Pick an emoji":"נא לבחור אמוג׳י",Previous:"הקודם",Search:"חיפוש","Search results":"תוצאות חיפוש","Select a tag":"בחירת תגית",Settings:"הגדרות","Smileys & Emotion":"חייכנים ורגשונים","Start slideshow":"התחלת המצגת",Symbols:"סמלים","Travel & Places":"טיולים ומקומות","Unable to search the group":"לא ניתן לחפש בקבוצה"}},{locale:"hu_HU",translations:{"{tag} (invisible)":"{tag} (láthatatlan)","{tag} (restricted)":"{tag} (korlátozott)",Actions:"Műveletek",Activities:"Tevékenységek","Animals & Nature":"Állatok és természet","Anything shared with the same group of people will show up here":"Minden, amit ugyanazzal a csoporttal oszt meg, itt fog megjelenni","Avatar of {displayName}":"{displayName} profilképe","Avatar of {displayName}, {status}":"{displayName} profilképe, {status}","Cancel changes":"Változtatások elvetése","Change title":"Cím megváltoztatása",Choose:"Válassszon","Clear text":"Szöveg törlése",Close:"Bezárás","Close modal":"Ablak bezárása","Close navigation":"Navigáció bezárása","Close sidebar":"Oldalsáv bezárása","Confirm changes":"Változtatások megerősítése",Custom:"Egyéni","Edit item":"Elem szerkesztése","Error getting related resources":"Hiba a kapcsolódó erőforrások lekérésekor","Error parsing svg":"Hiba az SVG feldolgozásakor","External documentation for {title}":"Külső dokumentáció ehhez: {title}",Favorite:"Kedvenc",Flags:"Zászlók","Food & Drink":"Étel és ital","Frequently used":"Gyakran használt",Global:"Globális","Go back to the list":"Ugrás vissza a listához","Hide password":"Jelszó elrejtése","Message limit of {count} characters reached":"{count} karakteres üzenetkorlát elérve","More items …":"További elemek...",Next:"Következő","No emoji found":"Nem található emodzsi","No results":"Nincs találat",Objects:"Tárgyak",Open:"Megnyitás",'Open link to "{resourceTitle}"':"A(z) „{resourceTitle}” hivatkozásának megnyitása","Open navigation":"Navigáció megnyitása","Password is secure":"A jelszó biztonságos","Pause slideshow":"Diavetítés szüneteltetése","People & Body":"Emberek és test","Pick an emoji":"Válasszon egy emodzsit","Please select a time zone:":"Válasszon időzónát:",Previous:"Előző","Related resources":"Kapcsolódó erőforrások",Search:"Keresés","Search results":"Találatok","Select a tag":"Válasszon címkét",Settings:"Beállítások","Settings navigation":"Navigáció a beállításokban","Show password":"Jelszó megjelenítése","Smileys & Emotion":"Mosolyok és érzelmek","Start slideshow":"Diavetítés indítása",Submit:"Beküldés",Symbols:"Szimbólumok","Travel & Places":"Utazás és helyek","Type to search time zone":"Gépeljen az időzóna kereséséhez","Unable to search the group":"A csoport nem kereshető","Undo changes":"Változtatások visszavonása",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':"Írjon egy üzenetet, használja a „@”-ot valaki megemlítéséhet, illetve a „:”-ot az emodzsik automatikus kiegészítéséhez…"}},{locale:"is",translations:{"{tag} (invisible)":"{tag} (ósýnilegt)","{tag} (restricted)":"{tag} (takmarkað)",Actions:"Aðgerðir",Activities:"Aðgerðir","Animals & Nature":"Dýr og náttúra",Choose:"Velja",Close:"Loka",Custom:"Sérsniðið",Flags:"Flögg","Food & Drink":"Matur og drykkur","Frequently used":"Oftast notað",Next:"Næsta","No emoji found":"Ekkert tjáningartákn fannst","No results":"Engar niðurstöður",Objects:"Hlutir","Pause slideshow":"Gera hlé á skyggnusýningu","People & Body":"Fólk og líkami","Pick an emoji":"Veldu tjáningartákn",Previous:"Fyrri",Search:"Leita","Search results":"Leitarniðurstöður","Select a tag":"Veldu merki",Settings:"Stillingar","Smileys & Emotion":"Broskallar og tilfinningar","Start slideshow":"Byrja skyggnusýningu",Symbols:"Tákn","Travel & Places":"Staðir og ferðalög","Unable to search the group":"Get ekki leitað í hópnum"}},{locale:"it",translations:{"{tag} (invisible)":"{tag} (invisibile)","{tag} (restricted)":"{tag} (limitato)",Actions:"Azioni",Activities:"Attività","Animals & Nature":"Animali e natura","Anything shared with the same group of people will show up here":"Tutto ciò che è stato condiviso con lo stesso gruppo di persone viene visualizzato qui","Avatar of {displayName}":"Avatar di {displayName}","Avatar of {displayName}, {status}":"Avatar di {displayName}, {status}","Cancel changes":"Annulla modifiche","Change title":"Modifica il titolo",Choose:"Scegli","Clear text":"Cancella il testo",Close:"Chiudi","Close modal":"Chiudi il messaggio modale","Close navigation":"Chiudi la navigazione","Close sidebar":"Chiudi la barra laterale","Confirm changes":"Conferma modifiche",Custom:"Personalizzato","Edit item":"Modifica l'elemento","Error getting related resources":"Errore nell'ottenere risorse correlate","Error parsing svg":"Errore nell'analizzare l'svg","External documentation for {title}":"Documentazione esterna per {title}",Favorite:"Preferito",Flags:"Bandiere","Food & Drink":"Cibo e bevande","Frequently used":"Usati di frequente",Global:"Globale","Go back to the list":"Torna all'elenco","Hide password":"Nascondi la password","Message limit of {count} characters reached":"Limite dei messaggi di {count} caratteri raggiunto","More items …":"Più elementi ...",Next:"Successivo","No emoji found":"Nessun emoji trovato","No results":"Nessun risultato",Objects:"Oggetti",Open:"Apri",'Open link to "{resourceTitle}"':'Apri il link a "{resourceTitle}"',"Open navigation":"Apri la navigazione","Password is secure":"La password è sicura","Pause slideshow":"Presentazione in pausa","People & Body":"Persone e corpo","Pick an emoji":"Scegli un emoji","Please select a time zone:":"Si prega di selezionare un fuso orario:",Previous:"Precedente","Related resources":"Risorse correlate",Search:"Cerca","Search results":"Risultati di ricerca","Select a tag":"Seleziona un'etichetta",Settings:"Impostazioni","Settings navigation":"Navigazione delle impostazioni","Show password":"Mostra la password","Smileys & Emotion":"Faccine ed emozioni","Start slideshow":"Avvia presentazione",Submit:"Invia",Symbols:"Simboli","Travel & Places":"Viaggi e luoghi","Type to search time zone":"Digita per cercare un fuso orario","Unable to search the group":"Impossibile cercare il gruppo","Undo changes":"Cancella i cambiamenti",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Scrivi un messaggio, "@" per menzionare qualcuno, ":" per il completamento automatico delle emoji ...'}},{locale:"ja_JP",translations:{"{tag} (invisible)":"{タグ} (不可視)","{tag} (restricted)":"{タグ} (制限付)",Actions:"操作",Activities:"アクティビティ","Animals & Nature":"動物と自然","Anything shared with the same group of people will show up here":"同じグループで共有しているものは、全てここに表示されます","Avatar of {displayName}":"{displayName} のアバター","Avatar of {displayName}, {status}":"{displayName}, {status} のアバター","Cancel changes":"変更をキャンセル","Change title":"タイトルを変更",Choose:"選択","Clear text":"テキストをクリア",Close:"閉じる","Close modal":"モーダルを閉じる","Close navigation":"ナビゲーションを閉じる","Close sidebar":"サイドバーを閉じる","Confirm changes":"変更を承認",Custom:"カスタム","Edit item":"編集","Error getting related resources":"関連リソースの取得エラー","Error parsing svg":"svgの解析エラー","External documentation for {title}":"{title} のための添付文書",Favorite:"お気に入り",Flags:"国旗","Food & Drink":"食べ物と飲み物","Frequently used":"よく使うもの",Global:"全体","Go back to the list":"リストに戻る","Hide password":"パスワードを非表示","Message limit of {count} characters reached":"{count} 文字のメッセージ上限に達しています","More items …":"他のアイテム",Next:"次","No emoji found":"絵文字が見つかりません","No results":"なし",Objects:"物",Open:"開く",'Open link to "{resourceTitle}"':'"{resourceTitle}"のリンクを開く',"Open navigation":"ナビゲーションを開く","Password is secure":"パスワードは保護されています","Pause slideshow":"スライドショーを一時停止","People & Body":"様々な人と体の部位","Pick an emoji":"絵文字を選択","Please select a time zone:":"タイムゾーンを選んで下さい:",Previous:"前","Related resources":"関連リソース",Search:"検索","Search results":"検索結果","Select a tag":"タグを選択",Settings:"設定","Settings navigation":"ナビゲーション設定","Show password":"パスワードを表示","Smileys & Emotion":"感情表現","Start slideshow":"スライドショーを開始",Submit:"提出",Symbols:"記号","Travel & Places":"旅行と場所","Type to search time zone":"タイムゾーン検索のため入力してください","Unable to search the group":"グループを検索できません","Undo changes":"変更を取り消し",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'メッセージを記入、"@"でメンション、":"で絵文字の自動補完 ...'}},{locale:"lt_LT",translations:{"{tag} (invisible)":"{tag} (nematoma)","{tag} (restricted)":"{tag} (apribota)",Actions:"Veiksmai",Activities:"Veiklos","Animals & Nature":"Gyvūnai ir gamta",Choose:"Pasirinkti",Close:"Užverti",Custom:"Tinkinti","External documentation for {title}":"Išorinė {title} dokumentacija",Flags:"Vėliavos","Food & Drink":"Maistas ir gėrimai","Frequently used":"Dažniausiai naudoti","Message limit of {count} characters reached":"Pasiekta {count} simbolių žinutės riba",Next:"Kitas","No emoji found":"Nerasta jaustukų","No results":"Nėra rezultatų",Objects:"Objektai","Pause slideshow":"Pristabdyti skaidrių rodymą","People & Body":"Žmonės ir kūnas","Pick an emoji":"Pasirinkti jaustuką",Previous:"Ankstesnis",Search:"Ieškoti","Search results":"Paieškos rezultatai","Select a tag":"Pasirinkti žymę",Settings:"Nustatymai","Settings navigation":"Naršymas nustatymuose","Smileys & Emotion":"Šypsenos ir emocijos","Start slideshow":"Pradėti skaidrių rodymą",Submit:"Pateikti",Symbols:"Simboliai","Travel & Places":"Kelionės ir vietos","Unable to search the group":"Nepavyko atlikti paiešką grupėje","Write message, @ to mention someone …":"Rašykite žinutę, naudokite @ norėdami kažką paminėti…"}},{locale:"lv",translations:{"{tag} (invisible)":"{tag} (neredzams)","{tag} (restricted)":"{tag} (ierobežots)",Choose:"Izvēlēties",Close:"Aizvērt",Next:"Nākamais","No results":"Nav rezultātu","Pause slideshow":"Pauzēt slaidrādi",Previous:"Iepriekšējais","Select a tag":"Izvēlēties birku",Settings:"Iestatījumi","Start slideshow":"Sākt slaidrādi"}},{locale:"mk",translations:{"{tag} (invisible)":"{tag} (невидливо)","{tag} (restricted)":"{tag} (ограничено)",Actions:"Акции",Activities:"Активности","Animals & Nature":"Животни & Природа","Avatar of {displayName}":"Аватар на {displayName}","Avatar of {displayName}, {status}":"Аватар на {displayName}, {status}","Cancel changes":"Откажи ги промените","Change title":"Промени наслов",Choose:"Избери",Close:"Затвори","Close modal":"Затвори модал","Close navigation":"Затвори навигација","Confirm changes":"Потврди ги промените",Custom:"Прилагодени","Edit item":"Уреди","External documentation for {title}":"Надворешна документација за {title}",Favorite:"Фаворити",Flags:"Знамиња","Food & Drink":"Храна & Пијалоци","Frequently used":"Најчесто користени",Global:"Глобално","Go back to the list":"Врати се на листата",items:"ставки","Message limit of {count} characters reached":"Ограничувањето на должината на пораката од {count} карактери е надминато","More {dashboardItemType} …":"Повеќе {dashboardItemType} …",Next:"Следно","No emoji found":"Не се пронајдени емотикони","No results":"Нема резултати",Objects:"Објекти",Open:"Отвори","Open navigation":"Отвори навигација","Pause slideshow":"Пузирај слајдшоу","People & Body":"Луѓе & Тело","Pick an emoji":"Избери емотикон","Please select a time zone:":"Изберете временска зона:",Previous:"Предходно",Search:"Барај","Search results":"Резултати од барувањето","Select a tag":"Избери ознака",Settings:"Параметри","Settings navigation":"Параметри за навигација","Smileys & Emotion":"Смешковци & Емотикони","Start slideshow":"Стартувај слајдшоу",Submit:"Испрати",Symbols:"Симболи","Travel & Places":"Патувања & Места","Type to search time zone":"Напишете за да пребарате временска зона","Unable to search the group":"Неможе да се принајде групата","Undo changes":"Врати ги промените","Write message, @ to mention someone, : for emoji autocompletion …":"Напиши порака, @ за да спомнете некого, : за емотинони автоатско комплетирање ..."}},{locale:"my",translations:{"{tag} (invisible)":"{tag} (ကွယ်ဝှက်ထား)","{tag} (restricted)":"{tag} (ကန့်သတ်)",Actions:"လုပ်ဆောင်ချက်များ",Activities:"ပြုလုပ်ဆောင်တာများ","Animals & Nature":"တိရစ္ဆာန်များနှင့် သဘာဝ","Avatar of {displayName}":"{displayName} ၏ ကိုယ်ပွား","Cancel changes":"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်",Choose:"ရွေးချယ်ရန်",Close:"ပိတ်ရန်","Confirm changes":"ပြောင်းလဲမှုများ အတည်ပြုရန်",Custom:"အလိုကျချိန်ညှိမှု","External documentation for {title}":"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း",Flags:"အလံများ","Food & Drink":"အစားအသောက်","Frequently used":"မကြာခဏအသုံးပြုသော",Global:"ကမ္ဘာလုံးဆိုင်ရာ","Message limit of {count} characters reached":"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ",Next:"နောက်သို့ဆက်ရန်","No emoji found":"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ","No results":"ရလဒ်မရှိပါ",Objects:"အရာဝတ္ထုများ","Pause slideshow":"စလိုက်ရှိုး ခေတ္တရပ်ရန်","People & Body":"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်","Pick an emoji":"အီမိုဂျီရွေးရန်","Please select a time zone:":"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ",Previous:"ယခင်",Search:"ရှာဖွေရန်","Search results":"ရှာဖွေမှု ရလဒ်များ","Select a tag":"tag ရွေးချယ်ရန်",Settings:"ချိန်ညှိချက်များ","Settings navigation":"ချိန်ညှိချက်အညွှန်း","Smileys & Emotion":"စမိုင်လီများနှင့် အီမိုရှင်း","Start slideshow":"စလိုက်ရှိုးအား စတင်ရန်",Submit:"တင်သွင်းရန်",Symbols:"သင်္ကေတများ","Travel & Places":"ခရီးသွားလာခြင်းနှင့် နေရာများ","Type to search time zone":"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ","Unable to search the group":"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ","Write message, @ to mention someone …":"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်..."}},{locale:"nb_NO",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (beskyttet)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr og natur","Anything shared with the same group of people will show up here":"Alt som er delt med den samme gruppen vil vises her","Avatar of {displayName}":"Avataren til {displayName}","Avatar of {displayName}, {status}":"{displayName}'s avatar, {status}","Cancel changes":"Avbryt endringer","Change title":"Endre tittel",Choose:"Velg","Clear text":"Fjern tekst",Close:"Lukk","Close modal":"Lukk modal","Close navigation":"Lukk navigasjon","Close sidebar":"Lukk sidepanel","Confirm changes":"Bekreft endringer",Custom:"Tilpasset","Edit item":"Rediger","Error getting related resources":"Feil ved henting av relaterte ressurser","Error parsing svg":"Feil ved parsing av svg","External documentation for {title}":"Ekstern dokumentasjon for {title}",Favorite:"Favoritt",Flags:"Flagg","Food & Drink":"Mat og drikke","Frequently used":"Ofte brukt",Global:"Global","Go back to the list":"Gå tilbake til listen","Hide password":"Skjul passord","Message limit of {count} characters reached":"Karakter begrensing {count} nådd i melding","More items …":"Flere gjenstander...",Next:"Neste","No emoji found":"Fant ingen emoji","No results":"Ingen resultater",Objects:"Objekter",Open:"Åpne",'Open link to "{resourceTitle}"':'Åpne link til "{resourceTitle}"',"Open navigation":"Åpne navigasjon","Password is secure":"Passordet er sikkert","Pause slideshow":"Pause lysbildefremvisning","People & Body":"Mennesker og kropp","Pick an emoji":"Velg en emoji","Please select a time zone:":"Vennligst velg tidssone",Previous:"Forrige","Related resources":"Relaterte ressurser",Search:"Søk","Search results":"Søkeresultater","Select a tag":"Velg en merkelapp",Settings:"Innstillinger","Settings navigation":"Navigasjonsinstillinger","Show password":"Vis passord","Smileys & Emotion":"Smilefjes og følelser","Start slideshow":"Start lysbildefremvisning",Submit:"Send",Symbols:"Symboler","Travel & Places":"Reise og steder","Type to search time zone":"Tast for å søke etter tidssone","Unable to search the group":"Kunne ikke søke i gruppen","Undo changes":"Tilbakestill endringer",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv melding, bruk "@" for å nevne noen, bruk ":" for autofullføring av emoji...'}},{locale:"nl",translations:{"{tag} (invisible)":"{tag} (onzichtbaar)","{tag} (restricted)":"{tag} (beperkt)",Actions:"Acties",Activities:"Activiteiten","Animals & Nature":"Dieren & Natuur","Avatar of {displayName}":"Avatar van {displayName}","Avatar of {displayName}, {status}":"Avatar van {displayName}, {status}","Cancel changes":"Wijzigingen annuleren",Choose:"Kies",Close:"Sluiten","Close navigation":"Navigatie sluiten","Confirm changes":"Wijzigingen bevestigen",Custom:"Aangepast","Edit item":"Item bewerken","External documentation for {title}":"Externe documentatie voor {title}",Flags:"Vlaggen","Food & Drink":"Eten & Drinken","Frequently used":"Vaak gebruikt",Global:"Globaal","Go back to the list":"Ga terug naar de lijst","Message limit of {count} characters reached":"Berichtlimiet van {count} karakters bereikt",Next:"Volgende","No emoji found":"Geen emoji gevonden","No results":"Geen resultaten",Objects:"Objecten","Open navigation":"Navigatie openen","Pause slideshow":"Pauzeer diavoorstelling","People & Body":"Mensen & Lichaam","Pick an emoji":"Kies een emoji","Please select a time zone:":"Selecteer een tijdzone:",Previous:"Vorige",Search:"Zoeken","Search results":"Zoekresultaten","Select a tag":"Selecteer een label",Settings:"Instellingen","Settings navigation":"Instellingen navigatie","Smileys & Emotion":"Smileys & Emotie","Start slideshow":"Start diavoorstelling",Submit:"Verwerken",Symbols:"Symbolen","Travel & Places":"Reizen & Plaatsen","Type to search time zone":"Type om de tijdzone te zoeken","Unable to search the group":"Kan niet in de groep zoeken","Undo changes":"Wijzigingen ongedaan maken","Write message, @ to mention someone, : for emoji autocompletion …":"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ..."}},{locale:"oc",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (limit)",Actions:"Accions",Choose:"Causir",Close:"Tampar",Next:"Seguent","No results":"Cap de resultat","Pause slideshow":"Metre en pausa lo diaporama",Previous:"Precedent","Select a tag":"Seleccionar una etiqueta",Settings:"Paramètres","Start slideshow":"Lançar lo diaporama"}},{locale:"pl",translations:{"{tag} (invisible)":"{tag} (niewidoczna)","{tag} (restricted)":"{tag} (ograniczona)",Actions:"Działania",Activities:"Aktywność","Animals & Nature":"Zwierzęta i natura","Anything shared with the same group of people will show up here":"Tutaj pojawi się wszystko, co zostało udostępnione tej samej grupie osób","Avatar of {displayName}":"Awatar {displayName}","Avatar of {displayName}, {status}":"Awatar {displayName}, {status}","Cancel changes":"Anuluj zmiany","Change title":"Zmień tytuł",Choose:"Wybierz","Clear text":"Wyczyść tekst",Close:"Zamknij","Close modal":"Zamknij modal","Close navigation":"Zamknij nawigację","Close sidebar":"Zamknij pasek boczny","Confirm changes":"Potwierdź zmiany",Custom:"Zwyczajne","Edit item":"Edytuj element","Error getting related resources":"Błąd podczas pobierania powiązanych zasobów","Error parsing svg":"Błąd podczas analizowania svg","External documentation for {title}":"Dokumentacja zewnętrzna dla {title}",Favorite:"Ulubiony",Flags:"Flagi","Food & Drink":"Jedzenie i picie","Frequently used":"Często używane",Global:"Globalnie","Go back to the list":"Powrót do listy","Hide password":"Ukryj hasło","Message limit of {count} characters reached":"Przekroczono limit wiadomości wynoszący {count} znaków","More items …":"Więcej pozycji…",Next:"Następny","No emoji found":"Nie znaleziono emoji","No results":"Brak wyników",Objects:"Obiekty",Open:"Otwórz",'Open link to "{resourceTitle}"':'Otwórz link do "{resourceTitle}"',"Open navigation":"Otwórz nawigację","Password is secure":"Hasło jest bezpieczne","Pause slideshow":"Wstrzymaj pokaz slajdów","People & Body":"Ludzie i ciało","Pick an emoji":"Wybierz emoji","Please select a time zone:":"Wybierz strefę czasową:",Previous:"Poprzedni","Related resources":"Powiązane zasoby",Search:"Szukaj","Search results":"Wyniki wyszukiwania","Select a tag":"Wybierz etykietę",Settings:"Ustawienia","Settings navigation":"Ustawienia nawigacji","Show password":"Pokaż hasło","Smileys & Emotion":"Buźki i emotikony","Start slideshow":"Rozpocznij pokaz slajdów",Submit:"Wyślij",Symbols:"Symbole","Travel & Places":"Podróże i miejsca","Type to search time zone":"Wpisz, aby wyszukać strefę czasową","Unable to search the group":"Nie można przeszukać grupy","Undo changes":"Cofnij zmiany",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Napisz wiadomość, "@" aby o kimś wspomnieć, ":" dla autouzupełniania emoji…'}},{locale:"pt_BR",translations:{"{tag} (invisible)":"{tag} (invisível)","{tag} (restricted)":"{tag} (restrito) ",Actions:"Ações",Activities:"Atividades","Animals & Nature":"Animais & Natureza","Anything shared with the same group of people will show up here":"Qualquer coisa compartilhada com o mesmo grupo de pessoas aparecerá aqui","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancelar alterações","Change title":"Alterar título",Choose:"Escolher","Clear text":"Limpar texto",Close:"Fechar","Close modal":"Fechar modal","Close navigation":"Fechar navegação","Close sidebar":"Fechar barra lateral","Confirm changes":"Confirmar alterações",Custom:"Personalizado","Edit item":"Editar item","Error getting related resources":"Erro ao obter recursos relacionados","Error parsing svg":"Erro ao analisar svg","External documentation for {title}":"Documentação externa para {title}",Favorite:"Favorito",Flags:"Bandeiras","Food & Drink":"Comida & Bebida","Frequently used":"Mais usados",Global:"Global","Go back to the list":"Volte para a lista","Hide password":"Ocultar a senha","Message limit of {count} characters reached":"Limite de mensagem de {count} caracteres atingido","More items …":"Mais itens …",Next:"Próximo","No emoji found":"Nenhum emoji encontrado","No results":"Sem resultados",Objects:"Objetos",Open:"Aberto",'Open link to "{resourceTitle}"':'Abrir link para "{resourceTitle}"',"Open navigation":"Abrir navegação","Password is secure":"A senha é segura","Pause slideshow":"Pausar apresentação de slides","People & Body":"Pessoas & Corpo","Pick an emoji":"Escolha um emoji","Please select a time zone:":"Selecione um fuso horário: ",Previous:"Anterior","Related resources":"Recursos relacionados",Search:"Pesquisar","Search results":"Resultados da pesquisa","Select a tag":"Selecionar uma tag",Settings:"Configurações","Settings navigation":"Navegação de configurações","Show password":"Mostrar senha","Smileys & Emotion":"Smiles & Emoções","Start slideshow":"Iniciar apresentação de slides",Submit:"Enviar",Symbols:"Símbolo","Travel & Places":"Viagem & Lugares","Type to search time zone":"Digite para pesquisar o fuso horário ","Unable to search the group":"Não foi possível pesquisar o grupo","Undo changes":"Desfazer modificações",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Escreva mensagens, use "@" para mencionar algum, use ":" for autocompletar emoji …'}},{locale:"pt_PT",translations:{"{tag} (invisible)":"{tag} (invisivel)","{tag} (restricted)":"{tag} (restrito)",Actions:"Ações",Choose:"Escolher",Close:"Fechar",Next:"Seguinte","No results":"Sem resultados","Pause slideshow":"Pausar diaporama",Previous:"Anterior","Select a tag":"Selecionar uma etiqueta",Settings:"Definições","Start slideshow":"Iniciar diaporama","Unable to search the group":"Não é possível pesquisar o grupo"}},{locale:"ro",translations:{"{tag} (invisible)":"{tag} (invizibil)","{tag} (restricted)":"{tag} (restricționat)",Actions:"Acțiuni",Activities:"Activități","Animals & Nature":"Animale și natură","Anything shared with the same group of people will show up here":"Tot ceea ce este partajat cu același grup de persoane va fi afișat aici","Avatar of {displayName}":"Avatarul lui {displayName}","Avatar of {displayName}, {status}":"Avatarul lui {displayName}, {status}","Cancel changes":"Anulează modificările","Change title":"Modificați titlul",Choose:"Alegeți","Clear text":"Șterge textul",Close:"Închideți","Close modal":"Închideți modulul","Close navigation":"Închideți navigarea","Close sidebar":"Închide bara laterală","Confirm changes":"Confirmați modificările",Custom:"Personalizat","Edit item":"Editați elementul","Error getting related resources":" Eroare la returnarea resurselor legate","Error parsing svg":"Eroare de analizare a svg","External documentation for {title}":"Documentație externă pentru {title}",Favorite:"Favorit",Flags:"Marcaje","Food & Drink":"Alimente și băuturi","Frequently used":"Utilizate frecvent",Global:"Global","Go back to the list":"Întoarceți-vă la listă","Hide password":"Ascunde parola","Message limit of {count} characters reached":"Limita mesajului de {count} caractere a fost atinsă","More items …":"Mai multe articole ...",Next:"Următorul","No emoji found":"Nu s-a găsit niciun emoji","No results":"Nu există rezultate",Objects:"Obiecte",Open:"Deschideți",'Open link to "{resourceTitle}"':'Deschide legătura la "{resourceTitle}"',"Open navigation":"Deschideți navigația","Password is secure":"Parola este sigură","Pause slideshow":"Pauză prezentare de diapozitive","People & Body":"Oameni și corp","Pick an emoji":"Alege un emoji","Please select a time zone:":"Vă rugăm să selectați un fus orar:",Previous:"Anterior","Related resources":"Resurse legate",Search:"Căutare","Search results":"Rezultatele căutării","Select a tag":"Selectați o etichetă",Settings:"Setări","Settings navigation":"Navigare setări","Show password":"Arată parola","Smileys & Emotion":"Zâmbete și emoții","Start slideshow":"Începeți prezentarea de diapozitive",Submit:"Trimiteți",Symbols:"Simboluri","Travel & Places":"Călătorii și locuri","Type to search time zone":"Tastați pentru a căuta fusul orar","Unable to search the group":"Imposibilitatea de a căuta în grup","Undo changes":"Anularea modificărilor",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Scrie un mesaj, folosește "@" pentru a menționa pe cineva, folosește ":" pentru autocompletarea cu emoji ...'}},{locale:"ru",translations:{"{tag} (invisible)":"{tag} (невидимое)","{tag} (restricted)":"{tag} (ограниченное)",Actions:"Действия ",Activities:"События","Animals & Nature":"Животные и природа ","Avatar of {displayName}":"Аватар {displayName}","Avatar of {displayName}, {status}":"Фотография {displayName}, {status}","Cancel changes":"Отменить изменения",Choose:"Выберите",Close:"Закрыть","Close modal":"Закрыть модальное окно","Close navigation":"Закрыть навигацию","Confirm changes":"Подтвердить изменения",Custom:"Пользовательское","Edit item":"Изменить элемент","External documentation for {title}":"Внешняя документация для {title}",Flags:"Флаги","Food & Drink":"Еда, напиток","Frequently used":"Часто используемый",Global:"Глобальный","Go back to the list":"Вернуться к списку",items:"элементов","Message limit of {count} characters reached":"Достигнуто ограничение на количество символов в {count}","More {dashboardItemType} …":"Больше {dashboardItemType} …",Next:"Следующее","No emoji found":"Эмодзи не найдено","No results":"Результаты отсуствуют",Objects:"Объекты",Open:"Открыть","Open navigation":"Открыть навигацию","Pause slideshow":"Приостановить показ слйдов","People & Body":"Люди и тело","Pick an emoji":"Выберите эмодзи","Please select a time zone:":"Пожалуйста, выберите часовой пояс:",Previous:"Предыдущее",Search:"Поиск","Search results":"Результаты поиска","Select a tag":"Выберите метку",Settings:"Параметры","Settings navigation":"Навигация по настройкам","Smileys & Emotion":"Смайлики и эмоции","Start slideshow":"Начать показ слайдов",Submit:"Утвердить",Symbols:"Символы","Travel & Places":"Путешествия и места","Type to search time zone":"Введите для поиска часового пояса","Unable to search the group":"Невозможно найти группу","Undo changes":"Отменить изменения","Write message, @ to mention someone, : for emoji autocompletion …":"Напишите сообщение, @ - чтобы упомянуть кого-то, : - для автозаполнения эмодзи …"}},{locale:"sk_SK",translations:{"{tag} (invisible)":"{tag} (neviditeľný)","{tag} (restricted)":"{tag} (obmedzený)",Actions:"Akcie",Activities:"Aktivity","Animals & Nature":"Zvieratá a príroda","Avatar of {displayName}":"Avatar {displayName}","Avatar of {displayName}, {status}":"Avatar {displayName}, {status}","Cancel changes":"Zrušiť zmeny",Choose:"Vybrať",Close:"Zatvoriť","Close navigation":"Zavrieť navigáciu","Confirm changes":"Potvrdiť zmeny",Custom:"Zvyk","Edit item":"Upraviť položku","External documentation for {title}":"Externá dokumentácia pre {title}",Flags:"Vlajky","Food & Drink":"Jedlo a nápoje","Frequently used":"Často používané",Global:"Globálne","Go back to the list":"Naspäť na zoznam","Message limit of {count} characters reached":"Limit správy na {count} znakov dosiahnutý",Next:"Ďalší","No emoji found":"Nenašli sa žiadne emodži","No results":"Žiadne výsledky",Objects:"Objekty","Open navigation":"Otvoriť navigáciu","Pause slideshow":"Pozastaviť prezentáciu","People & Body":"Ľudia a telo","Pick an emoji":"Vyberte si emodži","Please select a time zone:":"Prosím vyberte časovú zónu:",Previous:"Predchádzajúci",Search:"Hľadať","Search results":"Výsledky vyhľadávania","Select a tag":"Vybrať štítok",Settings:"Nastavenia","Settings navigation":"Navigácia v nastaveniach","Smileys & Emotion":"Smajlíky a emócie","Start slideshow":"Začať prezentáciu",Submit:"Odoslať",Symbols:"Symboly","Travel & Places":"Cestovanie a miesta","Type to search time zone":"Začníte písať pre vyhľadávanie časovej zóny","Unable to search the group":"Skupinu sa nepodarilo nájsť","Undo changes":"Vrátiť zmeny","Write message, @ to mention someone, : for emoji autocompletion …":"Napíšte správu, @ ak chcete niekoho spomenúť, : pre automatické dopĺňanie emotikonov…"}},{locale:"sl",translations:{"{tag} (invisible)":"{tag} (nevidno)","{tag} (restricted)":"{tag} (omejeno)",Actions:"Dejanja",Activities:"Dejavnosti","Animals & Nature":"Živali in Narava","Avatar of {displayName}":"Podoba {displayName}","Avatar of {displayName}, {status}":"Prikazna slika {displayName}, {status}","Cancel changes":"Prekliči spremembe","Change title":"Spremeni naziv",Choose:"Izbor","Clear text":"Počisti besedilo",Close:"Zapri","Close modal":"Zapri pojavno okno","Close navigation":"Zapri krmarjenje","Close sidebar":"Zapri stransko vrstico","Confirm changes":"Potrdi spremembe",Custom:"Po meri","Edit item":"Uredi predmet","Error getting related resources":"Napaka pridobivanja povezanih virov","External documentation for {title}":"Zunanja dokumentacija za {title}",Favorite:"Priljubljeno",Flags:"Zastavice","Food & Drink":"Hrana in Pijača","Frequently used":"Pogostost uporabe",Global:"Splošno","Go back to the list":"Vrni se na seznam","Hide password":"Skrij geslo","Message limit of {count} characters reached":"Dosežena omejitev {count} znakov na sporočilo.","More items …":"Več predmetov ...",Next:"Naslednji","No emoji found":"Ni najdenih izraznih ikon","No results":"Ni zadetkov",Objects:"Predmeti",Open:"Odpri",'Open link to "{resourceTitle}"':"Odpri povezavo do »{resourceTitle}«","Open navigation":"Odpri krmarjenje","Password is secure":"Geslo je varno","Pause slideshow":"Ustavi predstavitev","People & Body":"Ljudje in Telo","Pick a date":"Izbor datuma","Pick a date and a time":"Izbor datuma in časa","Pick a month":"Izbor meseca","Pick a time":"Izbor časa","Pick a week":"Izbor tedna","Pick a year":"Izbor leta","Pick an emoji":"Izbor izrazne ikone","Please select a time zone:":"Izbor časovnega pasu:",Previous:"Predhodni","Related resources":"Povezani viri",Search:"Iskanje","Search results":"Zadetki iskanja","Select a tag":"Izbor oznake",Settings:"Nastavitve","Settings navigation":"Krmarjenje nastavitev","Show password":"Pokaži geslo","Smileys & Emotion":"Izrazne ikone","Start slideshow":"Začni predstavitev",Submit:"Pošlji",Symbols:"Simboli","Travel & Places":"Potovanja in Kraji","Type to search time zone":"Vpišite niz za iskanje časovnega pasu","Unable to search the group":"Ni mogoče iskati po skupini","Undo changes":"Razveljavi spremembe","Write message, @ to mention someone, : for emoji autocompletion …":"Napišite sporočilo, za omembo pred ime postavite@, začnite z : za vstavljanje izraznih ikon …"}},{locale:"sr",translations:{"{tag} (invisible)":"{tag} (nevidljivo)","{tag} (restricted)":"{tag} (ograničeno)",Actions:"Radnje",Activities:"Aktivnosti","Animals & Nature":"Životinje i Priroda","Avatar of {displayName}":"Avatar za {displayName}","Avatar of {displayName}, {status}":"Avatar za {displayName}, {status}","Cancel changes":"Otkaži izmene","Change title":"Izmeni naziv",Choose:"Изаберите",Close:"Затвори","Close modal":"Zatvori modal","Close navigation":"Zatvori navigaciju","Close sidebar":"Zatvori bočnu traku","Confirm changes":"Potvrdite promene",Custom:"Po meri","Edit item":"Uredi stavku","External documentation for {title}":"Eksterna dokumentacija za {title}",Favorite:"Omiljeni",Flags:"Zastave","Food & Drink":"Hrana i Piće","Frequently used":"Često korišćeno",Global:"Globalno","Go back to the list":"Natrag na listu",items:"stavke","Message limit of {count} characters reached":"Dostignuto je ograničenje za poruke od {count} znakova","More {dashboardItemType} …":"Više {dashboardItemType} …",Next:"Следеће","No emoji found":"Nije pronađen nijedan emodži","No results":"Нема резултата",Objects:"Objekti",Open:"Otvori","Open navigation":"Otvori navigaciju","Pause slideshow":"Паузирај слајд шоу","People & Body":"Ljudi i Telo","Pick an emoji":"Izaberi emodži","Please select a time zone:":"Molimo izaberite vremensku zonu:",Previous:"Претходно",Search:"Pretraži","Search results":"Rezultati pretrage","Select a tag":"Изаберите ознаку",Settings:"Поставке","Settings navigation":"Navigacija u podešavanjima","Smileys & Emotion":"Smajli i Emocije","Start slideshow":"Покрени слајд шоу",Submit:"Prihvati",Symbols:"Simboli","Travel & Places":"Putovanja i Mesta","Type to search time zone":"Ukucaj da pretražiš vremenske zone","Unable to search the group":"Nije moguće pretražiti grupu","Undo changes":"Poništi promene","Write message, @ to mention someone, : for emoji autocompletion …":"Napišite poruku, @ da pomenete nekoga, : za automatsko dovršavanje emodžija…"}},{locale:"sv",translations:{"{tag} (invisible)":"{tag} (osynlig)","{tag} (restricted)":"{tag} (begränsad)",Actions:"Åtgärder",Activities:"Aktiviteter","Animals & Nature":"Djur & Natur","Anything shared with the same group of people will show up here":"Något som delats med samma grupp av personer kommer att visas här","Avatar of {displayName}":"{displayName}s avatar","Avatar of {displayName}, {status}":"{displayName}s avatar, {status}","Cancel changes":"Avbryt ändringar","Change title":"Ändra titel",Choose:"Välj","Clear text":"Ta bort text",Close:"Stäng","Close modal":"Stäng modal","Close navigation":"Stäng navigering","Close sidebar":"Stäng sidopanel","Confirm changes":"Bekräfta ändringar",Custom:"Anpassad","Edit item":"Ändra","Error getting related resources":"Problem att hämta relaterade resurser","Error parsing svg":"Fel vid inläsning av svg","External documentation for {title}":"Extern dokumentation för {title}",Favorite:"Favorit",Flags:"Flaggor","Food & Drink":"Mat & Dryck","Frequently used":"Används ofta",Global:"Global","Go back to the list":"Gå tillbaka till listan","Hide password":"Göm lössenordet","Message limit of {count} characters reached":"Meddelandegräns {count} tecken används","More items …":"Fler objekt",Next:"Nästa","No emoji found":"Hittade inga emojis","No results":"Inga resultat",Objects:"Objekt",Open:"Öppna",'Open link to "{resourceTitle}"':'Öppna länk till "{resourceTitle}"',"Open navigation":"Öppna navigering","Password is secure":"Lössenordet är säkert","Pause slideshow":"Pausa bildspelet","People & Body":"Kropp & Själ","Pick an emoji":"Välj en emoji","Please select a time zone:":"Välj tidszon:",Previous:"Föregående","Related resources":"Relaterade resurser",Search:"Sök","Search results":"Sökresultat","Select a tag":"Välj en tag",Settings:"Inställningar","Settings navigation":"Inställningsmeny","Show password":"Visa lössenordet","Smileys & Emotion":"Selfies & Känslor","Start slideshow":"Starta bildspelet",Submit:"Skicka",Symbols:"Symboler","Travel & Places":"Resor & Sevärdigheter","Type to search time zone":"Skriv för att välja tidszon","Unable to search the group":"Kunde inte söka i gruppen","Undo changes":"Ångra ändringar",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'Skriv meddelande, använd "@" för att nämna någon, använd ":" för automatiska emojiförslag ...'}},{locale:"tr",translations:{"{tag} (invisible)":"{tag} (görünmez)","{tag} (restricted)":"{tag} (kısıtlı)",Actions:"İşlemler",Activities:"Etkinlikler","Animals & Nature":"Hayvanlar ve Doğa","Anything shared with the same group of people will show up here":"Aynı kişi grubu ile paylaşılan herşey burada görüntülenir","Avatar of {displayName}":"{displayName} avatarı","Avatar of {displayName}, {status}":"{displayName}, {status} avatarı","Cancel changes":"Değişiklikleri iptal et","Change title":"Başlığı değiştir",Choose:"Seçin","Clear text":"Metni temizle",Close:"Kapat","Close modal":"Üste açılan pencereyi kapat","Close navigation":"Gezinmeyi kapat","Close sidebar":"Yan çubuğu kapat","Confirm changes":"Değişiklikleri onayla",Custom:"Özel","Edit item":"Ögeyi düzenle","Error getting related resources":"İlgili kaynaklar alınırken sorun çıktı","Error parsing svg":"svg işlenirken sorun çıktı","External documentation for {title}":"{title} için dış belgeler",Favorite:"Sık kullanılanlara ekle",Flags:"Bayraklar","Food & Drink":"Yeme ve İçme","Frequently used":"Sık kullanılanlar",Global:"Evrensel","Go back to the list":"Listeye dön","Hide password":"Parolayı gizle","Message limit of {count} characters reached":"{count} karakter ileti sınırına ulaşıldı","More items …":"Diğer ögeler…",Next:"Sonraki","No emoji found":"Herhangi bir emoji bulunamadı","No results":"Herhangi bir sonuç bulunamadı",Objects:"Nesneler",Open:"Aç",'Open link to "{resourceTitle}"':'"{resourceTitle}" bağlantısını aç',"Open navigation":"Gezinmeyi aç","Password is secure":"Parola güvenli","Pause slideshow":"Slayt sunumunu duraklat","People & Body":"İnsanlar ve Beden","Pick an emoji":"Bir emoji seçin","Please select a time zone:":"Lütfen bir saat dilimi seçin:",Previous:"Önceki","Related resources":"İlgili kaynaklar",Search:"Arama","Search results":"Arama sonuçları","Select a tag":"Bir etiket seçin",Settings:"Ayarlar","Settings navigation":"Gezinme ayarları","Show password":"Parolayı görüntüle","Smileys & Emotion":"İfadeler ve Duygular","Start slideshow":"Slayt sunumunu başlat",Submit:"Gönder",Symbols:"Simgeler","Travel & Places":"Gezi ve Yerler","Type to search time zone":"Saat dilimi aramak için yazmaya başlayın","Unable to search the group":"Grupta arama yapılamadı","Undo changes":"Değişiklikleri geri al",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'İleti yazın, birini anmak için @, otomatik emoji tamamlamak için ":" kullanın…'}},{locale:"uk",translations:{"{tag} (invisible)":"{tag} (невидимий)","{tag} (restricted)":"{tag} (обмежений)",Actions:"Дії",Activities:"Діяльність","Animals & Nature":"Тварини та природа","Avatar of {displayName}":"Аватар {displayName}","Avatar of {displayName}, {status}":"Аватар {displayName}, {status}","Cancel changes":"Скасувати зміни","Change title":"Змінити назву",Choose:"ВиберітьВиберіть","Clear text":"Очистити текст",Close:"Закрити","Close modal":"Закрити модаль","Close navigation":"Закрити навігацію","Close sidebar":"Закрити бічну панель","Confirm changes":"Підтвердити зміни",Custom:"Власне","Edit item":"Редагувати елемент","External documentation for {title}":"Зовнішня документація для {title}",Favorite:"Улюблений",Flags:"Прапори","Food & Drink":"Їжа та напої","Frequently used":"Найчастіші",Global:"Глобальний","Go back to the list":"Повернутися до списку","Hide password":"Приховати пароль",items:"елементи","Message limit of {count} characters reached":"Вичерпано ліміт у {count} символів для повідомлення","More {dashboardItemType} …":"Більше {dashboardItemType}…",Next:"Вперед","No emoji found":"Емоційки відсутні","No results":"Відсутні результати",Objects:"Об'єкти",Open:"Відкрити","Open navigation":"Відкрити навігацію","Password is secure":"Пароль безпечний","Pause slideshow":"Пауза у показі слайдів","People & Body":"Люди та жести","Pick an emoji":"Виберіть емоційку","Please select a time zone:":"Виберіть часовий пояс:",Previous:"Назад",Search:"Пошук","Search results":"Результати пошуку","Select a tag":"Виберіть позначку",Settings:"Налаштування","Settings navigation":"Навігація у налаштуваннях","Show password":"Показати пароль","Smileys & Emotion":"Смайли та емоції","Start slideshow":"Почати показ слайдів",Submit:"Надіслати",Symbols:"Символи","Travel & Places":"Поїздки та місця","Type to search time zone":"Введіть для пошуку часовий пояс","Unable to search the group":"Неможливо шукати в групі","Undo changes":"Скасувати зміни","Write message, @ to mention someone, : for emoji autocompletion …":"Напишіть повідомлення, @, щоб згадати когось, : для автозаповнення емодзі…"}},{locale:"zh_CN",translations:{"{tag} (invisible)":"{tag} (不可见)","{tag} (restricted)":"{tag} (受限)",Actions:"行为",Activities:"活动","Animals & Nature":"动物 & 自然","Anything shared with the same group of people will show up here":"与同组用户分享的所有内容都会显示于此","Avatar of {displayName}":"{displayName}的头像","Avatar of {displayName}, {status}":"{displayName}的头像,{status}","Cancel changes":"取消更改","Change title":"更改标题",Choose:"选择","Clear text":"清除文本",Close:"关闭","Close modal":"关闭窗口","Close navigation":"关闭导航","Close sidebar":"关闭侧边栏","Confirm changes":"确认更改",Custom:"自定义","Edit item":"编辑项目","Error getting related resources":"获取相关资源时出错","Error parsing svg":"解析 svg 时出错","External documentation for {title}":"{title}的外部文档",Favorite:"喜爱",Flags:"旗帜","Food & Drink":"食物 & 饮品","Frequently used":"经常使用",Global:"全局","Go back to the list":"返回至列表","Hide password":"隐藏密码","Message limit of {count} characters reached":"已达到 {count} 个字符的消息限制","More items …":"更多项目…",Next:"下一个","No emoji found":"表情未找到","No results":"无结果",Objects:"物体",Open:"打开",'Open link to "{resourceTitle}"':'打开"{resourceTitle}"的连接',"Open navigation":"开启导航","Password is secure":"密码安全","Pause slideshow":"暂停幻灯片","People & Body":"人 & 身体","Pick an emoji":"选择一个表情","Please select a time zone:":"请选择一个时区:",Previous:"上一个","Related resources":"相关资源",Search:"搜索","Search results":"搜索结果","Select a tag":"选择一个标签",Settings:"设置","Settings navigation":"设置向导","Show password":"显示密码","Smileys & Emotion":"笑脸 & 情感","Start slideshow":"开始幻灯片",Submit:"提交",Symbols:"符号","Travel & Places":"旅游 & 地点","Type to search time zone":"打字以搜索时区","Unable to search the group":"无法搜索分组","Undo changes":"撤销更改",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'写信息,使用"@"来提及某人,使用":"进行表情符号自动完成 ...'}},{locale:"zh_HK",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然","Anything shared with the same group of people will show up here":"與同一組人共享的任何內容都會顯示在此處","Avatar of {displayName}":"{displayName} 的頭像","Avatar of {displayName}, {status}":"{displayName} 的頭像,{status}","Cancel changes":"取消更改","Change title":"更改標題",Choose:"選擇","Clear text":"清除文本",Close:"關閉","Close modal":"關閉模態","Close navigation":"關閉導航","Close sidebar":"關閉側邊欄","Confirm changes":"確認更改",Custom:"自定義","Edit item":"編輯項目","Error getting related resources":"獲取相關資源出錯","Error parsing svg":"解析 svg 時出錯","External documentation for {title}":"{title} 的外部文檔",Favorite:"喜愛",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"經常使用",Global:"全球的","Go back to the list":"返回清單","Hide password":"隱藏密碼","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制","More items …":"更多項目 …",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件",Open:"打開",'Open link to "{resourceTitle}"':"打開指向 “{resourceTitle}” 的鏈結","Open navigation":"開啟導航","Password is secure":"密碼是安全的","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號","Please select a time zone:":"請選擇時區:",Previous:"上一個","Related resources":"相關資源",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Show password":"顯示密碼","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Submit:"提交",Symbols:"標誌","Travel & Places":"旅遊與景點","Type to search time zone":"鍵入以搜索時區","Unable to search the group":"無法搜尋群組","Undo changes":"取消更改",'Write message, use "@" to mention someone, use ":" for emoji autocompletion …':'寫訊息,使用 "@" 來指代某人,使用 ":" 用於表情符號自動填充 ...'}},{locale:"zh_TW",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然",Choose:"選擇",Close:"關閉",Custom:"自定義",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"最近使用","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號",Previous:"上一個",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Symbols:"標誌","Travel & Places":"旅遊與景點","Unable to search the group":"無法搜尋群組","Write message, @ to mention someone …":"輸入訊息時可使用 @ 來標示某人..."}}].forEach((function(e){var t={};for(var n in e.translations)e.translations[n].pluralId?t[n]={msgid:n,msgid_plural:e.translations[n].pluralId,msgstr:e.translations[n].msgstr}:t[n]={msgid:n,msgstr:[e.translations[n]]};o.addTranslation(e.locale,{translations:{"":t}})}));var i=o.build(),r=(i.ngettext.bind(i),i.gettext.bind(i))},723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});var o=n(2734),i=n.n(o);const r={before:function(){this.$slots.default&&""!==this.text.trim()||(i().util.warn("".concat(this.$options.name," cannot be empty and requires a meaningful text content"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():""}}}},1139:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});const i={mixins:[n(723).Z],props:{icon:{type:String,default:""},name:{type:String,default:null},title:{type:String,default:""},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:""},ariaHidden:{type:Boolean,default:null}},emits:["click"],computed:{nameTitleFallback:function(){return null===this.name&&this.title?(o.warn("The `title` prop was renamed. Please use the `name` prop instead if you intend to set the main content text."),this.title):this.name},isIconUrl:function(){try{return new URL(this.icon)}catch(e){return!1}}},methods:{onClick:function(e){if(this.$emit("click",e),this.closeAfterClick){var t=function(e,t){for(var n=e.$parent;n;){if("NcActions"===n.$options.name)return n;n=n.$parent}}(this);t&&t.closeMenu&&t.closeMenu(!1)}}}}},1205:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const o=function(e){return Math.random().toString(36).replace(/[^a-z]+/g,"").slice(0,e||5)}},1206:(e,t,n)=>{"use strict";n.d(t,{L:()=>o}),n(4505);var o=function(){return Object.assign(window,{_nc_focus_trap:window._nc_focus_trap||[]}),window._nc_focus_trap}},1759:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-1ba1edf1]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-1ba1edf1]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action-link[data-v-1ba1edf1]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-link>span[data-v-1ba1edf1]{cursor:pointer;white-space:nowrap}.action-link__icon[data-v-1ba1edf1]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-link[data-v-1ba1edf1] .material-design-icon{width:44px;height:44px;opacity:1}.action-link[data-v-1ba1edf1] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-link p[data-v-1ba1edf1]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-link__longtext[data-v-1ba1edf1]{cursor:pointer;white-space:pre-wrap}.action-link__title[data-v-1ba1edf1]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/assets/action.scss","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAqBF,8BACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBCxBY,CDyBZ,qBAAA,CAEA,cAAA,CACA,kBAAA,CAEA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,kCAAA,CACA,gBC9Ce,CDgDf,mCACC,cAAA,CACA,kBAAA,CAGD,oCACC,UCtDc,CDuDd,WCvDc,CDwDd,SCrCY,CDsCZ,+BAAA,CACA,oBCtDS,CDuDT,2BAAA,CAGD,oDACC,UC/Dc,CDgEd,WChEc,CDiEd,SC9CY,CDgDZ,+EACC,qBAAA,CAKF,gCACC,eAAA,CACA,iBAAA,CAGA,gBAAA,CAEA,cAAA,CACA,eAAA,CAGA,eAAA,CACA,sBAAA,CAGD,wCACC,cAAA,CAEA,oBAAA,CAGD,qCACC,gBAAA,CACA,sBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,oBAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n@mixin action-active {\n\tli {\n\t\t&.active {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t\tborder-radius: 6px;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n}\n\n@mixin action--disabled {\n\t.action--disabled {\n\t\tpointer-events: none;\n\t\topacity: $opacity_disabled;\n\t\t&:hover, &:focus {\n\t\t\tcursor: default;\n\t\t\topacity: $opacity_disabled;\n\t\t}\n\t\t& * {\n\t\t\topacity: 1 !important;\n\t\t}\n\t}\n}\n\n\n@mixin action-item($name) {\n\t.action-#{$name} {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpadding-right: $icon-margin;\n\t\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\n\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\n\t\tcolor: var(--color-main-text);\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tbox-shadow: none;\n\n\t\tfont-weight: normal;\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: $clickable-area;\n\n\t\t& > span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&__icon {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tbackground-size: $icon-size;\n\t\t\tbackground-repeat: no-repeat;\n\t\t}\n\n\t\t&:deep(.material-design-icon) {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\n\t\t// long text area\n\t\tp {\n\t\t\tmax-width: 220px;\n\t\t\tline-height: 1.6em;\n\n\t\t\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\n\t\t\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\n\n\t\t\tcursor: pointer;\n\t\t\ttext-align: left;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&__longtext {\n\t\t\tcursor: pointer;\n\t\t\t// allow the use of `\\n`\n\t\t\twhite-space: pre-wrap;\n\t\t}\n\n\t\t&__title {\n\t\t\tfont-weight: bold;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=a},2180:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-ab5e8848]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-ab5e8848]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action-router[data-v-ab5e8848]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-router>span[data-v-ab5e8848]{cursor:pointer;white-space:nowrap}.action-router__icon[data-v-ab5e8848]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-router[data-v-ab5e8848] .material-design-icon{width:44px;height:44px;opacity:1}.action-router[data-v-ab5e8848] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-router p[data-v-ab5e8848]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-router__longtext[data-v-ab5e8848]{cursor:pointer;white-space:pre-wrap}.action-router__title[data-v-ab5e8848]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action--disabled[data-v-ab5e8848]{pointer-events:none;opacity:.5}.action--disabled[data-v-ab5e8848]:hover,.action--disabled[data-v-ab5e8848]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-ab5e8848]{opacity:1 !important}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/assets/action.scss","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAqBF,gCACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBCxBY,CDyBZ,qBAAA,CAEA,cAAA,CACA,kBAAA,CAEA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,kCAAA,CACA,gBC9Ce,CDgDf,qCACC,cAAA,CACA,kBAAA,CAGD,sCACC,UCtDc,CDuDd,WCvDc,CDwDd,SCrCY,CDsCZ,+BAAA,CACA,oBCtDS,CDuDT,2BAAA,CAGD,sDACC,UC/Dc,CDgEd,WChEc,CDiEd,SC9CY,CDgDZ,iFACC,qBAAA,CAKF,kCACC,eAAA,CACA,iBAAA,CAGA,gBAAA,CAEA,cAAA,CACA,eAAA,CAGA,eAAA,CACA,sBAAA,CAGD,0CACC,cAAA,CAEA,oBAAA,CAGD,uCACC,gBAAA,CACA,sBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,oBAAA,CA3FF,mCACC,mBAAA,CACA,UCMiB,CDLjB,kFACC,cAAA,CACA,UCGgB,CDDjB,qCACC,oBAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n@mixin action-active {\n\tli {\n\t\t&.active {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t\tborder-radius: 6px;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n}\n\n@mixin action--disabled {\n\t.action--disabled {\n\t\tpointer-events: none;\n\t\topacity: $opacity_disabled;\n\t\t&:hover, &:focus {\n\t\t\tcursor: default;\n\t\t\topacity: $opacity_disabled;\n\t\t}\n\t\t& * {\n\t\t\topacity: 1 !important;\n\t\t}\n\t}\n}\n\n\n@mixin action-item($name) {\n\t.action-#{$name} {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpadding-right: $icon-margin;\n\t\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\n\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\n\t\tcolor: var(--color-main-text);\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tbox-shadow: none;\n\n\t\tfont-weight: normal;\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: $clickable-area;\n\n\t\t& > span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&__icon {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tbackground-size: $icon-size;\n\t\t\tbackground-repeat: no-repeat;\n\t\t}\n\n\t\t&:deep(.material-design-icon) {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\n\t\t// long text area\n\t\tp {\n\t\t\tmax-width: 220px;\n\t\t\tline-height: 1.6em;\n\n\t\t\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\n\t\t\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\n\n\t\t\tcursor: pointer;\n\t\t\ttext-align: left;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&__longtext {\n\t\t\tcursor: pointer;\n\t\t\t// allow the use of `\\n`\n\t\t\twhite-space: pre-wrap;\n\t\t}\n\n\t\t&__title {\n\t\t\tfont-weight: bold;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=a},8827:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-20a3e950]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-items[data-v-20a3e950]{display:flex;align-items:center}.action-items>button[data-v-20a3e950]{margin-right:7px}.action-item[data-v-20a3e950]{--open-background-color: var(--color-background-hover, $action-background-hover);position:relative;display:inline-block}.action-item.action-item--primary[data-v-20a3e950]{--open-background-color: var(--color-primary-element-hover)}.action-item.action-item--secondary[data-v-20a3e950]{--open-background-color: var(--color-primary-element-light-hover)}.action-item.action-item--error[data-v-20a3e950]{--open-background-color: var(--color-error-hover)}.action-item.action-item--warning[data-v-20a3e950]{--open-background-color: var(--color-warning-hover)}.action-item.action-item--success[data-v-20a3e950]{--open-background-color: var(--color-success-hover)}.action-item.action-item--tertiary-no-background[data-v-20a3e950]{--open-background-color: transparent}.action-item.action-item--open .action-item__menutoggle[data-v-20a3e950]{background-color:var(--open-background-color)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcActions/NcActions.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,+BACC,YAAA,CACA,kBAAA,CAGA,sCACC,gBAAA,CAIF,8BACC,gFAAA,CACA,iBAAA,CACA,oBAAA,CAEA,mDACC,2DAAA,CAGD,qDACC,iEAAA,CAGD,iDACC,iDAAA,CAGD,mDACC,mDAAA,CAGD,mDACC,mDAAA,CAGD,kEACC,oCAAA,CAGD,yEACC,6CAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n// Inline buttons\n.action-items {\n\tdisplay: flex;\n\talign-items: center;\n\n\t// Spacing between buttons\n\t& > button {\n\t\tmargin-right: math.div($icon-margin, 2);\n\t}\n}\n\n.action-item {\n\t--open-background-color: var(--color-background-hover, $action-background-hover);\n\tposition: relative;\n\tdisplay: inline-block;\n\n\t&.action-item--primary {\n\t\t--open-background-color: var(--color-primary-element-hover);\n\t}\n\n\t&.action-item--secondary {\n\t\t--open-background-color: var(--color-primary-element-light-hover);\n\t}\n\n\t&.action-item--error {\n\t\t--open-background-color: var(--color-error-hover);\n\t}\n\n\t&.action-item--warning {\n\t\t--open-background-color: var(--color-warning-hover);\n\t}\n\n\t&.action-item--success {\n\t\t--open-background-color: var(--color-success-hover);\n\t}\n\n\t&.action-item--tertiary-no-background {\n\t\t--open-background-color: transparent;\n\t}\n\n\t&.action-item--open .action-item__menutoggle {\n\t\tbackground-color: var(--open-background-color);\n\t}\n}\n"],sourceRoot:""}]);const s=a},5565:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper{border-radius:var(--border-radius-large);overflow:hidden}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner{border-radius:var(--border-radius-large);padding:4px;max-height:calc(50vh - 16px);overflow:auto}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcActions/NcActions.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,kFACC,wCAAA,CACA,eAAA,CAEA,mGACC,wCAAA,CACA,WAAA,CACA,4BAAA,CACA,aAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n// We overwrote the popover base class, so we can style\n// the popover__inner for actions only.\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper {\n\tborder-radius: var(--border-radius-large);\n\toverflow:hidden;\n\n\t.v-popper__inner {\n\t\tborder-radius: var(--border-radius-large);\n\t\tpadding: 4px;\n\t\tmax-height: calc(50vh - 16px);\n\t\toverflow: auto;\n\t}\n}\n"],sourceRoot:""}]);const s=a},9560:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-74afe090]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-crumb[data-v-74afe090]{background-image:none;display:inline-flex;height:44px;padding:0}.vue-crumb[data-v-74afe090]:last-child{max-width:210px;font-weight:bold}.vue-crumb:last-child .vue-crumb__separator[data-v-74afe090]{display:none}.vue-crumb>a[data-v-74afe090]:hover,.vue-crumb>a[data-v-74afe090]:focus{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb--hidden[data-v-74afe090]{display:none}.vue-crumb.vue-crumb--hovered>a[data-v-74afe090]{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb__separator[data-v-74afe090]{padding:0;color:var(--color-text-maxcontrast)}.vue-crumb>a[data-v-74afe090]{overflow:hidden;color:var(--color-text-maxcontrast);padding:12px;min-width:44px;max-width:100%;border-radius:var(--border-radius-pill);align-items:center;display:inline-flex;justify-content:center}.vue-crumb>a>span[data-v-74afe090]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item{max-width:100%}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item .button-vue{padding:0 4px 0 16px}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item .button-vue__wrapper{flex-direction:row-reverse}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item.action-item--open .action-item__menutoggle{background-color:var(--color-background-dark);color:var(--color-main-text)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcBreadcrumb/NcBreadcrumb.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,4BACC,qBAAA,CACA,mBAAA,CACA,WCmBgB,CDlBhB,SAAA,CAEA,uCACC,eAAA,CACA,gBAAA,CAGA,6DACC,YAAA,CAKF,wEAEC,6CAAA,CACA,4BAAA,CAGD,oCACC,YAAA,CAGD,iDACC,6CAAA,CACA,4BAAA,CAGD,uCACC,SAAA,CACA,mCAAA,CAGD,8BACC,eAAA,CACA,mCAAA,CACA,YAAA,CACA,cCnBe,CDoBf,cAAA,CACA,uCAAA,CACA,kBAAA,CACA,mBAAA,CACA,sBAAA,CAEA,mCACC,eAAA,CACA,sBAAA,CACA,kBAAA,CAMF,wDAEC,cAAA,CAEA,oEACC,oBAAA,CAEA,6EACC,0BAAA,CAKF,mGACC,6CAAA,CACA,4BAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n\n.vue-crumb {\n\tbackground-image: none;\n\tdisplay: inline-flex;\n\theight: $clickable-area;\n\tpadding: 0;\n\n\t&:last-child {\n\t\tmax-width: 210px;\n\t\tfont-weight: bold;\n\n\t\t// Don't show breadcrumb separator for last crumb\n\t\t.vue-crumb__separator {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t// Hover and focus effect for crumbs\n\t& > a:hover,\n\t& > a:focus {\n\t\tbackground-color: var(--color-background-dark);\n\t\tcolor: var(--color-main-text);\n\t}\n\n\t&--hidden {\n\t\tdisplay: none;\n\t}\n\n\t&#{&}--hovered > a {\n\t\tbackground-color: var(--color-background-dark);\n\t\tcolor: var(--color-main-text);\n\t}\n\n\t&__separator {\n\t\tpadding: 0;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t> a {\n\t\toverflow: hidden;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tpadding: 12px;\n\t\tmin-width: $clickable-area;\n\t\tmax-width: 100%;\n\t\tborder-radius: var(--border-radius-pill);\n\t\talign-items: center;\n\t\tdisplay: inline-flex;\n\t\tjustify-content: center;\n\n\t\t> span {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t// Adjust action item appearance for crumbs with actions\n\t// to match other crumbs\n\t&:not(.dropdown) :deep(.action-item) {\n\t\t// Adjustments necessary to correctly shrink on small screens\n\t\tmax-width: 100%;\n\n\t\t.button-vue {\n\t\t\tpadding: 0 4px 0 16px;\n\n\t\t\t&__wrapper {\n\t\t\t\tflex-direction: row-reverse;\n\t\t\t}\n\t\t}\n\n\t\t// Adjust the background of the last crumb when the action is open\n\t\t&.action-item--open .action-item__menutoggle {\n\t\t\tbackground-color: var(--color-background-dark);\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=a},7154:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-636ca0d0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.breadcrumb[data-v-636ca0d0]{width:100%;flex-grow:1;display:inline-flex}.breadcrumb--collapsed .vue-crumb[data-v-636ca0d0]:last-child{min-width:100px;flex-shrink:1}.breadcrumb nav[data-v-636ca0d0]{flex-shrink:1;max-width:100%;min-width:228px}.breadcrumb .breadcrumb__crumbs[data-v-636ca0d0]{max-width:100%}.breadcrumb .breadcrumb__crumbs[data-v-636ca0d0],.breadcrumb .breadcrumb__actions[data-v-636ca0d0]{display:inline-flex}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcBreadcrumbs/NcBreadcrumbs.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,6BACC,UAAA,CACA,WAAA,CACA,mBAAA,CAEA,8DACC,eAAA,CACA,aAAA,CAGD,iCACC,aAAA,CACA,cAAA,CAKA,eAAA,CAGD,iDACC,cAAA,CAGD,mGAEC,mBAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n.breadcrumb {\n\twidth: 100%;\n\tflex-grow: 1;\n\tdisplay: inline-flex;\n\n\t&--collapsed .vue-crumb:last-child {\n\t\tmin-width: 100px;\n\t\tflex-shrink: 1;\n\t}\n\n\tnav {\n\t\tflex-shrink: 1;\n\t\tmax-width: 100%;\n\t\t/**\n\t\t * This value is given by the min-width of the last crumb (100px) plus\n\t\t * two times the width of a crumb with an icon (first crumb and hidden crumbs actions).\n\t\t */\n\t\tmin-width: 228px;\n\t}\n\n\t& #{&}__crumbs {\n\t\tmax-width: 100%;\n\t}\n\n\t& #{&}__crumbs,\n\t& #{&}__actions {\n\t\tdisplay: inline-flex;\n\t}\n}\n"],sourceRoot:""}]);const s=a},1898:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-2e49be1e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-2e49be1e]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition-property:color,border-color,background-color;transition-duration:.1s;transition-timing-function:linear;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue *[data-v-2e49be1e],.button-vue span[data-v-2e49be1e]{cursor:pointer}.button-vue[data-v-2e49be1e]:focus{outline:none}.button-vue[data-v-2e49be1e]:disabled{cursor:default;opacity:.5;filter:saturate(0.7)}.button-vue:disabled *[data-v-2e49be1e]{cursor:default}.button-vue[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-light-hover)}.button-vue[data-v-2e49be1e]:active{background-color:var(--color-primary-element-light)}.button-vue__wrapper[data-v-2e49be1e]{display:inline-flex;align-items:center;justify-content:center;width:100%}.button-vue__icon[data-v-2e49be1e]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-2e49be1e]{font-weight:bold;margin-bottom:1px;padding:2px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button-vue--icon-only[data-v-2e49be1e]{width:44px !important}.button-vue--text-only[data-v-2e49be1e]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-2e49be1e]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-2e49be1e]{padding:0 16px 0 4px}.button-vue--wide[data-v-2e49be1e]{width:100%}.button-vue[data-v-2e49be1e]:focus-visible{outline:2px solid var(--color-main-text) !important}.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{outline:2px solid var(--color-primary-element-text);border-radius:var(--border-radius);background-color:rgba(0,0,0,0)}.button-vue--vue-primary[data-v-2e49be1e]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.button-vue--vue-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-2e49be1e]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-2e49be1e]{color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue--vue-secondary[data-v-2e49be1e]:hover:not(:disabled){color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light-hover)}.button-vue--vue-tertiary[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{color:var(--color-primary-element-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-success[data-v-2e49be1e]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-2e49be1e]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-2e49be1e]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-2e49be1e]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-2e49be1e]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-2e49be1e]:active{background-color:var(--color-error)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcButton/NcButton.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,kCAAA,CACA,gBAAA,CACA,eCcgB,CDbhB,cCagB,CDZhB,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,cAAA,CAKA,kBAAA,CACA,uDAAA,CACA,uBAAA,CACA,iCAAA,CAkBA,6CAAA,CACA,mDAAA,CA1BA,iEAEC,cAAA,CAQD,mCACC,YAAA,CAGD,sCACC,cAAA,CAIA,UCIiB,CDFjB,oBAAA,CALA,wCACC,cAAA,CAUF,kDACC,yDAAA,CAKD,oCACC,mDAAA,CAGD,sCACC,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAGD,mCACC,WCvCe,CDwCf,UCxCe,CDyCf,eCzCe,CD0Cf,cC1Ce,CD2Cf,YAAA,CACA,sBAAA,CACA,kBAAA,CAGD,mCACC,gBAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAID,wCACC,qBAAA,CAID,wCACC,cAAA,CACA,0DACC,eAAA,CACA,gBAAA,CAKF,4CACC,oBAAA,CAID,mCACC,UAAA,CAGD,2CACC,mDAAA,CACA,+EACC,mDAAA,CACA,kCAAA,CACA,8BAAA,CAOF,0CACC,6CAAA,CACA,uCAAA,CACA,+DACC,mDAAA,CAID,iDACC,6CAAA,CAKF,4CACC,6CAAA,CACA,mDAAA,CACA,iEACC,6CAAA,CACA,yDAAA,CAKF,2CACC,4BAAA,CACA,8BAAA,CACA,gEACC,6BAAA,CACA,8CAAA,CAKF,yDACC,4BAAA,CACA,8BAAA,CACA,8EACC,8BAAA,CAKF,sDACC,uCAAA,CACA,8BAAA,CAEA,2EACC,8BAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,wCACC,mCAAA,CACA,UAAA,CACA,6DACC,yCAAA,CAID,+CACC,mCAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n\n.button-vue {\n\tposition: relative;\n\twidth: fit-content;\n\toverflow: hidden;\n\tborder: 0;\n\tpadding: 0;\n\tfont-size: var(--default-font-size);\n\tfont-weight: bold;\n\tmin-height: $clickable-area;\n\tmin-width: $clickable-area;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t// Cursor pointer on element and all children\n\tcursor: pointer;\n\t& *,\n\tspan {\n\t\tcursor: pointer;\n\t}\n\tborder-radius: math.div($clickable-area, 2);\n\ttransition-property: color, border-color, background-color;\n\ttransition-duration: 0.1s;\n\ttransition-timing-function: linear;\n\n\t// No outline feedback for focus. Handled with a toggled class in js (see data)\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t\t& * {\n\t\t\tcursor: default;\n\t\t}\n\t\topacity: $opacity_disabled;\n\t\t// Gives a wash out effect\n\t\tfilter: saturate($opacity_normal);\n\t}\n\n\t// Default button type\n\tcolor: var(--color-primary-element-light-text);\n\tbackground-color: var(--color-primary-element-light);\n\t&:hover:not(:disabled) {\n\t\tbackground-color: var(--color-primary-element-light-hover);\n\t}\n\n\t// Back to the default color for this button when active\n\t// TODO: add ripple effect\n\t&:active {\n\t\tbackground-color: var(--color-primary-element-light);\n\t}\n\n\t&__wrapper {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t}\n\n\t&__icon {\n\t\theight: $clickable-area;\n\t\twidth: $clickable-area;\n\t\tmin-height: $clickable-area;\n\t\tmin-width: $clickable-area;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\n\t&__text {\n\t\tfont-weight: bold;\n\t\tmargin-bottom: 1px;\n\t\tpadding: 2px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t}\n\n\t// Icon-only button\n\t&--icon-only {\n\t\twidth: $clickable-area !important;\n\t}\n\n\t// Text-only button\n\t&--text-only {\n\t\tpadding: 0 12px;\n\t\t& .button-vue__text {\n\t\t\tmargin-left: 4px;\n\t\t\tmargin-right: 4px;\n\t\t}\n\t}\n\n\t// Icon and text button\n\t&--icon-and-text {\n\t\tpadding: 0 16px 0 4px;\n\t}\n\n\t// Wide button spans the whole width of the container\n\t&--wide {\n\t\twidth: 100%;\n\t}\n\n\t&:focus-visible {\n\t\toutline: 2px solid var(--color-main-text) !important;\n\t\t&.button-vue--vue-tertiary-on-primary {\n\t\t\toutline: 2px solid var(--color-primary-element-text);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Button types\n\n\t// Primary\n\t&--vue-primary {\n\t\tbackground-color: var(--color-primary-element);\n\t\tcolor: var(--color-primary-element-text);\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\t}\n\n\t// Secondary\n\t&--vue-secondary {\n\t\tcolor: var(--color-primary-element-light-text);\n\t\tbackground-color: var(--color-primary-element-light);\n\t\t&:hover:not(:disabled) {\n\t\t\tcolor: var(--color-primary-element-light-text);\n\t\t\tbackground-color: var(--color-primary-element-light-hover);\n\t\t}\n\t}\n\n\t// Tertiary\n\t&--vue-tertiary {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Tertiary, no background\n\t&--vue-tertiary-no-background {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Tertiary on primary color (like the header)\n\t&--vue-tertiary-on-primary {\n\t\tcolor: var(--color-primary-element-text);\n\t\tbackground-color: transparent;\n\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Success\n\t&--vue-success {\n\t\tbackground-color: var(--color-success);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-success-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// : add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-success);\n\t\t}\n\t}\n\n\t// Warning\n\t&--vue-warning {\n\t\tbackground-color: var(--color-warning);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-warning-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-warning);\n\t\t}\n\t}\n\n\t// Error\n\t&--vue-error {\n\t\tbackground-color: var(--color-error);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-error-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-error);\n\t\t}\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=a},4401:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:rgba(0,0,0,0);pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown.v-popper__popper{z-index:100000;top:0;left:0;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-dropdown.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);overflow:hidden;background:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-10px;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcPopover/NcPopover.vue"],names:[],mappings:"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,iBACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CACA,aAAA,CACA,eAAA,CACA,SAAA,CAGD,wBACC,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CAMA,2CACC,cAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CAEA,sDAAA,CAEA,4DACC,SAAA,CACA,4BAAA,CACA,kCAAA,CACA,eAAA,CACA,uCAAA,CAGD,sEACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBA1BW,CA6BZ,kGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAGD,qGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAGD,oGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAGD,mGACC,WAAA,CACA,oBAAA,CACA,8CAAA,CAGD,6DACC,iBAAA,CACA,2EAAA,CACA,SAAA,CAGD,8DACC,kBAAA,CACA,yCAAA,CACA,SAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n\n.resize-observer {\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\tz-index:-1;\n\twidth:100%;\n\theight:100%;\n\tborder:none;\n\tbackground-color:transparent;\n\tpointer-events:none;\n\tdisplay:block;\n\toverflow:hidden;\n\topacity:0\n}\n\n.resize-observer object {\n\tdisplay:block;\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\theight:100%;\n\twidth:100%;\n\toverflow:hidden;\n\tpointer-events:none;\n\tz-index:-1\n}\n\n$arrow-width: 10px;\n\n.v-popper--theme-dropdown {\n\t&.v-popper__popper {\n\t\tz-index: 100000;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block !important;\n\n\t\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t\t.v-popper__inner {\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\toverflow: hidden;\n\t\t\tbackground: var(--color-main-background);\n\t\t}\n\n\t\t.v-popper__arrow-container {\n\t\t\tposition: absolute;\n\t\t\tz-index: 1;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t\tborder-color: transparent;\n\t\t\tborder-width: $arrow-width;\n\t\t}\n\n\t\t&[data-popper-placement^='top'] .v-popper__arrow-container {\n\t\t\tbottom: -$arrow-width;\n\t\t\tborder-bottom-width: 0;\n\t\t\tborder-top-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\n\t\t\ttop: -$arrow-width;\n\t\t\tborder-top-width: 0;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='right'] .v-popper__arrow-container {\n\t\t\tleft: -$arrow-width;\n\t\t\tborder-left-width: 0;\n\t\t\tborder-right-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='left'] .v-popper__arrow-container {\n\t\t\tright: -$arrow-width;\n\t\t\tborder-right-width: 0;\n\t\t\tborder-left-color: var(--color-main-background);\n\t\t}\n\n\t\t&[aria-hidden='true'] {\n\t\t\tvisibility: hidden;\n\t\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\t\topacity: 0;\n\t\t}\n\n\t\t&[aria-hidden='false'] {\n\t\t\tvisibility: visible;\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const s=a},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",o=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),o&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),o&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,o,i,r){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(o)for(var s=0;s0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=r),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),i&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=i):u[4]="".concat(i)),t.push(u))}},t}},7537:e=>{"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),i="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(o),r="/*# ".concat(i," */");return[t].concat([r]).join("\n")}return[t].join("\n")}},3379:e=>{"use strict";var t=[];function n(e){for(var n=-1,o=0;o{"use strict";var t={};e.exports=function(e,n){var o=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(n)}},9216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{"use strict";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var o="";n.supports&&(o+="@supports (".concat(n.supports,") {")),n.media&&(o+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(o+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),o+=n.css,i&&(o+="}"),n.media&&(o+="}"),n.supports&&(o+="}");var r=n.sourceMap;r&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),t.styleTagTransform(o,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},9158:()=>{},5727:()=>{},6591:()=>{},1753:()=>{},2102:()=>{},2405:()=>{},1900:(e,t,n)=>{"use strict";function o(e,t,n,o,i,r,a,s){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}n.d(t,{Z:()=>o})},542:e=>{"use strict";e.exports=n(57888)},7931:e=>{"use strict";e.exports=n(23955)},3465:e=>{"use strict";e.exports=n(20296)},9454:e=>{"use strict";e.exports=n(73045)},4505:e=>{"use strict";e.exports=n(15303)},2734:e=>{"use strict";e.exports=n(20144)},9044:e=>{"use strict";e.exports=n(11585)},1441:e=>{"use strict";e.exports=n(89115)}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={id:n,exports:{}};return e[n](r,r.exports,i),r.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nc=void 0;var r={};return(()=>{"use strict";i.r(r),i.d(r,{default:()=>D});var e=i(644),t=i(1484),o=i(6299),a=i(6882),s=i(2734),l=i.n(s);const c=function(e,t,n){if(void 0!==e)for(var o=e.length-1;o>=0;o--){var i=e[o],r=!i.componentOptions&&i.tag&&-1===t.indexOf(i.tag),a=!!i.componentOptions&&"string"==typeof i.componentOptions.tag,s=a&&-1===t.indexOf(i.componentOptions.tag);(r||!a||s)&&((r||s)&&l().util.warn("".concat(r?i.tag:i.componentOptions.tag," is not allowed inside the ").concat(n.$options.name," component"),n),e.splice(o,1))}};var u=i(542);const d=n(71875);var p=i.n(d),m=i(3465),h=i.n(m),v="vue-crumb";const A={name:"NcBreadcrumbs",components:{NcActions:e.default,NcActionRouter:t.default,NcActionLink:o.default,NcBreadcrumb:a.default,IconFolder:p()},props:{rootIcon:{type:String,default:"icon-home"}},emits:["dropped"],data:function(){return{hiddenCrumbs:[],hiddenIndices:[],menuBreadcrumbProps:{name:"",forceMenu:!0,disableDrop:!0,open:!1}}},beforeMount:function(){c(this.$slots.default,["NcBreadcrumb"],this)},beforeUpdate:function(){c(this.$slots.default,["NcBreadcrumb"],this)},created:function(){var e=this;window.addEventListener("resize",h()((function(){e.handleWindowResize()}),100)),(0,u.subscribe)("navigation-toggled",this.delayedResize)},mounted:function(){this.handleWindowResize()},updated:function(){this.delayedResize(),this.delayedHideCrumbs()},beforeDestroy:function(){window.removeEventListener("resize",this.handleWindowResize),(0,u.unsubscribe)("navigation-toggled",this.delayedResize)},methods:{delayedHideCrumbs:function(){var e=this;this.$nextTick((function(){var t=e.$slots.default||[];e.hideCrumbs(t)}))},closeActions:function(e){this.$refs.actionsBreadcrumb.$el.contains(e.relatedTarget)||(this.menuBreadcrumbProps.open=!1)},delayedResize:function(){var e=this;this.$nextTick((function(){e.handleWindowResize()}))},handleWindowResize:function(){var e=this.$slots.default||[];if(this.$refs.container){var t=e.length,n=[],o=this.$refs.container.offsetWidth,i=this.getTotalWidth(e);this.$refs.breadcrumb__actions&&(i+=this.$refs.breadcrumb__actions.offsetWidth);var r=i-o;r+=r>0?64:0;for(var a=0,s=Math.floor(t/2);r>0&&a1&&void 0!==arguments[1]?arguments[1]:0;e.forEach((function(e,o){var i;null!=e&&null!==(i=e.elm)&&void 0!==i&&i.classList&&(t.hiddenIndices.includes(o+n)?e.elm.classList.add("".concat(v,"--hidden")):e.elm.classList.remove("".concat(v,"--hidden")))}))}},render:function(e){var t=this,n=this.$slots.default||[];if(0!==n.length){l().set(n[0].componentOptions.propsData,"icon",this.rootIcon);var o=[];if(this.hiddenCrumbs.length){o=n.slice(0,Math.round(n.length/2)),this.hideCrumbs(o),o.push(e("NcBreadcrumb",{class:"dropdown",props:this.menuBreadcrumbProps,attrs:{"aria-hidden":!0},ref:"actionsBreadcrumb",key:"actions-breadcrumb-1",nativeOn:{dragstart:this.dragStart,dragenter:function(){t.menuBreadcrumbProps.open=!0},dragleave:this.closeActions},on:{"update:open":function(e){t.menuBreadcrumbProps.open=e}}},this.hiddenCrumbs.map((function(n){var o=n.componentOptions.propsData.to,i=n.componentOptions.propsData.href,r=n.componentOptions.propsData.disableDrop,a=n.componentOptions.propsData.title,s=n.componentOptions.propsData.name||a,l="NcActionLink",c=i;o&&(l="NcActionRouter",c=o);var u=e("IconFolder",{props:{size:20},slot:"icon"});return e(l,{class:v,props:{href:i,title:a,name:"",to:o},attrs:{draggable:!1},nativeOn:{dragstart:t.dragStart,drop:function(e){return t.dropped(e,c,r)},dragover:t.dragOver,dragenter:function(e){return t.dragEnter(e,r)},dragleave:function(e){return t.dragLeave(e,r)}}},[u,s])}))));var i=n.slice(Math.round(n.length/2));o=o.concat(i),this.hideCrumbs(i,o.length-1)}else o=n,this.hideCrumbs(o);var r=[e("nav",{},[e("ul",{class:"breadcrumb__crumbs"},o)])];return this.$slots.actions&&r.push(e("div",{class:"breadcrumb__actions",ref:"breadcrumb__actions"},this.$slots.actions)),e("div",{class:["breadcrumb",{"breadcrumb--collapsed":this.hiddenCrumbs.length===n.length-2}],ref:"container"},r)}}};var f=i(3379),g=i.n(f),b=i(7795),y=i.n(b),C=i(569),w=i.n(C),k=i(3565),S=i.n(k),x=i(9216),_=i.n(x),j=i(4589),N=i.n(j),z=i(7154),P={};P.styleTagTransform=N(),P.setAttributes=S(),P.insert=w().bind(null,"head"),P.domAPI=y(),P.insertStyleElement=_(),g()(z.Z,P),z.Z&&z.Z.locals&&z.Z.locals;var E=i(1900),O=i(1753),T=i.n(O),B=(0,E.Z)(A,void 0,void 0,!1,null,"636ca0d0",null);"function"==typeof T()&&T()(B);const D=B.exports})(),r})()))},91211:(e,t,n)=>{var o;self,o=()=>(()=>{var e={5635:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-5bf5fa74]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.icon-vue[data-v-5bf5fa74]{display:flex;justify-content:center;align-items:center;width:44px;height:44px;opacity:1}.icon-vue[data-v-5bf5fa74] svg{fill:currentColor;max-width:20px;max-height:20px}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcIconSvgWrapper/NcIconSvgWrapper.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2BACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CACA,SAAA,CAEA,+BACC,iBAAA,CACA,cAAA,CACA,eAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n.icon-vue {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\twidth: 44px;\n\theight: 44px;\n\topacity: 1;\n\n\t&:deep(svg) {\n\t\tfill: currentColor;\n\t\tmax-width: 20px;\n\t\tmax-height: 20px;\n\t}\n}\n"],sourceRoot:""}]);const s=a},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",o=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),o&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),o&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,o,i,r){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(o)for(var s=0;s0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=r),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),i&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=i):u[4]="".concat(i)),t.push(u))}},t}},7537:e=>{"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),i="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(o),r="/*# ".concat(i," */");return[t].concat([r]).join("\n")}return[t].join("\n")}},3379:e=>{"use strict";var t=[];function n(e){for(var n=-1,o=0;o{"use strict";var t={};e.exports=function(e,n){var o=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(n)}},9216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{"use strict";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var o="";n.supports&&(o+="@supports (".concat(n.supports,") {")),n.media&&(o+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(o+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),o+=n.css,i&&(o+="}"),n.media&&(o+="}"),n.supports&&(o+="}");var r=n.sourceMap;r&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),t.styleTagTransform(o,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},1287:()=>{},1900:(e,t,n)=>{"use strict";function o(e,t,n,o,i,r,a,s){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}n.d(t,{Z:()=>o})}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var r=t[n]={id:n,exports:{}};return e[n](r,r.exports,o),r.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nc=void 0;var i={};return(()=>{"use strict";o.r(i),o.d(i,{default:()=>j});const e=n(62466);function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function r(){r=function(){return e};var e={},n=Object.prototype,o=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",l=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function d(e,t,n,o){var r=t&&t.prototype instanceof h?t:h,a=Object.create(r.prototype),s=new j(o||[]);return i(a,"_invoke",{value:k(e,n,s)}),a}function p(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=d;var m={};function h(){}function v(){}function A(){}var f={};u(f,s,(function(){return this}));var g=Object.getPrototypeOf,b=g&&g(g(N([])));b&&b!==n&&o.call(b,s)&&(f=b);var y=A.prototype=h.prototype=Object.create(f);function C(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function w(e,n){function r(i,a,s,l){var c=p(e[i],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==t(d)&&o.call(d,"__await")?n.resolve(d.__await).then((function(e){r("next",e,s,l)}),(function(e){r("throw",e,s,l)})):n.resolve(d).then((function(e){u.value=e,s(u)}),(function(e){return r("throw",e,s,l)}))}l(c.arg)}var a;i(this,"_invoke",{value:function(e,t){function o(){return new n((function(n,o){r(e,t,n,o)}))}return a=a?a.then(o,o):o()}})}function k(e,t,n){var o="suspendedStart";return function(i,r){if("executing"===o)throw new Error("Generator is already running");if("completed"===o){if("throw"===i)throw r;return{value:void 0,done:!0}}for(n.method=i,n.arg=r;;){var a=n.delegate;if(a){var s=S(a,n);if(s){if(s===m)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===o)throw o="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o="executing";var l=p(e,t,n);if("normal"===l.type){if(o=n.done?"completed":"suspendedYield",l.arg===m)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o="completed",n.method="throw",n.arg=l.arg)}}}function S(e,t){var n=t.method,o=e.iterator[n];if(void 0===o)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,S(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var i=p(o,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,m;var r=i.arg;return r?r.done?(t[e.resultName]=r.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,m):r:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,m)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function j(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function N(e){if(e){var t=e[s];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n=0;--i){var r=this.tryEntries[i],a=r.completion;if("root"===r.tryLoc)return n("end");if(r.tryLoc<=this.prev){var s=o.call(r,"catchLoc"),l=o.call(r,"finallyLoc");if(s&&l){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&o.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),_(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var i=o.arg;_(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:N(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),m}},e}function a(e,t,n,o,i,r,a){try{var s=e[r](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(o,i)}function s(e){return function(){var t=this,n=arguments;return new Promise((function(o,i){var r=e.apply(t,n);function s(e){a(r,o,i,s,l,"next",e)}function l(e){a(r,o,i,s,l,"throw",e)}s(void 0)}))}}const l={name:"NcIconSvgWrapper",props:{svg:{type:String,default:""},title:{type:String,default:""}},data:function(){return{cleanSvg:""}},beforeMount:function(){var e=this;return s(r().mark((function t(){return r().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.sanitizeSVG();case 2:case"end":return t.stop()}}),t)})))()},methods:{sanitizeSVG:function(){var t=this;return s(r().mark((function n(){return r().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(t.svg){n.next=2;break}return n.abrupt("return");case 2:return n.next=4,(0,e.sanitizeSVG)(t.svg);case 4:t.cleanSvg=n.sent;case 5:case"end":return n.stop()}}),n)})))()}}};var c=o(3379),u=o.n(c),d=o(7795),p=o.n(d),m=o(569),h=o.n(m),v=o(3565),A=o.n(v),f=o(9216),g=o.n(f),b=o(4589),y=o.n(b),C=o(5635),w={};w.styleTagTransform=y(),w.setAttributes=A(),w.insert=h().bind(null,"head"),w.domAPI=p(),w.insertStyleElement=g(),u()(C.Z,w),C.Z&&C.Z.locals&&C.Z.locals;var k=o(1900),S=o(1287),x=o.n(S),_=(0,k.Z)(l,(function(){var e=this;return(0,e._self._c)("span",{staticClass:"icon-vue",attrs:{role:"img","aria-hidden":!e.title,"aria-label":e.title},domProps:{innerHTML:e._s(e.cleanSvg)}})}),[],!1,null,"5bf5fa74",null);"function"==typeof x()&&x()(_);const j=_.exports})(),i})(),e.exports=o()},36029:(e,t,n)=>{var o,i=n(25108);self,o=()=>(()=>{var e={9104:(e,t,n)=>{"use strict";function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;tj});const l={name:"NcButton",props:{disabled:{type:Boolean,default:!1},type:{type:String,validator:function(e){return-1!==["primary","secondary","tertiary","tertiary-no-background","tertiary-on-primary","error","warning","success"].indexOf(e)},default:"secondary"},nativeType:{type:String,validator:function(e){return-1!==["submit","reset","button"].indexOf(e)},default:"button"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},href:{type:String,default:null},to:{type:[String,Object],default:null},exact:{type:Boolean,default:!1},ariaHidden:{type:Boolean,default:null}},render:function(e){var t,n,o,r,l,c=this,u=null===(t=this.$slots.default)||void 0===t||null===(n=t[0])||void 0===n||null===(o=n.text)||void 0===o||null===(r=o.trim)||void 0===r?void 0:r.call(o),d=!!u,p=null===(l=this.$slots)||void 0===l?void 0:l.icon;u||this.ariaLabel||i.warn("You need to fill either the text or the ariaLabel props in the button component.",{text:u,ariaLabel:this.ariaLabel},this);var m=function(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=n.navigate,i=n.isActive,r=n.isExactActive;return e(c.to||!c.href?"button":"a",{class:["button-vue",(t={"button-vue--icon-only":p&&!d,"button-vue--text-only":d&&!p,"button-vue--icon-and-text":p&&d},s(t,"button-vue--vue-".concat(c.type),c.type),s(t,"button-vue--wide",c.wide),s(t,"active",i),s(t,"router-link-exact-active",r),t)],attrs:a({"aria-label":c.ariaLabel,disabled:c.disabled,type:c.href?null:c.nativeType,role:c.href?"button":null,href:!c.to&&c.href?c.href:null},c.$attrs),on:a(a({},c.$listeners),{},{click:function(e){var t,n;null===(t=c.$listeners)||void 0===t||null===(n=t.click)||void 0===n||n.call(t,e),null==o||o(e)}})},[e("span",{class:"button-vue__wrapper"},[p?e("span",{class:"button-vue__icon",attrs:{"aria-hidden":c.ariaHidden}},[c.$slots.icon]):null,d?e("span",{class:"button-vue__text"},[u]):null])])};return this.to?e("router-link",{props:{custom:!0,to:this.to,exact:this.exact},scopedSlots:{default:m}}):m()}};var c=n(3379),u=n.n(c),d=n(7795),p=n.n(d),m=n(569),h=n.n(m),v=n(3565),A=n.n(v),f=n(9216),g=n.n(f),b=n(4589),y=n.n(b),C=n(1898),w={};w.styleTagTransform=y(),w.setAttributes=A(),w.insert=h().bind(null,"head"),w.domAPI=p(),w.insertStyleElement=g(),u()(C.Z,w),C.Z&&C.Z.locals&&C.Z.locals;var k=n(1900),S=n(2102),x=n.n(S),_=(0,k.Z)(l,void 0,void 0,!1,null,"2e49be1e",null);"function"==typeof x()&&x()(_);const j=_.exports},1898:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-2e49be1e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-2e49be1e]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition-property:color,border-color,background-color;transition-duration:.1s;transition-timing-function:linear;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue *[data-v-2e49be1e],.button-vue span[data-v-2e49be1e]{cursor:pointer}.button-vue[data-v-2e49be1e]:focus{outline:none}.button-vue[data-v-2e49be1e]:disabled{cursor:default;opacity:.5;filter:saturate(0.7)}.button-vue:disabled *[data-v-2e49be1e]{cursor:default}.button-vue[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-light-hover)}.button-vue[data-v-2e49be1e]:active{background-color:var(--color-primary-element-light)}.button-vue__wrapper[data-v-2e49be1e]{display:inline-flex;align-items:center;justify-content:center;width:100%}.button-vue__icon[data-v-2e49be1e]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-2e49be1e]{font-weight:bold;margin-bottom:1px;padding:2px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button-vue--icon-only[data-v-2e49be1e]{width:44px !important}.button-vue--text-only[data-v-2e49be1e]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-2e49be1e]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-2e49be1e]{padding:0 16px 0 4px}.button-vue--wide[data-v-2e49be1e]{width:100%}.button-vue[data-v-2e49be1e]:focus-visible{outline:2px solid var(--color-main-text) !important}.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{outline:2px solid var(--color-primary-element-text);border-radius:var(--border-radius);background-color:rgba(0,0,0,0)}.button-vue--vue-primary[data-v-2e49be1e]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.button-vue--vue-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-2e49be1e]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-2e49be1e]{color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue--vue-secondary[data-v-2e49be1e]:hover:not(:disabled){color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light-hover)}.button-vue--vue-tertiary[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{color:var(--color-primary-element-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-success[data-v-2e49be1e]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-2e49be1e]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-2e49be1e]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-2e49be1e]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-2e49be1e]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-2e49be1e]:active{background-color:var(--color-error)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcButton/NcButton.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,kCAAA,CACA,gBAAA,CACA,eCcgB,CDbhB,cCagB,CDZhB,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,cAAA,CAKA,kBAAA,CACA,uDAAA,CACA,uBAAA,CACA,iCAAA,CAkBA,6CAAA,CACA,mDAAA,CA1BA,iEAEC,cAAA,CAQD,mCACC,YAAA,CAGD,sCACC,cAAA,CAIA,UCIiB,CDFjB,oBAAA,CALA,wCACC,cAAA,CAUF,kDACC,yDAAA,CAKD,oCACC,mDAAA,CAGD,sCACC,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAGD,mCACC,WCvCe,CDwCf,UCxCe,CDyCf,eCzCe,CD0Cf,cC1Ce,CD2Cf,YAAA,CACA,sBAAA,CACA,kBAAA,CAGD,mCACC,gBAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAID,wCACC,qBAAA,CAID,wCACC,cAAA,CACA,0DACC,eAAA,CACA,gBAAA,CAKF,4CACC,oBAAA,CAID,mCACC,UAAA,CAGD,2CACC,mDAAA,CACA,+EACC,mDAAA,CACA,kCAAA,CACA,8BAAA,CAOF,0CACC,6CAAA,CACA,uCAAA,CACA,+DACC,mDAAA,CAID,iDACC,6CAAA,CAKF,4CACC,6CAAA,CACA,mDAAA,CACA,iEACC,6CAAA,CACA,yDAAA,CAKF,2CACC,4BAAA,CACA,8BAAA,CACA,gEACC,6BAAA,CACA,8CAAA,CAKF,yDACC,4BAAA,CACA,8BAAA,CACA,8EACC,8BAAA,CAKF,sDACC,uCAAA,CACA,8BAAA,CAEA,2EACC,8BAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,wCACC,mCAAA,CACA,UAAA,CACA,6DACC,yCAAA,CAID,+CACC,mCAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n\n.button-vue {\n\tposition: relative;\n\twidth: fit-content;\n\toverflow: hidden;\n\tborder: 0;\n\tpadding: 0;\n\tfont-size: var(--default-font-size);\n\tfont-weight: bold;\n\tmin-height: $clickable-area;\n\tmin-width: $clickable-area;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t// Cursor pointer on element and all children\n\tcursor: pointer;\n\t& *,\n\tspan {\n\t\tcursor: pointer;\n\t}\n\tborder-radius: math.div($clickable-area, 2);\n\ttransition-property: color, border-color, background-color;\n\ttransition-duration: 0.1s;\n\ttransition-timing-function: linear;\n\n\t// No outline feedback for focus. Handled with a toggled class in js (see data)\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t\t& * {\n\t\t\tcursor: default;\n\t\t}\n\t\topacity: $opacity_disabled;\n\t\t// Gives a wash out effect\n\t\tfilter: saturate($opacity_normal);\n\t}\n\n\t// Default button type\n\tcolor: var(--color-primary-element-light-text);\n\tbackground-color: var(--color-primary-element-light);\n\t&:hover:not(:disabled) {\n\t\tbackground-color: var(--color-primary-element-light-hover);\n\t}\n\n\t// Back to the default color for this button when active\n\t// TODO: add ripple effect\n\t&:active {\n\t\tbackground-color: var(--color-primary-element-light);\n\t}\n\n\t&__wrapper {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t}\n\n\t&__icon {\n\t\theight: $clickable-area;\n\t\twidth: $clickable-area;\n\t\tmin-height: $clickable-area;\n\t\tmin-width: $clickable-area;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\n\t&__text {\n\t\tfont-weight: bold;\n\t\tmargin-bottom: 1px;\n\t\tpadding: 2px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t}\n\n\t// Icon-only button\n\t&--icon-only {\n\t\twidth: $clickable-area !important;\n\t}\n\n\t// Text-only button\n\t&--text-only {\n\t\tpadding: 0 12px;\n\t\t& .button-vue__text {\n\t\t\tmargin-left: 4px;\n\t\t\tmargin-right: 4px;\n\t\t}\n\t}\n\n\t// Icon and text button\n\t&--icon-and-text {\n\t\tpadding: 0 16px 0 4px;\n\t}\n\n\t// Wide button spans the whole width of the container\n\t&--wide {\n\t\twidth: 100%;\n\t}\n\n\t&:focus-visible {\n\t\toutline: 2px solid var(--color-main-text) !important;\n\t\t&.button-vue--vue-tertiary-on-primary {\n\t\t\toutline: 2px solid var(--color-primary-element-text);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Button types\n\n\t// Primary\n\t&--vue-primary {\n\t\tbackground-color: var(--color-primary-element);\n\t\tcolor: var(--color-primary-element-text);\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\t}\n\n\t// Secondary\n\t&--vue-secondary {\n\t\tcolor: var(--color-primary-element-light-text);\n\t\tbackground-color: var(--color-primary-element-light);\n\t\t&:hover:not(:disabled) {\n\t\t\tcolor: var(--color-primary-element-light-text);\n\t\t\tbackground-color: var(--color-primary-element-light-hover);\n\t\t}\n\t}\n\n\t// Tertiary\n\t&--vue-tertiary {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Tertiary, no background\n\t&--vue-tertiary-no-background {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Tertiary on primary color (like the header)\n\t&--vue-tertiary-on-primary {\n\t\tcolor: var(--color-primary-element-text);\n\t\tbackground-color: transparent;\n\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Success\n\t&--vue-success {\n\t\tbackground-color: var(--color-success);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-success-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// : add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-success);\n\t\t}\n\t}\n\n\t// Warning\n\t&--vue-warning {\n\t\tbackground-color: var(--color-warning);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-warning-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-warning);\n\t\t}\n\t}\n\n\t// Error\n\t&--vue-error {\n\t\tbackground-color: var(--color-error);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-error-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-error);\n\t\t}\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n\n// navigation spacing\n$app-navigation-settings-margin: 3px;\n"],sourceRoot:""}]);const s=a},847:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-f50b337c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.input-field[data-v-f50b337c]{position:relative;width:100%;border-radius:var(--border-radius-large)}.input-field__main-wrapper[data-v-f50b337c]{height:36px;position:relative}.input-field__input[data-v-f50b337c]{margin:0;padding:0 12px;font-size:var(--default-font-size);background-color:var(--color-main-background);color:var(--color-main-text);border:2px solid var(--color-border-maxcontrast);height:36px !important;border-radius:var(--border-radius-large);text-overflow:ellipsis;cursor:pointer;width:100%;-webkit-appearance:textfield !important;-moz-appearance:textfield !important}.input-field__input[data-v-f50b337c]:active:not([disabled]),.input-field__input[data-v-f50b337c]:hover:not([disabled]),.input-field__input[data-v-f50b337c]:focus:not([disabled]){border-color:var(--color-primary-element)}.input-field__input[data-v-f50b337c]:focus{cursor:text}.input-field__input[data-v-f50b337c]:focus-visible{box-shadow:unset !important}.input-field__input--success[data-v-f50b337c]{border-color:var(--color-success) !important}.input-field__input--success[data-v-f50b337c]:focus-visible{box-shadow:#f8fafc 0px 0px 0px 2px,var(--color-primary-element) 0px 0px 0px 4px,rgba(0,0,0,.05) 0px 1px 2px 0px}.input-field__input--error[data-v-f50b337c]{border-color:var(--color-error) !important}.input-field__input--error[data-v-f50b337c]:focus-visible{box-shadow:#f8fafc 0px 0px 0px 2px,var(--color-primary-element) 0px 0px 0px 4px,rgba(0,0,0,.05) 0px 1px 2px 0px}.input-field__input--leading-icon[data-v-f50b337c]{padding-left:28px}.input-field__input--trailing-icon[data-v-f50b337c]{padding-right:28px}.input-field__label[data-v-f50b337c]{padding:4px 0;display:block}.input-field__label--hidden[data-v-f50b337c]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.input-field__icon[data-v-f50b337c]{position:absolute;height:32px;width:32px;display:flex;align-items:center;justify-content:center;opacity:.7}.input-field__icon--leading[data-v-f50b337c]{bottom:2px;left:2px}.input-field__icon--trailing[data-v-f50b337c]{bottom:2px;right:2px}.input-field__clear-button.button-vue[data-v-f50b337c]{position:absolute;top:2px;right:1px;min-width:unset;min-height:unset;height:32px;width:32px !important;border-radius:var(--border-radius-large)}.input-field__helper-text-message[data-v-f50b337c]{padding:4px 0;display:flex;align-items:center}.input-field__helper-text-message__icon[data-v-f50b337c]{margin-right:8px;align-self:start;margin-top:4px}.input-field__helper-text-message--error[data-v-f50b337c]{color:var(--color-error)}.input-field__helper-text-message--success[data-v-f50b337c]{color:var(--color-success)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcInputField/NcInputField.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8BACC,iBAAA,CACA,UAAA,CACA,wCAAA,CAEA,4CACC,WAAA,CACA,iBAAA,CAGD,qCACC,QAAA,CACA,cAAA,CACA,kCAAA,CACA,6CAAA,CACA,4BAAA,CACA,gDAAA,CACA,sBAAA,CACA,wCAAA,CACA,sBAAA,CACA,cAAA,CACA,UAAA,CACA,uCAAA,CACA,oCAAA,CAEA,kLAGC,yCAAA,CAGD,2CACC,WAAA,CAGD,mDACC,2BAAA,CAGD,8CACC,4CAAA,CACA,4DACC,+GAAA,CAIF,4CACC,0CAAA,CACA,0DACC,+GAAA,CAIF,mDACC,iBAAA,CAGD,oDACC,kBAAA,CAIF,qCACC,aAAA,CACA,aAAA,CAEA,6CACC,iBAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,eAAA,CAIF,oCACC,iBAAA,CACA,WAAA,CACA,UAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,6CACC,UAAA,CACA,QAAA,CAGD,8CACC,UAAA,CACA,SAAA,CAIF,uDACC,iBAAA,CACA,OAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,WAAA,CACA,qBAAA,CACA,wCAAA,CAGD,mDACC,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,yDACC,gBAAA,CACA,gBAAA,CACA,cAAA,CAGD,0DACC,wBAAA,CAGD,4DACC,0BAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n\n.input-field {\n\tposition: relative;\n\twidth: 100%;\n\tborder-radius: var(--border-radius-large);\n\n\t&__main-wrapper {\n\t\theight: 36px;\n\t\tposition: relative;\n\t}\n\n\t&__input {\n\t\tmargin: 0;\n\t\tpadding: 0 12px;\n\t\tfont-size: var(--default-font-size);\n\t\tbackground-color: var(--color-main-background);\n\t\tcolor: var(--color-main-text);\n\t\tborder: 2px solid var(--color-border-maxcontrast);\n\t\theight: 36px !important;\n\t\tborder-radius: var(--border-radius-large);\n\t\ttext-overflow: ellipsis;\n\t\tcursor: pointer;\n\t\twidth: 100%;\n\t\t-webkit-appearance: textfield !important;\n\t\t-moz-appearance: textfield !important;\n\n\t\t&:active:not([disabled]),\n\t\t&:hover:not([disabled]),\n\t\t&:focus:not([disabled]) {\n\t\t\tborder-color: var(--color-primary-element);\n\t\t}\n\n\t\t&:focus {\n\t\t\tcursor: text;\n\t\t}\n\n\t\t&:focus-visible {\n\t\t\tbox-shadow: unset !important; // Override server rules\n\t\t}\n\n\t\t&--success {\n\t\t\tborder-color: var(--color-success) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\n\t\t&--error {\n\t\t\tborder-color: var(--color-error) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\n\t\t&--leading-icon {\n\t\t\tpadding-left: 28px;\n\t\t}\n\n\t\t&--trailing-icon {\n\t\t\tpadding-right: 28px;\n\t\t}\n\t}\n\n\t&__label {\n\t\tpadding: 4px 0;\n\t\tdisplay: block;\n\n\t\t&--hidden {\n\t\t\tposition: absolute;\n\t\t\tleft: -10000px;\n\t\t\ttop: auto;\n\t\t\twidth: 1px;\n\t\t\theight: 1px;\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n\n\t&__icon {\n\t\tposition: absolute;\n\t\theight: 32px;\n\t\twidth: 32px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\topacity: 0.7;\n\t\t&--leading {\n\t\t\tbottom: 2px;\n\t\t\tleft: 2px;\n\t\t}\n\n\t\t&--trailing {\n\t\t\tbottom: 2px;\n\t\t\tright: 2px;\n\t\t}\n\t}\n\n\t&__clear-button.button-vue {\n\t\tposition: absolute;\n\t\ttop: 2px;\n\t\tright: 1px;\n\t\tmin-width: unset;\n\t\tmin-height: unset;\n\t\theight: 32px;\n\t\twidth: 32px !important;\n\t\tborder-radius: var(--border-radius-large);\n\t}\n\n\t&__helper-text-message {\n\t\tpadding: 4px 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t&__icon {\n\t\t\tmargin-right: 8px;\n\t\t\talign-self: start;\n\t\t\tmargin-top: 4px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error);\n\t\t}\n\n\t\t&--success {\n\t\t\tcolor: var(--color-success);\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const s=a},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",o=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),o&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),o&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,o,i,r){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(o)for(var s=0;s0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=r),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),i&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=i):u[4]="".concat(i)),t.push(u))}},t}},7537:e=>{"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),i="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(o),r="/*# ".concat(i," */");return[t].concat([r]).join("\n")}return[t].join("\n")}},3379:e=>{"use strict";var t=[];function n(e){for(var n=-1,o=0;o{"use strict";var t={};e.exports=function(e,n){var o=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(n)}},9216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{"use strict";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var o="";n.supports&&(o+="@supports (".concat(n.supports,") {")),n.media&&(o+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(o+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),o+=n.css,i&&(o+="}"),n.media&&(o+="}"),n.supports&&(o+="}");var r=n.sourceMap;r&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),t.styleTagTransform(o,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},2102:()=>{},4348:()=>{},1900:(e,t,n)=>{"use strict";function o(e,t,n,o,i,r,a,s){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}n.d(t,{Z:()=>o})}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var r=t[n]={id:n,exports:{}};return e[n](r,r.exports,o),r.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nc=void 0;var r={};return(()=>{"use strict";o.r(r),o.d(r,{default:()=>N});var e=o(9104);const t=n(94603);var a=o.n(t);const s=n(80419);var l=o.n(s);const c={name:"NcInputField",components:{NcButton:e.default,AlertCircle:a(),Check:l()},inheritAttrs:!1,props:{value:{type:String,required:!0},type:{type:String,default:"text",validator:function(e){return["text","password","email","tel","url","search","number"].includes(e)}},label:{type:String,default:void 0},labelOutside:{type:Boolean,default:!1},labelVisible:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},showTrailingButton:{type:Boolean,default:!1},trailingButtonLabel:{type:String,default:""},success:{type:Boolean,default:!1},error:{type:Boolean,default:!1},helperText:{type:String,default:""},disabled:{type:Boolean,default:!1},inputClass:{type:[Object,String],default:""}},emits:["update:value","trailing-button-click"],computed:{computedId:function(){return this.$attrs.id&&""!==this.$attrs.id?this.$attrs.id:this.inputName},inputName:function(){return"input"+Math.random().toString(36).replace(/[^a-z]+/g,"").slice(0,5)},hasLeadingIcon:function(){return this.$slots.default},hasTrailingIcon:function(){return this.success},hasPlaceholder:function(){return""!==this.placeholder&&void 0!==this.placeholder},computedPlaceholder:function(){return this.labelVisible?this.hasPlaceholder?this.placeholder:"":this.hasPlaceholder?this.placeholder:this.label},isValidLabel:function(){var e=this.label||this.labelOutside;return e||i.warn("You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation."),e}},methods:{handleInput:function(e){this.$emit("update:value",e.target.value)},handleTrailingButtonClick:function(e){this.$emit("trailing-button-click",e)}}};var u=o(3379),d=o.n(u),p=o(7795),m=o.n(p),h=o(569),v=o.n(h),A=o(3565),f=o.n(A),g=o(9216),b=o.n(g),y=o(4589),C=o.n(y),w=o(847),k={};k.styleTagTransform=C(),k.setAttributes=f(),k.insert=v().bind(null,"head"),k.domAPI=m(),k.insertStyleElement=b(),d()(w.Z,k),w.Z&&w.Z.locals&&w.Z.locals;var S=o(1900),x=o(4348),_=o.n(x),j=(0,S.Z)(c,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"input-field"},[!e.labelOutside&&e.isValidLabel?t("label",{staticClass:"input-field__label",class:{"input-field__label--hidden":!e.labelVisible},attrs:{for:e.computedId}},[e._v("\n\t\t"+e._s(e.label)+"\n\t")]):e._e(),e._v(" "),t("div",{staticClass:"input-field__main-wrapper"},[t("input",e._g(e._b({ref:"input",staticClass:"input-field__input",class:[e.inputClass,{"input-field__input--trailing-icon":e.showTrailingButton||e.hasTrailingIcon,"input-field__input--leading-icon":e.hasLeadingIcon,"input-field__input--success":e.success,"input-field__input--error":e.error}],attrs:{id:e.computedId,type:e.type,disabled:e.disabled,placeholder:e.computedPlaceholder,"aria-describedby":e.helperText.length>0?"".concat(e.inputName,"-helper-text"):"","aria-live":"polite"},domProps:{value:e.value},on:{input:e.handleInput}},"input",e.$attrs,!1),e.$listeners)),e._v(" "),t("div",{directives:[{name:"show",rawName:"v-show",value:e.hasLeadingIcon,expression:"hasLeadingIcon"}],staticClass:"input-field__icon input-field__icon--leading"},[e._t("default")],2),e._v(" "),e.showTrailingButton?t("NcButton",{staticClass:"input-field__clear-button",attrs:{type:"tertiary-no-background","aria-label":e.trailingButtonLabel,disabled:e.disabled},on:{click:e.handleTrailingButtonClick},scopedSlots:e._u([{key:"icon",fn:function(){return[e._t("trailing-button-icon")]},proxy:!0}],null,!0)}):e.success||e.error?t("div",{staticClass:"input-field__icon input-field__icon--trailing"},[e.success?t("Check",{attrs:{size:18}}):e.error?t("AlertCircle",{attrs:{size:18}}):e._e()],1):e._e()],1),e._v(" "),e.helperText.length>0?t("p",{staticClass:"input-field__helper-text-message",class:{"input-field__helper-text-message--error":e.error,"input-field__helper-text-message--success":e.success},attrs:{id:"".concat(e.inputName,"-helper-text")}},[e.success?t("Check",{staticClass:"input-field__helper-text-message__icon",attrs:{size:18}}):e.error?t("AlertCircle",{staticClass:"input-field__helper-text-message__icon",attrs:{size:18}}):e._e(),e._v("\n\t\t"+e._s(e.helperText)+"\n\t")],1):e._e()])}),[],!1,null,"f50b337c",null);"function"==typeof _()&&_()(j);const N=j.exports})(),r})(),e.exports=o()},48959:e=>{var t;self,t=()=>(()=>{var e={3002:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(7537),i=n.n(o),r=n(3645),a=n.n(r)()(i());a.push([e.id,".material-design-icon[data-v-117c6513]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.progress-bar[data-v-117c6513]{display:block;height:var(--progress-bar-height);width:100%;overflow:hidden;border:0;padding:0;background:var(--color-background-dark);border-radius:calc(var(--progress-bar-height)/2)}.progress-bar[data-v-117c6513]::-webkit-progress-bar{height:var(--progress-bar-height)}.progress-bar[data-v-117c6513]::-webkit-progress-value{background:var(--gradient-primary-background);border-radius:calc(var(--progress-bar-height)/2)}.progress-bar[data-v-117c6513]::-moz-progress-bar{background:var(--gradient-primary-background);border-radius:calc(var(--progress-bar-height)/2)}.progress-bar--error[data-v-117c6513]::-moz-progress-bar{background:var(--color-error) !important}.progress-bar--error[data-v-117c6513]::-webkit-progress-value{background:var(--color-error) !important}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/NcProgressBar/NcProgressBar.vue"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,+BACC,aAAA,CACA,iCAAA,CACA,UAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,uCAAA,CACA,gDAAA,CAGA,qDACC,iCAAA,CAED,uDACC,6CAAA,CACA,gDAAA,CAED,kDACC,6CAAA,CACA,gDAAA,CAIA,yDACC,wCAAA,CAED,8DACC,wCAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"70f0364\"; @import 'variables'; @import 'material-icons';\n\n\n.progress-bar {\n\tdisplay: block;\n\theight: var(--progress-bar-height);\n\twidth: 100%;\n\toverflow: hidden;\n\tborder: 0;\n\tpadding: 0;\n\tbackground: var(--color-background-dark);\n\tborder-radius: calc(var(--progress-bar-height) / 2);\n\n\t// Browser specific rules\n\t&::-webkit-progress-bar {\n\t\theight: var(--progress-bar-height);\n\t}\n\t&::-webkit-progress-value {\n\t\tbackground: var(--gradient-primary-background);\n\t\tborder-radius: calc(var(--progress-bar-height) / 2);\n\t}\n\t&::-moz-progress-bar {\n\t\tbackground: var(--gradient-primary-background);\n\t\tborder-radius: calc(var(--progress-bar-height) / 2);\n\t}\n\t&--error {\n\t\t// Override previous values\n\t\t&::-moz-progress-bar {\n\t\t\tbackground: var(--color-error) !important;\n\t\t}\n\t\t&::-webkit-progress-value {\n\t\t\tbackground: var(--color-error) !important;\n\t\t}\n\t}\n}\n\n"],sourceRoot:""}]);const s=a},3645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",o=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),o&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),o&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,o,i,r){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(o)for(var s=0;s0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=r),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),i&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=i):u[4]="".concat(i)),t.push(u))}},t}},7537:e=>{"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),i="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(o),r="/*# ".concat(i," */");return[t].concat([r]).join("\n")}return[t].join("\n")}},3379:e=>{"use strict";var t=[];function n(e){for(var n=-1,o=0;o{"use strict";var t={};e.exports=function(e,n){var o=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(n)}},9216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},7795:e=>{"use strict";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var o="";n.supports&&(o+="@supports (".concat(n.supports,") {")),n.media&&(o+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(o+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),o+=n.css,i&&(o+="}"),n.media&&(o+="}"),n.supports&&(o+="}");var r=n.sourceMap;r&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),t.styleTagTransform(o,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},8070:()=>{},1900:(e,t,n)=>{"use strict";function o(e,t,n,o,i,r,a,s){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}n.d(t,{Z:()=>o})}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var r=t[o]={id:o,exports:{}};return e[o](r,r.exports,n),r.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nc=void 0;var o={};return(()=>{"use strict";n.r(o),n.d(o,{default:()=>C});const e={name:"NcProgressBar",props:{value:{type:Number,default:0,validator:function(e){return e>=0&&e<=100}},size:{type:String,default:"small",validator:function(e){return-1!==["small","medium"].indexOf(e)}},error:{type:Boolean,default:!1}},computed:{height:function(){return"small"===this.size?"4px":"6px"}}};var t=n(3379),i=n.n(t),r=n(7795),a=n.n(r),s=n(569),l=n.n(s),c=n(3565),u=n.n(c),d=n(9216),p=n.n(d),m=n(4589),h=n.n(m),v=n(3002),A={};A.styleTagTransform=h(),A.setAttributes=u(),A.insert=l().bind(null,"head"),A.domAPI=a(),A.insertStyleElement=p(),i()(v.Z,A),v.Z&&v.Z.locals&&v.Z.locals;var f=n(1900),g=n(8070),b=n.n(g),y=(0,f.Z)(e,(function(){var e=this;return(0,e._self._c)("progress",{staticClass:"progress-bar vue",class:{"progress-bar--error":e.error},style:{"--progress-bar-height":e.height},attrs:{max:"100"},domProps:{value:e.value}})}),[],!1,null,"117c6513",null);"function"==typeof b()&&b()(y);const C=y.exports})(),o})(),e.exports=t()},92460:(e,n,o)=>{"use strict";var i={};o.r(i),o.d(i,{exclude:()=>vs,extract:()=>cs,parse:()=>us,parseUrl:()=>ps,pick:()=>hs,stringify:()=>ds,stringifyUrl:()=>ms});var r=o(17499),a=o(79954),s=o(31352),l=o(79753),c=o(77958);const u=function(){var e,t,n,o;const i=(null===(e=OCA)||void 0===e||null===(t=e.Files)||void 0===t||null===(n=t.App)||void 0===n||null===(o=n.currentFileList)||void 0===o?void 0:o.dirInfo)||{path:"/",name:""};return"".concat(i.path,"/").concat(i.name).replace(/\/\//gi,"/")};var d=o(26937),p=o(20144),m=o(62520),h=o(64024),v=o(93455),A=o.n(v),f=o(70110),g=o.n(f);const b=256,y={name:"TemplatePreview",inheritAttrs:!1,props:{basename:{type:String,required:!0},checked:{type:Boolean,default:!1},fileid:{type:[String,Number],required:!0},filename:{type:String,required:!0},previewUrl:{type:String,default:null},hasPreview:{type:Boolean,default:!0},mime:{type:String,required:!0},ratio:{type:Number,default:null}},data:()=>({failedPreview:!1}),computed:{nameWithoutExt(){return this.basename.indexOf(".")>-1?this.basename.split(".").slice(0,-1).join("."):this.basename},id(){return"template-picker-".concat(this.fileid)},realPreviewUrl(){return this.failedPreview&&this.mimeIcon?this.mimeIcon:this.previewUrl?this.previewUrl:(0,c.ts)()?(0,l.generateUrl)("/core/preview?fileId=".concat(this.fileid,"&x=").concat(b,"&y=").concat(b,"&a=1")):(0,l.generateUrl)("/apps/files_sharing/publicpreview/".concat(document.getElementById("sharingToken")&&document.getElementById("sharingToken").value,"?fileId=").concat(this.fileid,"&file=").concat(function(e){const t=(e.startsWith("/")?e:"/".concat(e)).split("/");let n="";return t.forEach((e=>{""!==e&&(n+="/"+encodeURIComponent(e))})),n}(this.filename),"&x=").concat(b,"&y=").concat(b,"&a=1"))},mimeIcon(){return OC.MimeType.getIconUrl(this.mime)}},methods:{onCheck(){this.$emit("check",this.fileid)},onFailure(){this.failedPreview=!0}}};var C=o(93379),w=o.n(C),k=o(7795),S=o.n(k),x=o(90569),_=o.n(x),j=o(3565),N=o.n(j),z=o(19216),P=o.n(z),E=o(44589),O=o.n(E),T=o(67679),B={};B.styleTagTransform=O(),B.setAttributes=N(),B.insert=_().bind(null,"head"),B.domAPI=S(),B.insertStyleElement=P(),w()(T.Z,B),T.Z&&T.Z.locals&&T.Z.locals;var D=o(51900);const F=(0,D.Z)(y,(function(){var e=this,t=e._self._c;return t("li",{staticClass:"template-picker__item"},[t("input",{staticClass:"radio",attrs:{id:e.id,type:"radio",name:"template-picker"},domProps:{checked:e.checked},on:{change:e.onCheck}}),e._v(" "),t("label",{staticClass:"template-picker__label",attrs:{for:e.id}},[t("div",{staticClass:"template-picker__preview",class:e.failedPreview?"template-picker__preview--failed":""},[t("img",{staticClass:"template-picker__image",attrs:{src:e.realPreviewUrl,alt:"",draggable:"false"},on:{error:e.onFailure}})]),e._v(" "),t("span",{staticClass:"template-picker__title"},[e._v("\n\t\t\t"+e._s(e.nameWithoutExt)+"\n\t\t")])])])}),[],!1,null,"5b09ec60",null).exports;var I=o(25108);const $={name:"TemplatePicker",components:{NcEmptyContent:A(),NcModal:g(),TemplatePreview:F},props:{logger:{type:Object,required:!0}},data:()=>({checked:-1,loading:!1,name:null,opened:!1,provider:null}),computed:{nameWithoutExt(){return this.name.indexOf(".")>-1?this.name.split(".").slice(0,-1).join("."):this.name},emptyTemplate(){var e,n;return{basename:t("files","Blank"),fileid:-1,filename:this.t("files","Blank"),hasPreview:!1,mime:(null===(e=this.provider)||void 0===e?void 0:e.mimetypes[0])||(null===(n=this.provider)||void 0===n?void 0:n.mimetypes)}},selectedTemplate(){return this.provider.templates.find((e=>e.fileid===this.checked))},style(){const e=(this.provider.ratio?this.provider.ratio:1.77)>1?240:160;return{"--margin":"8px","--width":e+"px","--border":"2px","--fullwidth":e+16+4+"px","--height":this.provider.ratio?Math.round(e/this.provider.ratio)+"px":null}}},methods:{async open(e,t){this.checked=this.emptyTemplate.fileid,this.name=e,this.provider=t;const n=(await async function(){return(await d.Z.get((0,l.generateOcsUrl)("apps/files/api/v1/templates"))).data.ocs.data}()).find((e=>e.app===t.app&&e.label===t.label));if(null===n)throw new Error("Failed to match provider in results");this.provider=n,0!==n.templates.length?this.opened=!0:this.onSubmit()},close(){this.checked=this.emptyTemplate.fileid,this.loading=!1,this.name=null,this.opened=!1,this.provider=null},onCheck(e){this.checked=e},async onSubmit(){var e,t,n;this.loading=!0;const o=u(),i=null===(e=OCA)||void 0===e||null===(t=e.Files)||void 0===t||null===(n=t.App)||void 0===n?void 0:n.currentFileList;var r,a;this.nameWithoutExt===this.name&&(this.logger.debug("Fixed invalid filename",{name:this.name,extension:null===(r=this.provider)||void 0===r?void 0:r.extension}),this.name=this.name+(null===(a=this.provider)||void 0===a?void 0:a.extension));try{var s,c;const e=await async function(e,t,n){return(await d.Z.post((0,l.generateOcsUrl)("apps/files/api/v1/templates/create"),{filePath:e,templatePath:t,templateType:n})).data.ocs.data}((0,m.normalize)("".concat(o,"/").concat(this.name)),null===(s=this.selectedTemplate)||void 0===s?void 0:s.filename,null===(c=this.selectedTemplate)||void 0===c?void 0:c.templateType);this.logger.debug("Created new file",e);const t=await(null==i?void 0:i.addAndFetchFileInfo(this.name).then(((e,t)=>t))),n=new OCA.Files.FileInfoModel(t,{filesClient:null==i?void 0:i.filesClient}),r=OCA.Files.fileActions.getDefaultFileAction(e.mime,"file",OC.PERMISSION_ALL);r&&r.action(e.basename,{$file:null==i?void 0:i.findFileEl(this.name),dir:o,fileList:i,fileActions:null==i?void 0:i.fileActions,fileInfoModel:n}),this.close()}catch(e){this.logger.error("Error while creating the new file from template"),I.error(e),(0,h.x2)(this.t("files","Unable to create new file from template"))}finally{this.loading=!1}}}};var L=o(54654),M={};M.styleTagTransform=O(),M.setAttributes=N(),M.insert=_().bind(null,"head"),M.domAPI=S(),M.insertStyleElement=P(),w()(L.Z,M),L.Z&&L.Z.locals&&L.Z.locals;const U=(0,D.Z)($,(function(){var e=this,t=e._self._c;return e.opened?t("NcModal",{staticClass:"templates-picker",attrs:{"clear-view-delay":-1,size:"large"},on:{close:e.close}},[t("form",{staticClass:"templates-picker__form",style:e.style,on:{submit:function(t){return t.preventDefault(),t.stopPropagation(),e.onSubmit.apply(null,arguments)}}},[t("h2",[e._v(e._s(e.t("files","Pick a template for {name}",{name:e.nameWithoutExt})))]),e._v(" "),t("ul",{staticClass:"templates-picker__list"},[t("TemplatePreview",e._b({attrs:{checked:e.checked===e.emptyTemplate.fileid},on:{check:e.onCheck}},"TemplatePreview",e.emptyTemplate,!1)),e._v(" "),e._l(e.provider.templates,(function(n){return t("TemplatePreview",e._b({key:n.fileid,attrs:{checked:e.checked===n.fileid,ratio:e.provider.ratio},on:{check:e.onCheck}},"TemplatePreview",n,!1))}))],2),e._v(" "),t("div",{staticClass:"templates-picker__buttons"},[t("input",{staticClass:"primary",attrs:{type:"submit","aria-label":e.t("files","Create a new file with the selected template")},domProps:{value:e.t("files","Create")}})])]),e._v(" "),e.loading?t("NcEmptyContent",{staticClass:"templates-picker__loading",attrs:{icon:"icon-loading"}},[e._v("\n\t\t"+e._s(e.t("files","Creating file"))+"\n\t")]):e._e()],1):e._e()}),[],!1,null,"d46f1dc6",null).exports,G=(0,r.IY)().setApp("files").detectUser().build();p.default.mixin({methods:{t:s.Iu,n:s.uN}});const R=document.createElement("div");R.id="template-picker",document.body.appendChild(R);let V=(0,a.j)("files","templates",[]),Z=(0,a.j)("files","templates_path",!1);G.debug("Templates providers",V),G.debug("Templates folder",{templatesPath:Z});const q=new(p.default.extend(U))({name:"TemplatePicker",propsData:{logger:G}});q.$mount("#template-picker"),window.addEventListener("DOMContentLoaded",(function(){if(!Z){G.debug("Templates folder not initialized");const e={attach(e){e.addMenuEntry({id:"template-init",displayName:(0,s.Iu)("files","Set up templates folder"),templateName:(0,s.Iu)("files","Templates"),iconClass:"icon-template-add",fileType:"file",actionLabel:(0,s.Iu)("files","Create new templates folder"),actionHandler(t){W(t),e.removeMenuEntry("template-init")}})}};OC.Plugins.register("OCA.Files.NewFileMenu",e)}})),V.forEach(((e,t)=>{const n={attach(n){const o=n.fileList;"files"!==o.id&&"files.public"!==o.id||n.addMenuEntry({id:"template-new-".concat(e.app,"-").concat(t),displayName:e.label,templateName:e.label+e.extension,iconClass:e.iconClass||"icon-file",fileType:"file",actionLabel:e.actionLabel,actionHandler(t){q.open(t,e)}})}};OC.Plugins.register("OCA.Files.NewFileMenu",n)}));const W=async function(e){const t=(u()+"/".concat(e)).replace("//","/");try{G.debug("Initializing the templates directory",{templatePath:t});const e=await d.Z.post((0,l.generateOcsUrl)("apps/files/api/v1/templates/path"),{templatePath:t,copySystemTemplates:!0});OCA.Files.App.currentFileList.changeDirectory(t,!0,!0),V=e.data.ocs.data.templates,Z=e.data.ocs.data.template_path}catch(e){G.error("Unable to initialize the templates directory"),(0,h.x2)((0,s.Iu)("files","Unable to initialize the templates directory"))}};var H=o(69183);!function(){const e={attach(e){(0,H.Ld)("nextcloud:unified-search.search",(t=>{let{query:n}=t;e.setFilter(n)})),(0,H.Ld)("nextcloud:unified-search.reset",(()=>{this.query=null,e.setFilter("")}))}};window.OC.Plugins.register("OCA.Files.FileList",e)}();const K=["B","KB","MB","GB","TB","PB"],Y=["B","KiB","MiB","GiB","TiB","PiB"];function J(e,t=!1,n=!1){"string"==typeof e&&(e=Number(e));let o=e>0?Math.floor(Math.log(e)/Math.log(n?1024:1e3)):0;o=Math.min((n?Y.length:K.length)-1,o);const i=n?Y[o]:K[o];let r=(e/Math.pow(n?1024:1e3,o)).toFixed(1);return!0===t&&0===o?("0.0"!==r?"< 1 ":"0 ")+(n?Y[1]:K[1]):(r=o<2?parseFloat(r).toFixed(0):parseFloat(r).toLocaleString((0,s.aj)()),r+" "+i)}var Q,X,ee;null===(Q=(0,c.ts)())?(0,r.IY)().setApp("files").build():(0,r.IY)().setApp("files").setUid(Q.uid).build(),function(e){e.Folder="folder",e.File="file"}(X||(X={})),function(e){e[e.NONE=0]="NONE",e[e.CREATE=4]="CREATE",e[e.READ=1]="READ",e[e.UPDATE=2]="UPDATE",e[e.DELETE=8]="DELETE",e[e.SHARE=16]="SHARE",e[e.ALL=31]="ALL"}(ee||(ee={}));const te=(0,r.IY)().setApp("files").detectUser().build();class ne{constructor(e){var t,n,o;t=this,o=void 0,(n=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,"string");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(n="_action"))in t?Object.defineProperty(t,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[n]=o,this.validateAction(e),this._action=e}get id(){return this._action.id}get displayName(){return this._action.displayName}get iconSvgInline(){return this._action.iconSvgInline}get enabled(){return this._action.enabled}get exec(){return this._action.exec}get execBatch(){return this._action.execBatch}get order(){return this._action.order}get default(){return this._action.default}get inline(){return this._action.inline}get renderInline(){return this._action.renderInline}validateAction(e){if(!e.id||"string"!=typeof e.id)throw new Error("Invalid id");if(!e.displayName||"function"!=typeof e.displayName)throw new Error("Invalid displayName function");if(!e.iconSvgInline||"function"!=typeof e.iconSvgInline)throw new Error("Invalid iconSvgInline function");if(!e.exec||"function"!=typeof e.exec)throw new Error("Invalid exec function");if("enabled"in e&&"function"!=typeof e.enabled)throw new Error("Invalid enabled function");if("execBatch"in e&&"function"!=typeof e.execBatch)throw new Error("Invalid execBatch function");if("order"in e&&"number"!=typeof e.order)throw new Error("Invalid order");if("default"in e&&"boolean"!=typeof e.default)throw new Error("Invalid default");if("inline"in e&&"function"!=typeof e.inline)throw new Error("Invalid inline function");if("renderInline"in e&&"function"!=typeof e.renderInline)throw new Error("Invalid renderInline function")}}const oe=function(e){void 0===window._nc_fileactions&&(window._nc_fileactions=[],te.debug("FileActions initialized")),window._nc_fileactions.find((t=>t.id===e.id))?te.error("FileAction ".concat(e.id," already registered"),{action:e}):window._nc_fileactions.push(e)},ie=function(){return window._nc_fileactions||[]};oe(new ne({id:"delete",displayName:(e,t)=>"trashbin"===t.id?(0,s.Iu)("files_trashbin","Delete permanently"):(0,s.Iu)("files","Delete"),iconSvgInline:()=>'',enabled:e=>e.length>0&&e.map((e=>e.permissions)).every((e=>0!=(e&ee.DELETE))),async exec(e){try{return await d.Z.delete(e.source),(0,H.j8)("files:node:deleted",e),!0}catch(t){return te.error("Error while deleting a file",{error:t,source:e.source,node:e}),!1}},async execBatch(e,t,n){return Promise.all(e.map((e=>this.exec(e,t,n))))},order:100})),oe(new ne({id:"open-folder",displayName(e){const t=e[0].attributes.displayName||e[0].basename;return(0,s.Iu)("files","Open folder {displayName}",{displayName:t})},iconSvgInline:()=>'',enabled(e){if(1!==e.length)return!1;const t=e[0];return t.type===X.Folder&&0!=(t.permissions&ee.READ)},exec:async(e,t,n)=>!(!e||e.type!==X.Folder)&&(window.OCP.Files.Router.goToRoute(null,null,{dir:(0,m.join)(n,e.basename)}),null),async execBatch(e,t,n){return Promise.all(e.map((e=>this.exec(e,t,n))))},order:-100,default:!0}));const re="details";oe(new ne({id:re,displayName:()=>(0,s.Iu)("files","Details"),iconSvgInline:()=>'',enabled:e=>{var t,n,o;return!(null===(t=window)||void 0===t||null===(n=t.OCA)||void 0===n||null===(o=n.Files)||void 0===o||!o.Sidebar)&&e.some((e=>{var t;return null===(t=e.root)||void 0===t?void 0:t.startsWith("/files/")}))},async exec(e){try{var t,n,o,i,r;return null===(t=window)||void 0===t||null===(n=t.OCA)||void 0===n||null===(o=n.Files)||void 0===o||null===(i=o.Sidebar)||void 0===i||null===(r=i.open)||void 0===r||r.call(i,e.path),null}catch(e){return te.error("Error while opening sidebar",{error:e}),!1}},default:!0,order:-50}));var ae=!0;function se(){return"undefined"!=typeof navigator&&"undefined"!=typeof window?window:void 0!==o.g?o.g:{}}p.default,p.default.util.warn;const le="function"==typeof Proxy,ce="devtools-plugin:setup";let ue,de;class pe{constructor(e,t){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=e,this.hook=t;const n={};if(e.settings)for(const t in e.settings){const o=e.settings[t];n[t]=o.defaultValue}const i=`__vue-devtools-plugin-settings__${e.id}`;let r=Object.assign({},n);try{const e=localStorage.getItem(i),t=JSON.parse(e);Object.assign(r,t)}catch(e){}this.fallbacks={getSettings:()=>r,setSettings(e){try{localStorage.setItem(i,JSON.stringify(e))}catch(e){}r=e},now:()=>{return void 0!==ue||("undefined"!=typeof window&&window.performance?(ue=!0,de=window.performance):void 0!==o.g&&(null===(e=o.g.perf_hooks)||void 0===e?void 0:e.performance)?(ue=!0,de=o.g.perf_hooks.performance):ue=!1),ue?de.now():Date.now();var e}},t&&t.on("plugin:settings:set",((e,t)=>{e===this.plugin.id&&this.fallbacks.setSettings(t)})),this.proxiedOn=new Proxy({},{get:(e,t)=>this.target?this.target.on[t]:(...e)=>{this.onQueue.push({method:t,args:e})}}),this.proxiedTarget=new Proxy({},{get:(e,t)=>this.target?this.target[t]:"on"===t?this.proxiedOn:Object.keys(this.fallbacks).includes(t)?(...e)=>(this.targetQueue.push({method:t,args:e,resolve:()=>{}}),this.fallbacks[t](...e)):(...e)=>new Promise((n=>{this.targetQueue.push({method:t,args:e,resolve:n})}))})}async setRealTarget(e){this.target=e;for(const e of this.onQueue)this.target.on[e.method](...e.args);for(const e of this.targetQueue)e.resolve(await this.target[e.method](...e.args))}}function me(e,t){const n=e,o=se(),i=se().__VUE_DEVTOOLS_GLOBAL_HOOK__,r=le&&n.enableEarlyProxy;if(!i||!o.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&r){const e=r?new pe(n,i):null;(o.__VUE_DEVTOOLS_PLUGINS__=o.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:n,setupFn:t,proxy:e}),e&&t(e.proxiedTarget)}else i.emit(ce,e,t)}var he=o(25108);let ve;const Ae=e=>ve=e,fe=Symbol();function ge(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var be;!function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"}(be||(be={}));const ye="undefined"!=typeof window,Ce="undefined"!=typeof __VUE_PROD_DEVTOOLS__&&__VUE_PROD_DEVTOOLS__&&ye,we=(()=>"object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:"object"==typeof globalThis?globalThis:{HTMLElement:null})();function ke(e,t,n){const o=new XMLHttpRequest;o.open("GET",e),o.responseType="blob",o.onload=function(){Ne(o.response,t,n)},o.onerror=function(){he.error("could not download file")},o.send()}function Se(e){const t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return t.status>=200&&t.status<=299}function xe(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(t){const n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(n)}}const _e="object"==typeof navigator?navigator:{userAgent:""},je=(()=>/Macintosh/.test(_e.userAgent)&&/AppleWebKit/.test(_e.userAgent)&&!/Safari/.test(_e.userAgent))(),Ne=ye?"undefined"!=typeof HTMLAnchorElement&&"download"in HTMLAnchorElement.prototype&&!je?function(e,t="download",n){const o=document.createElement("a");o.download=t,o.rel="noopener","string"==typeof e?(o.href=e,o.origin!==location.origin?Se(o.href)?ke(e,t,n):(o.target="_blank",xe(o)):xe(o)):(o.href=URL.createObjectURL(e),setTimeout((function(){URL.revokeObjectURL(o.href)}),4e4),setTimeout((function(){xe(o)}),0))}:"msSaveOrOpenBlob"in _e?function(e,t="download",n){if("string"==typeof e)if(Se(e))ke(e,t,n);else{const t=document.createElement("a");t.href=e,t.target="_blank",setTimeout((function(){xe(t)}))}else navigator.msSaveOrOpenBlob(function(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e}(e,n),t)}:function(e,t,n,o){if((o=o||open("","_blank"))&&(o.document.title=o.document.body.innerText="downloading..."),"string"==typeof e)return ke(e,t,n);const i="application/octet-stream"===e.type,r=/constructor/i.test(String(we.HTMLElement))||"safari"in we,a=/CriOS\/[\d]+/.test(navigator.userAgent);if((a||i&&r||je)&&"undefined"!=typeof FileReader){const t=new FileReader;t.onloadend=function(){let e=t.result;if("string"!=typeof e)throw o=null,new Error("Wrong reader.result type");e=a?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),o?o.location.href=e:location.assign(e),o=null},t.readAsDataURL(e)}else{const t=URL.createObjectURL(e);o?o.location.assign(t):location.href=t,o=null,setTimeout((function(){URL.revokeObjectURL(t)}),4e4)}}:()=>{};function ze(e,t){const n="🍍 "+e;"function"==typeof __VUE_DEVTOOLS_TOAST__?__VUE_DEVTOOLS_TOAST__(n,t):"error"===t?he.error(n):"warn"===t?he.warn(n):he.log(n)}function Pe(e){return"_a"in e&&"install"in e}function Ee(){if(!("clipboard"in navigator))return ze("Your browser doesn't support the Clipboard API","error"),!0}function Oe(e){return!!(e instanceof Error&&e.message.toLowerCase().includes("document is not focused"))&&(ze('You need to activate the "Emulate a focused page" setting in the "Rendering" panel of devtools.',"warn"),!0)}let Te;function Be(e){return{_custom:{display:e}}}const De="🍍 Pinia (root)",Fe="_root";function Ie(e){return Pe(e)?{id:Fe,label:De}:{id:e.$id,label:e.$id}}function $e(e){return e?Array.isArray(e)?e.reduce(((e,t)=>(e.keys.push(t.key),e.operations.push(t.type),e.oldValue[t.key]=t.oldValue,e.newValue[t.key]=t.newValue,e)),{oldValue:{},keys:[],operations:[],newValue:{}}):{operation:Be(e.type),key:Be(e.key),oldValue:e.oldValue,newValue:e.newValue}:{}}function Le(e){switch(e){case be.direct:return"mutation";case be.patchFunction:case be.patchObject:return"$patch";default:return"unknown"}}let Me=!0;const Ue=[],Ge="pinia:mutations",Re="pinia",{assign:Ve}=Object,Ze=e=>"🍍 "+e;function qe(e,t){me({id:"dev.esm.pinia",label:"Pinia 🍍",logo:"https://pinia.vuejs.org/logo.svg",packageName:"pinia",homepage:"https://pinia.vuejs.org",componentStateTypes:Ue,app:e},(n=>{"function"!=typeof n.now&&ze("You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."),n.addTimelineLayer({id:Ge,label:"Pinia 🍍",color:15064968}),n.addInspector({id:Re,label:"Pinia 🍍",icon:"storage",treeFilterPlaceholder:"Search stores",actions:[{icon:"content_copy",action:()=>{!async function(e){if(!Ee())try{await navigator.clipboard.writeText(JSON.stringify(e.state.value)),ze("Global state copied to clipboard.")}catch(e){if(Oe(e))return;ze("Failed to serialize the state. Check the console for more details.","error"),he.error(e)}}(t)},tooltip:"Serialize and copy the state"},{icon:"content_paste",action:async()=>{await async function(e){if(!Ee())try{e.state.value=JSON.parse(await navigator.clipboard.readText()),ze("Global state pasted from clipboard.")}catch(e){if(Oe(e))return;ze("Failed to deserialize the state from clipboard. Check the console for more details.","error"),he.error(e)}}(t),n.sendInspectorTree(Re),n.sendInspectorState(Re)},tooltip:"Replace the state with the content of your clipboard"},{icon:"save",action:()=>{!async function(e){try{Ne(new Blob([JSON.stringify(e.state.value)],{type:"text/plain;charset=utf-8"}),"pinia-state.json")}catch(e){ze("Failed to export the state as JSON. Check the console for more details.","error"),he.error(e)}}(t)},tooltip:"Save the state as a JSON file"},{icon:"folder_open",action:async()=>{await async function(e){try{const t=await(Te||(Te=document.createElement("input"),Te.type="file",Te.accept=".json"),function(){return new Promise(((e,t)=>{Te.onchange=async()=>{const t=Te.files;if(!t)return e(null);const n=t.item(0);return e(n?{text:await n.text(),file:n}:null)},Te.oncancel=()=>e(null),Te.onerror=t,Te.click()}))}),n=await t();if(!n)return;const{text:o,file:i}=n;e.state.value=JSON.parse(o),ze(`Global state imported from "${i.name}".`)}catch(e){ze("Failed to export the state as JSON. Check the console for more details.","error"),he.error(e)}}(t),n.sendInspectorTree(Re),n.sendInspectorState(Re)},tooltip:"Import the state from a JSON file"}],nodeActions:[{icon:"restore",tooltip:"Reset the state (option store only)",action:e=>{const n=t._s.get(e);n?n._isOptionsAPI?(n.$reset(),ze(`Store "${e}" reset.`)):ze(`Cannot reset "${e}" store because it's a setup store.`,"warn"):ze(`Cannot reset "${e}" store because it wasn't found.`,"warn")}}]}),n.on.inspectComponent(((e,t)=>{const n=e.componentInstance&&e.componentInstance.proxy;if(n&&n._pStores){const t=e.componentInstance.proxy._pStores;Object.values(t).forEach((t=>{e.instanceData.state.push({type:Ze(t.$id),key:"state",editable:!0,value:t._isOptionsAPI?{_custom:{value:(0,p.toRaw)(t.$state),actions:[{icon:"restore",tooltip:"Reset the state of this store",action:()=>t.$reset()}]}}:Object.keys(t.$state).reduce(((e,n)=>(e[n]=t.$state[n],e)),{})}),t._getters&&t._getters.length&&e.instanceData.state.push({type:Ze(t.$id),key:"getters",editable:!1,value:t._getters.reduce(((e,n)=>{try{e[n]=t[n]}catch(t){e[n]=t}return e}),{})})}))}})),n.on.getInspectorTree((n=>{if(n.app===e&&n.inspectorId===Re){let e=[t];e=e.concat(Array.from(t._s.values())),n.rootNodes=(n.filter?e.filter((e=>"$id"in e?e.$id.toLowerCase().includes(n.filter.toLowerCase()):De.toLowerCase().includes(n.filter.toLowerCase()))):e).map(Ie)}})),n.on.getInspectorState((n=>{if(n.app===e&&n.inspectorId===Re){const e=n.nodeId===Fe?t:t._s.get(n.nodeId);if(!e)return;e&&(n.state=function(e){if(Pe(e)){const t=Array.from(e._s.keys()),n=e._s,o={state:t.map((t=>({editable:!0,key:t,value:e.state.value[t]}))),getters:t.filter((e=>n.get(e)._getters)).map((e=>{const t=n.get(e);return{editable:!1,key:e,value:t._getters.reduce(((e,n)=>(e[n]=t[n],e)),{})}}))};return o}const t={state:Object.keys(e.$state).map((t=>({editable:!0,key:t,value:e.$state[t]})))};return e._getters&&e._getters.length&&(t.getters=e._getters.map((t=>({editable:!1,key:t,value:e[t]})))),e._customProperties.size&&(t.customProperties=Array.from(e._customProperties).map((t=>({editable:!0,key:t,value:e[t]})))),t}(e))}})),n.on.editInspectorState(((n,o)=>{if(n.app===e&&n.inspectorId===Re){const e=n.nodeId===Fe?t:t._s.get(n.nodeId);if(!e)return ze(`store "${n.nodeId}" not found`,"error");const{path:o}=n;Pe(e)?o.unshift("state"):1===o.length&&e._customProperties.has(o[0])&&!(o[0]in e.$state)||o.unshift("$state"),Me=!1,n.set(e,o,n.state.value),Me=!0}})),n.on.editComponentState((e=>{if(e.type.startsWith("🍍")){const n=e.type.replace(/^🍍\s*/,""),o=t._s.get(n);if(!o)return ze(`store "${n}" not found`,"error");const{path:i}=e;if("state"!==i[0])return ze(`Invalid path for store "${n}":\n${i}\nOnly state can be modified.`);i[0]="$state",Me=!1,e.set(o,i,e.state.value),Me=!0}}))}))}let We,He=0;function Ke(e,t){const n=t.reduce(((t,n)=>(t[n]=(0,p.toRaw)(e)[n],t)),{});for(const t in n)e[t]=function(){const o=He,i=new Proxy(e,{get:(...e)=>(We=o,Reflect.get(...e)),set:(...e)=>(We=o,Reflect.set(...e))});return n[t].apply(i,arguments)}}function Ye({app:e,store:t,options:n}){if(!t.$id.startsWith("__hot:")){if(n.state&&(t._isOptionsAPI=!0),"function"==typeof n.state){Ke(t,Object.keys(n.actions));const e=t._hotUpdate;(0,p.toRaw)(t)._hotUpdate=function(n){e.apply(this,arguments),Ke(t,Object.keys(n._hmrPayload.actions))}}!function(e,t){Ue.includes(Ze(t.$id))||Ue.push(Ze(t.$id)),me({id:"dev.esm.pinia",label:"Pinia 🍍",logo:"https://pinia.vuejs.org/logo.svg",packageName:"pinia",homepage:"https://pinia.vuejs.org",componentStateTypes:Ue,app:e,settings:{logStoreChanges:{label:"Notify about new/deleted stores",type:"boolean",defaultValue:!0}}},(e=>{const n="function"==typeof e.now?e.now.bind(e):Date.now;t.$onAction((({after:o,onError:i,name:r,args:a})=>{const s=He++;e.addTimelineEvent({layerId:Ge,event:{time:n(),title:"🛫 "+r,subtitle:"start",data:{store:Be(t.$id),action:Be(r),args:a},groupId:s}}),o((o=>{We=void 0,e.addTimelineEvent({layerId:Ge,event:{time:n(),title:"🛬 "+r,subtitle:"end",data:{store:Be(t.$id),action:Be(r),args:a,result:o},groupId:s}})})),i((o=>{We=void 0,e.addTimelineEvent({layerId:Ge,event:{time:n(),logType:"error",title:"💥 "+r,subtitle:"end",data:{store:Be(t.$id),action:Be(r),args:a,error:o},groupId:s}})}))}),!0),t._customProperties.forEach((o=>{(0,p.watch)((()=>(0,p.unref)(t[o])),((t,i)=>{e.notifyComponentUpdate(),e.sendInspectorState(Re),Me&&e.addTimelineEvent({layerId:Ge,event:{time:n(),title:"Change",subtitle:o,data:{newValue:t,oldValue:i},groupId:We}})}),{deep:!0})})),t.$subscribe((({events:o,type:i},r)=>{if(e.notifyComponentUpdate(),e.sendInspectorState(Re),!Me)return;const a={time:n(),title:Le(i),data:Ve({store:Be(t.$id)},$e(o)),groupId:We};We=void 0,i===be.patchFunction?a.subtitle="⤵️":i===be.patchObject?a.subtitle="🧩":o&&!Array.isArray(o)&&(a.subtitle=o.type),o&&(a.data["rawEvent(s)"]={_custom:{display:"DebuggerEvent",type:"object",tooltip:"raw DebuggerEvent[]",value:o}}),e.addTimelineEvent({layerId:Ge,event:a})}),{detached:!0,flush:"sync"});const o=t._hotUpdate;t._hotUpdate=(0,p.markRaw)((i=>{o(i),e.addTimelineEvent({layerId:Ge,event:{time:n(),title:"🔥 "+t.$id,subtitle:"HMR update",data:{store:Be(t.$id),info:Be("HMR update")}}}),e.notifyComponentUpdate(),e.sendInspectorTree(Re),e.sendInspectorState(Re)}));const{$dispose:i}=t;t.$dispose=()=>{i(),e.notifyComponentUpdate(),e.sendInspectorTree(Re),e.sendInspectorState(Re),e.getSettings().logStoreChanges&&ze(`Disposed "${t.$id}" store 🗑`)},e.notifyComponentUpdate(),e.sendInspectorTree(Re),e.sendInspectorState(Re),e.getSettings().logStoreChanges&&ze(`"${t.$id}" store installed 🆕`)}))}(e,t)}}const Je=()=>{};function Qe(e,t,n,o=Je){e.push(t);const i=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),o())};return!n&&(0,p.getCurrentScope)()&&(0,p.onScopeDispose)(i),i}function Xe(e,...t){e.slice().forEach((e=>{e(...t)}))}function et(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,n)=>e.set(n,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],i=e[n];ge(i)&&ge(o)&&e.hasOwnProperty(n)&&!(0,p.isRef)(o)&&!(0,p.isReactive)(o)?e[n]=et(i,o):e[n]=o}return e}const tt=Symbol(),nt=new WeakMap,{assign:ot}=Object;function it(e,t,n={},o,i,r){let a;const s=ot({actions:{}},n),l={deep:!0};let c,u,d,m=(0,p.markRaw)([]),h=(0,p.markRaw)([]);const v=o.state.value[e];r||v||(ae?(0,p.set)(o.state.value,e,{}):o.state.value[e]={});const A=(0,p.ref)({});let f;function g(t){let n;c=u=!1,"function"==typeof t?(t(o.state.value[e]),n={type:be.patchFunction,storeId:e,events:d}):(et(o.state.value[e],t),n={type:be.patchObject,payload:t,storeId:e,events:d});const i=f=Symbol();(0,p.nextTick)().then((()=>{f===i&&(c=!0)})),u=!0,Xe(m,n,o.state.value[e])}const b=r?function(){const{state:e}=n,t=e?e():{};this.$patch((e=>{ot(e,t)}))}:Je;function y(t,n){return function(){Ae(o);const i=Array.from(arguments),r=[],a=[];let s;Xe(h,{args:i,name:t,store:k,after:function(e){r.push(e)},onError:function(e){a.push(e)}});try{s=n.apply(this&&this.$id===e?this:k,i)}catch(e){throw Xe(a,e),e}return s instanceof Promise?s.then((e=>(Xe(r,e),e))).catch((e=>(Xe(a,e),Promise.reject(e)))):(Xe(r,s),s)}}const C=(0,p.markRaw)({actions:{},getters:{},state:[],hotState:A}),w={_p:o,$id:e,$onAction:Qe.bind(null,h),$patch:g,$reset:b,$subscribe(t,n={}){const i=Qe(m,t,n.detached,(()=>r())),r=a.run((()=>(0,p.watch)((()=>o.state.value[e]),(o=>{("sync"===n.flush?u:c)&&t({storeId:e,type:be.direct,events:d},o)}),ot({},l,n))));return i},$dispose:function(){a.stop(),m=[],h=[],o._s.delete(e)}};ae&&(w._r=!1);const k=(0,p.reactive)(Ce?ot({_hmrPayload:C,_customProperties:(0,p.markRaw)(new Set)},w):w);o._s.set(e,k);const S=o._e.run((()=>(a=(0,p.effectScope)(),a.run((()=>t())))));for(const t in S){const n=S[t];if((0,p.isRef)(n)&&(_=n,!(0,p.isRef)(_)||!_.effect)||(0,p.isReactive)(n))r||(!v||(x=n,ae?nt.has(x):ge(x)&&x.hasOwnProperty(tt))||((0,p.isRef)(n)?n.value=v[t]:et(n,v[t])),ae?(0,p.set)(o.state.value[e],t,n):o.state.value[e][t]=n);else if("function"==typeof n){const e=y(t,n);ae?(0,p.set)(S,t,e):S[t]=e,s.actions[t]=n}}var x,_;if(ae?Object.keys(S).forEach((e=>{(0,p.set)(k,e,S[e])})):(ot(k,S),ot((0,p.toRaw)(k),S)),Object.defineProperty(k,"$state",{get:()=>o.state.value[e],set:e=>{g((t=>{ot(t,e)}))}}),Ce){const e={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach((t=>{Object.defineProperty(k,t,ot({value:k[t]},e))}))}return ae&&(k._r=!0),o._p.forEach((e=>{if(Ce){const t=a.run((()=>e({store:k,app:o._a,pinia:o,options:s})));Object.keys(t||{}).forEach((e=>k._customProperties.add(e))),ot(k,t)}else ot(k,a.run((()=>e({store:k,app:o._a,pinia:o,options:s}))))})),v&&r&&n.hydrate&&n.hydrate(k.$state,v),c=!0,u=!0,k}function rt(e,t,n){let o,i;const r="function"==typeof t;function a(e,n){const a=(0,p.getCurrentInstance)();return(e=e||a&&(0,p.inject)(fe,null))&&Ae(e),(e=ve)._s.has(o)||(r?it(o,t,i,e):function(e,t,n,o){const{state:i,actions:r,getters:a}=t,s=n.state.value[e];let l;l=it(e,(function(){s||(ae?(0,p.set)(n.state.value,e,i?i():{}):n.state.value[e]=i?i():{});const t=(0,p.toRefs)(n.state.value[e]);return ot(t,r,Object.keys(a||{}).reduce(((t,o)=>(t[o]=(0,p.markRaw)((0,p.computed)((()=>{Ae(n);const t=n._s.get(e);if(!ae||t._r)return a[o].call(t,t)}))),t)),{}))}),t,n,0,!0)}(o,i,e)),e._s.get(o)}return"string"==typeof e?(o=e,i=r?n:t):(i=e,o=e.id),a.$id=o,a}var at=function(e,t){return et?1:0},st=function(e,t){var n=e.localeCompare(t);return n?n/Math.abs(n):0},lt=/(^0x[\da-fA-F]+$|^([+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?!\.\d+)(?=\D|\s|$))|\d+)/g,ct=/^\s+|\s+$/g,ut=/\s+/g,dt=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/,pt=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[/-]\d{1,4}[/-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,mt=/^0+[1-9]{1}[0-9]*$/,ht=/[^\x00-\x80]/,vt=function(e,t){return et?1:0},At=function(e){return e.replace(ut," ").replace(ct,"")},ft=function(e){if(0!==e.length){var t=Number(e);if(!Number.isNaN(t))return t}},gt=function(e,t,n){if(dt.test(e)&&(!mt.test(e)||0===t||"."!==n[t-1]))return ft(e)||0},bt=function(e,t,n){return{parsedNumber:gt(e,t,n),normalizedString:At(e)}},yt=function(e){var t=function(e){return e.replace(lt,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0")}(e).map(bt);return t},Ct=function(e){return"function"==typeof e},wt=function(e){return Number.isNaN(e)||e instanceof Number&&Number.isNaN(e.valueOf())},kt=function(e){return null===e},St=function(e){return!(null===e||"object"!=typeof e||Array.isArray(e)||e instanceof Number||e instanceof String||e instanceof Boolean||e instanceof Date)},xt=function(e){return"symbol"==typeof e},_t=function(e){return void 0===e},jt=function(e){if("string"==typeof e||e instanceof String||("number"==typeof e||e instanceof Number)&&!wt(e)||"boolean"==typeof e||e instanceof Boolean||e instanceof Date){var t=function(e){return"boolean"==typeof e||e instanceof Boolean?Number(e).toString():"number"==typeof e||e instanceof Number?e.toString():e instanceof Date?e.getTime().toString():"string"==typeof e||e instanceof String?e.toLowerCase().replace(ct,""):""}(e),n=function(e){var t=ft(e);return void 0!==t?t:function(e){try{var t=Date.parse(e);return!Number.isNaN(t)&&pt.test(e)?t:void 0}catch(e){return}}(e)}(t);return{parsedNumber:n,chunks:yt(n?""+n:t),value:e}}return{isArray:Array.isArray(e),isFunction:Ct(e),isNaN:wt(e),isNull:kt(e),isObject:St(e),isSymbol:xt(e),isUndefined:_t(e),value:e}},Nt=function(e){return"function"==typeof e?e:function(t){if(Array.isArray(t)){var n=Number(e);if(Number.isInteger(n))return t[n]}else if(t&&"object"==typeof t){var o=Object.getOwnPropertyDescriptor(t,e);return null==o?void 0:o.value}return t}};function zt(e,t,n){if(!e||!Array.isArray(e))return[];var o=function(e){if(!e)return[];var t=Array.isArray(e)?[].concat(e):[e];return t.some((function(e){return"string"!=typeof e&&"number"!=typeof e&&"function"!=typeof e}))?[]:t}(t),i=function(e){if(!e)return[];var t=Array.isArray(e)?[].concat(e):[e];return t.some((function(e){return"asc"!==e&&"desc"!==e&&"function"!=typeof e}))?[]:t}(n);return function(e,t,n){var o=t.length?t.map(Nt):[function(e){return e}],i=e.map((function(e,t){return{index:t,values:o.map((function(t){return t(e)})).map(jt)}}));return i.sort((function(e,t){return function(e,t,n){for(var o=e.index,i=e.values,r=t.index,a=t.values,s=i.length,l=n.length,c=0;ci||o>i?n<=i?-1:1:0}(m.chunks,h.chunks):function(e,t){return(e.chunks?!t.chunks:t.chunks)?e.chunks?-1:1:(e.isNaN?!t.isNaN:t.isNaN)?e.isNaN?-1:1:(e.isSymbol?!t.isSymbol:t.isSymbol)?e.isSymbol?-1:1:(e.isObject?!t.isObject:t.isObject)?e.isObject?-1:1:(e.isArray?!t.isArray:t.isArray)?e.isArray?-1:1:(e.isFunction?!t.isFunction:t.isFunction)?e.isFunction?-1:1:(e.isNull?!t.isNull:t.isNull)?e.isNull?-1:1:0}(m,h));if(p)return p*("desc"===u?-1:1)}}var m,h;return o-r}(e,t,n)})),i.map((function(t){return function(e,t){return e[t]}(e,t.index)}))}(e,o,i)}var Pt=o(69680),Et=o.n(Pt),Ot=o(10861),Tt=o.n(Ot),Bt=o(64192),Dt=o.n(Bt);const Ft={name:"TrashCanIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},It=(0,D.Z)(Ft,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon trash-can-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M9,8H11V17H9V8M13,8H15V17H13V8Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports,$t=function(){const e=rt("files",{state:()=>({files:{},roots:{}}),getters:{getNode:e=>t=>e.files[t],getNodes:e=>t=>t.map((t=>e.files[t])).filter(Boolean),getRoot:e=>t=>e.roots[t]},actions:{updateNodes(e){const t=e.reduce(((e,t)=>t.fileid?(e[t.fileid]=t,e):(te.warn("Trying to update/set a node without fileid",t),e)),{});p.default.set(this,"files",{...this.files,...t})},deleteNodes(e){e.forEach((e=>{e.fileid&&p.default.delete(this.files,e.fileid)}))},setRoot(e){let{service:t,root:n}=e;p.default.set(this.roots,t,n)},onDeletedNode(e){this.deleteNodes([e])}}})(...arguments);return e._initialized||((0,H.Ld)("files:node:deleted",e.onDeletedNode),e._initialized=!0),e},Lt=function(){const e=rt("paths",{state:()=>({paths:{}}),getters:{getPath:e=>(t,n)=>{if(e.paths[t])return e.paths[t][n]}},actions:{addPath(e){this.paths[e.service]||p.default.set(this.paths,e.service,{}),p.default.set(this.paths[e.service],e.path,e.fileid)}}})(...arguments);return e._initialized||(e._initialized=!0),e},Mt=rt("selection",{state:()=>({selected:[],lastSelection:[],lastSelectedIndex:null}),actions:{set(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];p.default.set(this,"selected",e)},setLastIndex(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;p.default.set(this,"lastSelection",e?this.selected:[]),p.default.set(this,"lastSelectedIndex",e)},reset(){p.default.set(this,"selected",[]),p.default.set(this,"lastSelection",[]),p.default.set(this,"lastSelectedIndex",null)}}}),Ut=(0,a.j)("files","viewConfigs",{}),Gt=function(){const e=rt("viewconfig",{state:()=>({viewConfig:Ut}),getters:{getConfig:e=>t=>e.viewConfig[t]||{}},actions:{onUpdate(e,t,n){this.viewConfig[e]||p.default.set(this.viewConfig,e,{}),p.default.set(this.viewConfig[e],t,n)},async update(e,t,n){d.Z.put((0,l.generateUrl)("/apps/files/api/v1/views/".concat(e,"/").concat(t)),{value:n}),(0,H.j8)("files:viewconfig:updated",{view:e,key:t,value:n})},setSortingBy(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"basename",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"files";this.update(t,"sorting_mode",e),this.update(t,"sorting_direction","asc")},toggleSortingDirection(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"files";const t="asc"===(this.getConfig(e)||{sorting_direction:"asc"}).sorting_direction?"desc":"asc";this.update(e,"sorting_direction",t)}}}),t=e(...arguments);return t._initialized||((0,H.Ld)("files:viewconfig:updated",(function(e){let{view:n,key:o,value:i}=e;t.onUpdate(n,o,i)})),t._initialized=!0),t},Rt={name:"HomeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Vt=(0,D.Z)(Rt,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon home-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports;var Zt=o(64412),qt=o.n(Zt),Wt=o(44706),Ht=o.n(Wt);const Kt=p.default.extend({name:"BreadCrumbs",components:{Home:Vt,NcBreadcrumbs:Ht(),NcBreadcrumb:qt()},props:{path:{type:String,default:"/"}},setup:()=>({filesStore:$t(),pathsStore:Lt()}),computed:{currentView(){return this.$navigation.active},dirs(){var e;return["/",...this.path.split("/").filter(Boolean).map((e="/",t=>e+="".concat(t,"/"))).map((e=>e.replace(/^(.+)\/$/,"$1")))]},sections(){return this.dirs.map((e=>{const t={...this.$route,query:{dir:e}};return{dir:e,exact:!0,name:this.getDirDisplayName(e),to:t}}))}},methods:{getNodeFromId(e){return this.filesStore.getNode(e)},getFileIdFromPath(e){var t;return this.pathsStore.getPath(null===(t=this.currentView)||void 0===t?void 0:t.id,e)},getDirDisplayName(e){var n;if("/"===e)return t("files","Home");const o=this.getFileIdFromPath(e),i=this.getNodeFromId(o);return(null==i||null===(n=i.attributes)||void 0===n?void 0:n.displayName)||(0,m.basename)(e)},onClick(e){var t;(null==e||null===(t=e.query)||void 0===t?void 0:t.dir)===this.$route.query.dir&&this.$emit("reload")},ariaLabel(e){var n,o;return(null==e||null===(n=e.to)||void 0===n||null===(o=n.query)||void 0===o?void 0:o.dir)===this.$route.query.dir?t("files","Reload current directory"):t("files",'Go to the "{dir}" directory',e)}}});var Yt=o(39959),Jt={};Jt.styleTagTransform=O(),Jt.setAttributes=N(),Jt.insert=_().bind(null,"head"),Jt.domAPI=S(),Jt.insertStyleElement=P(),w()(Yt.Z,Jt),Yt.Z&&Yt.Z.locals&&Yt.Z.locals;const Qt=(0,D.Z)(Kt,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("NcBreadcrumbs",{attrs:{"data-cy-files-content-breadcrumbs":""}},e._l(e.sections,(function(n,o){return t("NcBreadcrumb",e._b({key:n.dir,attrs:{"aria-label":e.ariaLabel(n),title:e.ariaLabel(n)},nativeOn:{click:function(t){return e.onClick(n.to)}},scopedSlots:e._u([0===o?{key:"icon",fn:function(){return[t("Home",{attrs:{size:20}})]},proxy:!0}:null],null,!0)},"NcBreadcrumb",n,!1))})),1)}),[],!1,null,"68b3b20b",null).exports;var Xt=void 0;function en(){en.init||(en.init=!0,Xt=-1!==function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var n=e.indexOf("rv:");return parseInt(e.substring(n+3,e.indexOf(".",n)),10)}var o=e.indexOf("Edge/");return o>0?parseInt(e.substring(o+5,e.indexOf(".",o)),10):-1}())}var tn={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},staticRenderFns:[],_scopeId:"data-v-b329ee4c",name:"resize-observer",methods:{compareAndNotify:function(){this._w===this.$el.offsetWidth&&this._h===this.$el.offsetHeight||(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.$emit("notify"))},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!Xt&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),delete this._resizeObject.onload)}},mounted:function(){var e=this;en(),this.$nextTick((function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight}));var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",Xt&&this.$el.appendChild(t),t.data="about:blank",Xt||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()}},nn={version:"0.4.5",install:function(e){e.component("resize-observer",tn),e.component("ResizeObserver",tn)}},on=null;"undefined"!=typeof window?on=window.Vue:void 0!==o.g&&(on=o.g.Vue),on&&on.use(nn);var rn=o(25108);function an(e){return an="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},an(e)}function sn(e,t){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{},a=function(a){for(var s=arguments.length,l=new Array(s>1?s-1:0),c=1;c1){var o=e.find((function(e){return e.isIntersecting}));o&&(t=o)}if(n.callback){var i=t.isIntersecting&&t.intersectionRatio>=n.threshold;if(i===n.oldResult)return;n.oldResult=i,n.callback(i,t)}}),this.options.intersection),t.context.$nextTick((function(){n.observer&&n.observer.observe(n.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&this.options.intersection.threshold||0}}],n&&sn(t.prototype,n),e}();function dn(e,t,n){var o=t.value;if(o)if("undefined"==typeof IntersectionObserver)rn.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var i=new un(e,o,n);e._vue_visibilityState=i}}function pn(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var mn={bind:dn,update:function(e,t,n){var o=t.value;if(!cn(o,t.oldValue)){var i=e._vue_visibilityState;o?i?i.createObserver(o,n):dn(e,{value:o},n):pn(e)}},unbind:pn},hn={version:"0.4.6",install:function(e){e.directive("observe-visibility",mn)}},vn=null;"undefined"!=typeof window?vn=window.Vue:void 0!==o.g&&(vn=o.g.Vue),vn&&vn.use(hn);var An=o(27274),fn=o.n(An),gn=o(25108),bn={itemsLimit:1e3};const yn={items:{type:Array,required:!0},keyField:{type:String,default:"id"},direction:{type:String,default:"vertical",validator:e=>["vertical","horizontal"].includes(e)},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"}};function Cn(){return this.items.length&&"object"!=typeof this.items[0]}let wn=!1;if("undefined"!=typeof window){wn=!1;try{var kn=Object.defineProperty({},"passive",{get(){wn=!0}});window.addEventListener("test",null,kn)}catch(e){}}let Sn=0;function xn(e,t,n,o,i,r,a,s,l,c){"boolean"!=typeof a&&(l=s,s=a,a=!1);const u="function"==typeof n?n.options:n;let d;if(e&&e.render&&(u.render=e.render,u.staticRenderFns=e.staticRenderFns,u._compiled=!0,i&&(u.functional=!0)),o&&(u._scopeId=o),r?(d=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,l(e)),e&&e._registeredComponents&&e._registeredComponents.add(r)},u._ssrRegister=d):t&&(d=a?function(e){t.call(this,c(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,s(e))}),d)if(u.functional){const e=u.render;u.render=function(t,n){return d.call(n),e(t,n)}}else{const e=u.beforeCreate;u.beforeCreate=e?[].concat(e,d):[d]}return n}const _n={name:"RecycleScroller",components:{ResizeObserver:tn},directives:{ObserveVisibility:mn},props:{...yn,itemSize:{type:Number,default:null},gridItems:{type:Number,default:void 0},itemSecondarySize:{type:Number,default:void 0},minItemSize:{type:[Number,String],default:null},sizeField:{type:String,default:"size"},typeField:{type:String,default:"type"},buffer:{type:Number,default:200},pageMode:{type:Boolean,default:!1},prerender:{type:Number,default:0},emitUpdate:{type:Boolean,default:!1},skipHover:{type:Boolean,default:!1},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"},listClass:{type:[String,Object,Array],default:""},itemClass:{type:[String,Object,Array],default:""}},data:()=>({pool:[],totalSize:0,ready:!1,hoverKey:null}),computed:{sizes(){if(null===this.itemSize){const e={"-1":{accumulator:0}},t=this.items,n=this.sizeField,o=this.minItemSize;let i,r=1e4,a=0;for(let s=0,l=t.length;s{this.$_prerender=!1,this.updateVisibleItems(!0),this.ready=!0}))},activated(){const e=this.$_lastUpdateScrollPosition;"number"==typeof e&&this.$nextTick((()=>{this.scrollToPosition(e)}))},beforeDestroy(){this.removeListeners()},methods:{addView(e,t,n,o,i){const r={item:n,position:0},a={id:Sn++,index:t,used:!0,key:o,type:i};return Object.defineProperty(r,"nr",{configurable:!1,value:a}),e.push(r),r},unuseView(e,t=!1){const n=this.$_unusedViews,o=e.nr.type;let i=n.get(o);i||(i=[],n.set(o,i)),i.push(e),t||(e.nr.used=!1,e.position=-9999,this.$_views.delete(e.nr.key))},handleResize(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll(e){this.$_scrollDirty||(this.$_scrollDirty=!0,requestAnimationFrame((()=>{this.$_scrollDirty=!1;const{continuous:e}=this.updateVisibleItems(!1,!0);e||(clearTimeout(this.$_refreshTimout),this.$_refreshTimout=setTimeout(this.handleScroll,100))})))},handleVisibilityChange(e,t){this.ready&&(e||0!==t.boundingClientRect.width||0!==t.boundingClientRect.height?(this.$emit("visible"),requestAnimationFrame((()=>{this.updateVisibleItems(!1)}))):this.$emit("hidden"))},updateVisibleItems(e,t=!1){const n=this.itemSize,o=this.gridItems||1,i=this.itemSecondarySize||n,r=this.$_computedMinItemSize,a=this.typeField,s=this.simpleArray?null:this.keyField,l=this.items,c=l.length,u=this.sizes,d=this.$_views,p=this.$_unusedViews,m=this.pool;let h,v,A,f,g,b;if(c)if(this.$_prerender)h=f=0,v=g=Math.min(this.prerender,l.length),A=null;else{const e=this.getScroll();if(t){let t=e.start-this.$_lastUpdateScrollPosition;if(t<0&&(t=-t),null===n&&te.start&&(i=r),r=~~((o+i)/2)}while(r!==n);for(r<0&&(r=0),h=r,A=u[c-1].accumulator,v=r;vc&&(v=c)),f=h;fc&&(v=c),f<0&&(f=0),g>c&&(g=c),A=Math.ceil(c/o)*n}else h=v=f=g=A=0;v-h>bn.itemsLimit&&this.itemsLimitError(),this.totalSize=A;const y=h<=this.$_endIndex&&v>=this.$_startIndex;if(this.$_continuous!==y){if(y){d.clear(),p.clear();for(let e=0,t=m.length;e=v)&&this.unuseView(b));const C=y?null:new Map;let w,k,S,x;for(let e=h;e=S.length)&&(b=this.addView(m,e,w,t,k),this.unuseView(b,!0),S=p.get(k)),b=S[x],b.item=w,b.nr.used=!0,b.nr.index=e,b.nr.key=t,b.nr.type=k,C.set(k,x+1),x++),d.set(t,b)),null===n?(b.position=u[e-1].accumulator,b.offset=0):(b.position=Math.floor(e/o)*n,b.offset=e%o*i)):b&&this.unuseView(b)}return this.$_startIndex=h,this.$_endIndex=v,this.emitUpdate&&this.$emit("update",h,v,f,g),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,300),{continuous:y}},getListenerTarget(){let e=fn()(this.$el);return!window.document||e!==window.document.documentElement&&e!==window.document.body||(e=window),e},getScroll(){const{$el:e,direction:t}=this,n="vertical"===t;let o;if(this.pageMode){const t=e.getBoundingClientRect(),i=n?t.height:t.width;let r=-(n?t.top:t.left),a=n?window.innerHeight:window.innerWidth;r<0&&(a+=r,r=0),r+a>i&&(a=i-r),o={start:r,end:r+a}}else o=n?{start:e.scrollTop,end:e.scrollTop+e.clientHeight}:{start:e.scrollLeft,end:e.scrollLeft+e.clientWidth};return o},applyPageMode(){this.pageMode?this.addListeners():this.removeListeners()},addListeners(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,!!wn&&{passive:!0}),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem(e){let t;t=null===this.itemSize?e>0?this.sizes[e-1].accumulator:0:Math.floor(e/this.gridItems)*this.itemSize,this.scrollToPosition(t)},scrollToPosition(e){const t="vertical"===this.direction?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let n,o,i;if(this.pageMode){const r=fn()(this.$el),a="HTML"===r.tagName?0:r[t.scroll],s=r.getBoundingClientRect(),l=this.$el.getBoundingClientRect()[t.start]-s[t.start];n=r,o=t.scroll,i=e+a+l}else n=this.$el,o=t.scroll,i=e;n[o]=i},itemsLimitError(){throw setTimeout((()=>{gn.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",this.$el),gn.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")})),new Error("Rendered items limit reached")},sortViews(){this.pool.sort(((e,t)=>e.nr.index-t.nr.index))}}};var jn=function(){var e,t,n=this,o=n.$createElement,i=n._self._c||o;return i("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:n.handleVisibilityChange,expression:"handleVisibilityChange"}],staticClass:"vue-recycle-scroller",class:(e={ready:n.ready,"page-mode":n.pageMode},e["direction-"+n.direction]=!0,e),on:{"&scroll":function(e){return n.handleScroll.apply(null,arguments)}}},[n.$slots.before?i("div",{ref:"before",staticClass:"vue-recycle-scroller__slot"},[n._t("before")],2):n._e(),n._v(" "),i(n.listTag,{ref:"wrapper",tag:"component",staticClass:"vue-recycle-scroller__item-wrapper",class:n.listClass,style:(t={},t["vertical"===n.direction?"minHeight":"minWidth"]=n.totalSize+"px",t)},[n._l(n.pool,(function(e){return i(n.itemTag,n._g({key:e.nr.id,tag:"component",staticClass:"vue-recycle-scroller__item-view",class:[n.itemClass,{hover:!n.skipHover&&n.hoverKey===e.nr.key}],style:n.ready?{transform:"translate"+("vertical"===n.direction?"Y":"X")+"("+e.position+"px) translate"+("vertical"===n.direction?"X":"Y")+"("+e.offset+"px)",width:n.gridItems?("vertical"===n.direction&&n.itemSecondarySize||n.itemSize)+"px":void 0,height:n.gridItems?("horizontal"===n.direction&&n.itemSecondarySize||n.itemSize)+"px":void 0}:null},n.skipHover?{}:{mouseenter:function(){n.hoverKey=e.nr.key},mouseleave:function(){n.hoverKey=null}}),[n._t("default",null,{item:e.item,index:e.nr.index,active:e.nr.used})],2)})),n._v(" "),n._t("empty")],2),n._v(" "),n.$slots.after?i("div",{ref:"after",staticClass:"vue-recycle-scroller__slot"},[n._t("after")],2):n._e(),n._v(" "),i("ResizeObserver",{on:{notify:n.handleResize}})],1)};jn._withStripped=!0;const Nn=xn({render:jn,staticRenderFns:[]},void 0,_n,void 0,!1,void 0,!1,void 0,void 0,void 0);var zn={name:"DynamicScroller",components:{RecycleScroller:Nn},provide(){return"undefined"!=typeof ResizeObserver&&(this.$_resizeObserver=new ResizeObserver((e=>{requestAnimationFrame((()=>{if(Array.isArray(e))for(const t of e)if(t.target){const e=new CustomEvent("resize",{detail:{contentRect:t.contentRect}});t.target.dispatchEvent(e)}}))}))),{vscrollData:this.vscrollData,vscrollParent:this,vscrollResizeObserver:this.$_resizeObserver}},inheritAttrs:!1,props:{...yn,minItemSize:{type:[Number,String],required:!0}},data(){return{vscrollData:{active:!0,sizes:{},validSizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:Cn,itemsWithSize(){const e=[],{items:t,keyField:n,simpleArray:o}=this,i=this.vscrollData.sizes,r=t.length;for(let a=0;a=n);a++)o+=t[a].size||this.minItemSize,i+=e[a].size||this.minItemSize;const a=i-o;0!==a&&(this.$el.scrollTop+=a)}},beforeCreate(){this.$_updates=[],this.$_undefinedSizes=0,this.$_undefinedMap={}},activated(){this.vscrollData.active=!0},deactivated(){this.vscrollData.active=!1},methods:{onScrollerResize(){this.$refs.scroller&&this.forceUpdate(),this.$emit("resize")},onScrollerVisible(){this.$emit("vscroll:update",{force:!1}),this.$emit("visible")},forceUpdate(e=!0){(e||this.simpleArray)&&(this.vscrollData.validSizes={}),this.$emit("vscroll:update",{force:!0})},scrollToItem(e){const t=this.$refs.scroller;t&&t.scrollToItem(e)},getItemSize(e,t=void 0){const n=this.simpleArray?null!=t?t:this.items.indexOf(e):e[this.keyField];return this.vscrollData.sizes[n]||0},scrollToBottom(){if(this.$_scrollingToBottom)return;this.$_scrollingToBottom=!0;const e=this.$el;this.$nextTick((()=>{e.scrollTop=e.scrollHeight+5e3;const t=()=>{e.scrollTop=e.scrollHeight+5e3,requestAnimationFrame((()=>{e.scrollTop=e.scrollHeight+5e3,0===this.$_undefinedSizes?this.$_scrollingToBottom=!1:requestAnimationFrame(t)}))};requestAnimationFrame(t)}))}}};const Pn=zn;var En=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("RecycleScroller",e._g(e._b({ref:"scroller",attrs:{items:e.itemsWithSize,"min-item-size":e.minItemSize,direction:e.direction,"key-field":"id","list-tag":e.listTag,"item-tag":e.itemTag},on:{resize:e.onScrollerResize,visible:e.onScrollerVisible},scopedSlots:e._u([{key:"default",fn:function(t){var n=t.item,o=t.index,i=t.active;return[e._t("default",null,null,{item:n.item,index:o,active:i,itemWithSize:n})]}}],null,!0)},"RecycleScroller",e.$attrs,!1),e.listeners),[e._v(" "),n("template",{slot:"before"},[e._t("before")],2),e._v(" "),n("template",{slot:"after"},[e._t("after")],2),e._v(" "),n("template",{slot:"empty"},[e._t("empty")],2)],2)};En._withStripped=!0;const On=xn({render:En,staticRenderFns:[]},void 0,Pn,void 0,!1,void 0,!1,void 0,void 0,void 0),Tn=xn({},void 0,{name:"DynamicScrollerItem",inject:["vscrollData","vscrollParent","vscrollResizeObserver"],props:{item:{required:!0},watchData:{type:Boolean,default:!1},active:{type:Boolean,required:!0},index:{type:Number,default:void 0},sizeDependencies:{type:[Array,Object],default:null},emitResize:{type:Boolean,default:!1},tag:{type:String,default:"div"}},computed:{id(){if(this.vscrollData.simpleArray)return this.index;if(this.item.hasOwnProperty(this.vscrollData.keyField))return this.item[this.vscrollData.keyField];throw new Error(`keyField '${this.vscrollData.keyField}' not found in your item. You should set a valid keyField prop on your Scroller`)},size(){return this.vscrollData.validSizes[this.id]&&this.vscrollData.sizes[this.id]||0},finalActive(){return this.active&&this.vscrollData.active}},watch:{watchData:"updateWatchData",id(){this.size||this.onDataUpdate()},finalActive(e){this.size||(e?this.vscrollParent.$_undefinedMap[this.id]||(this.vscrollParent.$_undefinedSizes++,this.vscrollParent.$_undefinedMap[this.id]=!0):this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=!1)),this.vscrollResizeObserver?e?this.observeSize():this.unobserveSize():e&&this.$_pendingVScrollUpdate===this.id&&this.updateSize()}},created(){if(!this.$isServer&&(this.$_forceNextVScrollUpdate=null,this.updateWatchData(),!this.vscrollResizeObserver)){for(const e in this.sizeDependencies)this.$watch((()=>this.sizeDependencies[e]),this.onDataUpdate);this.vscrollParent.$on("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$on("vscroll:update-size",this.onVscrollUpdateSize)}},mounted(){this.vscrollData.active&&(this.updateSize(),this.observeSize())},beforeDestroy(){this.vscrollParent.$off("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$off("vscroll:update-size",this.onVscrollUpdateSize),this.unobserveSize()},methods:{updateSize(){this.finalActive?this.$_pendingSizeUpdate!==this.id&&(this.$_pendingSizeUpdate=this.id,this.$_forceNextVScrollUpdate=null,this.$_pendingVScrollUpdate=null,this.computeSize(this.id)):this.$_forceNextVScrollUpdate=this.id},updateWatchData(){this.watchData&&!this.vscrollResizeObserver?this.$_watchData=this.$watch("item",(()=>{this.onDataUpdate()}),{deep:!0}):this.$_watchData&&(this.$_watchData(),this.$_watchData=null)},onVscrollUpdate({force:e}){!this.finalActive&&e&&(this.$_pendingVScrollUpdate=this.id),this.$_forceNextVScrollUpdate!==this.id&&!e&&this.size||this.updateSize()},onDataUpdate(){this.updateSize()},computeSize(e){this.$nextTick((()=>{if(this.id===e){const e=this.$el.offsetWidth,t=this.$el.offsetHeight;this.applySize(e,t)}this.$_pendingSizeUpdate=null}))},applySize(e,t){const n=~~("vertical"===this.vscrollParent.direction?t:e);n&&this.size!==n&&(this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=void 0),this.$set(this.vscrollData.sizes,this.id,n),this.$set(this.vscrollData.validSizes,this.id,!0),this.emitResize&&this.$emit("resize",this.id))},observeSize(){this.vscrollResizeObserver&&this.$el.parentNode&&(this.vscrollResizeObserver.observe(this.$el.parentNode),this.$el.parentNode.addEventListener("resize",this.onResize))},unobserveSize(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.unobserve(this.$el.parentNode),this.$el.parentNode.removeEventListener("resize",this.onResize))},onResize(e){const{width:t,height:n}=e.detail.contentRect;this.applySize(t,n)}},render(e){return e(this.tag,this.$slots.default)}},void 0,void 0,void 0,!1,void 0,void 0,void 0),Bn={version:"1.1.2",install(e,t){const n=Object.assign({},{installComponents:!0,componentsPrefix:""},t);for(const e in n)void 0!==n[e]&&(bn[e]=n[e]);n.installComponents&&function(e,t){e.component(`${t}recycle-scroller`,Nn),e.component(`${t}RecycleScroller`,Nn),e.component(`${t}dynamic-scroller`,On),e.component(`${t}DynamicScroller`,On),e.component(`${t}dynamic-scroller-item`,Tn),e.component(`${t}DynamicScrollerItem`,Tn)}(e,n.componentsPrefix)}};let Dn=null;"undefined"!=typeof window?Dn=window.Vue:void 0!==o.g&&(Dn=o.g.Vue),Dn&&Dn.use(Bn);var Fn,In=o(20296),$n=Symbol(),Ln=Symbol(),Mn=Symbol(),Un=Symbol(),Gn=function(e){return"frag"in e};function Rn(e,t){Ln in e||(e[Ln]=t,Object.defineProperty(e,"parentNode",{get:function(){return this[Ln]||this.parentElement}}))}function Vn(e){Mn in e||(e[Mn]=!0,Object.defineProperty(e,"nextSibling",{get:function(){var e=this.parentNode.childNodes,t=e.indexOf(this);return t>-1&&e[t+1]||null}}))}function Zn(e){if(!Fn){var t=Object.getOwnPropertyDescriptor(Node.prototype,"childNodes");Fn=t.get}var n=Fn.apply(e),o=Array.from(n).map((function(t){return function(e,t){for(;e.parentNode!==t;){var n=e.parentNode;n&&(e=n)}return e}(t,e)}));return o.filter((function(e,t){return e!==o[t-1]}))}function qn(e){Un in e||(e[Un]=!0,Object.defineProperties(e,{childNodes:{get:function(){return this.frag||Zn(this)}},firstChild:{get:function(){return this.childNodes[0]||null}}}),e.hasChildNodes=function(){return this.childNodes.length>0})}function Wn(){var e;(e=this.frag[0]).before.apply(e,arguments)}function Hn(){var e=this.frag;e.splice(0,e.length).forEach((function(e){e.remove()}))}var Kn=function e(t){var n;return(n=Array.prototype).concat.apply(n,t.map((function(t){return Gn(t)?e(t.frag):t})))};function Yn(e){if(Gn(this)){var t=this.frag.indexOf(e);if(t>-1){var n=this.frag.splice(t,1)[0];0===this.frag.length&&function(e,t){var n=e[$n];t.before(n),Rn(n,e),e.frag.unshift(n)}(this,n),e.remove()}}else Zn(this).indexOf(e)>-1&&e.remove();return e}function Jn(e,t){var n=this,o=e.frag||[e];if(Gn(this)){var i=this.frag;if(t){var r=i.indexOf(t);r>-1&&(i.splice.apply(i,[r,0].concat(o)),t.before.apply(t,o))}else{var a=i[i.length-1];i.push.apply(i,o),a.after.apply(a,o)}Xn(this)}else t?this.childNodes.includes(t)&&t.before.apply(t,o):this.append.apply(this,o);return o.forEach((function(e){Rn(e,n)})),Vn(o[o.length-1]),e}function Qn(e){var t=this.frag;return t[t.length-1].after(e),Rn(e,this),Xn(this),t.push(e),e}function Xn(e){var t=e[$n];e.frag[0]===t&&(e.frag.shift(),t.remove())}var eo={inserted:function(e){var t=e.parentNode,n=e.nextSibling,o=e.previousSibling,i=Array.from(e.childNodes),r=document.createComment("");0===i.length&&i.push(r),e.frag=i,e[$n]=r;var a=document.createDocumentFragment();a.append.apply(a,Kn(i)),e.replaceWith(a),i.forEach((function(t){Rn(t,e),Vn(t)})),qn(e),Object.assign(e,{remove:Hn,appendChild:Qn,insertBefore:Jn,removeChild:Yn,before:Wn}),Object.defineProperty(e,"innerHTML",{set:function(e){var t=this;if(this.frag[0]!==r&&this.frag.slice().forEach((function(e){return t.removeChild(e)})),e){var n=document.createElement("div");n.innerHTML=e,Array.from(n.childNodes).forEach((function(e){t.appendChild(e)}))}},get:function(){return""}}),t&&(Object.assign(t,{removeChild:Yn,insertBefore:Jn}),Rn(e,t),qn(t)),n&&Vn(e),o&&Vn(o)},unbind:function(e){e.remove()}},to={name:"Fragment",directives:{frag:eo},render:function(e){return e("div",{directives:[{name:"frag"}]},this.$slots.default)}},no=o(3443),oo=o.n(no);const io={name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ro=(0,D.Z)(io,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon file-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports;var ao=o(71875),so=o(45400),lo=o.n(so),co=o(12945),uo=o.n(co),po=o(20571),mo=o.n(po),ho=o(4777);const vo=rt("actionsmenu",{state:()=>({opened:null})}),Ao=(0,a.j)("files","config",{show_hidden:!1,crop_image_previews:!0}),fo=function(){const e=rt("userconfig",{state:()=>({userConfig:Ao}),actions:{onUpdate(e,t){p.default.set(this.userConfig,e,t)},async update(e,t){await d.Z.put((0,l.generateUrl)("/apps/files/api/v1/config/"+e),{value:t}),(0,H.j8)("files:config:updated",{key:e,value:t})}}})(...arguments);return e._initialized||((0,H.Ld)("files:config:updated",(function(t){let{key:n,value:o}=t;e.onUpdate(n,o)})),e._initialized=!0),e},go={name:"CustomElementRender",props:{source:{type:Object,required:!0},currentView:{type:Object,required:!0},render:{type:Function,required:!0}},computed:{element(){return this.render(this.source,this.currentView)}},watch:{element(){this.$el.replaceWith(this.element),this.$el=this.element}},mounted(){this.$el.replaceWith(this.element),this.$el=this.element}},bo=(0,D.Z)(go,(function(){return(0,this._self._c)("span")}),[],!1,null,null,null).exports;var yo=o(27856);const Co={name:"CustomSvgIconRender",props:{svg:{type:String,required:!0}},watch:{svg(){this.$el.innerHTML=(0,yo.sanitize)(this.svg)}},mounted(){this.$el.innerHTML=(0,yo.sanitize)(this.svg)}};var wo=o(61959),ko={};ko.styleTagTransform=O(),ko.setAttributes=N(),ko.insert=_().bind(null,"head"),ko.domAPI=S(),ko.insertStyleElement=P(),w()(wo.Z,ko),wo.Z&&wo.Z.locals&&wo.Z.locals;const So=(0,D.Z)(Co,(function(){return(0,this._self._c)("span",{staticClass:"custom-svg-icon"})}),[],!1,null,"93e9b2f4",null).exports,xo=ie(),_o=p.default.extend({name:"FileEntry",components:{CustomElementRender:bo,CustomSvgIconRender:So,FileIcon:ro,FolderIcon:ao.default,Fragment:to,NcActionButton:lo(),NcActions:uo(),NcCheckboxRadioSwitch:mo(),NcLoadingIcon:Dt(),StarIcon:ho.default},props:{active:{type:Boolean,default:!1},isSizeAvailable:{type:Boolean,default:!1},source:{type:Object,required:!0},index:{type:Number,required:!0},nodes:{type:Array,required:!0},filesListWidth:{type:Number,default:0}},setup(){const e=vo(),t=$t(),n=function(){const e=rt("keyboard",{state:()=>({altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1}),actions:{onEvent(e){e||(e=window.event),p.default.set(this,"altKey",!!e.altKey),p.default.set(this,"ctrlKey",!!e.ctrlKey),p.default.set(this,"metaKey",!!e.metaKey),p.default.set(this,"shiftKey",!!e.shiftKey)}}})(...arguments);return e._initialized||(window.addEventListener("keydown",e.onEvent),window.addEventListener("keyup",e.onEvent),window.addEventListener("mousemove",e.onEvent),e._initialized=!0),e}();return{actionsMenuStore:e,filesStore:t,keyboardStore:n,selectionStore:Mt(),userConfigStore:fo()}},data:()=>({backgroundFailed:!1,backgroundImage:"",boundariesElement:document.querySelector(".app-content > .files-list"),loading:""}),computed:{userConfig(){return this.userConfigStore.userConfig},currentView(){return this.$navigation.active},columns(){var e;return this.filesListWidth<512?[]:(null===(e=this.currentView)||void 0===e?void 0:e.columns)||[]},dir(){var e,t;return((null===(e=this.$route)||void 0===e||null===(t=e.query)||void 0===t?void 0:t.dir)||"/").replace(/^(.+)\/$/,"$1")},fileid(){var e,t,n;return null===(e=this.source)||void 0===e||null===(t=e.fileid)||void 0===t||null===(n=t.toString)||void 0===n?void 0:n.call(t)},displayName(){return this.source.attributes.displayName||this.source.basename},size(){const e=parseInt(this.source.size,10)||0;return"number"!=typeof e||e<0?this.t("files","Pending"):J(e,!0)},sizeOpacity(){const e=parseInt(this.source.size,10)||0;return!e||e<0?1:.7+(1-.7)*Math.pow(this.source.size/10485760,2)},linkAttrs(){if(this.enabledDefaultActions.length>0){const e=this.enabledDefaultActions[0],t=e.displayName([this.source],this.currentView);return{class:["files-list__row-default-action","files-list__row-action-"+e.id],role:"button",title:t}}if("folder"===this.source.type){const e={...this.$route,query:{dir:(0,m.join)(this.dir,this.source.basename)}};return{is:"router-link",title:this.t("files","Open folder {name}",{name:this.displayName}),to:e}}return{href:this.source.source,title:this.t("files","Download file {name}",{name:this.displayName})}},selectedFiles(){return this.selectionStore.selected},isSelected(){var e,t,n;return this.selectedFiles.includes(null===(e=this.source)||void 0===e||null===(t=e.fileid)||void 0===t||null===(n=t.toString)||void 0===n?void 0:n.call(t))},cropPreviews(){return this.userConfig.crop_image_previews},previewUrl(){try{const e=new URL(window.location.origin+this.source.attributes.previewUrl);return e.searchParams.set("x","32"),e.searchParams.set("y","32"),e.searchParams.set("a",!0===this.cropPreviews?"0":"1"),e.href}catch(e){return null}},mimeIconUrl(){var e,t,n;const o=this.source.mime||"application/octet-stream",i=null===(e=window.OC)||void 0===e||null===(t=e.MimeType)||void 0===t||null===(n=t.getIconUrl)||void 0===n?void 0:n.call(t,o);return i?"url(".concat(i,")"):""},enabledActions(){return xo.filter((e=>!e.enabled||e.enabled([this.source],this.currentView))).sort(((e,t)=>(e.order||0)-(t.order||0)))},enabledInlineActions(){return this.filesListWidth<768?[]:this.enabledActions.filter((e=>{var t;return null==e||null===(t=e.inline)||void 0===t?void 0:t.call(e,this.source,this.currentView)}))},enabledMenuActions(){if(this.filesListWidth<768)return this.enabledDefaultActions.length>0?this.enabledActions.slice(1):this.enabledActions;const e=[...this.enabledInlineActions,...this.enabledActions.filter((e=>!e.inline))];return this.enabledDefaultActions.length>0?e.slice(1):e},enabledDefaultActions(){return[...this.enabledActions.filter((e=>e.default))]},openedMenu:{get(){return this.actionsMenuStore.opened===this.uniqueId},set(e){this.actionsMenuStore.opened=e?this.uniqueId:null}},uniqueId(){return this.source.source.split("").reduce((function(e,t){return(e=(e<<5)-e+t.charCodeAt(0))&e}),0)},isFavorite(){return 1===this.source.attributes.favorite}},watch:{active(e,t){if(!1===e&&!0===t)return this.resetState(),void(this.$el.parentNode.style.display="none");this.$el.parentNode.style.display=""},previewUrl(){this.clearImg(),this.debounceIfNotCached()}},mounted(){var e,t;this.debounceGetPreview=(0,In.debounce)((function(){this.fetchAndApplyPreview()}),150,!1),this.debounceIfNotCached(),null===(e=this.$el.parentNode)||void 0===e||null===(t=e.addEventListener)||void 0===t||t.call(e,"contextmenu",this.onRightClick)},beforeDestroy(){this.resetState()},methods:{async debounceIfNotCached(){var e;if(this.previewUrl)return await(e=this.previewUrl,caches.open("previews").then((function(t){return t.match(e).then((function(e){return!!e}))})))?(this.backgroundImage="url(".concat(this.previewUrl,")"),void(this.backgroundFailed=!1)):void this.debounceGetPreview()},fetchAndApplyPreview(){this.previewUrl&&(this.previewPromise&&this.clearImg(),this.previewPromise=new(oo())(((e,t,n)=>{const o=new Image;o.fetchpriority=this.active?"high":"auto",o.onload=()=>{this.backgroundImage="url(".concat(this.previewUrl,")"),this.backgroundFailed=!1,e(o)},o.onerror=()=>{this.backgroundFailed=!0,t(o)},o.src=this.previewUrl,n((()=>{o.onerror=null,o.onload=null,o.src=""}))})))},resetState(){this.loading="",this.clearImg(),this.openedMenu=!1},clearImg(){this.backgroundImage="",this.backgroundFailed=!1,this.previewPromise&&(this.previewPromise.cancel(),this.previewPromise=null)},async onActionClick(e){const t=e.displayName([this.source],this.currentView);try{this.loading=e.id,p.default.set(this.source,"_loading",!0);const n=await e.exec(this.source,this.currentView,this.dir);if(null===n)return;if(n)return void(0,h.s$)(this.t("files",'"{displayName}" action executed successfully',{displayName:t}));(0,h.x2)(this.t("files",'"{displayName}" action failed',{displayName:t}))}catch(n){te.error("Error while executing action",{action:e,e:n}),(0,h.x2)(this.t("files",'"{displayName}" action failed',{displayName:t}))}finally{this.loading="",p.default.set(this.source,"_loading",!1)}},execDefaultAction(e){this.enabledDefaultActions.length>0&&(e.preventDefault(),e.stopPropagation(),this.enabledDefaultActions[0].exec(this.source,this.currentView,this.dir))},openDetailsIfAvailable(e){const t=this.enabledDefaultActions.find((e=>e.id===re));t&&(e.preventDefault(),e.stopPropagation(),t.exec(this.source,this.currentView))},onSelectionChange(e){var t;const n=this.index,o=this.selectionStore.lastSelectedIndex;if(null!==(t=this.keyboardStore)&&void 0!==t&&t.shiftKey&&null!==o){const e=this.selectedFiles.includes(this.fileid),t=Math.min(n,o),i=Math.max(o,n),r=this.selectionStore.lastSelection,a=this.nodes.map((e=>{var t,n;return null===(t=e.fileid)||void 0===t||null===(n=t.toString)||void 0===n?void 0:n.call(t)})).slice(t,i+1),s=[...r,...a].filter((t=>!e||t!==this.fileid));return te.debug("Shift key pressed, selecting all files in between",{start:t,end:i,filesToSelect:a,isAlreadySelected:e}),void this.selectionStore.set(s)}te.debug("Updating selection",{selection:e}),this.selectionStore.set(e),this.selectionStore.setLastIndex(n)},onRightClick(e){if(this.openedMenu)return;const t=this.selectedFiles.length>1;this.actionsMenuStore.opened=this.isSelected&&t?"global":this.uniqueId,e.preventDefault(),e.stopPropagation()},t:s.Iu,formatFileSize:J}}),jo=_o;var No=o(60731),zo={};zo.styleTagTransform=O(),zo.setAttributes=N(),zo.insert=_().bind(null,"head"),zo.domAPI=S(),zo.insertStyleElement=P(),w()(No.Z,zo),No.Z&&No.Z.locals&&No.Z.locals;var Po=o(1290),Eo={};Eo.styleTagTransform=O(),Eo.setAttributes=N(),Eo.insert=_().bind(null,"head"),Eo.domAPI=S(),Eo.insertStyleElement=P(),w()(Po.Z,Eo),Po.Z&&Po.Z.locals&&Po.Z.locals;const Oo=(0,D.Z)(jo,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("Fragment",[t("td",{staticClass:"files-list__row-checkbox"},[e.active?t("NcCheckboxRadioSwitch",{attrs:{"aria-label":e.t("files","Select the row for {displayName}",{displayName:e.displayName}),checked:e.selectedFiles,value:e.fileid,name:"selectedFiles"},on:{"update:checked":e.onSelectionChange}}):e._e()],1),e._v(" "),t("td",{staticClass:"files-list__row-name"},[t("a",e._b({ref:"name",on:{click:e.execDefaultAction}},"a",e.linkAttrs,!1),[t("span",{staticClass:"files-list__row-icon"},["folder"===e.source.type?t("FolderIcon"):e.previewUrl&&!e.backgroundFailed?t("span",{ref:"previewImg",staticClass:"files-list__row-icon-preview",style:{backgroundImage:e.backgroundImage}}):e.mimeIconUrl?t("span",{staticClass:"files-list__row-icon-preview files-list__row-icon-preview--mime",style:{backgroundImage:e.mimeIconUrl}}):t("FileIcon"),e._v(" "),e.isFavorite?t("span",{staticClass:"files-list__row-icon-favorite",attrs:{"aria-label":e.t("files","Favorite")}},[t("StarIcon",{attrs:{"aria-hidden":"true",size:20}})],1):e._e()],1),e._v(" "),t("span",{staticClass:"files-list__row-name-text"},[e._v(e._s(e.displayName))])])]),e._v(" "),t("td",{staticClass:"files-list__row-actions",class:"files-list__row-actions-".concat(e.uniqueId)},[e.active?t("NcActions",{ref:"actionsMenu",attrs:{"boundaries-element":e.boundariesElement,container:e.boundariesElement,disabled:e.source._loading,"force-title":!0,"force-menu":!0,inline:e.enabledInlineActions.length,open:e.openedMenu},on:{"update:open":function(t){e.openedMenu=t}}},e._l(e.enabledMenuActions,(function(n){return t("NcActionButton",{key:n.id,class:"files-list__row-action-"+n.id,on:{click:function(t){return e.onActionClick(n)}},scopedSlots:e._u([{key:"icon",fn:function(){return[e.loading===n.id?t("NcLoadingIcon",{attrs:{size:18}}):t("CustomSvgIconRender",{attrs:{svg:n.iconSvgInline([e.source],e.currentView)}})]},proxy:!0}],null,!0)},[e._v("\n\t\t\t\t"+e._s(n.displayName([e.source],e.currentView))+"\n\t\t\t")])})),1):e._e()],1),e._v(" "),e.isSizeAvailable?t("td",{staticClass:"files-list__row-size",style:{opacity:e.sizeOpacity},on:{click:e.openDetailsIfAvailable}},[t("span",[e._v(e._s(e.size))])]):e._e(),e._v(" "),e._l(e.columns,(function(n){var o;return t("td",{key:n.id,staticClass:"files-list__row-column-custom",class:"files-list__row-".concat(null===(o=e.currentView)||void 0===o?void 0:o.id,"-").concat(n.id),on:{click:e.openDetailsIfAvailable}},[e.active?t("CustomElementRender",{attrs:{"current-view":e.currentView,render:n.render,source:e.source}}):e._e()],1)}))],2)}),[],!1,null,"e5a368d6",null).exports,To=p.default.extend({name:"FilesListFooter",components:{},props:{isSizeAvailable:{type:Boolean,default:!1},nodes:{type:Array,required:!0},summary:{type:String,default:""},filesListWidth:{type:Number,default:0}},setup(){const e=Lt();return{filesStore:$t(),pathsStore:e}},computed:{currentView(){return this.$navigation.active},dir(){var e,t;return((null===(e=this.$route)||void 0===e||null===(t=e.query)||void 0===t?void 0:t.dir)||"/").replace(/^(.+)\/$/,"$1")},currentFolder(){var e;if(null===(e=this.currentView)||void 0===e||!e.id)return;if("/"===this.dir)return this.filesStore.getRoot(this.currentView.id);const t=this.pathsStore.getPath(this.currentView.id,this.dir);return this.filesStore.getNode(t)},columns(){var e;return this.filesListWidth<512?[]:(null===(e=this.currentView)||void 0===e?void 0:e.columns)||[]},totalSize(){var e;return null!==(e=this.currentFolder)&&void 0!==e&&e.size?J(this.currentFolder.size,!0):J(this.nodes.reduce(((e,t)=>e+t.size||0),0),!0)}},methods:{classForColumn(e){return{"files-list__row-column-custom":!0,["files-list__row-".concat(this.currentView.id,"-").concat(e.id)]:!0}},t:s.Iu}});var Bo=o(97105),Do={};Do.styleTagTransform=O(),Do.setAttributes=N(),Do.insert=_().bind(null,"head"),Do.domAPI=S(),Do.insertStyleElement=P(),w()(Bo.Z,Do),Bo.Z&&Bo.Z.locals&&Bo.Z.locals;const Fo=(0,D.Z)(To,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("tr",[t("th",{staticClass:"files-list__row-checkbox"},[t("span",{staticClass:"hidden-visually"},[e._v(e._s(e.t("files","Total rows summary")))])]),e._v(" "),t("td",{staticClass:"files-list__row-name"},[t("span",{staticClass:"files-list__row-icon"}),e._v(" "),t("span",[e._v(e._s(e.summary))])]),e._v(" "),t("td",{staticClass:"files-list__row-actions"}),e._v(" "),e.isSizeAvailable?t("td",{staticClass:"files-list__column files-list__row-size"},[t("span",[e._v(e._s(e.totalSize))])]):e._e(),e._v(" "),e._l(e.columns,(function(n){var o;return t("th",{key:n.id,class:e.classForColumn(n)},[t("span",[e._v(e._s(null===(o=n.summary)||void 0===o?void 0:o.call(n,e.nodes,e.currentView)))])])}))],2)}),[],!1,null,"e6a083be",null).exports,Io=p.default.extend({data:()=>({filesListWidth:null}),created(){const e=document.querySelector("#app-content-vue");this.$resizeObserver=new ResizeObserver((t=>{t.length>0&&t[0].target===e&&(this.filesListWidth=t[0].contentRect.width)})),this.$resizeObserver.observe(e)},beforeDestroy(){this.$resizeObserver.disconnect()}}),$o=ie(),Lo=p.default.extend({name:"FilesListHeaderActions",components:{CustomSvgIconRender:So,NcActions:uo(),NcActionButton:lo(),NcLoadingIcon:Dt()},mixins:[Io],props:{currentView:{type:Object,required:!0},selectedNodes:{type:Array,default:()=>[]}},setup:()=>({actionsMenuStore:vo(),filesStore:$t(),selectionStore:Mt()}),data:()=>({loading:null}),computed:{dir(){var e,t;return((null===(e=this.$route)||void 0===e||null===(t=e.query)||void 0===t?void 0:t.dir)||"/").replace(/^(.+)\/$/,"$1")},enabledActions(){return $o.filter((e=>e.execBatch)).filter((e=>!e.enabled||e.enabled(this.nodes,this.currentView))).sort(((e,t)=>(e.order||0)-(t.order||0)))},nodes(){return this.selectedNodes.map((e=>this.getNode(e))).filter((e=>e))},areSomeNodesLoading(){return this.nodes.some((e=>e._loading))},openedMenu:{get(){return"global"===this.actionsMenuStore.opened},set(e){this.actionsMenuStore.opened=e?"global":null}},inlineActions(){return this.filesListWidth<512?0:this.filesListWidth<768?1:this.filesListWidth<1024?2:3}},methods:{getNode(e){return this.filesStore.getNode(e)},async onActionClick(e){const t=e.displayName(this.nodes,this.currentView),n=this.selectedNodes;try{this.loading=e.id,this.nodes.forEach((e=>{p.default.set(e,"_loading",!0)}));const o=await e.execBatch(this.nodes,this.currentView,this.dir);if(!o.some((e=>null!==e)))return void this.selectionStore.reset();if(o.some((e=>!1===e))){const e=n.filter(((e,t)=>!1===o[t]));return this.selectionStore.set(e),void(0,h.x2)(this.t("files",'"{displayName}" failed on some elements ',{displayName:t}))}(0,h.s$)(this.t("files",'"{displayName}" batch action executed successfully',{displayName:t})),this.selectionStore.reset()}catch(n){te.error("Error while executing action",{action:e,e:n}),(0,h.x2)(this.t("files",'"{displayName}" action failed',{displayName:t}))}finally{this.loading=null,this.nodes.forEach((e=>{p.default.set(e,"_loading",!1)}))}},t:s.Iu}});var Mo=o(97877),Uo={};Uo.styleTagTransform=O(),Uo.setAttributes=N(),Uo.insert=_().bind(null,"head"),Uo.domAPI=S(),Uo.insertStyleElement=P(),w()(Mo.Z,Uo),Mo.Z&&Mo.Z.locals&&Mo.Z.locals;const Go=(0,D.Z)(Lo,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("th",{staticClass:"files-list__column files-list__row-actions-batch",attrs:{colspan:"2"}},[t("NcActions",{ref:"actionsMenu",attrs:{disabled:!!e.loading||e.areSomeNodesLoading,"force-title":!0,inline:e.inlineActions,"menu-title":e.inlineActions<=1?e.t("files","Actions"):null,open:e.openedMenu},on:{"update:open":function(t){e.openedMenu=t}}},e._l(e.enabledActions,(function(n){return t("NcActionButton",{key:n.id,class:"files-list__row-actions-batch-"+n.id,on:{click:function(t){return e.onActionClick(n)}},scopedSlots:e._u([{key:"icon",fn:function(){return[e.loading===n.id?t("NcLoadingIcon",{attrs:{size:18}}):t("CustomSvgIconRender",{attrs:{svg:n.iconSvgInline(e.nodes,e.currentView)}})]},proxy:!0}],null,!0)},[e._v("\n\t\t\t"+e._s(n.displayName(e.nodes,e.currentView))+"\n\t\t")])})),1)],1)}),[],!1,null,"03e57b1e",null).exports,Ro={name:"MenuDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Vo=(0,D.Z)(Ro,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon menu-down-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M7,10L12,15L17,10H7Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports,Zo={name:"MenuUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},qo=(0,D.Z)(Zo,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon menu-up-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M7,15L12,10L17,15H7Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports,Wo=p.default.extend({computed:{...(Ko=Gt,Yo=["getConfig","setSortingBy","toggleSortingDirection"],Array.isArray(Yo)?Yo.reduce(((e,t)=>(e[t]=function(){return Ko(this.$pinia)[t]},e)),{}):Object.keys(Yo).reduce(((e,t)=>(e[t]=function(){const e=Ko(this.$pinia),n=Yo[t];return"function"==typeof n?n.call(this,e):e[n]},e)),{})),currentView(){return this.$navigation.active},sortingMode(){var e,t;return(null===(e=this.getConfig(this.currentView.id))||void 0===e?void 0:e.sorting_mode)||(null===(t=this.currentView)||void 0===t?void 0:t.defaultSortKey)||"basename"},isAscSorting(){var e;return"asc"===(null===(e=this.getConfig(this.currentView.id))||void 0===e?void 0:e.sorting_direction)}},methods:{toggleSortBy(e){this.sortingMode!==e?this.setSortingBy(e,this.currentView.id):this.toggleSortingDirection(this.currentView.id)}}}),Ho=p.default.extend({name:"FilesListHeaderButton",components:{MenuDown:Vo,MenuUp:qo,NcButton:Tt()},mixins:[Wo],props:{name:{type:String,required:!0},mode:{type:String,required:!0}},methods:{sortAriaLabel(e){const t=this.isAscSorting?this.t("files","ascending"):this.t("files","descending");return this.t("files","Sort list by {column} ({direction})",{column:e,direction:t})},t:s.Iu}});var Ko,Yo,Jo=o(29252),Qo={};Qo.styleTagTransform=O(),Qo.setAttributes=N(),Qo.insert=_().bind(null,"head"),Qo.domAPI=S(),Qo.insertStyleElement=P(),w()(Jo.Z,Qo),Jo.Z&&Jo.Z.locals&&Jo.Z.locals;const Xo=(0,D.Z)(Ho,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("NcButton",{staticClass:"files-list__column-sort-button",class:{"files-list__column-sort-button--active":e.sortingMode===e.mode},attrs:{"aria-label":e.sortAriaLabel(e.name),type:"tertiary"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.toggleSortBy(e.mode)}}},[e.sortingMode!==e.mode||e.isAscSorting?t("MenuUp",{attrs:{slot:"icon"},slot:"icon"}):t("MenuDown",{attrs:{slot:"icon"},slot:"icon"}),e._v("\n\t"+e._s(e.name)+"\n")],1)}),[],!1,null,null,null).exports,ei=p.default.extend({name:"FilesListHeader",components:{FilesListHeaderButton:Xo,NcCheckboxRadioSwitch:mo(),FilesListHeaderActions:Go},mixins:[Wo],props:{isSizeAvailable:{type:Boolean,default:!1},nodes:{type:Array,required:!0},filesListWidth:{type:Number,default:0}},setup:()=>({filesStore:$t(),selectionStore:Mt()}),computed:{currentView(){return this.$navigation.active},columns(){var e;return this.filesListWidth<512?[]:(null===(e=this.currentView)||void 0===e?void 0:e.columns)||[]},dir(){var e,t;return((null===(e=this.$route)||void 0===e||null===(t=e.query)||void 0===t?void 0:t.dir)||"/").replace(/^(.+)\/$/,"$1")},selectAllBind(){const e=this.isNoneSelected||this.isSomeSelected?this.t("files","Select all"):this.t("files","Unselect all");return{"aria-label":e,checked:this.isAllSelected,indeterminate:this.isSomeSelected,title:e}},selectedNodes(){return this.selectionStore.selected},isAllSelected(){return this.selectedNodes.length===this.nodes.length},isNoneSelected(){return 0===this.selectedNodes.length},isSomeSelected(){return!this.isAllSelected&&!this.isNoneSelected}},methods:{classForColumn(e){return{"files-list__column":!0,"files-list__column--sortable":!!e.sort,"files-list__row-column-custom":!0,["files-list__row-".concat(this.currentView.id,"-").concat(e.id)]:!0}},onToggleAll(e){if(e){const e=this.nodes.map((e=>e.fileid.toString()));te.debug("Added all nodes to selection",{selection:e}),this.selectionStore.setLastIndex(null),this.selectionStore.set(e)}else te.debug("Cleared selection"),this.selectionStore.reset()},t:s.Iu}});var ti=o(96153),ni={};ni.styleTagTransform=O(),ni.setAttributes=N(),ni.insert=_().bind(null,"head"),ni.domAPI=S(),ni.insertStyleElement=P(),w()(ti.Z,ni),ti.Z&&ti.Z.locals&&ti.Z.locals;const oi=(0,D.Z)(ei,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("tr",[t("th",{staticClass:"files-list__column files-list__row-checkbox"},[t("NcCheckboxRadioSwitch",e._b({on:{"update:checked":e.onToggleAll}},"NcCheckboxRadioSwitch",e.selectAllBind,!1))],1),e._v(" "),e.isNoneSelected?[t("th",{staticClass:"files-list__column files-list__row-name files-list__column--sortable",on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.toggleSortBy("basename")}}},[t("span",{staticClass:"files-list__row-icon"}),e._v(" "),t("FilesListHeaderButton",{attrs:{name:e.t("files","Name"),mode:"basename"}})],1),e._v(" "),t("th",{staticClass:"files-list__row-actions"}),e._v(" "),e.isSizeAvailable?t("th",{staticClass:"files-list__column files-list__row-size",class:{"files-list__column--sortable":e.isSizeAvailable}},[t("FilesListHeaderButton",{attrs:{name:e.t("files","Size"),mode:"size"}})],1):e._e(),e._v(" "),e._l(e.columns,(function(n){return t("th",{key:n.id,class:e.classForColumn(n)},[n.sort?t("FilesListHeaderButton",{attrs:{name:n.title,mode:n.id}}):t("span",[e._v("\n\t\t\t\t"+e._s(n.title)+"\n\t\t\t")])],1)}))]:t("FilesListHeaderActions",{attrs:{"current-view":e.currentView,"selected-nodes":e.selectedNodes}})],2)}),[],!1,null,"76b6186a",null).exports,ii=p.default.extend({name:"FilesListVirtual",components:{RecycleScroller:Nn,FileEntry:Oo,FilesListHeader:oi,FilesListFooter:Fo},mixins:[Io],props:{currentView:{type:Object,required:!0},nodes:{type:Array,required:!0}},data:()=>({FileEntry:Oo}),computed:{files(){return this.nodes.filter((e=>"file"===e.type))},summaryFile(){const e=this.files.length;return(0,s.uN)("files","{count} file","{count} files",e,{count:e})},summaryFolder(){const e=this.nodes.length-this.files.length;return(0,s.uN)("files","{count} folder","{count} folders",e,{count:e})},summary(){return(0,s.Iu)("files","{summaryFile} and {summaryFolder}",this)},isSizeAvailable(){return!(this.filesListWidth<768)&&this.nodes.some((e=>void 0!==e.attributes.size))}},mounted(){const e=this.$el.querySelectorAll(".vue-recycle-scroller__slot");e[0].setAttribute("role","thead"),e[1].setAttribute("role","tfoot")},methods:{getFileId:e=>e.fileid,t:s.Iu}});var ri=o(76775),ai={};ai.styleTagTransform=O(),ai.setAttributes=N(),ai.insert=_().bind(null,"head"),ai.domAPI=S(),ai.insertStyleElement=P(),w()(ri.Z,ai),ri.Z&&ri.Z.locals&&ri.Z.locals;const si=(0,D.Z)(ii,(function(){var e=this,t=e._self._c;return e._self._setupProxy,t("RecycleScroller",{ref:"recycleScroller",staticClass:"files-list",attrs:{"key-field":"source",items:e.nodes,"item-size":55,"table-mode":!0,"item-class":"files-list__row","item-tag":"tr","list-class":"files-list__body","list-tag":"tbody",role:"table"},scopedSlots:e._u([{key:"default",fn:function(n){let{item:o,active:i,index:r}=n;return[t("FileEntry",{attrs:{active:i,index:r,"is-size-available":e.isSizeAvailable,"files-list-width":e.filesListWidth,nodes:e.nodes,source:o}})]}},{key:"before",fn:function(){return[t("caption",{staticClass:"hidden-visually"},[e._v("\n\t\t\t"+e._s(e.currentView.caption||"")+"\n\t\t\t"+e._s(e.t("files","This list is not fully rendered for performances reasons. The files will be rendered as you navigate through the list."))+"\n\t\t")]),e._v(" "),t("FilesListHeader",{attrs:{"files-list-width":e.filesListWidth,"is-size-available":e.isSizeAvailable,nodes:e.nodes}})]},proxy:!0},{key:"after",fn:function(){return[t("FilesListFooter",{attrs:{"files-list-width":e.filesListWidth,"is-size-available":e.isSizeAvailable,nodes:e.nodes,summary:e.summary}})]},proxy:!0}])})}),[],!1,null,"640a8bb8",null).exports;var li=o(16932);function ci(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,"string");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const ui=class{constructor(){ci(this,"_views",[]),ci(this,"_currentView",null),te.debug("Navigation service initialized")}register(e){try{pi(e),di(e,this._views)}catch(t){throw t instanceof Error&&te.error(t.message,{view:e}),t}e.legacy&&te.warn("Legacy view detected, please migrate to Vue"),e.iconClass&&(e.legacy=!0),this._views.push(e)}remove(e){const t=this._views.findIndex((t=>t.id===e));-1!==t&&this._views.splice(t,1)}get views(){return this._views}setActive(e){this._currentView=e}get active(){return this._currentView}},di=function(e,t){if(t.find((t=>t.id===e.id)))throw new Error("Navigation id ".concat(e.id," is already registered"));return!0},pi=function(e){if(!e.id||"string"!=typeof e.id)throw new Error("Navigation id is required and must be a string");if(!e.name||"string"!=typeof e.name)throw new Error("Navigation name is required and must be a string");if(!e.legacy){if(!e.getContents||"function"!=typeof e.getContents)throw new Error("Navigation getContents is required and must be a function");if(!e.icon||"string"!=typeof e.icon||!function(e){if("string"!=typeof e)throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);if(0===(e=e.trim()).length)return!1;if(!0!==li.XMLValidator.validate(e))return!1;let t;const n=new li.XMLParser;try{t=n.parse(e)}catch{return!1}return!!t&&"svg"in t}(e.icon))throw new Error("Navigation icon is required and must be a valid svg string")}if(!("order"in e)||"number"!=typeof e.order)throw new Error("Navigation order is required and must be a number");if(e.columns&&e.columns.forEach(mi),e.emptyView&&"function"!=typeof e.emptyView)throw new Error("Navigation emptyView must be a function");if(e.parent&&"string"!=typeof e.parent)throw new Error("Navigation parent must be a string");if("sticky"in e&&"boolean"!=typeof e.sticky)throw new Error("Navigation sticky must be a boolean");if("expanded"in e&&"boolean"!=typeof e.expanded)throw new Error("Navigation expanded must be a boolean");if(e.defaultSortKey&&"string"!=typeof e.defaultSortKey)throw new Error("Navigation defaultSortKey must be a string");return!0},mi=function(e){if(!e.id||"string"!=typeof e.id)throw new Error("A column id is required");if(!e.title||"string"!=typeof e.title)throw new Error("A column title is required");if(!e.render||"function"!=typeof e.render)throw new Error("A render function is required");if(e.sort&&"function"!=typeof e.sort)throw new Error("Column sortFunction must be a function");if(e.summary&&"function"!=typeof e.summary)throw new Error("Column summary must be a function");return!0},hi=p.default.extend({name:"FilesList",components:{BreadCrumbs:Qt,FilesListVirtual:si,NcAppContent:Et(),NcButton:Tt(),NcEmptyContent:A(),NcLoadingIcon:Dt(),TrashCan:It},mixins:[Wo],setup(){const e=Lt();return{filesStore:$t(),pathsStore:e,selectionStore:Mt(),viewConfigStore:Gt()}},data:()=>({loading:!0,promise:null}),computed:{currentView(){return this.$navigation.active||this.$navigation.views.find((e=>"files"===e.id))},dir(){var e,t;return((null===(e=this.$route)||void 0===e||null===(t=e.query)||void 0===t?void 0:t.dir)||"/").replace(/^(.+)\/$/,"$1")},currentFolder(){var e;if(null===(e=this.currentView)||void 0===e||!e.id)return;if("/"===this.dir)return this.filesStore.getRoot(this.currentView.id);const t=this.pathsStore.getPath(this.currentView.id,this.dir);return this.filesStore.getNode(t)},dirContents(){var e,t;if(!this.currentView)return[];const n=((null===(e=this.currentView)||void 0===e?void 0:e.columns)||[]).find((e=>e.id===this.sortingMode));if(null!=n&&n.sort&&"function"==typeof n.sort){var o;const e=[...((null===(o=this.currentFolder)||void 0===o?void 0:o._children)||[]).map(this.getNode).filter((e=>e))].sort(n.sort);return this.isAscSorting?e:e.reverse()}return zt([...((null===(t=this.currentFolder)||void 0===t?void 0:t._children)||[]).map(this.getNode).filter((e=>e))],[..."basename"===this.sortingMode?[e=>"folder"!==e.type]:[],e=>e[this.sortingMode],e=>e.basename],this.isAscSorting?["asc","asc","asc"]:["desc","desc","desc"])},isEmptyDir(){return 0===this.dirContents.length},isRefreshing(){return void 0!==this.currentFolder&&!this.isEmptyDir&&this.loading},toPreviousDir(){const e=this.dir.split("/").slice(0,-1).join("/")||"/";return{...this.$route,query:{dir:e}}}},watch:{currentView(e,t){(null==e?void 0:e.id)!==(null==t?void 0:t.id)&&(te.debug("View changed",{newView:e,oldView:t}),this.selectionStore.reset(),this.fetchContent())},dir(e,t){var n,o;te.debug("Directory changed",{newDir:e,oldDir:t}),this.selectionStore.reset(),this.fetchContent(),null!==(n=this.$refs)&&void 0!==n&&null!==(o=n.filesListVirtual)&&void 0!==o&&o.$el&&(this.$refs.filesListVirtual.$el.scrollTop=0)}},methods:{async fetchContent(){var e,t;if(null!==(e=this.currentView)&&void 0!==e&&e.legacy)return;this.loading=!0;const n=this.dir,o=this.currentView;"function"==typeof(null===(t=this.promise)||void 0===t?void 0:t.cancel)&&(this.promise.cancel(),te.debug("Cancelled previous ongoing fetch")),this.promise=o.getContents(n);try{const{folder:e,contents:t}=await this.promise;te.debug("Fetched contents",{dir:n,folder:e,contents:t}),this.filesStore.updateNodes(t),e._children=t.map((e=>e.fileid)),"/"===n?this.filesStore.setRoot({service:o.id,root:e}):e.fileid?(this.filesStore.updateNodes([e]),this.pathsStore.addPath({service:o.id,fileid:e.fileid,path:n})):te.error("Invalid root folder returned",{dir:n,folder:e,currentView:o}),t.filter((e=>"folder"===e.type)).forEach((e=>{this.pathsStore.addPath({service:o.id,fileid:e.fileid,path:(0,m.join)(n,e.basename)})}))}catch(e){te.error("Error while fetching content",{error:e})}finally{this.loading=!1}},getNode(e){return this.filesStore.getNode(e)},t:s.Iu}});var vi=o(1508),Ai={};Ai.styleTagTransform=O(),Ai.setAttributes=N(),Ai.insert=_().bind(null,"head"),Ai.domAPI=S(),Ai.insertStyleElement=P(),w()(vi.Z,Ai),vi.Z&&vi.Z.locals&&vi.Z.locals;const fi=(0,D.Z)(hi,(function(){var e,t,n=this,o=n._self._c;return n._self._setupProxy,o("NcAppContent",{directives:[{name:"show",rawName:"v-show",value:!(null!==(e=n.currentView)&&void 0!==e&&e.legacy),expression:"!currentView?.legacy"}],class:{"app-content--hidden":null===(t=n.currentView)||void 0===t?void 0:t.legacy},attrs:{"data-cy-files-content":""}},[o("div",{staticClass:"files-list__header"},[o("BreadCrumbs",{attrs:{path:n.dir},on:{reload:n.fetchContent}}),n._v(" "),n.isRefreshing?o("NcLoadingIcon",{staticClass:"files-list__refresh-icon"}):n._e()],1),n._v(" "),n.loading&&!n.isRefreshing?o("NcLoadingIcon",{staticClass:"files-list__loading-icon",attrs:{size:38,title:n.t("files","Loading current folder")}}):!n.loading&&n.isEmptyDir?o("NcEmptyContent",{attrs:{title:n.t("files","No files in here"),description:n.t("files","No files or folders have been deleted yet"),"data-cy-files-content-empty":""},scopedSlots:n._u([{key:"action",fn:function(){return["/"!==n.dir?o("NcButton",{attrs:{"aria-label":"t('files', 'Go to the previous folder')",type:"primary",to:n.toPreviousDir}},[n._v("\n\t\t\t\t"+n._s(n.t("files","Go back"))+"\n\t\t\t")]):n._e()]},proxy:!0},{key:"icon",fn:function(){return[o("TrashCan")]},proxy:!0}])}):o("FilesListVirtual",{ref:"filesListVirtual",attrs:{"current-view":n.currentView,nodes:n.dirContents}})],1)}),[],!1,null,"66068cbb",null).exports;var gi=o(27367),bi=o(94336);const yi=(0,D.Z)(bi.Z,gi.s,gi.x,!1,null,null,null).exports;var Ci=o(55209),wi=o.n(Ci),ki=o(14032),Si=o.n(ki),xi=o(91211),_i=o.n(xi);function ji(e,t,n){var o,i=n||{},r=i.noTrailing,a=void 0!==r&&r,s=i.noLeading,l=void 0!==s&&s,c=i.debounceMode,u=void 0===c?void 0:c,d=!1,p=0;function m(){o&&clearTimeout(o)}function h(){for(var n=arguments.length,i=new Array(n),r=0;re?l?(p=Date.now(),a||(o=setTimeout(u?v:h,e))):h():!0!==a&&(o=setTimeout(u?v:h,void 0===u?e-c:e)))}return h.cancel=function(e){var t=(e||{}).upcomingOnly,n=void 0!==t&&t;m(),d=!n},h}const Ni={name:"ChartPieIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},zi=(0,D.Z)(Ni,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon chart-pie-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M11,2V22C5.9,21.5 2,17.2 2,12C2,6.8 5.9,2.5 11,2M13,2V11H22C21.5,6.2 17.8,2.5 13,2M13,13V22C17.7,21.5 21.5,17.8 22,13H13Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports;var Pi=o(48959),Ei=o.n(Pi);const Oi={name:"NavigationQuota",components:{ChartPie:zi,NcAppNavigationItem:Si(),NcProgressBar:Ei()},data:()=>({loadingStorageStats:!1,storageStats:(0,a.j)("files","storageStats",null)}),computed:{storageStatsTitle(){var e,t,n;const o=J(null===(e=this.storageStats)||void 0===e?void 0:e.used),i=J(null===(t=this.storageStats)||void 0===t?void 0:t.quota);return(null===(n=this.storageStats)||void 0===n?void 0:n.quota)<0?this.t("files","{usedQuotaByte} used",{usedQuotaByte:o}):this.t("files","{used} of {quota} used",{used:o,quota:i})},storageStatsTooltip(){return this.storageStats.relative?this.t("files","{relative}% used",this.storageStats):""}},beforeMount(){setInterval(this.throttleUpdateStorageStats,6e4),(0,H.Ld)("files:node:created",this.throttleUpdateStorageStats),(0,H.Ld)("files:node:deleted",this.throttleUpdateStorageStats),(0,H.Ld)("files:node:moved",this.throttleUpdateStorageStats),(0,H.Ld)("files:node:updated",this.throttleUpdateStorageStats)},methods:{debounceUpdateStorageStats:(Ti={}.atBegin,ji(200,(function(e){this.updateStorageStats(e)}),{debounceMode:!1!==(void 0!==Ti&&Ti)})),throttleUpdateStorageStats:ji(1e3,(function(e){this.updateStorageStats(e)})),async updateStorageStats(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(!this.loadingStorageStats){this.loadingStorageStats=!0;try{var n;const e=await d.Z.get((0,l.generateUrl)("/apps/files/api/v1/stats"));if(null==e||null===(n=e.data)||void 0===n||!n.data)throw new Error("Invalid storage stats");this.storageStats=e.data.data}catch(n){te.error("Could not refresh storage stats",{error:n}),e&&(0,h.x2)(t("files","Could not refresh storage stats"))}finally{this.loadingStorageStats=!1}}},t:s.Iu}};var Ti,Bi=o(93582),Di={};Di.styleTagTransform=O(),Di.setAttributes=N(),Di.insert=_().bind(null,"head"),Di.domAPI=S(),Di.insertStyleElement=P(),w()(Bi.Z,Di),Bi.Z&&Bi.Z.locals&&Bi.Z.locals;const Fi=(0,D.Z)(Oi,(function(){var e=this,t=e._self._c;return e.storageStats?t("NcAppNavigationItem",{staticClass:"app-navigation-entry__settings-quota",class:{"app-navigation-entry__settings-quota--not-unlimited":e.storageStats.quota>=0},attrs:{"aria-label":e.t("files","Storage informations"),loading:e.loadingStorageStats,name:e.storageStatsTitle,title:e.storageStatsTooltip,"data-cy-files-navigation-settings-quota":""},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.debounceUpdateStorageStats.apply(null,arguments)}}},[t("ChartPie",{attrs:{slot:"icon",size:20},slot:"icon"}),e._v(" "),e.storageStats.quota>=0?t("NcProgressBar",{attrs:{slot:"extra",error:e.storageStats.relative>80,value:Math.min(e.storageStats.relative,100)},slot:"extra"}):e._e()],1):e._e()}),[],!1,null,"918797b2",null).exports;var Ii=o(68988),$i=o.n(Ii),Li=o(16809),Mi=o.n(Li);const Ui={name:"ClipboardIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Gi=(0,D.Z)(Ui,(function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon clipboard-icon",attrs:{"aria-hidden":!e.title,"aria-label":e.title,role:"img"},on:{click:function(t){return e.$emit("click",t)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])}),[],!1,null,null,null).exports;var Ri=o(36029),Vi=o.n(Ri);const Zi={name:"Setting",props:{el:{type:Function,required:!0}},mounted(){this.$el.appendChild(this.el())}},qi=(0,D.Z)(Zi,(function(){return(0,this._self._c)("div")}),[],!1,null,null,null).exports,Wi={name:"Settings",components:{Clipboard:Gi,NcAppSettingsDialog:$i(),NcAppSettingsSection:Mi(),NcCheckboxRadioSwitch:mo(),NcInputField:Vi(),Setting:qi},props:{open:{type:Boolean,default:!1}},setup:()=>({userConfigStore:fo()}),data(){var e,t,n,o;return{settings:(null===(e=window.OCA)||void 0===e||null===(t=e.Files)||void 0===t||null===(n=t.Settings)||void 0===n?void 0:n.settings)||[],webdavUrl:(0,l.generateRemoteUrl)("dav/files/"+encodeURIComponent(null===(o=(0,c.ts)())||void 0===o?void 0:o.uid)),webdavDocs:"https://docs.nextcloud.com/server/stable/go.php?to=user-webdav",appPasswordUrl:(0,l.generateUrl)("/settings/user/security#generate-app-token-section"),webdavUrlCopied:!1}},computed:{userConfig(){return this.userConfigStore.userConfig}},beforeMount(){this.settings.forEach((e=>e.open()))},beforeDestroy(){this.settings.forEach((e=>e.close()))},methods:{onClose(){this.$emit("close")},setConfig(e,t){this.userConfigStore.update(e,t)},async copyCloudId(){document.querySelector("input#webdav-url-input").select(),navigator.clipboard?(await navigator.clipboard.writeText(this.webdavUrl),this.webdavUrlCopied=!0,(0,h.s$)(t("files","WebDAV URL copied to clipboard")),setTimeout((()=>{this.webdavUrlCopied=!1}),5e3)):(0,h.x2)(t("files","Clipboard is not available"))},t:s.Iu}},Hi=Wi;var Ki=o(35662),Yi={};Yi.styleTagTransform=O(),Yi.setAttributes=N(),Yi.insert=_().bind(null,"head"),Yi.domAPI=S(),Yi.insertStyleElement=P(),w()(Ki.Z,Yi),Ki.Z&&Ki.Z.locals&&Ki.Z.locals;const Ji=(0,D.Z)(Hi,(function(){var e=this,t=e._self._c;return t("NcAppSettingsDialog",{attrs:{open:e.open,"show-navigation":!0,title:e.t("files","Files settings")},on:{"update:open":e.onClose}},[t("NcAppSettingsSection",{attrs:{id:"settings",title:e.t("files","Files settings")}},[t("NcCheckboxRadioSwitch",{attrs:{checked:e.userConfig.show_hidden},on:{"update:checked":function(t){return e.setConfig("show_hidden",t)}}},[e._v("\n\t\t\t"+e._s(e.t("files","Show hidden files"))+"\n\t\t")]),e._v(" "),t("NcCheckboxRadioSwitch",{attrs:{checked:e.userConfig.crop_image_previews},on:{"update:checked":function(t){return e.setConfig("crop_image_previews",t)}}},[e._v("\n\t\t\t"+e._s(e.t("files","Crop image previews"))+"\n\t\t")])],1),e._v(" "),0!==e.settings.length?t("NcAppSettingsSection",{attrs:{id:"more-settings",title:e.t("files","Additional settings")}},[e._l(e.settings,(function(e){return[t("Setting",{key:e.name,attrs:{el:e.el}})]}))],2):e._e(),e._v(" "),t("NcAppSettingsSection",{attrs:{id:"webdav",title:e.t("files","WebDAV")}},[t("NcInputField",{attrs:{id:"webdav-url-input","show-trailing-button":!0,success:e.webdavUrlCopied,"trailing-button-label":e.t("files","Copy to clipboard"),value:e.webdavUrl,readonly:"readonly",type:"url"},on:{focus:function(e){return e.target.select()},"trailing-button-click":e.copyCloudId},scopedSlots:e._u([{key:"trailing-button-icon",fn:function(){return[t("Clipboard",{attrs:{size:20}})]},proxy:!0}])}),e._v(" "),t("em",[t("a",{staticClass:"setting-link",attrs:{href:e.webdavDocs,target:"_blank",rel:"noreferrer noopener"}},[e._v("\n\t\t\t\t"+e._s(e.t("files","Use this address to access your Files via WebDAV"))+" ↗\n\t\t\t")])]),e._v(" "),t("br"),e._v(" "),t("em",[t("a",{staticClass:"setting-link",attrs:{href:e.appPasswordUrl}},[e._v("\n\t\t\t\t"+e._s(e.t("files","If you have enabled 2FA, you must create and use a new app password by clicking here."))+" ↗\n\t\t\t")])])],1)],1)}),[],!1,null,"76ca5d1f",null).exports,Qi={name:"Navigation",components:{Cog:yi,NavigationQuota:Fi,NcAppNavigation:wi(),NcAppNavigationItem:Si(),NcIconSvgWrapper:_i(),SettingsModal:Ji},props:{Navigation:{type:ui,required:!0}},setup:()=>({viewConfigStore:Gt()}),data:()=>({settingsOpened:!1}),computed:{currentViewId(){var e,t;return(null===(e=this.$route)||void 0===e||null===(t=e.params)||void 0===t?void 0:t.view)||"files"},currentView(){return this.views.find((e=>e.id===this.currentViewId))},views(){return this.Navigation.views},parentViews(){return this.views.filter((e=>!e.parent)).sort(((e,t)=>e.order-t.order))},childViews(){return this.views.filter((e=>!!e.parent)).reduce(((e,t)=>(e[t.parent]=[...e[t.parent]||[],t],e[t.parent].sort(((e,t)=>e.order-t.order)),e)),{})}},watch:{currentView(e,t){(null==e?void 0:e.id)!==(null==t?void 0:t.id)&&(this.Navigation.setActive(e),te.debug("Navigation changed",{id:e.id,view:e}),this.showView(e,t))}},beforeMount(){this.currentView&&(te.debug("Navigation mounted. Showing requested view",{view:this.currentView}),this.showView(this.currentView)),(0,H.Ld)("files:legacy-navigation:changed",this.onLegacyNavigationChanged),(0,H.Ld)("files:legacy-view:initialized",(()=>{te.debug("Legacy view initialized",{...this.currentView}),this.showView(this.currentView)}))},methods:{showView(e,t){var n,o,i,r,a;if(null===(n=window)||void 0===n||null===(o=n.OCA)||void 0===o||null===(i=o.Files)||void 0===i||null===(r=i.Sidebar)||void 0===r||null===(a=r.close)||void 0===a||a.call(r),null!=e&&e.legacy){const t=document.querySelector("#app-content #app-content-"+this.currentView.id+".viewcontainer");document.querySelectorAll("#app-content .viewcontainer").forEach((e=>{e.classList.add("hidden")})),t.classList.remove("hidden");const{dir:n="/"}=OC.Util.History.parseUrlQuery(),o={itemId:e.id,dir:n};te.debug("Triggering legacy navigation event",o),window.jQuery(t).trigger(new window.jQuery.Event("show",o)),window.jQuery(t).trigger(new window.jQuery.Event("urlChanged",o))}this.Navigation.setActive(e),function(e){const t=document.getElementById("page-heading-level-1");t&&(t.textContent=e)}(e.name),(0,H.j8)("files:navigation:changed",e)},onLegacyNavigationChanged(){let{id:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:"files"};const t=this.Navigation.views.find((t=>t.id===e));t&&t.legacy&&t.id!==this.currentView.id&&(this.$router.replace({...this.$route,params:{view:t.id}}),this.Navigation.setActive(t),this.showView(t))},onToggleExpand(e){const t=this.isExpanded(e);e.expanded=!t,this.viewConfigStore.update(e.id,"expanded",!t)},isExpanded(e){var t;return"boolean"==typeof(null===(t=this.viewConfigStore.getConfig(e.id))||void 0===t?void 0:t.expanded)?!0===this.viewConfigStore.getConfig(e.id).expanded:!0===e.expanded},generateToNavigation(e){if(e.params){const{dir:t,fileid:n}=e.params;return{name:"filelist",params:e.params,query:{dir:t,fileid:n}}}return{name:"filelist",params:{view:e.id}}},openSettings(){this.settingsOpened=!0},onSettingsClose(){this.settingsOpened=!1},t:s.Iu}},Xi=Qi;var er=o(87289),tr={};tr.styleTagTransform=O(),tr.setAttributes=N(),tr.insert=_().bind(null,"head"),tr.domAPI=S(),tr.insertStyleElement=P(),w()(er.Z,tr),er.Z&&er.Z.locals&&er.Z.locals;const nr=(0,D.Z)(Xi,(function(){var e=this,t=e._self._c;return t("NcAppNavigation",{attrs:{"data-cy-files-navigation":""},scopedSlots:e._u([{key:"list",fn:function(){return e._l(e.parentViews,(function(n){return t("NcAppNavigationItem",{key:n.id,attrs:{"allow-collapse":!0,"data-cy-files-navigation-item":n.id,icon:n.iconClass,open:e.isExpanded(n),pinned:n.sticky,title:n.name,to:e.generateToNavigation(n)},on:{"update:open":function(t){return e.onToggleExpand(n)}}},[n.icon?t("NcIconSvgWrapper",{attrs:{slot:"icon",svg:n.icon},slot:"icon"}):e._e(),e._v(" "),e._l(e.childViews[n.id],(function(n){return t("NcAppNavigationItem",{key:n.id,attrs:{"data-cy-files-navigation-item":n.id,exact:!0,icon:n.iconClass,title:n.name,to:e.generateToNavigation(n)}},[n.icon?t("NcIconSvgWrapper",{attrs:{slot:"icon",svg:n.icon},slot:"icon"}):e._e()],1)}))],2)}))},proxy:!0},{key:"footer",fn:function(){return[t("ul",{staticClass:"app-navigation-entry__settings"},[t("NavigationQuota"),e._v(" "),t("NcAppNavigationItem",{attrs:{"aria-label":e.t("files","Open the files app settings"),title:e.t("files","Files settings"),"data-cy-files-navigation-settings-button":""},on:{click:function(t){return t.preventDefault(),t.stopPropagation(),e.openSettings.apply(null,arguments)}}},[t("Cog",{attrs:{slot:"icon",size:20},slot:"icon"})],1)],1)]},proxy:!0}])},[e._v(" "),e._v(" "),t("SettingsModal",{attrs:{open:e.settingsOpened,"data-cy-files-navigation-settings":""},on:{close:e.onSettingsClose}})],1)}),[],!1,null,"657a978e",null).exports,or=function(e){let{id:t,name:n,order:o,icon:i,parent:r,classes:a="",expanded:s,params:l}=e;OCP.Files.Navigation.register({id:t,name:n,order:o,params:l,parent:r,expanded:!0===s,iconClass:i?"icon-".concat(i):"nav-icon-"+t,legacy:!0,sticky:a.includes("pinned")})};var ir=o(25108);function rr(e,t){for(var n in t)e[n]=t[n];return e}var ar=/[!'()*]/g,sr=function(e){return"%"+e.charCodeAt(0).toString(16)},lr=/%2C/g,cr=function(e){return encodeURIComponent(e).replace(ar,sr).replace(lr,",")};function ur(e){try{return decodeURIComponent(e)}catch(e){}return e}var dr=function(e){return null==e||"object"==typeof e?e:String(e)};function pr(e){var t={};return(e=e.trim().replace(/^(\?|#|&)/,""))?(e.split("&").forEach((function(e){var n=e.replace(/\+/g," ").split("="),o=ur(n.shift()),i=n.length>0?ur(n.join("=")):null;void 0===t[o]?t[o]=i:Array.isArray(t[o])?t[o].push(i):t[o]=[t[o],i]})),t):t}function mr(e){var t=e?Object.keys(e).map((function(t){var n=e[t];if(void 0===n)return"";if(null===n)return cr(t);if(Array.isArray(n)){var o=[];return n.forEach((function(e){void 0!==e&&(null===e?o.push(cr(t)):o.push(cr(t)+"="+cr(e)))})),o.join("&")}return cr(t)+"="+cr(n)})).filter((function(e){return e.length>0})).join("&"):null;return t?"?"+t:""}var hr=/\/?$/;function vr(e,t,n,o){var i=o&&o.options.stringifyQuery,r=t.query||{};try{r=Ar(r)}catch(e){}var a={name:t.name||e&&e.name,meta:e&&e.meta||{},path:t.path||"/",hash:t.hash||"",query:r,params:t.params||{},fullPath:br(t,i),matched:e?gr(e):[]};return n&&(a.redirectedFrom=br(n,i)),Object.freeze(a)}function Ar(e){if(Array.isArray(e))return e.map(Ar);if(e&&"object"==typeof e){var t={};for(var n in e)t[n]=Ar(e[n]);return t}return e}var fr=vr(null,{path:"/"});function gr(e){for(var t=[];e;)t.unshift(e),e=e.parent;return t}function br(e,t){var n=e.path,o=e.query;void 0===o&&(o={});var i=e.hash;return void 0===i&&(i=""),(n||"/")+(t||mr)(o)+i}function yr(e,t,n){return t===fr?e===t:!!t&&(e.path&&t.path?e.path.replace(hr,"")===t.path.replace(hr,"")&&(n||e.hash===t.hash&&Cr(e.query,t.query)):!(!e.name||!t.name)&&e.name===t.name&&(n||e.hash===t.hash&&Cr(e.query,t.query)&&Cr(e.params,t.params)))}function Cr(e,t){if(void 0===e&&(e={}),void 0===t&&(t={}),!e||!t)return e===t;var n=Object.keys(e).sort(),o=Object.keys(t).sort();return n.length===o.length&&n.every((function(n,i){var r=e[n];if(o[i]!==n)return!1;var a=t[n];return null==r||null==a?r===a:"object"==typeof r&&"object"==typeof a?Cr(r,a):String(r)===String(a)}))}function wr(e){for(var t=0;t=0&&(t=e.slice(o),e=e.slice(0,o));var i=e.indexOf("?");return i>=0&&(n=e.slice(i+1),e=e.slice(0,i)),{path:e,query:n,hash:t}}(i.path||""),c=t&&t.path||"/",u=l.path?xr(l.path,c,n||i.append):c,d=function(e,t,n){void 0===t&&(t={});var o,i=n||pr;try{o=i(e||"")}catch(e){o={}}for(var r in t){var a=t[r];o[r]=Array.isArray(a)?a.map(dr):dr(a)}return o}(l.query,i.query,o&&o.options.parseQuery),p=i.hash||l.hash;return p&&"#"!==p.charAt(0)&&(p="#"+p),{_normalized:!0,path:u,query:d,hash:p}}var Vr,Zr=function(){},qr={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(e){var t=this,n=this.$router,o=this.$route,i=n.resolve(this.to,o,this.append),r=i.location,a=i.route,s=i.href,l={},c=n.options.linkActiveClass,u=n.options.linkExactActiveClass,d=null==c?"router-link-active":c,p=null==u?"router-link-exact-active":u,m=null==this.activeClass?d:this.activeClass,h=null==this.exactActiveClass?p:this.exactActiveClass,v=a.redirectedFrom?vr(null,Rr(a.redirectedFrom),null,n):a;l[h]=yr(o,v,this.exactPath),l[m]=this.exact||this.exactPath?l[h]:function(e,t){return 0===e.path.replace(hr,"/").indexOf(t.path.replace(hr,"/"))&&(!t.hash||e.hash===t.hash)&&function(e,t){for(var n in t)if(!(n in e))return!1;return!0}(e.query,t.query)}(o,v);var A=l[h]?this.ariaCurrentValue:null,f=function(e){Wr(e)&&(t.replace?n.replace(r,Zr):n.push(r,Zr))},g={click:Wr};Array.isArray(this.event)?this.event.forEach((function(e){g[e]=f})):g[this.event]=f;var b={class:l},y=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:s,route:a,navigate:f,isActive:l[m],isExactActive:l[h]});if(y){if(1===y.length)return y[0];if(y.length>1||!y.length)return 0===y.length?e():e("span",{},y)}if("a"===this.tag)b.on=g,b.attrs={href:s,"aria-current":A};else{var C=Hr(this.$slots.default);if(C){C.isStatic=!1;var w=C.data=rr({},C.data);for(var k in w.on=w.on||{},w.on){var S=w.on[k];k in g&&(w.on[k]=Array.isArray(S)?S:[S])}for(var x in g)x in w.on?w.on[x].push(g[x]):w.on[x]=f;var _=C.data.attrs=rr({},C.data.attrs);_.href=s,_["aria-current"]=A}else b.on=g}return e(this.tag,b,this.$slots.default)}};function Wr(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||e.defaultPrevented||void 0!==e.button&&0!==e.button)){if(e.currentTarget&&e.currentTarget.getAttribute){var t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Hr(e){if(e)for(var t,n=0;n-1&&(l.params[p]=n.params[p]);return l.path=Gr(u.path,l.params),s(u,l,a)}if(l.path){l.params={};for(var m=0;m-1}function xa(e,t){return Sa(e)&&e._isRouter&&(null==t||e.type===t)}function _a(e,t,n){var o=function(i){i>=e.length?n():e[i]?t(e[i],(function(){o(i+1)})):o(i+1)};o(0)}function ja(e,t){return Na(e.map((function(e){return Object.keys(e.components).map((function(n){return t(e.components[n],e.instances[n],e,n)}))})))}function Na(e){return Array.prototype.concat.apply([],e)}var za="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function Pa(e){var t=!1;return function(){for(var n=[],o=arguments.length;o--;)n[o]=arguments[o];if(!t)return t=!0,e.apply(this,n)}}var Ea=function(e,t){this.router=e,this.base=function(e){if(!e)if(Kr){var t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else e="/";return"/"!==e.charAt(0)&&(e="/"+e),e.replace(/\/$/,"")}(t),this.current=fr,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function Oa(e,t,n,o){var i=ja(e,(function(e,o,i,r){var a=function(e,t){return"function"!=typeof e&&(e=Vr.extend(e)),e.options[t]}(e,t);if(a)return Array.isArray(a)?a.map((function(e){return n(e,o,i,r)})):n(a,o,i,r)}));return Na(o?i.reverse():i)}function Ta(e,t){if(t)return function(){return e.apply(t,arguments)}}Ea.prototype.listen=function(e){this.cb=e},Ea.prototype.onReady=function(e,t){this.ready?e():(this.readyCbs.push(e),t&&this.readyErrorCbs.push(t))},Ea.prototype.onError=function(e){this.errorCbs.push(e)},Ea.prototype.transitionTo=function(e,t,n){var o,i=this;try{o=this.router.match(e,this.current)}catch(e){throw this.errorCbs.forEach((function(t){t(e)})),e}var r=this.current;this.confirmTransition(o,(function(){i.updateRoute(o),t&&t(o),i.ensureURL(),i.router.afterHooks.forEach((function(e){e&&e(o,r)})),i.ready||(i.ready=!0,i.readyCbs.forEach((function(e){e(o)})))}),(function(e){n&&n(e),e&&!i.ready&&(xa(e,ya.redirected)&&r===fr||(i.ready=!0,i.readyErrorCbs.forEach((function(t){t(e)}))))}))},Ea.prototype.confirmTransition=function(e,t,n){var o=this,i=this.current;this.pending=e;var r,a,s=function(e){!xa(e)&&Sa(e)&&(o.errorCbs.length?o.errorCbs.forEach((function(t){t(e)})):ir.error(e)),n&&n(e)},l=e.matched.length-1,c=i.matched.length-1;if(yr(e,i)&&l===c&&e.matched[l]===i.matched[c])return this.ensureURL(),e.hash&&la(this.router,i,e,!1),s(((a=wa(r=i,e,ya.duplicated,'Avoided redundant navigation to current location: "'+r.fullPath+'".')).name="NavigationDuplicated",a));var u,d=function(e,t){var n,o=Math.max(e.length,t.length);for(n=0;n0)){var t=this.router,n=t.options.scrollBehavior,o=fa&&n;o&&this.listeners.push(sa());var i=function(){var n=e.current,i=Da(e.base);e.current===fr&&i===e._startLocation||e.transitionTo(i,(function(e){o&&la(t,e,n,!0)}))};window.addEventListener("popstate",i),this.listeners.push((function(){window.removeEventListener("popstate",i)}))}},t.prototype.go=function(e){window.history.go(e)},t.prototype.push=function(e,t,n){var o=this,i=this.current;this.transitionTo(e,(function(e){ga(_r(o.base+e.fullPath)),la(o.router,e,i,!1),t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var o=this,i=this.current;this.transitionTo(e,(function(e){ba(_r(o.base+e.fullPath)),la(o.router,e,i,!1),t&&t(e)}),n)},t.prototype.ensureURL=function(e){if(Da(this.base)!==this.current.fullPath){var t=_r(this.base+this.current.fullPath);e?ga(t):ba(t)}},t.prototype.getCurrentLocation=function(){return Da(this.base)},t}(Ea);function Da(e){var t=window.location.pathname,n=t.toLowerCase(),o=e.toLowerCase();return!e||n!==o&&0!==n.indexOf(_r(o+"/"))||(t=t.slice(e.length)),(t||"/")+window.location.search+window.location.hash}var Fa=function(e){function t(t,n,o){e.call(this,t,n),o&&function(e){var t=Da(e);if(!/^\/#/.test(t))return window.location.replace(_r(e+"/#"+t)),!0}(this.base)||Ia()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.setupListeners=function(){var e=this;if(!(this.listeners.length>0)){var t=this.router.options.scrollBehavior,n=fa&&t;n&&this.listeners.push(sa());var o=function(){var t=e.current;Ia()&&e.transitionTo($a(),(function(o){n&&la(e.router,o,t,!0),fa||Ua(o.fullPath)}))},i=fa?"popstate":"hashchange";window.addEventListener(i,o),this.listeners.push((function(){window.removeEventListener(i,o)}))}},t.prototype.push=function(e,t,n){var o=this,i=this.current;this.transitionTo(e,(function(e){Ma(e.fullPath),la(o.router,e,i,!1),t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var o=this,i=this.current;this.transitionTo(e,(function(e){Ua(e.fullPath),la(o.router,e,i,!1),t&&t(e)}),n)},t.prototype.go=function(e){window.history.go(e)},t.prototype.ensureURL=function(e){var t=this.current.fullPath;$a()!==t&&(e?Ma(t):Ua(t))},t.prototype.getCurrentLocation=function(){return $a()},t}(Ea);function Ia(){var e=$a();return"/"===e.charAt(0)||(Ua("/"+e),!1)}function $a(){var e=window.location.href,t=e.indexOf("#");return t<0?"":e=e.slice(t+1)}function La(e){var t=window.location.href,n=t.indexOf("#");return(n>=0?t.slice(0,n):t)+"#"+e}function Ma(e){fa?ga(La(e)):window.location.hash=e}function Ua(e){fa?ba(La(e)):window.location.replace(La(e))}var Ga=function(e){function t(t,n){e.call(this,t,n),this.stack=[],this.index=-1}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.push=function(e,t,n){var o=this;this.transitionTo(e,(function(e){o.stack=o.stack.slice(0,o.index+1).concat(e),o.index++,t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var o=this;this.transitionTo(e,(function(e){o.stack=o.stack.slice(0,o.index).concat(e),t&&t(e)}),n)},t.prototype.go=function(e){var t=this,n=this.index+e;if(!(n<0||n>=this.stack.length)){var o=this.stack[n];this.confirmTransition(o,(function(){var e=t.current;t.index=n,t.updateRoute(o),t.router.afterHooks.forEach((function(t){t&&t(o,e)}))}),(function(e){xa(e,ya.duplicated)&&(t.index=n)}))}},t.prototype.getCurrentLocation=function(){var e=this.stack[this.stack.length-1];return e?e.fullPath:"/"},t.prototype.ensureURL=function(){},t}(Ea),Ra=function(e){void 0===e&&(e={}),this.app=null,this.apps=[],this.options=e,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Xr(e.routes||[],this);var t=e.mode||"hash";switch(this.fallback="history"===t&&!fa&&!1!==e.fallback,this.fallback&&(t="hash"),Kr||(t="abstract"),this.mode=t,t){case"history":this.history=new Ba(this,e.base);break;case"hash":this.history=new Fa(this,e.base,this.fallback);break;case"abstract":this.history=new Ga(this,e.base)}},Va={currentRoute:{configurable:!0}};Ra.prototype.match=function(e,t,n){return this.matcher.match(e,t,n)},Va.currentRoute.get=function(){return this.history&&this.history.current},Ra.prototype.init=function(e){var t=this;if(this.apps.push(e),e.$once("hook:destroyed",(function(){var n=t.apps.indexOf(e);n>-1&&t.apps.splice(n,1),t.app===e&&(t.app=t.apps[0]||null),t.app||t.history.teardown()})),!this.app){this.app=e;var n=this.history;if(n instanceof Ba||n instanceof Fa){var o=function(e){n.setupListeners(),function(e){var o=n.current,i=t.options.scrollBehavior;fa&&i&&"fullPath"in e&&la(t,e,o,!1)}(e)};n.transitionTo(n.getCurrentLocation(),o,o)}n.listen((function(e){t.apps.forEach((function(t){t._route=e}))}))}},Ra.prototype.beforeEach=function(e){return qa(this.beforeHooks,e)},Ra.prototype.beforeResolve=function(e){return qa(this.resolveHooks,e)},Ra.prototype.afterEach=function(e){return qa(this.afterHooks,e)},Ra.prototype.onReady=function(e,t){this.history.onReady(e,t)},Ra.prototype.onError=function(e){this.history.onError(e)},Ra.prototype.push=function(e,t,n){var o=this;if(!t&&!n&&"undefined"!=typeof Promise)return new Promise((function(t,n){o.history.push(e,t,n)}));this.history.push(e,t,n)},Ra.prototype.replace=function(e,t,n){var o=this;if(!t&&!n&&"undefined"!=typeof Promise)return new Promise((function(t,n){o.history.replace(e,t,n)}));this.history.replace(e,t,n)},Ra.prototype.go=function(e){this.history.go(e)},Ra.prototype.back=function(){this.go(-1)},Ra.prototype.forward=function(){this.go(1)},Ra.prototype.getMatchedComponents=function(e){var t=e?e.matched?e:this.resolve(e).route:this.currentRoute;return t?[].concat.apply([],t.matched.map((function(e){return Object.keys(e.components).map((function(t){return e.components[t]}))}))):[]},Ra.prototype.resolve=function(e,t,n){var o=Rr(e,t=t||this.history.current,n,this),i=this.match(o,t),r=i.redirectedFrom||i.fullPath,a=function(e,t,n){var o="hash"===n?"#"+t:t;return e?_r(e+"/"+o):o}(this.history.base,r,this.mode);return{location:o,route:i,href:a,normalizedTo:o,resolved:i}},Ra.prototype.getRoutes=function(){return this.matcher.getRoutes()},Ra.prototype.addRoute=function(e,t){this.matcher.addRoute(e,t),this.history.current!==fr&&this.history.transitionTo(this.history.getCurrentLocation())},Ra.prototype.addRoutes=function(e){this.matcher.addRoutes(e),this.history.current!==fr&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Ra.prototype,Va);var Za=Ra;function qa(e,t){return e.push(t),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}Ra.install=function e(t){if(!e.installed||Vr!==t){e.installed=!0,Vr=t;var n=function(e){return void 0!==e},o=function(e,t){var o=e.$options._parentVnode;n(o)&&n(o=o.data)&&n(o=o.registerRouteInstance)&&o(e,t)};t.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),t.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,o(this,this)},destroyed:function(){o(this)}}),Object.defineProperty(t.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(t.prototype,"$route",{get:function(){return this._routerRoot._route}}),t.component("RouterView",kr),t.component("RouterLink",qr);var i=t.config.optionMergeStrategies;i.beforeRouteEnter=i.beforeRouteLeave=i.beforeRouteUpdate=i.created}},Ra.version="3.6.5",Ra.isNavigationFailure=xa,Ra.NavigationFailureType=ya,Ra.START_LOCATION=fr,Kr&&window.Vue&&window.Vue.use(Ra);const Wa="%[a-f0-9]{2}",Ha=new RegExp("("+Wa+")|([^%]+?)","gi"),Ka=new RegExp("("+Wa+")+","gi");function Ya(e,t){try{return[decodeURIComponent(e.join(""))]}catch{}if(1===e.length)return e;t=t||1;const n=e.slice(0,t),o=e.slice(t);return Array.prototype.concat.call([],Ya(n),Ya(o))}function Ja(e){try{return decodeURIComponent(e)}catch{let t=e.match(Ha)||[];for(let n=1;nnull==e,ts=e=>encodeURIComponent(e).replace(/[!'()*]/g,(e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)),ns=Symbol("encodeFragmentIdentifier");function os(e){if("string"!=typeof e||1!==e.length)throw new TypeError("arrayFormatSeparator must be single character string")}function is(e,t){return t.encode?t.strict?ts(e):encodeURIComponent(e):e}function rs(e,t){return t.decode?function(e){if("string"!=typeof e)throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof e+"`");try{return decodeURIComponent(e)}catch{return function(e){const t={"%FE%FF":"��","%FF%FE":"��"};let n=Ka.exec(e);for(;n;){try{t[n[0]]=decodeURIComponent(n[0])}catch{const e=Ja(n[0]);e!==n[0]&&(t[n[0]]=e)}n=Ka.exec(e)}t["%C2"]="�";const o=Object.keys(t);for(const n of o)e=e.replace(new RegExp(n,"g"),t[n]);return e}(e)}}(e):e}function as(e){return Array.isArray(e)?e.sort():"object"==typeof e?as(Object.keys(e)).sort(((e,t)=>Number(e)-Number(t))).map((t=>e[t])):e}function ss(e){const t=e.indexOf("#");return-1!==t&&(e=e.slice(0,t)),e}function ls(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?e=Number(e):!t.parseBooleans||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(e="true"===e.toLowerCase()),e}function cs(e){const t=(e=ss(e)).indexOf("?");return-1===t?"":e.slice(t+1)}function us(e,t){os((t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t}).arrayFormatSeparator);const n=function(e){let t;switch(e.arrayFormat){case"index":return(e,n,o)=>{t=/\[(\d*)]$/.exec(e),e=e.replace(/\[\d*]$/,""),t?(void 0===o[e]&&(o[e]={}),o[e][t[1]]=n):o[e]=n};case"bracket":return(e,n,o)=>{t=/(\[])$/.exec(e),e=e.replace(/\[]$/,""),t?void 0!==o[e]?o[e]=[...o[e],n]:o[e]=[n]:o[e]=n};case"colon-list-separator":return(e,n,o)=>{t=/(:list)$/.exec(e),e=e.replace(/:list$/,""),t?void 0!==o[e]?o[e]=[...o[e],n]:o[e]=[n]:o[e]=n};case"comma":case"separator":return(t,n,o)=>{const i="string"==typeof n&&n.includes(e.arrayFormatSeparator),r="string"==typeof n&&!i&&rs(n,e).includes(e.arrayFormatSeparator);n=r?rs(n,e):n;const a=i||r?n.split(e.arrayFormatSeparator).map((t=>rs(t,e))):null===n?n:rs(n,e);o[t]=a};case"bracket-separator":return(t,n,o)=>{const i=/(\[])$/.test(t);if(t=t.replace(/\[]$/,""),!i)return void(o[t]=n?rs(n,e):n);const r=null===n?[]:n.split(e.arrayFormatSeparator).map((t=>rs(t,e)));void 0!==o[t]?o[t]=[...o[t],...r]:o[t]=r};default:return(e,t,n)=>{void 0!==n[e]?n[e]=[...[n[e]].flat(),t]:n[e]=t}}}(t),o=Object.create(null);if("string"!=typeof e)return o;if(!(e=e.trim().replace(/^[?#&]/,"")))return o;for(const i of e.split("&")){if(""===i)continue;const e=t.decode?i.replace(/\+/g," "):i;let[r,a]=Qa(e,"=");void 0===r&&(r=e),a=void 0===a?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:rs(a,t),n(rs(r,t),a,o)}for(const[e,n]of Object.entries(o))if("object"==typeof n&&null!==n)for(const[e,o]of Object.entries(n))n[e]=ls(o,t);else o[e]=ls(n,t);return!1===t.sort?o:(!0===t.sort?Object.keys(o).sort():Object.keys(o).sort(t.sort)).reduce(((e,t)=>{const n=o[t];return Boolean(n)&&"object"==typeof n&&!Array.isArray(n)?e[t]=as(n):e[t]=n,e}),Object.create(null))}function ds(e,t){if(!e)return"";os((t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t}).arrayFormatSeparator);const n=n=>t.skipNull&&es(e[n])||t.skipEmptyString&&""===e[n],o=function(e){switch(e.arrayFormat){case"index":return t=>(n,o)=>{const i=n.length;return void 0===o||e.skipNull&&null===o||e.skipEmptyString&&""===o?n:null===o?[...n,[is(t,e),"[",i,"]"].join("")]:[...n,[is(t,e),"[",is(i,e),"]=",is(o,e)].join("")]};case"bracket":return t=>(n,o)=>void 0===o||e.skipNull&&null===o||e.skipEmptyString&&""===o?n:null===o?[...n,[is(t,e),"[]"].join("")]:[...n,[is(t,e),"[]=",is(o,e)].join("")];case"colon-list-separator":return t=>(n,o)=>void 0===o||e.skipNull&&null===o||e.skipEmptyString&&""===o?n:null===o?[...n,[is(t,e),":list="].join("")]:[...n,[is(t,e),":list=",is(o,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t="bracket-separator"===e.arrayFormat?"[]=":"=";return n=>(o,i)=>void 0===i||e.skipNull&&null===i||e.skipEmptyString&&""===i?o:(i=null===i?"":i,0===o.length?[[is(n,e),t,is(i,e)].join("")]:[[o,is(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,o)=>void 0===o||e.skipNull&&null===o||e.skipEmptyString&&""===o?n:null===o?[...n,is(t,e)]:[...n,[is(t,e),"=",is(o,e)].join("")]}}(t),i={};for(const[t,o]of Object.entries(e))n(t)||(i[t]=o);const r=Object.keys(i);return!1!==t.sort&&r.sort(t.sort),r.map((n=>{const i=e[n];return void 0===i?"":null===i?is(n,t):Array.isArray(i)?0===i.length&&"bracket-separator"===t.arrayFormat?is(n,t)+"[]":i.reduce(o(n),[]).join("&"):is(n,t)+"="+is(i,t)})).filter((e=>e.length>0)).join("&")}function ps(e,t){t={decode:!0,...t};let[n,o]=Qa(e,"#");return void 0===n&&(n=e),{url:n?.split("?")?.[0]??"",query:us(cs(e),t),...t&&t.parseFragmentIdentifier&&o?{fragmentIdentifier:rs(o,t)}:{}}}function ms(e,t){t={encode:!0,strict:!0,[ns]:!0,...t};const n=ss(e.url).split("?")[0]||"";let o=ds({...us(cs(e.url),{sort:!1}),...e.query},t);o&&(o=`?${o}`);let i=function(e){let t="";const n=e.indexOf("#");return-1!==n&&(t=e.slice(n)),t}(e.url);if(e.fragmentIdentifier){const o=new URL(n);o.hash=e.fragmentIdentifier,i=t[ns]?o.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${i}`}function hs(e,t,n){n={parseFragmentIdentifier:!0,[ns]:!1,...n};const{url:o,query:i,fragmentIdentifier:r}=ps(e,n);return ms({url:o,query:Xa(i,t),fragmentIdentifier:r},n)}function vs(e,t,n){return hs(e,Array.isArray(t)?e=>!t.includes(e):(e,n)=>!t(e,n),n)}const As=i;p.default.use(Za);const fs=new Za({mode:"history",base:(0,l.generateUrl)("/apps/files",""),linkActiveClass:"active",routes:[{path:"/",alias:"/files"},{path:"/:view/:fileid?",name:"filelist",props:!0}],stringifyQuery(e){const t=As.stringify(e).replace(/%2F/gim,"/");return t?"?"+t:""}});function gs(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,"string");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var bs,ys,Cs=o(25108);window.OCA.Files=null!==(bs=window.OCA.Files)&&void 0!==bs?bs:{},window.OCP.Files=null!==(ys=window.OCP.Files)&&void 0!==ys?ys:{};const ws=new class{constructor(e){var t,n,o;t=this,o=void 0,(n=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,"string");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(n="_router"))in t?Object.defineProperty(t,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[n]=o,this._router=e}goTo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this._router.push({path:e,replace:t})}goToRoute(e,t,n,o){return this._router.push({name:e,query:n,params:t,replace:o})}}(fs);Object.assign(window.OCP.Files,{Router:ws}),p.default.use((function(e){e.mixin({beforeCreate(){const e=this.$options;if(e.pinia){const t=e.pinia;if(!this._provided){const e={};Object.defineProperty(this,"_provided",{get:()=>e,set:t=>Object.assign(e,t)})}this._provided[fe]=t,this.$pinia||(this.$pinia=t),t._a=this,ye&&Ae(t),Ce&&qe(t._a,t)}else!this.$pinia&&e.parent&&e.parent.$pinia&&(this.$pinia=e.parent.$pinia)},destroyed(){delete this._pStores}})}));const ks=function(){const e=(0,p.effectScope)(!0),t=e.run((()=>(0,p.ref)({})));let n=[],o=[];const i=(0,p.markRaw)({install(e){Ae(i),ae||(i._a=e,e.provide(fe,i),e.config.globalProperties.$pinia=i,Ce&&qe(e,i),o.forEach((e=>n.push(e))),o=[])},use(e){return this._a||ae?n.push(e):o.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return Ce&&"undefined"!=typeof Proxy&&i.use(Ye),i}(),Ss=new ui;Object.assign(window.OCP.Files,{Navigation:Ss}),p.default.prototype.$navigation=Ss;const xs=new class{constructor(){var e,t,n;e=this,n=void 0,(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,"string");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t="_settings"))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,this._settings=[],Cs.debug("OCA.Files.Settings initialized")}register(e){return this._settings.filter((t=>t.name===e.name)).length>0?(Cs.error("A setting with the same name is already registered"),!1):(this._settings.push(e),!0)}get settings(){return this._settings}};Object.assign(window.OCA.Files,{Settings:xs}),Object.assign(window.OCA.Files.Settings,{Setting:class{constructor(e,t){let{el:n,open:o,close:i}=t;gs(this,"_close",void 0),gs(this,"_el",void 0),gs(this,"_name",void 0),gs(this,"_open",void 0),this._name=e,this._el=n,this._open=o,this._close=i,"function"!=typeof this._open&&(this._open=()=>{}),"function"!=typeof this._close&&(this._close=()=>{})}get name(){return this._name}get el(){return this._el}get open(){return this._open}get close(){return this._close}}}),new(p.default.extend(nr))({name:"FilesNavigationRoot",propsData:{Navigation:Ss},router:fs,pinia:ks}).$mount("#app-navigation-files"),new(p.default.extend(fi))({name:"FilesListRoot",router:fs,pinia:ks}).$mount("#app-content-vue"),function(){const e=Object.values((0,a.j)("files","navigation",{}));e.length>0&&(te.debug("Legacy files views detected. Processing...",e),e.forEach((e=>{or(e),e.sublist&&e.sublist.forEach((t=>or({...t,parent:e.id})))})))}(),"serviceWorker"in navigator?window.addEventListener("load",(async()=>{try{const e=(0,l.generateUrl)("/apps/files/preview-service-worker.js",{},{noRewrite:!0}),t=await navigator.serviceWorker.register(e,{scope:"/"});te.debug("SW registered: ",{registration:t})}catch(e){te.error("SW registration failed: ",{error:e})}})):te.debug("Service Worker is not enabled on this browser.")},3443:function(e,t,n){var o,i,r=n(25108);function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self&&self,o=function(e){"use strict";function t(e,n){return t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},t(e,n)}function n(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var r=o(this).constructor;n=Reflect.construct(i,arguments,r)}else n=i.apply(this,arguments);return function(e,t){if(t&&("object"===a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}function i(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0,i=function(){};return{s:i,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,a=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){l=!0,r=e},f:function(){try{a||null==n.return||n.return()}finally{if(l)throw r}}}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n{"use strict";n.d(t,{Z:()=>s});var o=n(87537),i=n.n(o),r=n(23645),a=n.n(r)()(i());a.push([e.id,".breadcrumb[data-v-68b3b20b]{flex:1 1 100% !important;width:100%}.breadcrumb[data-v-68b3b20b] a{cursor:pointer !important}","",{version:3,sources:["webpack://./apps/files/src/components/BreadCrumbs.vue"],names:[],mappings:"AACA,6BAEC,wBAAA,CACA,UAAA,CAEA,+BACC,yBAAA",sourcesContent:["\n.breadcrumb {\n\t// Take as much space as possible\n\tflex: 1 1 100% !important;\n\twidth: 100%;\n\n\t::v-deep a {\n\t\tcursor: pointer !important;\n\t}\n}\n\n"],sourceRoot:""}]);const s=a},61959:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(87537),i=n.n(o),r=n(23645),a=n.n(r)()(i());a.push([e.id,".custom-svg-icon[data-v-93e9b2f4]{display:flex;align-items:center;align-self:center;justify-content:center;justify-self:center;width:44px;height:44px;opacity:1}.custom-svg-icon[data-v-93e9b2f4] svg{height:22px;width:22px;fill:currentColor}","",{version:3,sources:["webpack://./apps/files/src/components/CustomSvgIconRender.vue"],names:[],mappings:"AACA,kCACC,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,sBAAA,CACA,mBAAA,CACA,UAAA,CACA,WAAA,CACA,SAAA,CAEA,sCAGC,WAAA,CACA,UAAA,CACA,iBAAA",sourcesContent:["\n.custom-svg-icon {\n\tdisplay: flex;\n\talign-items: center;\n\talign-self: center;\n\tjustify-content: center;\n\tjustify-self: center;\n\twidth: 44px;\n\theight: 44px;\n\topacity: 1;\n\n\t::v-deep svg {\n\t\t// mdi icons have a size of 24px\n\t\t// 22px results in roughly 16px inner size\n\t\theight: 22px;\n\t\twidth: 22px;\n\t\tfill: currentColor;\n\t}\n}\n\n"],sourceRoot:""}]);const s=a},60731:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(87537),i=n.n(o),r=n(23645),a=n.n(r)()(i());a.push([e.id,"tr[data-v-e5a368d6]:hover,tr[data-v-e5a368d6]:focus,tr[data-v-e5a368d6]:active{background-color:var(--color-background-dark)}.files-list__row-icon-preview[data-v-e5a368d6]:not([style*=background]){background:var(--color-loading-dark)}","",{version:3,sources:["webpack://./apps/files/src/components/FileEntry.vue"],names:[],mappings:"AAGC,+EAGC,6CAAA,CAKF,wEACI,oCAAA",sourcesContent:["\n/* Hover effect on tbody lines only */\ntr {\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\tbackground-color: var(--color-background-dark);\n\t}\n}\n\n/* Preview not loaded animation effect */\n.files-list__row-icon-preview:not([style*='background']) {\n background: var(--color-loading-dark);\n\t// animation: preview-gradient-fade 1.2s ease-in-out infinite;\n}\n"],sourceRoot:""}]);const s=a},97105:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(87537),i=n.n(o),r=n(23645),a=n.n(r)()(i());a.push([e.id,"tr[data-v-e6a083be]{padding-bottom:300px;border-top:1px solid var(--color-border);background-color:rgba(0,0,0,0) !important;border-bottom:none !important}td[data-v-e6a083be]{user-select:none;color:var(--color-text-maxcontrast) !important}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListFooter.vue"],names:[],mappings:"AAEA,oBACC,oBAAA,CACA,wCAAA,CAEA,yCAAA,CACA,6BAAA,CAGD,oBACC,gBAAA,CAEA,8CAAA",sourcesContent:["\n// Scoped row\ntr {\n\tpadding-bottom: 300px;\n\tborder-top: 1px solid var(--color-border);\n\t// Prevent hover effect on the whole row\n\tbackground-color: transparent !important;\n\tborder-bottom: none !important;\n}\n\ntd {\n\tuser-select: none;\n\t// Make sure the cell colors don't apply to column headers\n\tcolor: var(--color-text-maxcontrast) !important;\n}\n\n"],sourceRoot:""}]);const s=a},96153:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(87537),i=n.n(o),r=n(23645),a=n.n(r)()(i());a.push([e.id,".files-list__column[data-v-76b6186a]{user-select:none;color:var(--color-text-maxcontrast) !important}.files-list__column--sortable[data-v-76b6186a]{cursor:pointer}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListHeader.vue"],names:[],mappings:"AACA,qCACC,gBAAA,CAEA,8CAAA,CAEA,+CACC,cAAA",sourcesContent:["\n.files-list__column {\n\tuser-select: none;\n\t// Make sure the cell colors don't apply to column headers\n\tcolor: var(--color-text-maxcontrast) !important;\n\n\t&--sortable {\n\t\tcursor: pointer;\n\t}\n}\n\n"],sourceRoot:""}]);const s=a},97877:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(87537),i=n.n(o),r=n(23645),a=n.n(r)()(i());a.push([e.id,".files-list__row-actions-batch[data-v-03e57b1e]{flex:1 1 100% !important}.files-list__row-actions-batch[data-v-03e57b1e] .button-vue__wrapper{width:100%}.files-list__row-actions-batch[data-v-03e57b1e] .button-vue__wrapper span.button-vue__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListHeaderActions.vue"],names:[],mappings:"AACA,gDACC,wBAAA,CAGA,qEACC,UAAA,CACA,2FACC,eAAA,CACA,sBAAA,CACA,kBAAA",sourcesContent:["\n.files-list__row-actions-batch {\n\tflex: 1 1 100% !important;\n\n\t// Remove when https://github.com/nextcloud/nextcloud-vue/pull/3936 is merged\n\t::v-deep .button-vue__wrapper {\n\t\twidth: 100%;\n\t\tspan.button-vue__text {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=a},29252:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(87537),i=n.n(o),r=n(23645),a=n.n(r)()(i());a.push([e.id,".files-list__column-sort-button{margin:0 calc(var(--cell-margin)*-1);padding:0 4px 0 16px !important}.files-list__column-sort-button .button-vue__wrapper{flex-direction:row-reverse;width:100%}.files-list__column-sort-button .button-vue__icon{transition-timing-function:linear;transition-duration:.1s;transition-property:opacity;opacity:0}.files-list__column-sort-button .button-vue__text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list__column-sort-button--active .button-vue__icon,.files-list__column-sort-button:hover .button-vue__icon,.files-list__column-sort-button:focus .button-vue__icon,.files-list__column-sort-button:active .button-vue__icon{opacity:1 !important}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListHeaderButton.vue"],names:[],mappings:"AACA,gCAEC,oCAAA,CAEA,+BAAA,CAGA,qDACC,0BAAA,CAGA,UAAA,CAGD,kDACC,iCAAA,CACA,uBAAA,CACA,2BAAA,CACA,SAAA,CAID,kDACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAOA,mOACC,oBAAA",sourcesContent:["\n.files-list__column-sort-button {\n\t// Compensate for cells margin\n\tmargin: 0 calc(var(--cell-margin) * -1);\n\t// Reverse padding\n\tpadding: 0 4px 0 16px !important;\n\n\t// Icon after text\n\t.button-vue__wrapper {\n\t\tflex-direction: row-reverse;\n\t\t// Take max inner width for text overflow ellipsis\n\t\t// Remove when https://github.com/nextcloud/nextcloud-vue/pull/3936 is merged\n\t\twidth: 100%;\n\t}\n\n\t.button-vue__icon {\n\t\ttransition-timing-function: linear;\n\t\ttransition-duration: .1s;\n\t\ttransition-property: opacity;\n\t\topacity: 0;\n\t}\n\n\t// Remove when https://github.com/nextcloud/nextcloud-vue/pull/3936 is merged\n\t.button-vue__text {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&--active,\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\t.button-vue__icon {\n\t\t\topacity: 1 !important;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=a},76775:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(87537),i=n.n(o),r=n(23645),a=n.n(r)()(i());a.push([e.id,".files-list[data-v-640a8bb8]{--row-height: 55px;--cell-margin: 14px;--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);--checkbox-size: 24px;--clickable-area: 44px;--icon-preview-size: 32px;display:block;overflow:auto;height:100%}.files-list[data-v-640a8bb8] tbody,.files-list[data-v-640a8bb8] .vue-recycle-scroller__slot{display:flex;flex-direction:column;width:100%;position:relative}.files-list[data-v-640a8bb8] .vue-recycle-scroller__slot[role=thead]{position:sticky;z-index:10;top:0;height:var(--row-height);background-color:var(--color-main-background)}.files-list[data-v-640a8bb8] tr{position:absolute;display:flex;align-items:center;width:100%;border-bottom:1px solid var(--color-border)}.files-list[data-v-640a8bb8] td,.files-list[data-v-640a8bb8] th{display:flex;align-items:center;flex:0 0 auto;justify-content:left;width:var(--row-height);height:var(--row-height);margin:0;padding:0;color:var(--color-text-maxcontrast);border:none}.files-list[data-v-640a8bb8] td span,.files-list[data-v-640a8bb8] th span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list[data-v-640a8bb8] .files-list__row-checkbox{justify-content:center}.files-list[data-v-640a8bb8] .files-list__row-checkbox .checkbox-radio-switch{display:flex;justify-content:center;--icon-size: var(--checkbox-size)}.files-list[data-v-640a8bb8] .files-list__row-checkbox .checkbox-radio-switch label.checkbox-radio-switch__label{width:var(--clickable-area);height:var(--clickable-area);margin:0;padding:calc((var(--clickable-area) - var(--checkbox-size))/2)}.files-list[data-v-640a8bb8] .files-list__row-checkbox .checkbox-radio-switch .checkbox-radio-switch__icon{margin:0 !important}.files-list[data-v-640a8bb8] .files-list__row-icon{position:relative;display:flex;overflow:visible;align-items:center;flex:0 0 var(--icon-preview-size);justify-content:center;width:var(--icon-preview-size);height:100%;margin-right:var(--checkbox-padding);color:var(--color-primary-element)}.files-list[data-v-640a8bb8] .files-list__row-icon>span{justify-content:flex-start}.files-list[data-v-640a8bb8] .files-list__row-icon>span:not(.files-list__row-icon-favorite) svg{width:var(--icon-preview-size);height:var(--icon-preview-size)}.files-list[data-v-640a8bb8] .files-list__row-icon-preview{overflow:hidden;width:var(--icon-preview-size);height:var(--icon-preview-size);border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center;background-size:contain}.files-list[data-v-640a8bb8] .files-list__row-icon-favorite{position:absolute;top:4px;right:-8px;color:#fc0}.files-list[data-v-640a8bb8] .files-list__row-name{overflow:hidden;flex:1 1 auto}.files-list[data-v-640a8bb8] .files-list__row-name a{display:flex;align-items:center;width:100%;height:100%}.files-list[data-v-640a8bb8] .files-list__row-name a:focus .files-list__row-name-text,.files-list[data-v-640a8bb8] .files-list__row-name a:focus-visible .files-list__row-name-text{outline:2px solid var(--color-main-text) !important;border-radius:20px}.files-list[data-v-640a8bb8] .files-list__row-name .files-list__row-name-text{padding:5px 10px;margin-left:-10px}.files-list[data-v-640a8bb8] .files-list__row-actions{width:auto}.files-list[data-v-640a8bb8] .files-list__row-actions~td,.files-list[data-v-640a8bb8] .files-list__row-actions~th{margin:0 var(--cell-margin)}.files-list[data-v-640a8bb8] .files-list__row-actions button .button-vue__text{font-weight:normal}.files-list[data-v-640a8bb8] .files-list__row-actions button:not(:hover,:focus,:active) .button-vue__wrapper{color:var(--color-text-maxcontrast)}.files-list[data-v-640a8bb8] .files-list__row-size{justify-content:flex-end;width:calc(var(--row-height)*1.5);color:var(--color-main-text)}.files-list[data-v-640a8bb8] .files-list__row-size .files-list__column-sort-button{padding:0 16px 0 4px !important}.files-list[data-v-640a8bb8] .files-list__row-size .files-list__column-sort-button .button-vue__wrapper{flex-direction:row}.files-list[data-v-640a8bb8] .files-list__row-column-custom{width:calc(var(--row-height)*2)}","",{version:3,sources:["webpack://./apps/files/src/components/FilesListVirtual.vue"],names:[],mappings:"AACA,6BACC,kBAAA,CACA,mBAAA,CAEA,wEAAA,CACA,qBAAA,CACA,sBAAA,CACA,yBAAA,CAEA,aAAA,CACA,aAAA,CACA,WAAA,CAIC,4FACC,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,iBAAA,CAID,qEAEC,eAAA,CACA,UAAA,CACA,KAAA,CACA,wBAAA,CACA,6CAAA,CAGD,gCACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,UAAA,CACA,2CAAA,CAGD,gEACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,oBAAA,CACA,uBAAA,CACA,wBAAA,CACA,QAAA,CACA,SAAA,CACA,mCAAA,CACA,WAAA,CAKA,0EACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAIF,uDACC,sBAAA,CACA,8EACC,YAAA,CACA,sBAAA,CAEA,iCAAA,CAEA,iHACC,2BAAA,CACA,4BAAA,CACA,QAAA,CACA,8DAAA,CAGD,2GACC,mBAAA,CAKH,mDACC,iBAAA,CACA,YAAA,CACA,gBAAA,CACA,kBAAA,CAEA,iCAAA,CACA,sBAAA,CACA,8BAAA,CACA,WAAA,CAEA,oCAAA,CACA,kCAAA,CAEA,wDACC,0BAAA,CAGD,gGACC,8BAAA,CACA,+BAAA,CAGD,2DACC,eAAA,CACA,8BAAA,CACA,+BAAA,CACA,kCAAA,CACA,2BAAA,CAEA,0BAAA,CACA,uBAAA,CAGD,4DACC,iBAAA,CACA,OAAA,CACA,UAAA,CACA,UAAA,CAIF,mDAEC,eAAA,CAEA,aAAA,CAEA,qDACC,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,WAAA,CAGA,oLAEC,mDAAA,CACA,kBAAA,CAIF,8EAEC,gBAAA,CACA,iBAAA,CAIF,sDACC,UAAA,CAGA,kHAEC,2BAAA,CAIA,+EAEC,kBAAA,CAED,6GAEC,mCAAA,CAKH,mDAEC,wBAAA,CACA,iCAAA,CAEA,4BAAA,CAGA,mFACC,+BAAA,CACA,wGACC,kBAAA,CAKH,4DACC,+BAAA",sourcesContent:["\n.files-list {\n\t--row-height: 55px;\n\t--cell-margin: 14px;\n\n\t--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);\n\t--checkbox-size: 24px;\n\t--clickable-area: 44px;\n\t--icon-preview-size: 32px;\n\n\tdisplay: block;\n\toverflow: auto;\n\theight: 100%;\n\n\t&::v-deep {\n\t\t// Table head, body and footer\n\t\ttbody, .vue-recycle-scroller__slot {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\t// Necessary for virtual scrolling absolute\n\t\t\tposition: relative;\n\t\t}\n\n\t\t// Table header\n\t\t.vue-recycle-scroller__slot[role='thead'] {\n\t\t\t// Pinned on top when scrolling\n\t\t\tposition: sticky;\n\t\t\tz-index: 10;\n\t\t\ttop: 0;\n\t\t\theight: var(--row-height);\n\t\t\tbackground-color: var(--color-main-background);\n\t\t}\n\n\t\ttr {\n\t\t\tposition: absolute;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\twidth: 100%;\n\t\t\tborder-bottom: 1px solid var(--color-border);\n\t\t}\n\n\t\ttd, th {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tflex: 0 0 auto;\n\t\t\tjustify-content: left;\n\t\t\twidth: var(--row-height);\n\t\t\theight: var(--row-height);\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tborder: none;\n\n\t\t\t// Columns should try to add any text\n\t\t\t// node wrapped in a span. That should help\n\t\t\t// with the ellipsis on overflow.\n\t\t\tspan {\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row-checkbox {\n\t\t\tjustify-content: center;\n\t\t\t.checkbox-radio-switch {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: center;\n\n\t\t\t\t--icon-size: var(--checkbox-size);\n\n\t\t\t\tlabel.checkbox-radio-switch__label {\n\t\t\t\t\twidth: var(--clickable-area);\n\t\t\t\t\theight: var(--clickable-area);\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding: calc((var(--clickable-area) - var(--checkbox-size)) / 2);\n\t\t\t\t}\n\n\t\t\t\t.checkbox-radio-switch__icon {\n\t\t\t\t\tmargin: 0 !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row-icon {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\toverflow: visible;\n\t\t\talign-items: center;\n\t\t\t// No shrinking or growing allowed\n\t\t\tflex: 0 0 var(--icon-preview-size);\n\t\t\tjustify-content: center;\n\t\t\twidth: var(--icon-preview-size);\n\t\t\theight: 100%;\n\t\t\t// Show same padding as the checkbox right padding for visual balance\n\t\t\tmargin-right: var(--checkbox-padding);\n\t\t\tcolor: var(--color-primary-element);\n\n\t\t\t& > span {\n\t\t\t\tjustify-content: flex-start;\n\t\t\t}\n\n\t\t\t&> span:not(.files-list__row-icon-favorite) svg {\n\t\t\t\twidth: var(--icon-preview-size);\n\t\t\t\theight: var(--icon-preview-size);\n\t\t\t}\n\n\t\t\t&-preview {\n\t\t\t\toverflow: hidden;\n\t\t\t\twidth: var(--icon-preview-size);\n\t\t\t\theight: var(--icon-preview-size);\n\t\t\t\tborder-radius: var(--border-radius);\n\t\t\t\tbackground-repeat: no-repeat;\n\t\t\t\t// Center and contain the preview\n\t\t\t\tbackground-position: center;\n\t\t\t\tbackground-size: contain;\n\t\t\t}\n\n\t\t\t&-favorite {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 4px;\n\t\t\t\tright: -8px;\n\t\t\t\tcolor: #ffcc00;\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row-name {\n\t\t\t// Prevent link from overflowing\n\t\t\toverflow: hidden;\n\t\t\t// Take as much space as possible\n\t\t\tflex: 1 1 auto;\n\n\t\t\ta {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\t// Fill cell height and width\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\n\t\t\t\t// Keyboard indicator a11y\n\t\t\t\t&:focus .files-list__row-name-text,\n\t\t\t\t&:focus-visible .files-list__row-name-text {\n\t\t\t\t\toutline: 2px solid var(--color-main-text) !important;\n\t\t\t\t\tborder-radius: 20px;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.files-list__row-name-text {\n\t\t\t\t// Make some space for the outline\n\t\t\t\tpadding: 5px 10px;\n\t\t\t\tmargin-left: -10px;\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row-actions {\n\t\t\twidth: auto;\n\n\t\t\t// Add margin to all cells after the actions\n\t\t\t& ~ td,\n\t\t\t& ~ th {\n\t\t\t\tmargin: 0 var(--cell-margin);\n\t\t\t}\n\n\t\t\tbutton {\n\t\t\t\t.button-vue__text {\n\t\t\t\t\t// Remove bold from default button styling\n\t\t\t\t\tfont-weight: normal;\n\t\t\t\t}\n\t\t\t\t&:not(:hover, :focus, :active) .button-vue__wrapper {\n\t\t\t\t\t// Also apply color-text-maxcontrast to non-active button\n\t\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row-size {\n\t\t\t// Right align text\n\t\t\tjustify-content: flex-end;\n\t\t\twidth: calc(var(--row-height) * 1.5);\n\t\t\t// opacity varies with the size\n\t\t\tcolor: var(--color-main-text);\n\n\t\t\t// Icon is before text since size is right aligned\n\t\t\t.files-list__column-sort-button {\n\t\t\t\tpadding: 0 16px 0 4px !important;\n\t\t\t\t.button-vue__wrapper {\n\t\t\t\t\tflex-direction: row;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.files-list__row-column-custom {\n\t\t\twidth: calc(var(--row-height) * 2);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const s=a},93582:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(87537),i=n.n(o),r=n(23645),a=n.n(r)()(i());a.push([e.id,".app-navigation-entry__settings-quota--not-unlimited[data-v-918797b2] .app-navigation-entry__title{margin-top:-4px}.app-navigation-entry__settings-quota progress[data-v-918797b2]{position:absolute;bottom:10px;margin-left:44px;width:calc(100% - 44px - 22px)}","",{version:3,sources:["webpack://./apps/files/src/components/NavigationQuota.vue"],names:[],mappings:"AAIC,mGACC,eAAA,CAGD,gEACC,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,8BAAA",sourcesContent:["\n// User storage stats display\n.app-navigation-entry__settings-quota {\n\t// Align title with progress and icon\n\t&--not-unlimited::v-deep .app-navigation-entry__title {\n\t\tmargin-top: -4px;\n\t}\n\n\tprogress {\n\t\tposition: absolute;\n\t\tbottom: 10px;\n\t\tmargin-left: 44px;\n\t\twidth: calc(100% - 44px - 22px);\n\t}\n}\n"],sourceRoot:""}]);const s=a},67679:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(87537),i=n.n(o),r=n(23645),a=n.n(r)()(i());a.push([e.id,".template-picker__item[data-v-5b09ec60]{display:flex}.template-picker__label[data-v-5b09ec60]{display:flex;align-items:center;flex:1 1;flex-direction:column}.template-picker__label[data-v-5b09ec60],.template-picker__label *[data-v-5b09ec60]{cursor:pointer;user-select:none}.template-picker__label[data-v-5b09ec60]::before{display:none !important}.template-picker__preview[data-v-5b09ec60]{display:block;overflow:hidden;flex:1 1;width:var(--width);min-height:var(--height);max-height:var(--height);padding:0;border:var(--border) solid var(--color-border);border-radius:var(--border-radius-large)}input:checked+label>.template-picker__preview[data-v-5b09ec60]{border-color:var(--color-primary-element)}.template-picker__preview--failed[data-v-5b09ec60]{display:flex}.template-picker__image[data-v-5b09ec60]{max-width:100%;background-color:var(--color-main-background);object-fit:cover}.template-picker__preview--failed .template-picker__image[data-v-5b09ec60]{width:calc(var(--margin)*8);margin:auto;background-color:rgba(0,0,0,0) !important;object-fit:initial}.template-picker__title[data-v-5b09ec60]{overflow:hidden;max-width:calc(var(--width) + 4px);padding:var(--margin);white-space:nowrap;text-overflow:ellipsis}","",{version:3,sources:["webpack://./apps/files/src/components/TemplatePreview.vue"],names:[],mappings:"AAGC,wCACC,YAAA,CAGD,yCACC,YAAA,CAEA,kBAAA,CACA,QAAA,CACA,qBAAA,CAEA,oFACC,cAAA,CACA,gBAAA,CAGD,iDACC,uBAAA,CAIF,2CACC,aAAA,CACA,eAAA,CAEA,QAAA,CACA,kBAAA,CACA,wBAAA,CACA,wBAAA,CACA,SAAA,CACA,8CAAA,CACA,wCAAA,CAEA,+DACC,yCAAA,CAGD,mDAEC,YAAA,CAIF,yCACC,cAAA,CACA,6CAAA,CAEA,gBAAA,CAID,2EACC,2BAAA,CAEA,WAAA,CACA,yCAAA,CAEA,kBAAA,CAGD,yCACC,eAAA,CAEA,kCAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA",sourcesContent:["\n\n.template-picker {\n\t&__item {\n\t\tdisplay: flex;\n\t}\n\n\t&__label {\n\t\tdisplay: flex;\n\t\t// Align in the middle of the grid\n\t\talign-items: center;\n\t\tflex: 1 1;\n\t\tflex-direction: column;\n\n\t\t&, * {\n\t\t\tcursor: pointer;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&::before {\n\t\t\tdisplay: none !important;\n\t\t}\n\t}\n\n\t&__preview {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t\t// Stretch so all entries are the same width\n\t\tflex: 1 1;\n\t\twidth: var(--width);\n\t\tmin-height: var(--height);\n\t\tmax-height: var(--height);\n\t\tpadding: 0;\n\t\tborder: var(--border) solid var(--color-border);\n\t\tborder-radius: var(--border-radius-large);\n\n\t\tinput:checked + label > & {\n\t\t\tborder-color: var(--color-primary-element);\n\t\t}\n\n\t\t&--failed {\n\t\t\t// Make sure to properly center fallback icon\n\t\t\tdisplay: flex;\n\t\t}\n\t}\n\n\t&__image {\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-main-background);\n\n\t\tobject-fit: cover;\n\t}\n\n\t// Failed preview, fallback to mime icon\n\t&__preview--failed &__image {\n\t\twidth: calc(var(--margin) * 8);\n\t\t// Center mime icon\n\t\tmargin: auto;\n\t\tbackground-color: transparent !important;\n\n\t\tobject-fit: initial;\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\t// also count preview border\n\t\tmax-width: calc(var(--width) + 2*2px);\n\t\tpadding: var(--margin);\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n\n"],sourceRoot:""}]);const s=a},1508:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(87537),i=n.n(o),r=n(23645),a=n.n(r)()(i());a.push([e.id,".app-content[data-v-66068cbb]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}.app-content[data-v-66068cbb]:not(.app-content--hidden)+#app-content{display:none}.files-list__header[data-v-66068cbb]{display:flex;align-content:center;flex:0 0;margin:4px 4px 4px 50px}.files-list__header>*[data-v-66068cbb]{flex:0 0}.files-list__refresh-icon[data-v-66068cbb]{flex:0 0 44px;width:44px;height:44px}.files-list__loading-icon[data-v-66068cbb]{margin:auto}","",{version:3,sources:["webpack://./apps/files/src/views/FilesList.vue"],names:[],mappings:"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CAIA,qEACC,YAAA,CAQD,qCACC,YAAA,CACA,oBAAA,CAEA,QAAA,CAEA,uBAAA,CACA,uCAGC,QAAA,CAGF,2CACC,aAAA,CACA,UAAA,CACA,WAAA,CAED,2CACC,WAAA",sourcesContent:["\n.app-content {\n\t// Virtual list needs to be full height and is scrollable\n\tdisplay: flex;\n\toverflow: hidden;\n\tflex-direction: column;\n\tmax-height: 100%;\n\n\t// TODO: remove after all legacy views are migrated\n\t// Hides the legacy app-content if shown view is not legacy\n\t&:not(&--hidden)::v-deep + #app-content {\n\t\tdisplay: none;\n\t}\n}\n\n$margin: 4px;\n$navigationToggleSize: 50px;\n\n.files-list {\n\t&__header {\n\t\tdisplay: flex;\n\t\talign-content: center;\n\t\t// Do not grow or shrink (vertically)\n\t\tflex: 0 0;\n\t\t// Align with the navigation toggle icon\n\t\tmargin: $margin $margin $margin $navigationToggleSize;\n\t\t> * {\n\t\t\t// Do not grow or shrink (horizontally)\n\t\t\t// Only the breadcrumbs shrinks\n\t\t\tflex: 0 0;\n\t\t}\n\t}\n\t&__refresh-icon {\n\t\tflex: 0 0 44px;\n\t\twidth: 44px;\n\t\theight: 44px;\n\t}\n\t&__loading-icon {\n\t\tmargin: auto;\n\t}\n}\n\n"],sourceRoot:""}]);const s=a},87289:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(87537),i=n.n(o),r=n(23645),a=n.n(r)()(i());a.push([e.id,".app-navigation[data-v-657a978e] .app-navigation-entry-icon{background-repeat:no-repeat;background-position:center}.app-navigation>ul.app-navigation__list[data-v-657a978e]{padding-bottom:var(--default-grid-baseline, 4px)}.app-navigation-entry__settings[data-v-657a978e]{height:auto !important;overflow:hidden !important;padding-top:0 !important;flex:0 0 auto}","",{version:3,sources:["webpack://./apps/files/src/views/Navigation.vue"],names:[],mappings:"AAEA,4DACC,2BAAA,CACA,0BAAA,CAGD,yDAEC,gDAAA,CAGD,iDACC,sBAAA,CACA,0BAAA,CACA,wBAAA,CAEA,aAAA",sourcesContent:["\n// TODO: remove when https://github.com/nextcloud/nextcloud-vue/pull/3539 is in\n.app-navigation::v-deep .app-navigation-entry-icon {\n\tbackground-repeat: no-repeat;\n\tbackground-position: center;\n}\n\n.app-navigation > ul.app-navigation__list {\n\t// Use flex gap value for more elegant spacing\n\tpadding-bottom: var(--default-grid-baseline, 4px);\n}\n\n.app-navigation-entry__settings {\n\theight: auto !important;\n\toverflow: hidden !important;\n\tpadding-top: 0 !important;\n\t// Prevent shrinking or growing\n\tflex: 0 0 auto;\n}\n"],sourceRoot:""}]);const s=a},35662:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(87537),i=n.n(o),r=n(23645),a=n.n(r)()(i());a.push([e.id,".setting-link[data-v-76ca5d1f]:hover{text-decoration:underline}","",{version:3,sources:["webpack://./apps/files/src/views/Settings.vue"],names:[],mappings:"AACA,qCACC,yBAAA",sourcesContent:["\n.setting-link:hover {\n\ttext-decoration: underline;\n}\n"],sourceRoot:""}]);const s=a},54654:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(87537),i=n.n(o),r=n(23645),a=n.n(r)()(i());a.push([e.id,".templates-picker__form[data-v-d46f1dc6]{padding:calc(var(--margin)*2);padding-bottom:0}.templates-picker__form h2[data-v-d46f1dc6]{text-align:center;font-weight:bold;margin:var(--margin) 0 calc(var(--margin)*2)}.templates-picker__list[data-v-d46f1dc6]{display:grid;grid-gap:calc(var(--margin)*2);grid-auto-columns:1fr;max-width:calc(var(--fullwidth)*6);grid-template-columns:repeat(auto-fit, var(--fullwidth));grid-auto-rows:1fr;justify-content:center}.templates-picker__buttons[data-v-d46f1dc6]{display:flex;justify-content:end;padding:calc(var(--margin)*2) var(--margin);position:sticky;bottom:0;background-image:linear-gradient(0, var(--gradient-main-background))}.templates-picker__buttons button[data-v-d46f1dc6],.templates-picker__buttons input[type=submit][data-v-d46f1dc6]{height:44px}.templates-picker[data-v-d46f1dc6] .modal-container{position:relative}.templates-picker__loading[data-v-d46f1dc6]{position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;margin:0;background-color:var(--color-main-background-translucent)}","",{version:3,sources:["webpack://./apps/files/src/views/TemplatePicker.vue"],names:[],mappings:"AAEC,yCACC,6BAAA,CAEA,gBAAA,CAEA,4CACC,iBAAA,CACA,gBAAA,CACA,4CAAA,CAIF,yCACC,YAAA,CACA,8BAAA,CACA,qBAAA,CAEA,kCAAA,CACA,wDAAA,CAEA,kBAAA,CAEA,sBAAA,CAGD,4CACC,YAAA,CACA,mBAAA,CACA,2CAAA,CACA,eAAA,CACA,QAAA,CACA,oEAAA,CAEA,kHACC,WAAA,CAKF,oDACC,iBAAA,CAGD,4CACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,QAAA,CACA,yDAAA",sourcesContent:["\n.templates-picker {\n\t&__form {\n\t\tpadding: calc(var(--margin) * 2);\n\t\t// Will be handled by the buttons\n\t\tpadding-bottom: 0;\n\n\t\th2 {\n\t\t\ttext-align: center;\n\t\t\tfont-weight: bold;\n\t\t\tmargin: var(--margin) 0 calc(var(--margin) * 2);\n\t\t}\n\t}\n\n\t&__list {\n\t\tdisplay: grid;\n\t\tgrid-gap: calc(var(--margin) * 2);\n\t\tgrid-auto-columns: 1fr;\n\t\t// We want maximum 5 columns. Putting 6 as we don't count the grid gap. So it will always be lower than 6\n\t\tmax-width: calc(var(--fullwidth) * 6);\n\t\tgrid-template-columns: repeat(auto-fit, var(--fullwidth));\n\t\t// Make sure all rows are the same height\n\t\tgrid-auto-rows: 1fr;\n\t\t// Center the columns set\n\t\tjustify-content: center;\n\t}\n\n\t&__buttons {\n\t\tdisplay: flex;\n\t\tjustify-content: end;\n\t\tpadding: calc(var(--margin) * 2) var(--margin);\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tbackground-image: linear-gradient(0, var(--gradient-main-background));\n\n\t\tbutton, input[type='submit'] {\n\t\t\theight: 44px;\n\t\t}\n\t}\n\n\t// Make sure we're relative for the loading emptycontent on top\n\t::v-deep .modal-container {\n\t\tposition: relative;\n\t}\n\n\t&__loading {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tmargin: 0;\n\t\tbackground-color: var(--color-main-background-translucent);\n\t}\n}\n\n"],sourceRoot:""}]);const s=a},1290:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var o=n(87537),i=n.n(o),r=n(23645),a=n.n(r)()(i());a.push([e.id,"\n/* @keyframes preview-gradient-fade {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n 100% {\n opacity: 1;\n }\n} */\n","",{version:3,sources:["webpack://./apps/files/src/components/FileEntry.vue"],names:[],mappings:";AA8mBA;;;;;;;;;;GAUA",sourcesContent:["\x3c!--\n - @copyright Copyright (c) 2023 John Molakvoæ \n -\n - @author John Molakvoæ \n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see .\n -\n --\x3e\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.vue?vue&type=style&index=0&id=5b09ec60&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.vue?vue&type=style&index=0&id=5b09ec60&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TemplatePreview.vue?vue&type=template&id=5b09ec60&scoped=true&\"\nimport script from \"./TemplatePreview.vue?vue&type=script&lang=js&\"\nexport * from \"./TemplatePreview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TemplatePreview.vue?vue&type=style&index=0&id=5b09ec60&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5b09ec60\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"template-picker__item\"},[_c('input',{staticClass:\"radio\",attrs:{\"id\":_vm.id,\"type\":\"radio\",\"name\":\"template-picker\"},domProps:{\"checked\":_vm.checked},on:{\"change\":_vm.onCheck}}),_vm._v(\" \"),_c('label',{staticClass:\"template-picker__label\",attrs:{\"for\":_vm.id}},[_c('div',{staticClass:\"template-picker__preview\",class:_vm.failedPreview ? 'template-picker__preview--failed' : ''},[_c('img',{staticClass:\"template-picker__image\",attrs:{\"src\":_vm.realPreviewUrl,\"alt\":\"\",\"draggable\":\"false\"},on:{\"error\":_vm.onFailure}})]),_vm._v(\" \"),_c('span',{staticClass:\"template-picker__title\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.nameWithoutExt)+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.vue?vue&type=script&lang=js&\"","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\n\nexport const getTemplates = async function() {\n\tconst response = await axios.get(generateOcsUrl('apps/files/api/v1/templates'))\n\treturn response.data.ocs.data\n}\n\n/**\n * Create a new file from a specified template\n *\n * @param {string} filePath The new file destination path\n * @param {string} templatePath The template source path\n * @param {string} templateType The template type e.g 'user'\n */\nexport const createFromTemplate = async function(filePath, templatePath, templateType) {\n\tconst response = await axios.post(generateOcsUrl('apps/files/api/v1/templates/create'), {\n\t\tfilePath,\n\t\ttemplatePath,\n\t\ttemplateType,\n\t})\n\treturn response.data.ocs.data\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.vue?vue&type=style&index=0&id=d46f1dc6&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.vue?vue&type=style&index=0&id=d46f1dc6&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TemplatePicker.vue?vue&type=template&id=d46f1dc6&scoped=true&\"\nimport script from \"./TemplatePicker.vue?vue&type=script&lang=js&\"\nexport * from \"./TemplatePicker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TemplatePicker.vue?vue&type=style&index=0&id=d46f1dc6&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d46f1dc6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.opened)?_c('NcModal',{staticClass:\"templates-picker\",attrs:{\"clear-view-delay\":-1,\"size\":\"large\"},on:{\"close\":_vm.close}},[_c('form',{staticClass:\"templates-picker__form\",style:(_vm.style),on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onSubmit.apply(null, arguments)}}},[_c('h2',[_vm._v(_vm._s(_vm.t('files', 'Pick a template for {name}', { name: _vm.nameWithoutExt })))]),_vm._v(\" \"),_c('ul',{staticClass:\"templates-picker__list\"},[_c('TemplatePreview',_vm._b({attrs:{\"checked\":_vm.checked === _vm.emptyTemplate.fileid},on:{\"check\":_vm.onCheck}},'TemplatePreview',_vm.emptyTemplate,false)),_vm._v(\" \"),_vm._l((_vm.provider.templates),function(template){return _c('TemplatePreview',_vm._b({key:template.fileid,attrs:{\"checked\":_vm.checked === template.fileid,\"ratio\":_vm.provider.ratio},on:{\"check\":_vm.onCheck}},'TemplatePreview',template,false))})],2),_vm._v(\" \"),_c('div',{staticClass:\"templates-picker__buttons\"},[_c('input',{staticClass:\"primary\",attrs:{\"type\":\"submit\",\"aria-label\":_vm.t('files', 'Create a new file with the selected template')},domProps:{\"value\":_vm.t('files', 'Create')}})])]),_vm._v(\" \"),(_vm.loading)?_c('NcEmptyContent',{staticClass:\"templates-picker__loading\",attrs:{\"icon\":\"icon-loading\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files', 'Creating file'))+\"\\n\\t\")]):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCurrentDirectory } from './utils/davUtils.js'\nimport axios from '@nextcloud/axios'\nimport Vue from 'vue'\n\nimport TemplatePickerView from './views/TemplatePicker.vue'\nimport { showError } from '@nextcloud/dialogs'\n\n// Set up logger\nconst logger = getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n\n// Add translates functions\nVue.mixin({\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\n// Create document root\nconst TemplatePickerRoot = document.createElement('div')\nTemplatePickerRoot.id = 'template-picker'\ndocument.body.appendChild(TemplatePickerRoot)\n\n// Retrieve and init templates\nlet templates = loadState('files', 'templates', [])\nlet templatesPath = loadState('files', 'templates_path', false)\nlogger.debug('Templates providers', templates)\nlogger.debug('Templates folder', { templatesPath })\n\n// Init vue app\nconst View = Vue.extend(TemplatePickerView)\nconst TemplatePicker = new View({\n\tname: 'TemplatePicker',\n\tpropsData: {\n\t\tlogger,\n\t},\n})\nTemplatePicker.$mount('#template-picker')\n\n// Init template engine after load to make sure it's the last injected entry\nwindow.addEventListener('DOMContentLoaded', function() {\n\tif (!templatesPath) {\n\t\tlogger.debug('Templates folder not initialized')\n\t\tconst initTemplatesPlugin = {\n\t\t\tattach(menu) {\n\t\t\t\t// register the new menu entry\n\t\t\t\tmenu.addMenuEntry({\n\t\t\t\t\tid: 'template-init',\n\t\t\t\t\tdisplayName: t('files', 'Set up templates folder'),\n\t\t\t\t\ttemplateName: t('files', 'Templates'),\n\t\t\t\t\ticonClass: 'icon-template-add',\n\t\t\t\t\tfileType: 'file',\n\t\t\t\t\tactionLabel: t('files', 'Create new templates folder'),\n\t\t\t\t\tactionHandler(name) {\n\t\t\t\t\t\tinitTemplatesFolder(name)\n\t\t\t\t\t\tmenu.removeMenuEntry('template-init')\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t\tOC.Plugins.register('OCA.Files.NewFileMenu', initTemplatesPlugin)\n\t}\n})\n\n// Init template files menu\ntemplates.forEach((provider, index) => {\n\tconst newTemplatePlugin = {\n\t\tattach(menu) {\n\t\t\tconst fileList = menu.fileList\n\n\t\t\t// only attach to main file list, public view is not supported yet\n\t\t\tif (fileList.id !== 'files' && fileList.id !== 'files.public') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// register the new menu entry\n\t\t\tmenu.addMenuEntry({\n\t\t\t\tid: `template-new-${provider.app}-${index}`,\n\t\t\t\tdisplayName: provider.label,\n\t\t\t\ttemplateName: provider.label + provider.extension,\n\t\t\t\ticonClass: provider.iconClass || 'icon-file',\n\t\t\t\tfileType: 'file',\n\t\t\t\tactionLabel: provider.actionLabel,\n\t\t\t\tactionHandler(name) {\n\t\t\t\t\tTemplatePicker.open(name, provider)\n\t\t\t\t},\n\t\t\t})\n\t\t},\n\t}\n\tOC.Plugins.register('OCA.Files.NewFileMenu', newTemplatePlugin)\n})\n\n/**\n * Init the template directory\n *\n * @param {string} name the templates folder name\n */\nconst initTemplatesFolder = async function(name) {\n\tconst templatePath = (getCurrentDirectory() + `/${name}`).replace('//', '/')\n\ttry {\n\t\tlogger.debug('Initializing the templates directory', { templatePath })\n\t\tconst response = await axios.post(generateOcsUrl('apps/files/api/v1/templates/path'), {\n\t\t\ttemplatePath,\n\t\t\tcopySystemTemplates: true,\n\t\t})\n\n\t\t// Go to template directory\n\t\tOCA.Files.App.currentFileList.changeDirectory(templatePath, true, true)\n\n\t\ttemplates = response.data.ocs.data.templates\n\t\ttemplatesPath = response.data.ocs.data.template_path\n\t} catch (error) {\n\t\tlogger.error('Unable to initialize the templates directory')\n\t\tshowError(t('files', 'Unable to initialize the templates directory'))\n\t}\n}\n","/*\n * @copyright Copyright (c) 2021 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { subscribe } from '@nextcloud/event-bus'\n\n(function() {\n\n\tconst FilesPlugin = {\n\t\tattach(fileList) {\n\t\t\tsubscribe('nextcloud:unified-search.search', ({ query }) => {\n\t\t\t\tfileList.setFilter(query)\n\t\t\t})\n\t\t\tsubscribe('nextcloud:unified-search.reset', () => {\n\t\t\t\tthis.query = null\n\t\t\t\tfileList.setFilter('')\n\t\t\t})\n\n\t\t},\n\t}\n\n\twindow.OC.Plugins.register('OCA.Files.FileList', FilesPlugin)\n\n})()\n","import { getCanonicalLocale } from '@nextcloud/l10n';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { getLoggerBuilder } from '@nextcloud/logger';\nimport { join, basename, extname, dirname } from 'path';\n\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst humanList = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];\nconst humanListBinary = ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB'];\n/**\n * Format a file size in a human-like format. e.g. 42GB\n *\n * @param size in bytes\n * @param skipSmallSizes avoid rendering tiny sizes and return '< 1 KB' instead\n */\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false) {\n if (typeof size === 'string') {\n size = Number(size);\n }\n /*\n * @note This block previously used Log base 1024, per IEC 80000-13;\n * however, the wrong prefix was used. Now we use decimal calculation\n * with base 1000 per the SI. Base 1024 calculation with binary\n * prefixes is optional, but has yet to be added to the UI.\n */\n // Calculate Log with base 1024 or 1000: size = base ** order\n let order = size > 0 ? Math.floor(Math.log(size) / Math.log(binaryPrefixes ? 1024 : 1000)) : 0;\n // Stay in range of the byte sizes that are defined\n order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n let relativeSize = (size / Math.pow(binaryPrefixes ? 1024 : 1000, order)).toFixed(1);\n if (skipSmallSizes === true && order === 0) {\n return (relativeSize !== '0.0' ? '< 1 ' : '0 ') + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n }\n if (order < 2) {\n relativeSize = parseFloat(relativeSize).toFixed(0);\n }\n else {\n relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n }\n return relativeSize + ' ' + readableFormat;\n}\n\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst getLogger = user => {\n if (user === null) {\n return getLoggerBuilder()\n .setApp('files')\n .build();\n }\n return getLoggerBuilder()\n .setApp('files')\n .setUid(user.uid)\n .build();\n};\nvar logger = getLogger(getCurrentUser());\n\n/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass NewFileMenu {\n _entries = [];\n registerEntry(entry) {\n this.validateEntry(entry);\n this._entries.push(entry);\n }\n unregisterEntry(entry) {\n const entryIndex = typeof entry === 'string'\n ? this.getEntryIndex(entry)\n : this.getEntryIndex(entry.id);\n if (entryIndex === -1) {\n logger.warn('Entry not found, nothing removed', { entry, entries: this.getEntries() });\n return;\n }\n this._entries.splice(entryIndex, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {FileInfo} context the creation context. Usually the current folder FileInfo\n */\n getEntries(context) {\n if (context) {\n return this._entries\n .filter(entry => typeof entry.if === 'function' ? entry.if(context) : true);\n }\n return this._entries;\n }\n getEntryIndex(id) {\n return this._entries.findIndex(entry => entry.id === id);\n }\n validateEntry(entry) {\n if (!entry.id || !entry.displayName || !(entry.iconSvgInline || entry.iconClass)) {\n throw new Error('Invalid entry');\n }\n if (typeof entry.id !== 'string'\n || typeof entry.displayName !== 'string') {\n throw new Error('Invalid id or displayName property');\n }\n if ((entry.iconClass && typeof entry.iconClass !== 'string')\n || (entry.iconSvgInline && typeof entry.iconSvgInline !== 'string')) {\n throw new Error('Invalid icon provided');\n }\n if (entry.if !== undefined && typeof entry.if !== 'function') {\n throw new Error('Invalid if property');\n }\n if (entry.templateName && typeof entry.templateName !== 'string') {\n throw new Error('Invalid templateName property');\n }\n if (entry.handler && typeof entry.handler !== 'function') {\n throw new Error('Invalid handler property');\n }\n if (!entry.templateName && !entry.handler) {\n throw new Error('At least a templateName or a handler must be provided');\n }\n if (this.getEntryIndex(entry.id) !== -1) {\n throw new Error('Duplicate entry');\n }\n }\n}\nconst getNewFileMenu = function () {\n if (typeof window._nc_newfilemenu === 'undefined') {\n window._nc_newfilemenu = new NewFileMenu();\n logger.debug('NewFileMenu initialized');\n }\n return window._nc_newfilemenu;\n};\n\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar FileType;\n(function (FileType) {\n FileType[\"Folder\"] = \"folder\";\n FileType[\"File\"] = \"file\";\n})(FileType || (FileType = {}));\n\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar Permission;\n(function (Permission) {\n Permission[Permission[\"NONE\"] = 0] = \"NONE\";\n Permission[Permission[\"CREATE\"] = 4] = \"CREATE\";\n Permission[Permission[\"READ\"] = 1] = \"READ\";\n Permission[Permission[\"UPDATE\"] = 2] = \"UPDATE\";\n Permission[Permission[\"DELETE\"] = 8] = \"DELETE\";\n Permission[Permission[\"SHARE\"] = 16] = \"SHARE\";\n Permission[Permission[\"ALL\"] = 31] = \"ALL\";\n})(Permission || (Permission = {}));\n/**\n * Parse the webdav permission string to a permission enum\n * @see https://github.com/nextcloud/server/blob/71f698649f578db19a22457cb9d420fb62c10382/lib/public/Files/DavUtil.php#L58-L88\n */\nconst parseWebdavPermissions = function (permString = '') {\n let permissions = Permission.NONE;\n if (!permString)\n return permissions;\n if (permString.includes('C') || permString.includes('K'))\n permissions |= Permission.CREATE;\n if (permString.includes('G'))\n permissions |= Permission.READ;\n if (permString.includes('W') || permString.includes('N') || permString.includes('V'))\n permissions |= Permission.UPDATE;\n if (permString.includes('D'))\n permissions |= Permission.DELETE;\n if (permString.includes('R'))\n permissions |= Permission.SHARE;\n return permissions;\n};\n\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst isDavRessource = function (source, davService) {\n return source.match(davService) !== null;\n};\n/**\n * Validate Node construct data\n */\nconst validateData = (data, davService) => {\n if ('id' in data && (typeof data.id !== 'number' || data.id < 0)) {\n throw new Error('Invalid id type of value');\n }\n if (!data.source) {\n throw new Error('Missing mandatory source');\n }\n try {\n new URL(data.source);\n }\n catch (e) {\n throw new Error('Invalid source format, source must be a valid URL');\n }\n if (!data.source.startsWith('http')) {\n throw new Error('Invalid source format, only http(s) is supported');\n }\n if ('mtime' in data && !(data.mtime instanceof Date)) {\n throw new Error('Invalid mtime type');\n }\n if ('crtime' in data && !(data.crtime instanceof Date)) {\n throw new Error('Invalid crtime type');\n }\n if (!data.mime || typeof data.mime !== 'string'\n || !data.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi)) {\n throw new Error('Missing or invalid mandatory mime');\n }\n if ('size' in data && typeof data.size !== 'number') {\n throw new Error('Invalid size type');\n }\n if ('permissions' in data && !(typeof data.permissions === 'number'\n && data.permissions >= Permission.NONE\n && data.permissions <= Permission.ALL)) {\n throw new Error('Invalid permissions');\n }\n if ('owner' in data\n && data.owner !== null\n && typeof data.owner !== 'string') {\n throw new Error('Invalid owner type');\n }\n if ('attributes' in data && typeof data.attributes !== 'object') {\n throw new Error('Invalid attributes format');\n }\n if ('root' in data && typeof data.root !== 'string') {\n throw new Error('Invalid root format');\n }\n if (data.root && !data.root.startsWith('/')) {\n throw new Error('Root must start with a leading slash');\n }\n if (data.root && !data.source.includes(data.root)) {\n throw new Error('Root must be part of the source');\n }\n if (data.root && isDavRessource(data.source, davService)) {\n const service = data.source.match(davService)[0];\n if (!data.source.includes(join(service, data.root))) {\n throw new Error('The root must be relative to the service. e.g /files/emma');\n }\n }\n};\n\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass Node {\n _data;\n _attributes;\n _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n constructor(data, davService) {\n // Validate data\n validateData(data, davService || this._knownDavService);\n this._data = data;\n const handler = {\n set: (target, prop, value) => {\n // Edit modification time\n this._data['mtime'] = new Date();\n // Apply original changes\n return Reflect.set(target, prop, value);\n },\n deleteProperty: (target, prop) => {\n // Edit modification time\n this._data['mtime'] = new Date();\n // Apply original changes\n return Reflect.deleteProperty(target, prop);\n },\n };\n // Proxy the attributes to update the mtime on change\n this._attributes = new Proxy(data.attributes || {}, handler);\n delete this._data.attributes;\n if (davService) {\n this._knownDavService = davService;\n }\n }\n /**\n * Get the source url to this object\n */\n get source() {\n // strip any ending slash\n return this._data.source.replace(/\\/$/i, '');\n }\n /**\n * Get this object name\n */\n get basename() {\n return basename(this.source);\n }\n /**\n * Get this object's extension\n */\n get extension() {\n return extname(this.source);\n }\n /**\n * Get the directory path leading to this object\n * Will use the relative path to root if available\n */\n get dirname() {\n if (this.root) {\n // Using replace would remove all part matching root\n const firstMatch = this.source.indexOf(this.root);\n return dirname(this.source.slice(firstMatch + this.root.length) || '/');\n }\n // This should always be a valid URL\n // as this is tested in the constructor\n const url = new URL(this.source);\n return dirname(url.pathname);\n }\n /**\n * Get the file mime\n */\n get mime() {\n return this._data.mime;\n }\n /**\n * Get the file modification time\n */\n get mtime() {\n return this._data.mtime;\n }\n /**\n * Get the file creation time\n */\n get crtime() {\n return this._data.crtime;\n }\n /**\n * Get the file size\n */\n get size() {\n return this._data.size;\n }\n /**\n * Get the file attribute\n */\n get attributes() {\n return this._attributes;\n }\n /**\n * Get the file permissions\n */\n get permissions() {\n // If this is not a dav ressource, we can only read it\n if (this.owner === null && !this.isDavRessource) {\n return Permission.READ;\n }\n // If the permissions are not defined, we have none\n return this._data.permissions !== undefined\n ? this._data.permissions\n : Permission.NONE;\n }\n /**\n * Get the file owner\n */\n get owner() {\n // Remote ressources have no owner\n if (!this.isDavRessource) {\n return null;\n }\n return this._data.owner;\n }\n /**\n * Is this a dav-related ressource ?\n */\n get isDavRessource() {\n return isDavRessource(this.source, this._knownDavService);\n }\n /**\n * Get the dav root of this object\n */\n get root() {\n // If provided (recommended), use the root and strip away the ending slash\n if (this._data.root) {\n return this._data.root.replace(/^(.+)\\/$/, '$1');\n }\n // Use the source to get the root from the dav service\n if (this.isDavRessource) {\n const root = dirname(this.source);\n return root.split(this._knownDavService).pop() || null;\n }\n return null;\n }\n /**\n * Get the absolute path of this object relative to the root\n */\n get path() {\n if (this.root) {\n // Using replace would remove all part matching root\n const firstMatch = this.source.indexOf(this.root);\n return this.source.slice(firstMatch + this.root.length) || '/';\n }\n return (this.dirname + '/' + this.basename).replace(/\\/\\//g, '/');\n }\n /**\n * Get the file id if defined in attributes\n */\n get fileid() {\n return this.attributes?.fileid;\n }\n /**\n * Move the node to a new destination\n *\n * @param {string} destination the new source.\n * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg\n */\n move(destination) {\n validateData({ ...this._data, source: destination }, this._knownDavService);\n this._data.source = destination;\n this._data.mtime = new Date();\n }\n /**\n * Rename the node\n * This aliases the move method for easier usage\n */\n rename(basename) {\n if (basename.includes('/')) {\n throw new Error('Invalid basename');\n }\n this.move(dirname(this.source) + '/' + basename);\n }\n}\n\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass File extends Node {\n get type() {\n return FileType.File;\n }\n}\n\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass Folder extends Node {\n constructor(data) {\n // enforcing mimes\n super({\n ...data,\n mime: 'httpd/unix-directory'\n });\n }\n get type() {\n return FileType.Folder;\n }\n get extension() {\n return null;\n }\n get mime() {\n return 'httpd/unix-directory';\n }\n}\n\n/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass FileAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get default() {\n return this._action.default;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== 'string') {\n throw new Error('Invalid id');\n }\n if (!action.displayName || typeof action.displayName !== 'function') {\n throw new Error('Invalid displayName function');\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== 'function') {\n throw new Error('Invalid iconSvgInline function');\n }\n if (!action.exec || typeof action.exec !== 'function') {\n throw new Error('Invalid exec function');\n }\n // Optional properties --------------------------------------------\n if ('enabled' in action && typeof action.enabled !== 'function') {\n throw new Error('Invalid enabled function');\n }\n if ('execBatch' in action && typeof action.execBatch !== 'function') {\n throw new Error('Invalid execBatch function');\n }\n if ('order' in action && typeof action.order !== 'number') {\n throw new Error('Invalid order');\n }\n if ('default' in action && typeof action.default !== 'boolean') {\n throw new Error('Invalid default');\n }\n if ('inline' in action && typeof action.inline !== 'function') {\n throw new Error('Invalid inline function');\n }\n if ('renderInline' in action && typeof action.renderInline !== 'function') {\n throw new Error('Invalid renderInline function');\n }\n }\n}\nconst registerFileAction = function (action) {\n if (typeof window._nc_fileactions === 'undefined') {\n window._nc_fileactions = [];\n logger.debug('FileActions initialized');\n }\n // Check duplicates\n if (window._nc_fileactions.find(search => search.id === action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n window._nc_fileactions.push(action);\n};\nconst getFileActions = function () {\n return window._nc_fileactions || [];\n};\n\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * Add a new menu entry to the upload manager menu\n */\nconst addNewFileMenuEntry = function (entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.registerEntry(entry);\n};\n/**\n * Remove a previously registered entry from the upload menu\n */\nconst removeNewFileMenuEntry = function (entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.unregisterEntry(entry);\n};\n/**\n * Get the list of registered entries from the upload menu\n *\n * @param {FileInfo} context the creation context. Usually the current folder FileInfo\n */\nconst getNewFileMenuEntries = function (context) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.getEntries(context);\n};\n\nexport { File, FileAction, FileType, Folder, Node, Permission, addNewFileMenuEntry, formatFileSize, getFileActions, getNewFileMenuEntries, parseWebdavPermissions, registerFileAction, removeNewFileMenuEntry };\n//# sourceMappingURL=index.esm.js.map\n","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport logger from '../logger';\nexport class FileAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get default() {\n return this._action.default;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== 'string') {\n throw new Error('Invalid id');\n }\n if (!action.displayName || typeof action.displayName !== 'function') {\n throw new Error('Invalid displayName function');\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== 'function') {\n throw new Error('Invalid iconSvgInline function');\n }\n if (!action.exec || typeof action.exec !== 'function') {\n throw new Error('Invalid exec function');\n }\n // Optional properties --------------------------------------------\n if ('enabled' in action && typeof action.enabled !== 'function') {\n throw new Error('Invalid enabled function');\n }\n if ('execBatch' in action && typeof action.execBatch !== 'function') {\n throw new Error('Invalid execBatch function');\n }\n if ('order' in action && typeof action.order !== 'number') {\n throw new Error('Invalid order');\n }\n if ('default' in action && typeof action.default !== 'boolean') {\n throw new Error('Invalid default');\n }\n if ('inline' in action && typeof action.inline !== 'function') {\n throw new Error('Invalid inline function');\n }\n if ('renderInline' in action && typeof action.renderInline !== 'function') {\n throw new Error('Invalid renderInline function');\n }\n }\n}\nexport const registerFileAction = function (action) {\n if (typeof window._nc_fileactions === 'undefined') {\n window._nc_fileactions = [];\n logger.debug('FileActions initialized');\n }\n // Check duplicates\n if (window._nc_fileactions.find(search => search.id === action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n window._nc_fileactions.push(action);\n};\nexport const getFileActions = function () {\n return window._nc_fileactions || [];\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { emit } from '@nextcloud/event-bus';\nimport { Permission, Node } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport TrashCan from '@mdi/svg/svg/trash-can.svg?raw';\nimport { registerFileAction, FileAction } from '../services/FileAction.ts';\nimport logger from '../logger.js';\nregisterFileAction(new FileAction({\n id: 'delete',\n displayName(nodes, view) {\n return view.id === 'trashbin'\n ? t('files_trashbin', 'Delete permanently')\n : t('files', 'Delete');\n },\n iconSvgInline: () => TrashCan,\n enabled(nodes) {\n return nodes.length > 0 && nodes\n .map(node => node.permissions)\n .every(permission => (permission & Permission.DELETE) !== 0);\n },\n async exec(node) {\n try {\n await axios.delete(node.source);\n // Let's delete even if it's moved to the trashbin\n // since it has been removed from the current view\n // and changing the view will trigger a reload anyway.\n emit('files:node:deleted', node);\n return true;\n }\n catch (error) {\n logger.error('Error while deleting a file', { error, source: node.source, node });\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n return Promise.all(nodes.map(node => this.exec(node, view, dir)));\n },\n order: 100,\n}));\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Permission, Node, FileType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport Folder from '@mdi/svg/svg/folder.svg?raw';\nimport { join } from 'path';\nimport { registerFileAction, FileAction } from '../services/FileAction';\nregisterFileAction(new FileAction({\n id: 'open-folder',\n displayName(files) {\n // Only works on single node\n const displayName = files[0].attributes.displayName || files[0].basename;\n return t('files', 'Open folder {displayName}', { displayName });\n },\n iconSvgInline: () => Folder,\n enabled(nodes) {\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n const node = nodes[0];\n return node.type === FileType.Folder\n && (node.permissions & Permission.READ) !== 0;\n },\n async exec(node, view, dir) {\n if (!node || node.type !== FileType.Folder) {\n return false;\n }\n window.OCP.Files.Router.goToRoute(null, null, { dir: join(dir, node.basename) });\n return null;\n },\n async execBatch(nodes, view, dir) {\n return Promise.all(nodes.map(node => this.exec(node, view, dir)));\n },\n // Main action if enabled, meaning folders only\n order: -100,\n default: true,\n}));\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { translate as t } from '@nextcloud/l10n';\nimport InformationSvg from '@mdi/svg/svg/information-variant.svg?raw';\nimport { registerFileAction, FileAction } from '../services/FileAction.ts';\nimport logger from '../logger.js';\nexport const ACTION_DETAILS = 'details';\nregisterFileAction(new FileAction({\n id: ACTION_DETAILS,\n displayName: () => t('files', 'Details'),\n iconSvgInline: () => InformationSvg,\n // Sidebar currently supports user folder only, /files/USER\n enabled: (files) => !!window?.OCA?.Files?.Sidebar\n && files.some(node => node.root?.startsWith('/files/')),\n async exec(node) {\n try {\n // TODO: migrate Sidebar to use a Node instead\n window?.OCA?.Files?.Sidebar?.open?.(node.path);\n return null;\n }\n catch (error) {\n logger.error('Error while opening sidebar', { error });\n return false;\n }\n },\n default: true,\n order: -50,\n}));\n","import Vue from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n var vm\n var provide = {}\n var app = {\n config: Vue.config,\n use: Vue.use.bind(Vue),\n mixin: Vue.mixin.bind(Vue),\n component: Vue.component.bind(Vue),\n provide: function (key, value) {\n provide[key] = value\n return this\n },\n directive: function (name, dir) {\n if (dir) {\n Vue.directive(name, dir)\n return app\n } else {\n return Vue.directive(name)\n }\n },\n mount: function (el, hydrating) {\n if (!vm) {\n vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n vm.$mount(el, hydrating)\n return vm\n } else {\n return vm\n }\n },\n unmount: function () {\n if (vm) {\n vm.$destroy()\n vm = undefined\n }\n },\n }\n return app\n}\n\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n return {\n setup() {\n throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n }\n }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n","export function getDevtoolsGlobalHook() {\n return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;\n}\nexport function getTarget() {\n // @ts-ignore\n return (typeof navigator !== 'undefined' && typeof window !== 'undefined')\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n}\nexport const isProxyAvailable = typeof Proxy === 'function';\n","export const HOOK_SETUP = 'devtools-plugin:setup';\nexport const HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';\n","let supported;\nlet perf;\nexport function isPerformanceSupported() {\n var _a;\n if (supported !== undefined) {\n return supported;\n }\n if (typeof window !== 'undefined' && window.performance) {\n supported = true;\n perf = window.performance;\n }\n else if (typeof global !== 'undefined' && ((_a = global.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {\n supported = true;\n perf = global.perf_hooks.performance;\n }\n else {\n supported = false;\n }\n return supported;\n}\nexport function now() {\n return isPerformanceSupported() ? perf.now() : Date.now();\n}\n","import { HOOK_PLUGIN_SETTINGS_SET } from './const.js';\nimport { now } from './time.js';\nexport class ApiProxy {\n constructor(plugin, hook) {\n this.target = null;\n this.targetQueue = [];\n this.onQueue = [];\n this.plugin = plugin;\n this.hook = hook;\n const defaultSettings = {};\n if (plugin.settings) {\n for (const id in plugin.settings) {\n const item = plugin.settings[id];\n defaultSettings[id] = item.defaultValue;\n }\n }\n const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;\n let currentSettings = Object.assign({}, defaultSettings);\n try {\n const raw = localStorage.getItem(localSettingsSaveId);\n const data = JSON.parse(raw);\n Object.assign(currentSettings, data);\n }\n catch (e) {\n // noop\n }\n this.fallbacks = {\n getSettings() {\n return currentSettings;\n },\n setSettings(value) {\n try {\n localStorage.setItem(localSettingsSaveId, JSON.stringify(value));\n }\n catch (e) {\n // noop\n }\n currentSettings = value;\n },\n now() {\n return now();\n },\n };\n if (hook) {\n hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\n }\n });\n }\n this.proxiedOn = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target.on[prop];\n }\n else {\n return (...args) => {\n this.onQueue.push({\n method: prop,\n args,\n });\n };\n }\n },\n });\n this.proxiedTarget = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target[prop];\n }\n else if (prop === 'on') {\n return this.proxiedOn;\n }\n else if (Object.keys(this.fallbacks).includes(prop)) {\n return (...args) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve: () => { },\n });\n return this.fallbacks[prop](...args);\n };\n }\n else {\n return (...args) => {\n return new Promise(resolve => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve,\n });\n });\n };\n }\n },\n });\n }\n async setRealTarget(target) {\n this.target = target;\n for (const item of this.onQueue) {\n this.target.on[item.method](...item.args);\n }\n for (const item of this.targetQueue) {\n item.resolve(await this.target[item.method](...item.args));\n }\n }\n}\n","import { getTarget, getDevtoolsGlobalHook, isProxyAvailable } from './env.js';\nimport { HOOK_SETUP } from './const.js';\nimport { ApiProxy } from './proxy.js';\nexport * from './api/index.js';\nexport * from './plugin.js';\nexport * from './time.js';\nexport function setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);\n }\n else {\n const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy,\n });\n if (proxy)\n setupFn(proxy.proxiedTarget);\n }\n}\n","/*!\n * pinia v2.0.35\n * (c) 2023 Eduardo San Martin Morote\n * @license MIT\n */\nimport { getCurrentInstance, inject, toRaw, watch, unref, markRaw, effectScope, ref, isVue2, isRef, isReactive, set, getCurrentScope, onScopeDispose, reactive, toRef, del, nextTick, computed, toRefs } from 'vue-demi';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * setActivePinia must be called to handle SSR at the top of functions like\n * `fetch`, `setup`, `serverPrefetch` and others\n */\nlet activePinia;\n/**\n * Sets or unsets the active pinia. Used in SSR and internally when calling\n * actions and getters\n *\n * @param pinia - Pinia instance\n */\n// @ts-expect-error: cannot constrain the type of the return\nconst setActivePinia = (pinia) => (activePinia = pinia);\n/**\n * Get the currently active pinia if there is any.\n */\nconst getActivePinia = () => (getCurrentInstance() && inject(piniaSymbol)) || activePinia;\nconst piniaSymbol = ((process.env.NODE_ENV !== 'production') ? Symbol('pinia') : /* istanbul ignore next */ Symbol());\n\nfunction isPlainObject(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\no) {\n return (o &&\n typeof o === 'object' &&\n Object.prototype.toString.call(o) === '[object Object]' &&\n typeof o.toJSON !== 'function');\n}\n// type DeepReadonly = { readonly [P in keyof T]: DeepReadonly }\n// TODO: can we change these to numbers?\n/**\n * Possible types for SubscriptionCallback\n */\nvar MutationType;\n(function (MutationType) {\n /**\n * Direct mutation of the state:\n *\n * - `store.name = 'new name'`\n * - `store.$state.name = 'new name'`\n * - `store.list.push('new item')`\n */\n MutationType[\"direct\"] = \"direct\";\n /**\n * Mutated the state with `$patch` and an object\n *\n * - `store.$patch({ name: 'newName' })`\n */\n MutationType[\"patchObject\"] = \"patch object\";\n /**\n * Mutated the state with `$patch` and a function\n *\n * - `store.$patch(state => state.name = 'newName')`\n */\n MutationType[\"patchFunction\"] = \"patch function\";\n // maybe reset? for $state = {} and $reset\n})(MutationType || (MutationType = {}));\n\nconst IS_CLIENT = typeof window !== 'undefined';\n/**\n * Should we add the devtools plugins.\n * - only if dev mode or forced through the prod devtools flag\n * - not in test\n * - only if window exists (could change in the future)\n */\nconst USE_DEVTOOLS = ((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test') && IS_CLIENT;\n\n/*\n * FileSaver.js A saveAs() FileSaver implementation.\n *\n * Originally by Eli Grey, adapted as an ESM module by Eduardo San Martin\n * Morote.\n *\n * License : MIT\n */\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nconst _global = /*#__PURE__*/ (() => typeof window === 'object' && window.window === window\n ? window\n : typeof self === 'object' && self.self === self\n ? self\n : typeof global === 'object' && global.global === global\n ? global\n : typeof globalThis === 'object'\n ? globalThis\n : { HTMLElement: null })();\nfunction bom(blob, { autoBom = false } = {}) {\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (autoBom &&\n /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xfeff), blob], { type: blob.type });\n }\n return blob;\n}\nfunction download(url, name, opts) {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.onload = function () {\n saveAs(xhr.response, name, opts);\n };\n xhr.onerror = function () {\n console.error('could not download file');\n };\n xhr.send();\n}\nfunction corsEnabled(url) {\n const xhr = new XMLHttpRequest();\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false);\n try {\n xhr.send();\n }\n catch (e) { }\n return xhr.status >= 200 && xhr.status <= 299;\n}\n// `a.click()` doesn't work for all browsers (#465)\nfunction click(node) {\n try {\n node.dispatchEvent(new MouseEvent('click'));\n }\n catch (e) {\n const evt = document.createEvent('MouseEvents');\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);\n node.dispatchEvent(evt);\n }\n}\nconst _navigator = \n typeof navigator === 'object' ? navigator : { userAgent: '' };\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nconst isMacOSWebView = /*#__PURE__*/ (() => /Macintosh/.test(_navigator.userAgent) &&\n /AppleWebKit/.test(_navigator.userAgent) &&\n !/Safari/.test(_navigator.userAgent))();\nconst saveAs = !IS_CLIENT\n ? () => { } // noop\n : // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView or mini program\n typeof HTMLAnchorElement !== 'undefined' &&\n 'download' in HTMLAnchorElement.prototype &&\n !isMacOSWebView\n ? downloadSaveAs\n : // Use msSaveOrOpenBlob as a second approach\n 'msSaveOrOpenBlob' in _navigator\n ? msSaveAs\n : // Fallback to using FileReader and a popup\n fileSaverSaveAs;\nfunction downloadSaveAs(blob, name = 'download', opts) {\n const a = document.createElement('a');\n a.download = name;\n a.rel = 'noopener'; // tabnabbing\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob;\n if (a.origin !== location.origin) {\n if (corsEnabled(a.href)) {\n download(blob, name, opts);\n }\n else {\n a.target = '_blank';\n click(a);\n }\n }\n else {\n click(a);\n }\n }\n else {\n // Support blobs\n a.href = URL.createObjectURL(blob);\n setTimeout(function () {\n URL.revokeObjectURL(a.href);\n }, 4e4); // 40s\n setTimeout(function () {\n click(a);\n }, 0);\n }\n}\nfunction msSaveAs(blob, name = 'download', opts) {\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts);\n }\n else {\n const a = document.createElement('a');\n a.href = blob;\n a.target = '_blank';\n setTimeout(function () {\n click(a);\n });\n }\n }\n else {\n // @ts-ignore: works on windows\n navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n }\n}\nfunction fileSaverSaveAs(blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank');\n if (popup) {\n popup.document.title = popup.document.body.innerText = 'downloading...';\n }\n if (typeof blob === 'string')\n return download(blob, name, opts);\n const force = blob.type === 'application/octet-stream';\n const isSafari = /constructor/i.test(String(_global.HTMLElement)) || 'safari' in _global;\n const isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) &&\n typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n const reader = new FileReader();\n reader.onloadend = function () {\n let url = reader.result;\n if (typeof url !== 'string') {\n popup = null;\n throw new Error('Wrong reader.result type');\n }\n url = isChromeIOS\n ? url\n : url.replace(/^data:[^;]*;/, 'data:attachment/file;');\n if (popup) {\n popup.location.href = url;\n }\n else {\n location.assign(url);\n }\n popup = null; // reverse-tabnabbing #460\n };\n reader.readAsDataURL(blob);\n }\n else {\n const url = URL.createObjectURL(blob);\n if (popup)\n popup.location.assign(url);\n else\n location.href = url;\n popup = null; // reverse-tabnabbing #460\n setTimeout(function () {\n URL.revokeObjectURL(url);\n }, 4e4); // 40s\n }\n}\n\n/**\n * Shows a toast or console.log\n *\n * @param message - message to log\n * @param type - different color of the tooltip\n */\nfunction toastMessage(message, type) {\n const piniaMessage = '🍍 ' + message;\n if (typeof __VUE_DEVTOOLS_TOAST__ === 'function') {\n __VUE_DEVTOOLS_TOAST__(piniaMessage, type);\n }\n else if (type === 'error') {\n console.error(piniaMessage);\n }\n else if (type === 'warn') {\n console.warn(piniaMessage);\n }\n else {\n console.log(piniaMessage);\n }\n}\nfunction isPinia(o) {\n return '_a' in o && 'install' in o;\n}\n\nfunction checkClipboardAccess() {\n if (!('clipboard' in navigator)) {\n toastMessage(`Your browser doesn't support the Clipboard API`, 'error');\n return true;\n }\n}\nfunction checkNotFocusedError(error) {\n if (error instanceof Error &&\n error.message.toLowerCase().includes('document is not focused')) {\n toastMessage('You need to activate the \"Emulate a focused page\" setting in the \"Rendering\" panel of devtools.', 'warn');\n return true;\n }\n return false;\n}\nasync function actionGlobalCopyState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n await navigator.clipboard.writeText(JSON.stringify(pinia.state.value));\n toastMessage('Global state copied to clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to serialize the state. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalPasteState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n pinia.state.value = JSON.parse(await navigator.clipboard.readText());\n toastMessage('Global state pasted from clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to deserialize the state from clipboard. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalSaveState(pinia) {\n try {\n saveAs(new Blob([JSON.stringify(pinia.state.value)], {\n type: 'text/plain;charset=utf-8',\n }), 'pinia-state.json');\n }\n catch (error) {\n toastMessage(`Failed to export the state as JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nlet fileInput;\nfunction getFileOpener() {\n if (!fileInput) {\n fileInput = document.createElement('input');\n fileInput.type = 'file';\n fileInput.accept = '.json';\n }\n function openFile() {\n return new Promise((resolve, reject) => {\n fileInput.onchange = async () => {\n const files = fileInput.files;\n if (!files)\n return resolve(null);\n const file = files.item(0);\n if (!file)\n return resolve(null);\n return resolve({ text: await file.text(), file });\n };\n // @ts-ignore: TODO: changed from 4.3 to 4.4\n fileInput.oncancel = () => resolve(null);\n fileInput.onerror = reject;\n fileInput.click();\n });\n }\n return openFile;\n}\nasync function actionGlobalOpenStateFile(pinia) {\n try {\n const open = await getFileOpener();\n const result = await open();\n if (!result)\n return;\n const { text, file } = result;\n pinia.state.value = JSON.parse(text);\n toastMessage(`Global state imported from \"${file.name}\".`);\n }\n catch (error) {\n toastMessage(`Failed to export the state as JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\n\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\nconst PINIA_ROOT_LABEL = '🍍 Pinia (root)';\nconst PINIA_ROOT_ID = '_root';\nfunction formatStoreForInspectorTree(store) {\n return isPinia(store)\n ? {\n id: PINIA_ROOT_ID,\n label: PINIA_ROOT_LABEL,\n }\n : {\n id: store.$id,\n label: store.$id,\n };\n}\nfunction formatStoreForInspectorState(store) {\n if (isPinia(store)) {\n const storeNames = Array.from(store._s.keys());\n const storeMap = store._s;\n const state = {\n state: storeNames.map((storeId) => ({\n editable: true,\n key: storeId,\n value: store.state.value[storeId],\n })),\n getters: storeNames\n .filter((id) => storeMap.get(id)._getters)\n .map((id) => {\n const store = storeMap.get(id);\n return {\n editable: false,\n key: id,\n value: store._getters.reduce((getters, key) => {\n getters[key] = store[key];\n return getters;\n }, {}),\n };\n }),\n };\n return state;\n }\n const state = {\n state: Object.keys(store.$state).map((key) => ({\n editable: true,\n key,\n value: store.$state[key],\n })),\n };\n // avoid adding empty getters\n if (store._getters && store._getters.length) {\n state.getters = store._getters.map((getterName) => ({\n editable: false,\n key: getterName,\n value: store[getterName],\n }));\n }\n if (store._customProperties.size) {\n state.customProperties = Array.from(store._customProperties).map((key) => ({\n editable: true,\n key,\n value: store[key],\n }));\n }\n return state;\n}\nfunction formatEventData(events) {\n if (!events)\n return {};\n if (Array.isArray(events)) {\n // TODO: handle add and delete for arrays and objects\n return events.reduce((data, event) => {\n data.keys.push(event.key);\n data.operations.push(event.type);\n data.oldValue[event.key] = event.oldValue;\n data.newValue[event.key] = event.newValue;\n return data;\n }, {\n oldValue: {},\n keys: [],\n operations: [],\n newValue: {},\n });\n }\n else {\n return {\n operation: formatDisplay(events.type),\n key: formatDisplay(events.key),\n oldValue: events.oldValue,\n newValue: events.newValue,\n };\n }\n}\nfunction formatMutationType(type) {\n switch (type) {\n case MutationType.direct:\n return 'mutation';\n case MutationType.patchFunction:\n return '$patch';\n case MutationType.patchObject:\n return '$patch';\n default:\n return 'unknown';\n }\n}\n\n// timeline can be paused when directly changing the state\nlet isTimelineActive = true;\nconst componentStateTypes = [];\nconst MUTATIONS_LAYER_ID = 'pinia:mutations';\nconst INSPECTOR_ID = 'pinia';\nconst { assign: assign$1 } = Object;\n/**\n * Gets the displayed name of a store in devtools\n *\n * @param id - id of the store\n * @returns a formatted string\n */\nconst getStoreType = (id) => '🍍 ' + id;\n/**\n * Add the pinia plugin without any store. Allows displaying a Pinia plugin tab\n * as soon as it is added to the application.\n *\n * @param app - Vue application\n * @param pinia - pinia instance\n */\nfunction registerPiniaDevtools(app, pinia) {\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n }, (api) => {\n if (typeof api.now !== 'function') {\n toastMessage('You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n api.addTimelineLayer({\n id: MUTATIONS_LAYER_ID,\n label: `Pinia 🍍`,\n color: 0xe5df88,\n });\n api.addInspector({\n id: INSPECTOR_ID,\n label: 'Pinia 🍍',\n icon: 'storage',\n treeFilterPlaceholder: 'Search stores',\n actions: [\n {\n icon: 'content_copy',\n action: () => {\n actionGlobalCopyState(pinia);\n },\n tooltip: 'Serialize and copy the state',\n },\n {\n icon: 'content_paste',\n action: async () => {\n await actionGlobalPasteState(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Replace the state with the content of your clipboard',\n },\n {\n icon: 'save',\n action: () => {\n actionGlobalSaveState(pinia);\n },\n tooltip: 'Save the state as a JSON file',\n },\n {\n icon: 'folder_open',\n action: async () => {\n await actionGlobalOpenStateFile(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Import the state from a JSON file',\n },\n ],\n nodeActions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state (option store only)',\n action: (nodeId) => {\n const store = pinia._s.get(nodeId);\n if (!store) {\n toastMessage(`Cannot reset \"${nodeId}\" store because it wasn't found.`, 'warn');\n }\n else if (!store._isOptionsAPI) {\n toastMessage(`Cannot reset \"${nodeId}\" store because it's a setup store.`, 'warn');\n }\n else {\n store.$reset();\n toastMessage(`Store \"${nodeId}\" reset.`);\n }\n },\n },\n ],\n });\n api.on.inspectComponent((payload, ctx) => {\n const proxy = (payload.componentInstance &&\n payload.componentInstance.proxy);\n if (proxy && proxy._pStores) {\n const piniaStores = payload.componentInstance.proxy._pStores;\n Object.values(piniaStores).forEach((store) => {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'state',\n editable: true,\n value: store._isOptionsAPI\n ? {\n _custom: {\n value: toRaw(store.$state),\n actions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state of this store',\n action: () => store.$reset(),\n },\n ],\n },\n }\n : // NOTE: workaround to unwrap transferred refs\n Object.keys(store.$state).reduce((state, key) => {\n state[key] = store.$state[key];\n return state;\n }, {}),\n });\n if (store._getters && store._getters.length) {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'getters',\n editable: false,\n value: store._getters.reduce((getters, key) => {\n try {\n getters[key] = store[key];\n }\n catch (error) {\n // @ts-expect-error: we just want to show it in devtools\n getters[key] = error;\n }\n return getters;\n }, {}),\n });\n }\n });\n }\n });\n api.on.getInspectorTree((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n let stores = [pinia];\n stores = stores.concat(Array.from(pinia._s.values()));\n payload.rootNodes = (payload.filter\n ? stores.filter((store) => '$id' in store\n ? store.$id\n .toLowerCase()\n .includes(payload.filter.toLowerCase())\n : PINIA_ROOT_LABEL.toLowerCase().includes(payload.filter.toLowerCase()))\n : stores).map(formatStoreForInspectorTree);\n }\n });\n api.on.getInspectorState((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n // this could be the selected store restored for a different project\n // so it's better not to say anything here\n return;\n }\n if (inspectedStore) {\n payload.state = formatStoreForInspectorState(inspectedStore);\n }\n }\n });\n api.on.editInspectorState((payload, ctx) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n return toastMessage(`store \"${payload.nodeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (!isPinia(inspectedStore)) {\n // access only the state\n if (path.length !== 1 ||\n !inspectedStore._customProperties.has(path[0]) ||\n path[0] in inspectedStore.$state) {\n path.unshift('$state');\n }\n }\n else {\n // Root access, we can omit the `.value` because the devtools API does it for us\n path.unshift('state');\n }\n isTimelineActive = false;\n payload.set(inspectedStore, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n api.on.editComponentState((payload) => {\n if (payload.type.startsWith('🍍')) {\n const storeId = payload.type.replace(/^🍍\\s*/, '');\n const store = pinia._s.get(storeId);\n if (!store) {\n return toastMessage(`store \"${storeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (path[0] !== 'state') {\n return toastMessage(`Invalid path for store \"${storeId}\":\\n${path}\\nOnly state can be modified.`);\n }\n // rewrite the first entry to be able to directly set the state as\n // well as any other path\n path[0] = '$state';\n isTimelineActive = false;\n payload.set(store, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n });\n}\nfunction addStoreToDevtools(app, store) {\n if (!componentStateTypes.includes(getStoreType(store.$id))) {\n componentStateTypes.push(getStoreType(store.$id));\n }\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n settings: {\n logStoreChanges: {\n label: 'Notify about new/deleted stores',\n type: 'boolean',\n defaultValue: true,\n },\n // useEmojis: {\n // label: 'Use emojis in messages ⚡️',\n // type: 'boolean',\n // defaultValue: true,\n // },\n },\n }, (api) => {\n // gracefully handle errors\n const now = typeof api.now === 'function' ? api.now.bind(api) : Date.now;\n store.$onAction(({ after, onError, name, args }) => {\n const groupId = runningActionId++;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛫 ' + name,\n subtitle: 'start',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n },\n groupId,\n },\n });\n after((result) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛬 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n result,\n },\n groupId,\n },\n });\n });\n onError((error) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n logType: 'error',\n title: '💥 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n error,\n },\n groupId,\n },\n });\n });\n }, true);\n store._customProperties.forEach((name) => {\n watch(() => unref(store[name]), (newValue, oldValue) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (isTimelineActive) {\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: 'Change',\n subtitle: name,\n data: {\n newValue,\n oldValue,\n },\n groupId: activeAction,\n },\n });\n }\n }, { deep: true });\n });\n store.$subscribe(({ events, type }, state) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (!isTimelineActive)\n return;\n // rootStore.state[store.id] = state\n const eventData = {\n time: now(),\n title: formatMutationType(type),\n data: assign$1({ store: formatDisplay(store.$id) }, formatEventData(events)),\n groupId: activeAction,\n };\n // reset for the next mutation\n activeAction = undefined;\n if (type === MutationType.patchFunction) {\n eventData.subtitle = '⤵️';\n }\n else if (type === MutationType.patchObject) {\n eventData.subtitle = '🧩';\n }\n else if (events && !Array.isArray(events)) {\n eventData.subtitle = events.type;\n }\n if (events) {\n eventData.data['rawEvent(s)'] = {\n _custom: {\n display: 'DebuggerEvent',\n type: 'object',\n tooltip: 'raw DebuggerEvent[]',\n value: events,\n },\n };\n }\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: eventData,\n });\n }, { detached: true, flush: 'sync' });\n const hotUpdate = store._hotUpdate;\n store._hotUpdate = markRaw((newStore) => {\n hotUpdate(newStore);\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🔥 ' + store.$id,\n subtitle: 'HMR update',\n data: {\n store: formatDisplay(store.$id),\n info: formatDisplay(`HMR update`),\n },\n },\n });\n // update the devtools too\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n });\n const { $dispose } = store;\n store.$dispose = () => {\n $dispose();\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`Disposed \"${store.$id}\" store 🗑`);\n };\n // trigger an update so it can display new registered stores\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`\"${store.$id}\" store installed 🆕`);\n });\n}\nlet runningActionId = 0;\nlet activeAction;\n/**\n * Patches a store to enable action grouping in devtools by wrapping the store with a Proxy that is passed as the\n * context of all actions, allowing us to set `runningAction` on each access and effectively associating any state\n * mutation to the action.\n *\n * @param store - store to patch\n * @param actionNames - list of actionst to patch\n */\nfunction patchActionForGrouping(store, actionNames) {\n // original actions of the store as they are given by pinia. We are going to override them\n const actions = actionNames.reduce((storeActions, actionName) => {\n // use toRaw to avoid tracking #541\n storeActions[actionName] = toRaw(store)[actionName];\n return storeActions;\n }, {});\n for (const actionName in actions) {\n store[actionName] = function () {\n // setActivePinia(store._p)\n // the running action id is incremented in a before action hook\n const _actionId = runningActionId;\n const trackedStore = new Proxy(store, {\n get(...args) {\n activeAction = _actionId;\n return Reflect.get(...args);\n },\n set(...args) {\n activeAction = _actionId;\n return Reflect.set(...args);\n },\n });\n return actions[actionName].apply(trackedStore, arguments);\n };\n }\n}\n/**\n * pinia.use(devtoolsPlugin)\n */\nfunction devtoolsPlugin({ app, store, options }) {\n // HMR module\n if (store.$id.startsWith('__hot:')) {\n return;\n }\n // detect option api vs setup api\n if (options.state) {\n store._isOptionsAPI = true;\n }\n // only wrap actions in option-defined stores as this technique relies on\n // wrapping the context of the action with a proxy\n if (typeof options.state === 'function') {\n patchActionForGrouping(\n // @ts-expect-error: can cast the store...\n store, Object.keys(options.actions));\n const originalHotUpdate = store._hotUpdate;\n // Upgrade the HMR to also update the new actions\n toRaw(store)._hotUpdate = function (newStore) {\n originalHotUpdate.apply(this, arguments);\n patchActionForGrouping(store, Object.keys(newStore._hmrPayload.actions));\n };\n }\n addStoreToDevtools(app, \n // FIXME: is there a way to allow the assignment from Store to StoreGeneric?\n store);\n}\n\n/**\n * Creates a Pinia instance to be used by the application\n */\nfunction createPinia() {\n const scope = effectScope(true);\n // NOTE: here we could check the window object for a state and directly set it\n // if there is anything like it with Vue 3 SSR\n const state = scope.run(() => ref({}));\n let _p = [];\n // plugins added before calling app.use(pinia)\n let toBeInstalled = [];\n const pinia = markRaw({\n install(app) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n if (!isVue2) {\n pinia._a = app;\n app.provide(piniaSymbol, pinia);\n app.config.globalProperties.$pinia = pinia;\n /* istanbul ignore else */\n if (USE_DEVTOOLS) {\n registerPiniaDevtools(app, pinia);\n }\n toBeInstalled.forEach((plugin) => _p.push(plugin));\n toBeInstalled = [];\n }\n },\n use(plugin) {\n if (!this._a && !isVue2) {\n toBeInstalled.push(plugin);\n }\n else {\n _p.push(plugin);\n }\n return this;\n },\n _p,\n // it's actually undefined here\n // @ts-expect-error\n _a: null,\n _e: scope,\n _s: new Map(),\n state,\n });\n // pinia devtools rely on dev only features so they cannot be forced unless\n // the dev build of Vue is used. Avoid old browsers like IE11.\n if (USE_DEVTOOLS && typeof Proxy !== 'undefined') {\n pinia.use(devtoolsPlugin);\n }\n return pinia;\n}\n\n/**\n * Checks if a function is a `StoreDefinition`.\n *\n * @param fn - object to test\n * @returns true if `fn` is a StoreDefinition\n */\nconst isUseStore = (fn) => {\n return typeof fn === 'function' && typeof fn.$id === 'string';\n};\n/**\n * Mutates in place `newState` with `oldState` to _hot update_ it. It will\n * remove any key not existing in `newState` and recursively merge plain\n * objects.\n *\n * @param newState - new state object to be patched\n * @param oldState - old state that should be used to patch newState\n * @returns - newState\n */\nfunction patchObject(newState, oldState) {\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in oldState) {\n const subPatch = oldState[key];\n // skip the whole sub tree\n if (!(key in newState)) {\n continue;\n }\n const targetValue = newState[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n newState[key] = patchObject(targetValue, subPatch);\n }\n else {\n // objects are either a bit more complex (e.g. refs) or primitives, so we\n // just set the whole thing\n if (isVue2) {\n set(newState, key, subPatch);\n }\n else {\n newState[key] = subPatch;\n }\n }\n }\n return newState;\n}\n/**\n * Creates an _accept_ function to pass to `import.meta.hot` in Vite applications.\n *\n * @example\n * ```js\n * const useUser = defineStore(...)\n * if (import.meta.hot) {\n * import.meta.hot.accept(acceptHMRUpdate(useUser, import.meta.hot))\n * }\n * ```\n *\n * @param initialUseStore - return of the defineStore to hot update\n * @param hot - `import.meta.hot`\n */\nfunction acceptHMRUpdate(initialUseStore, hot) {\n // strip as much as possible from iife.prod\n if (!(process.env.NODE_ENV !== 'production')) {\n return () => { };\n }\n return (newModule) => {\n const pinia = hot.data.pinia || initialUseStore._pinia;\n if (!pinia) {\n // this store is still not used\n return;\n }\n // preserve the pinia instance across loads\n hot.data.pinia = pinia;\n // console.log('got data', newStore)\n for (const exportName in newModule) {\n const useStore = newModule[exportName];\n // console.log('checking for', exportName)\n if (isUseStore(useStore) && pinia._s.has(useStore.$id)) {\n // console.log('Accepting update for', useStore.$id)\n const id = useStore.$id;\n if (id !== initialUseStore.$id) {\n console.warn(`The id of the store changed from \"${initialUseStore.$id}\" to \"${id}\". Reloading.`);\n // return import.meta.hot.invalidate()\n return hot.invalidate();\n }\n const existingStore = pinia._s.get(id);\n if (!existingStore) {\n console.log(`[Pinia]: skipping hmr because store doesn't exist yet`);\n return;\n }\n useStore(pinia, existingStore);\n }\n }\n };\n}\n\nconst noop = () => { };\nfunction addSubscription(subscriptions, callback, detached, onCleanup = noop) {\n subscriptions.push(callback);\n const removeSubscription = () => {\n const idx = subscriptions.indexOf(callback);\n if (idx > -1) {\n subscriptions.splice(idx, 1);\n onCleanup();\n }\n };\n if (!detached && getCurrentScope()) {\n onScopeDispose(removeSubscription);\n }\n return removeSubscription;\n}\nfunction triggerSubscriptions(subscriptions, ...args) {\n subscriptions.slice().forEach((callback) => {\n callback(...args);\n });\n}\n\nfunction mergeReactiveObjects(target, patchToApply) {\n // Handle Map instances\n if (target instanceof Map && patchToApply instanceof Map) {\n patchToApply.forEach((value, key) => target.set(key, value));\n }\n // Handle Set instances\n if (target instanceof Set && patchToApply instanceof Set) {\n patchToApply.forEach(target.add, target);\n }\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in patchToApply) {\n if (!patchToApply.hasOwnProperty(key))\n continue;\n const subPatch = patchToApply[key];\n const targetValue = target[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n target.hasOwnProperty(key) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n // NOTE: here I wanted to warn about inconsistent types but it's not possible because in setup stores one might\n // start the value of a property as a certain type e.g. a Map, and then for some reason, during SSR, change that\n // to `undefined`. When trying to hydrate, we want to override the Map with `undefined`.\n target[key] = mergeReactiveObjects(targetValue, subPatch);\n }\n else {\n // @ts-expect-error: subPatch is a valid value\n target[key] = subPatch;\n }\n }\n return target;\n}\nconst skipHydrateSymbol = (process.env.NODE_ENV !== 'production')\n ? Symbol('pinia:skipHydration')\n : /* istanbul ignore next */ Symbol();\nconst skipHydrateMap = /*#__PURE__*/ new WeakMap();\n/**\n * Tells Pinia to skip the hydration process of a given object. This is useful in setup stores (only) when you return a\n * stateful object in the store but it isn't really state. e.g. returning a router instance in a setup store.\n *\n * @param obj - target object\n * @returns obj\n */\nfunction skipHydrate(obj) {\n return isVue2\n ? // in @vue/composition-api, the refs are sealed so defineProperty doesn't work...\n /* istanbul ignore next */ skipHydrateMap.set(obj, 1) && obj\n : Object.defineProperty(obj, skipHydrateSymbol, {});\n}\n/**\n * Returns whether a value should be hydrated\n *\n * @param obj - target variable\n * @returns true if `obj` should be hydrated\n */\nfunction shouldHydrate(obj) {\n return isVue2\n ? /* istanbul ignore next */ !skipHydrateMap.has(obj)\n : !isPlainObject(obj) || !obj.hasOwnProperty(skipHydrateSymbol);\n}\nconst { assign } = Object;\nfunction isComputed(o) {\n return !!(isRef(o) && o.effect);\n}\nfunction createOptionsStore(id, options, pinia, hot) {\n const { state, actions, getters } = options;\n const initialState = pinia.state.value[id];\n let store;\n function setup() {\n if (!initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value, id, state ? state() : {});\n }\n else {\n pinia.state.value[id] = state ? state() : {};\n }\n }\n // avoid creating a state in pinia.state.value\n const localState = (process.env.NODE_ENV !== 'production') && hot\n ? // use ref() to unwrap refs inside state TODO: check if this is still necessary\n toRefs(ref(state ? state() : {}).value)\n : toRefs(pinia.state.value[id]);\n return assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => {\n if ((process.env.NODE_ENV !== 'production') && name in localState) {\n console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with \"${name}\" in store \"${id}\".`);\n }\n computedGetters[name] = markRaw(computed(() => {\n setActivePinia(pinia);\n // it was created just before\n const store = pinia._s.get(id);\n // allow cross using stores\n /* istanbul ignore next */\n if (isVue2 && !store._r)\n return;\n // @ts-expect-error\n // return getters![name].call(context, context)\n // TODO: avoid reading the getter while assigning with a global variable\n return getters[name].call(store, store);\n }));\n return computedGetters;\n }, {}));\n }\n store = createSetupStore(id, setup, options, pinia, hot, true);\n return store;\n}\nfunction createSetupStore($id, setup, options = {}, pinia, hot, isOptionsStore) {\n let scope;\n const optionsForPlugin = assign({ actions: {} }, options);\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && !pinia._e.active) {\n throw new Error('Pinia destroyed');\n }\n // watcher options for $subscribe\n const $subscribeOptions = {\n deep: true,\n // flush: 'post',\n };\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production') && !isVue2) {\n $subscribeOptions.onTrigger = (event) => {\n /* istanbul ignore else */\n if (isListening) {\n debuggerEvents = event;\n // avoid triggering this while the store is being built and the state is being set in pinia\n }\n else if (isListening == false && !store._hotUpdating) {\n // let patch send all the events together later\n /* istanbul ignore else */\n if (Array.isArray(debuggerEvents)) {\n debuggerEvents.push(event);\n }\n else {\n console.error('🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.');\n }\n }\n };\n }\n // internal state\n let isListening; // set to true at the end\n let isSyncListening; // set to true at the end\n let subscriptions = markRaw([]);\n let actionSubscriptions = markRaw([]);\n let debuggerEvents;\n const initialState = pinia.state.value[$id];\n // avoid setting the state for option stores if it is set\n // by the setup\n if (!isOptionsStore && !initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value, $id, {});\n }\n else {\n pinia.state.value[$id] = {};\n }\n }\n const hotState = ref({});\n // avoid triggering too many listeners\n // https://github.com/vuejs/pinia/issues/1129\n let activeListener;\n function $patch(partialStateOrMutator) {\n let subscriptionMutation;\n isListening = isSyncListening = false;\n // reset the debugger events since patches are sync\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n debuggerEvents = [];\n }\n if (typeof partialStateOrMutator === 'function') {\n partialStateOrMutator(pinia.state.value[$id]);\n subscriptionMutation = {\n type: MutationType.patchFunction,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n else {\n mergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator);\n subscriptionMutation = {\n type: MutationType.patchObject,\n payload: partialStateOrMutator,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n const myListenerId = (activeListener = Symbol());\n nextTick().then(() => {\n if (activeListener === myListenerId) {\n isListening = true;\n }\n });\n isSyncListening = true;\n // because we paused the watcher, we need to manually call the subscriptions\n triggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]);\n }\n const $reset = isOptionsStore\n ? function $reset() {\n const { state } = options;\n const newState = state ? state() : {};\n // we use a patch to group all changes into one single subscription\n this.$patch(($state) => {\n assign($state, newState);\n });\n }\n : /* istanbul ignore next */\n (process.env.NODE_ENV !== 'production')\n ? () => {\n throw new Error(`🍍: Store \"${$id}\" is built using the setup syntax and does not implement $reset().`);\n }\n : noop;\n function $dispose() {\n scope.stop();\n subscriptions = [];\n actionSubscriptions = [];\n pinia._s.delete($id);\n }\n /**\n * Wraps an action to handle subscriptions.\n *\n * @param name - name of the action\n * @param action - action to wrap\n * @returns a wrapped action to handle subscriptions\n */\n function wrapAction(name, action) {\n return function () {\n setActivePinia(pinia);\n const args = Array.from(arguments);\n const afterCallbackList = [];\n const onErrorCallbackList = [];\n function after(callback) {\n afterCallbackList.push(callback);\n }\n function onError(callback) {\n onErrorCallbackList.push(callback);\n }\n // @ts-expect-error\n triggerSubscriptions(actionSubscriptions, {\n args,\n name,\n store,\n after,\n onError,\n });\n let ret;\n try {\n ret = action.apply(this && this.$id === $id ? this : store, args);\n // handle sync errors\n }\n catch (error) {\n triggerSubscriptions(onErrorCallbackList, error);\n throw error;\n }\n if (ret instanceof Promise) {\n return ret\n .then((value) => {\n triggerSubscriptions(afterCallbackList, value);\n return value;\n })\n .catch((error) => {\n triggerSubscriptions(onErrorCallbackList, error);\n return Promise.reject(error);\n });\n }\n // trigger after callbacks\n triggerSubscriptions(afterCallbackList, ret);\n return ret;\n };\n }\n const _hmrPayload = /*#__PURE__*/ markRaw({\n actions: {},\n getters: {},\n state: [],\n hotState,\n });\n const partialStore = {\n _p: pinia,\n // _s: scope,\n $id,\n $onAction: addSubscription.bind(null, actionSubscriptions),\n $patch,\n $reset,\n $subscribe(callback, options = {}) {\n const removeSubscription = addSubscription(subscriptions, callback, options.detached, () => stopWatcher());\n const stopWatcher = scope.run(() => watch(() => pinia.state.value[$id], (state) => {\n if (options.flush === 'sync' ? isSyncListening : isListening) {\n callback({\n storeId: $id,\n type: MutationType.direct,\n events: debuggerEvents,\n }, state);\n }\n }, assign({}, $subscribeOptions, options)));\n return removeSubscription;\n },\n $dispose,\n };\n /* istanbul ignore if */\n if (isVue2) {\n // start as non ready\n partialStore._r = false;\n }\n const store = reactive((process.env.NODE_ENV !== 'production') || USE_DEVTOOLS\n ? assign({\n _hmrPayload,\n _customProperties: markRaw(new Set()), // devtools custom properties\n }, partialStore\n // must be added later\n // setupStore\n )\n : partialStore);\n // store the partial store now so the setup of stores can instantiate each other before they are finished without\n // creating infinite loops.\n pinia._s.set($id, store);\n // TODO: idea create skipSerialize that marks properties as non serializable and they are skipped\n const setupStore = pinia._e.run(() => {\n scope = effectScope();\n return scope.run(() => setup());\n });\n // overwrite existing actions to support $onAction\n for (const key in setupStore) {\n const prop = setupStore[key];\n if ((isRef(prop) && !isComputed(prop)) || isReactive(prop)) {\n // mark it as a piece of state to be serialized\n if ((process.env.NODE_ENV !== 'production') && hot) {\n set(hotState.value, key, toRef(setupStore, key));\n // createOptionStore directly sets the state in pinia.state.value so we\n // can just skip that\n }\n else if (!isOptionsStore) {\n // in setup stores we must hydrate the state and sync pinia state tree with the refs the user just created\n if (initialState && shouldHydrate(prop)) {\n if (isRef(prop)) {\n prop.value = initialState[key];\n }\n else {\n // probably a reactive object, lets recursively assign\n // @ts-expect-error: prop is unknown\n mergeReactiveObjects(prop, initialState[key]);\n }\n }\n // transfer the ref to the pinia state to keep everything in sync\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value[$id], key, prop);\n }\n else {\n pinia.state.value[$id][key] = prop;\n }\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.state.push(key);\n }\n // action\n }\n else if (typeof prop === 'function') {\n // @ts-expect-error: we are overriding the function we avoid wrapping if\n const actionValue = (process.env.NODE_ENV !== 'production') && hot ? prop : wrapAction(key, prop);\n // this a hot module replacement store because the hotUpdate method needs\n // to do it with the right context\n /* istanbul ignore if */\n if (isVue2) {\n set(setupStore, key, actionValue);\n }\n else {\n // @ts-expect-error\n setupStore[key] = actionValue;\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.actions[key] = prop;\n }\n // list actions so they can be used in plugins\n // @ts-expect-error\n optionsForPlugin.actions[key] = prop;\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n // add getters for devtools\n if (isComputed(prop)) {\n _hmrPayload.getters[key] = isOptionsStore\n ? // @ts-expect-error\n options.getters[key]\n : prop;\n if (IS_CLIENT) {\n const getters = setupStore._getters ||\n // @ts-expect-error: same\n (setupStore._getters = markRaw([]));\n getters.push(key);\n }\n }\n }\n }\n // add the state, getters, and action properties\n /* istanbul ignore if */\n if (isVue2) {\n Object.keys(setupStore).forEach((key) => {\n set(store, key, setupStore[key]);\n });\n }\n else {\n assign(store, setupStore);\n // allows retrieving reactive objects with `storeToRefs()`. Must be called after assigning to the reactive object.\n // Make `storeToRefs()` work with `reactive()` #799\n assign(toRaw(store), setupStore);\n }\n // use this instead of a computed with setter to be able to create it anywhere\n // without linking the computed lifespan to wherever the store is first\n // created.\n Object.defineProperty(store, '$state', {\n get: () => ((process.env.NODE_ENV !== 'production') && hot ? hotState.value : pinia.state.value[$id]),\n set: (state) => {\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && hot) {\n throw new Error('cannot set hotState');\n }\n $patch(($state) => {\n assign($state, state);\n });\n },\n });\n // add the hotUpdate before plugins to allow them to override it\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n store._hotUpdate = markRaw((newStore) => {\n store._hotUpdating = true;\n newStore._hmrPayload.state.forEach((stateKey) => {\n if (stateKey in store.$state) {\n const newStateTarget = newStore.$state[stateKey];\n const oldStateSource = store.$state[stateKey];\n if (typeof newStateTarget === 'object' &&\n isPlainObject(newStateTarget) &&\n isPlainObject(oldStateSource)) {\n patchObject(newStateTarget, oldStateSource);\n }\n else {\n // transfer the ref\n newStore.$state[stateKey] = oldStateSource;\n }\n }\n // patch direct access properties to allow store.stateProperty to work as\n // store.$state.stateProperty\n set(store, stateKey, toRef(newStore.$state, stateKey));\n });\n // remove deleted state properties\n Object.keys(store.$state).forEach((stateKey) => {\n if (!(stateKey in newStore.$state)) {\n del(store, stateKey);\n }\n });\n // avoid devtools logging this as a mutation\n isListening = false;\n isSyncListening = false;\n pinia.state.value[$id] = toRef(newStore._hmrPayload, 'hotState');\n isSyncListening = true;\n nextTick().then(() => {\n isListening = true;\n });\n for (const actionName in newStore._hmrPayload.actions) {\n const action = newStore[actionName];\n set(store, actionName, wrapAction(actionName, action));\n }\n // TODO: does this work in both setup and option store?\n for (const getterName in newStore._hmrPayload.getters) {\n const getter = newStore._hmrPayload.getters[getterName];\n const getterValue = isOptionsStore\n ? // special handling of options api\n computed(() => {\n setActivePinia(pinia);\n return getter.call(store, store);\n })\n : getter;\n set(store, getterName, getterValue);\n }\n // remove deleted getters\n Object.keys(store._hmrPayload.getters).forEach((key) => {\n if (!(key in newStore._hmrPayload.getters)) {\n del(store, key);\n }\n });\n // remove old actions\n Object.keys(store._hmrPayload.actions).forEach((key) => {\n if (!(key in newStore._hmrPayload.actions)) {\n del(store, key);\n }\n });\n // update the values used in devtools and to allow deleting new properties later on\n store._hmrPayload = newStore._hmrPayload;\n store._getters = newStore._getters;\n store._hotUpdating = false;\n });\n }\n if (USE_DEVTOOLS) {\n const nonEnumerable = {\n writable: true,\n configurable: true,\n // avoid warning on devtools trying to display this property\n enumerable: false,\n };\n ['_p', '_hmrPayload', '_getters', '_customProperties'].forEach((p) => {\n Object.defineProperty(store, p, assign({ value: store[p] }, nonEnumerable));\n });\n }\n /* istanbul ignore if */\n if (isVue2) {\n // mark the store as ready before plugins\n store._r = true;\n }\n // apply all plugins\n pinia._p.forEach((extender) => {\n /* istanbul ignore else */\n if (USE_DEVTOOLS) {\n const extensions = scope.run(() => extender({\n store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n }));\n Object.keys(extensions || {}).forEach((key) => store._customProperties.add(key));\n assign(store, extensions);\n }\n else {\n assign(store, scope.run(() => extender({\n store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n })));\n }\n });\n if ((process.env.NODE_ENV !== 'production') &&\n store.$state &&\n typeof store.$state === 'object' &&\n typeof store.$state.constructor === 'function' &&\n !store.$state.constructor.toString().includes('[native code]')) {\n console.warn(`[🍍]: The \"state\" must be a plain object. It cannot be\\n` +\n `\\tstate: () => new MyClass()\\n` +\n `Found in store \"${store.$id}\".`);\n }\n // only apply hydrate to option stores with an initial state in pinia\n if (initialState &&\n isOptionsStore &&\n options.hydrate) {\n options.hydrate(store.$state, initialState);\n }\n isListening = true;\n isSyncListening = true;\n return store;\n}\nfunction defineStore(\n// TODO: add proper types from above\nidOrOptions, setup, setupOptions) {\n let id;\n let options;\n const isSetupStore = typeof setup === 'function';\n if (typeof idOrOptions === 'string') {\n id = idOrOptions;\n // the option store setup will contain the actual options in this case\n options = isSetupStore ? setupOptions : setup;\n }\n else {\n options = idOrOptions;\n id = idOrOptions.id;\n }\n function useStore(pinia, hot) {\n const currentInstance = getCurrentInstance();\n pinia =\n // in test mode, ignore the argument provided as we can always retrieve a\n // pinia instance with getActivePinia()\n ((process.env.NODE_ENV === 'test') && activePinia && activePinia._testing ? null : pinia) ||\n (currentInstance && inject(piniaSymbol, null));\n if (pinia)\n setActivePinia(pinia);\n if ((process.env.NODE_ENV !== 'production') && !activePinia) {\n throw new Error(`[🍍]: getActivePinia was called with no active Pinia. Did you forget to install pinia?\\n` +\n `\\tconst pinia = createPinia()\\n` +\n `\\tapp.use(pinia)\\n` +\n `This will fail in production.`);\n }\n pinia = activePinia;\n if (!pinia._s.has(id)) {\n // creating the store registers it in `pinia._s`\n if (isSetupStore) {\n createSetupStore(id, setup, options, pinia);\n }\n else {\n createOptionsStore(id, options, pinia);\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n // @ts-expect-error: not the right inferred type\n useStore._pinia = pinia;\n }\n }\n const store = pinia._s.get(id);\n if ((process.env.NODE_ENV !== 'production') && hot) {\n const hotId = '__hot:' + id;\n const newStore = isSetupStore\n ? createSetupStore(hotId, setup, options, pinia, true)\n : createOptionsStore(hotId, assign({}, options), pinia, true);\n hot._hotUpdate(newStore);\n // cleanup the state properties and the store from the cache\n delete pinia.state.value[hotId];\n pinia._s.delete(hotId);\n }\n // save stores in instances to access them devtools\n if ((process.env.NODE_ENV !== 'production') &&\n IS_CLIENT &&\n currentInstance &&\n currentInstance.proxy &&\n // avoid adding stores that are just built for hot module replacement\n !hot) {\n const vm = currentInstance.proxy;\n const cache = '_pStores' in vm ? vm._pStores : (vm._pStores = {});\n cache[id] = store;\n }\n // StoreGeneric cannot be casted towards Store\n return store;\n }\n useStore.$id = id;\n return useStore;\n}\n\nlet mapStoreSuffix = 'Store';\n/**\n * Changes the suffix added by `mapStores()`. Can be set to an empty string.\n * Defaults to `\"Store\"`. Make sure to extend the MapStoresCustomization\n * interface if you are using TypeScript.\n *\n * @param suffix - new suffix\n */\nfunction setMapStoreSuffix(suffix // could be 'Store' but that would be annoying for JS\n) {\n mapStoreSuffix = suffix;\n}\n/**\n * Allows using stores without the composition API (`setup()`) by generating an\n * object to be spread in the `computed` field of a component. It accepts a list\n * of store definitions.\n *\n * @example\n * ```js\n * export default {\n * computed: {\n * // other computed properties\n * ...mapStores(useUserStore, useCartStore)\n * },\n *\n * created() {\n * this.userStore // store with id \"user\"\n * this.cartStore // store with id \"cart\"\n * }\n * }\n * ```\n *\n * @param stores - list of stores to map to an object\n */\nfunction mapStores(...stores) {\n if ((process.env.NODE_ENV !== 'production') && Array.isArray(stores[0])) {\n console.warn(`[🍍]: Directly pass all stores to \"mapStores()\" without putting them in an array:\\n` +\n `Replace\\n` +\n `\\tmapStores([useAuthStore, useCartStore])\\n` +\n `with\\n` +\n `\\tmapStores(useAuthStore, useCartStore)\\n` +\n `This will fail in production if not fixed.`);\n stores = stores[0];\n }\n return stores.reduce((reduced, useStore) => {\n // @ts-expect-error: $id is added by defineStore\n reduced[useStore.$id + mapStoreSuffix] = function () {\n return useStore(this.$pinia);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n reduced[key] = function () {\n return useStore(this.$pinia)[key];\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function () {\n const store = useStore(this.$pinia);\n const storeKey = keysOrMapper[key];\n // for some reason TS is unable to infer the type of storeKey to be a\n // function\n return typeof storeKey === 'function'\n ? storeKey.call(this, store)\n : store[storeKey];\n };\n return reduced;\n }, {});\n}\n/**\n * Alias for `mapState()`. You should use `mapState()` instead.\n * @deprecated use `mapState()` instead.\n */\nconst mapGetters = mapState;\n/**\n * Allows directly using actions from your store without using the composition\n * API (`setup()`) by generating an object to be spread in the `methods` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapActions(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n return useStore(this.$pinia)[key](...args);\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n return useStore(this.$pinia)[keysOrMapper[key]](...args);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapWritableState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n // @ts-ignore\n reduced[key] = {\n get() {\n return useStore(this.$pinia)[key];\n },\n set(value) {\n // it's easier to type it here as any\n return (useStore(this.$pinia)[key] = value);\n },\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-ignore\n reduced[key] = {\n get() {\n return useStore(this.$pinia)[keysOrMapper[key]];\n },\n set(value) {\n // it's easier to type it here as any\n return (useStore(this.$pinia)[keysOrMapper[key]] = value);\n },\n };\n return reduced;\n }, {});\n}\n\n/**\n * Creates an object of references with all the state, getters, and plugin-added\n * state properties of the store. Similar to `toRefs()` but specifically\n * designed for Pinia stores so methods and non reactive properties are\n * completely ignored.\n *\n * @param store - store to extract the refs from\n */\nfunction storeToRefs(store) {\n // See https://github.com/vuejs/pinia/issues/852\n // It's easier to just use toRefs() even if it includes more stuff\n if (isVue2) {\n // @ts-expect-error: toRefs include methods and others\n return toRefs(store);\n }\n else {\n store = toRaw(store);\n const refs = {};\n for (const key in store) {\n const value = store[key];\n if (isRef(value) || isReactive(value)) {\n // @ts-expect-error: the key is state or getter\n refs[key] =\n // ---\n toRef(store, key);\n }\n }\n return refs;\n }\n}\n\n/**\n * Vue 2 Plugin that must be installed for pinia to work. Note **you don't need\n * this plugin if you are using Nuxt.js**. Use the `buildModule` instead:\n * https://pinia.vuejs.org/ssr/nuxt.html.\n *\n * @example\n * ```js\n * import Vue from 'vue'\n * import { PiniaVuePlugin, createPinia } from 'pinia'\n *\n * Vue.use(PiniaVuePlugin)\n * const pinia = createPinia()\n *\n * new Vue({\n * el: '#app',\n * // ...\n * pinia,\n * })\n * ```\n *\n * @param _Vue - `Vue` imported from 'vue'.\n */\nconst PiniaVuePlugin = function (_Vue) {\n // Equivalent of\n // app.config.globalProperties.$pinia = pinia\n _Vue.mixin({\n beforeCreate() {\n const options = this.$options;\n if (options.pinia) {\n const pinia = options.pinia;\n // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/main/src/apis/inject.ts#L31\n /* istanbul ignore else */\n if (!this._provided) {\n const provideCache = {};\n Object.defineProperty(this, '_provided', {\n get: () => provideCache,\n set: (v) => Object.assign(provideCache, v),\n });\n }\n this._provided[piniaSymbol] = pinia;\n // propagate the pinia instance in an SSR friendly way\n // avoid adding it to nuxt twice\n /* istanbul ignore else */\n if (!this.$pinia) {\n this.$pinia = pinia;\n }\n pinia._a = this;\n if (IS_CLIENT) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n }\n if (USE_DEVTOOLS) {\n registerPiniaDevtools(pinia._a, pinia);\n }\n }\n else if (!this.$pinia && options.parent && options.parent.$pinia) {\n this.$pinia = options.parent.$pinia;\n }\n },\n destroyed() {\n delete this._pStores;\n },\n });\n};\n\nexport { MutationType, PiniaVuePlugin, acceptHMRUpdate, createPinia, defineStore, getActivePinia, mapActions, mapGetters, mapState, mapStores, mapWritableState, setActivePinia, setMapStoreSuffix, skipHydrate, storeToRefs };\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcAppContent',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.currentView?.legacy),expression:\"!currentView?.legacy\"}],class:{'app-content--hidden': _vm.currentView?.legacy},attrs:{\"data-cy-files-content\":\"\"}},[_c('div',{staticClass:\"files-list__header\"},[_c('BreadCrumbs',{attrs:{\"path\":_vm.dir},on:{\"reload\":_vm.fetchContent}}),_vm._v(\" \"),(_vm.isRefreshing)?_c('NcLoadingIcon',{staticClass:\"files-list__refresh-icon\"}):_vm._e()],1),_vm._v(\" \"),(_vm.loading && !_vm.isRefreshing)?_c('NcLoadingIcon',{staticClass:\"files-list__loading-icon\",attrs:{\"size\":38,\"title\":_vm.t('files', 'Loading current folder')}}):(!_vm.loading && _vm.isEmptyDir)?_c('NcEmptyContent',{attrs:{\"title\":_vm.t('files', 'No files in here'),\"description\":_vm.t('files', 'No files or folders have been deleted yet'),\"data-cy-files-content-empty\":\"\"},scopedSlots:_vm._u([{key:\"action\",fn:function(){return [(_vm.dir !== '/')?_c('NcButton',{attrs:{\"aria-label\":\"t('files', 'Go to the previous folder')\",\"type\":\"primary\",\"to\":_vm.toPreviousDir}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Go back'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true},{key:\"icon\",fn:function(){return [_c('TrashCan')]},proxy:true}])}):_c('FilesListVirtual',{ref:\"filesListVirtual\",attrs:{\"current-view\":_vm.currentView,\"nodes\":_vm.dirContents}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * natural-orderby v3.0.2\n *\n * Copyright (c) Olaf Ennen\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nvar compareNumbers = function compareNumbers(numberA, numberB) {\n if (numberA < numberB) {\n return -1;\n }\n if (numberA > numberB) {\n return 1;\n }\n return 0;\n};\n\nvar compareUnicode = function compareUnicode(stringA, stringB) {\n var result = stringA.localeCompare(stringB);\n return result ? result / Math.abs(result) : 0;\n};\n\nvar RE_NUMBERS = /(^0x[\\da-fA-F]+$|^([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?(?!\\.\\d+)(?=\\D|\\s|$))|\\d+)/g;\nvar RE_LEADING_OR_TRAILING_WHITESPACES = /^\\s+|\\s+$/g; // trim pre-post whitespace\nvar RE_WHITESPACES = /\\s+/g; // normalize all whitespace to single ' ' character\nvar RE_INT_OR_FLOAT = /^[+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?$/; // identify integers and floats\nvar RE_DATE = /(^([\\w ]+,?[\\w ]+)?[\\w ]+,?[\\w ]+\\d+:\\d+(:\\d+)?[\\w ]?|^\\d{1,4}[/-]\\d{1,4}[/-]\\d{1,4}|^\\w+, \\w+ \\d+, \\d{4})/; // identify date strings\nvar RE_LEADING_ZERO = /^0+[1-9]{1}[0-9]*$/;\n// eslint-disable-next-line no-control-regex\nvar RE_UNICODE_CHARACTERS = /[^\\x00-\\x80]/;\n\nvar stringCompare = function stringCompare(stringA, stringB) {\n if (stringA < stringB) {\n return -1;\n }\n if (stringA > stringB) {\n return 1;\n }\n return 0;\n};\n\nvar compareChunks = function compareChunks(chunksA, chunksB) {\n var lengthA = chunksA.length;\n var lengthB = chunksB.length;\n var size = Math.min(lengthA, lengthB);\n for (var i = 0; i < size; i++) {\n var chunkA = chunksA[i];\n var chunkB = chunksB[i];\n if (chunkA.normalizedString !== chunkB.normalizedString) {\n if (chunkA.normalizedString === '' !== (chunkB.normalizedString === '')) {\n // empty strings have lowest value\n return chunkA.normalizedString === '' ? -1 : 1;\n }\n if (chunkA.parsedNumber !== undefined && chunkB.parsedNumber !== undefined) {\n // compare numbers\n var result = compareNumbers(chunkA.parsedNumber, chunkB.parsedNumber);\n if (result === 0) {\n // compare string value, if parsed numbers are equal\n // Example:\n // chunkA = { parsedNumber: 1, normalizedString: \"001\" }\n // chunkB = { parsedNumber: 1, normalizedString: \"01\" }\n // chunkA.parsedNumber === chunkB.parsedNumber\n // chunkA.normalizedString < chunkB.normalizedString\n return stringCompare(chunkA.normalizedString, chunkB.normalizedString);\n }\n return result;\n } else if (chunkA.parsedNumber !== undefined || chunkB.parsedNumber !== undefined) {\n // number < string\n return chunkA.parsedNumber !== undefined ? -1 : 1;\n } else if (RE_UNICODE_CHARACTERS.test(chunkA.normalizedString + chunkB.normalizedString)) {\n // use locale comparison only if one of the chunks contains unicode characters\n return compareUnicode(chunkA.normalizedString, chunkB.normalizedString);\n } else {\n // use common string comparison for performance reason\n return stringCompare(chunkA.normalizedString, chunkB.normalizedString);\n }\n }\n }\n // if the chunks are equal so far, the one which has more chunks is greater than the other one\n if (lengthA > size || lengthB > size) {\n return lengthA <= size ? -1 : 1;\n }\n return 0;\n};\n\nvar compareOtherTypes = function compareOtherTypes(valueA, valueB) {\n if (!valueA.chunks ? valueB.chunks : !valueB.chunks) {\n return !valueA.chunks ? 1 : -1;\n }\n if (valueA.isNaN ? !valueB.isNaN : valueB.isNaN) {\n return valueA.isNaN ? -1 : 1;\n }\n if (valueA.isSymbol ? !valueB.isSymbol : valueB.isSymbol) {\n return valueA.isSymbol ? -1 : 1;\n }\n if (valueA.isObject ? !valueB.isObject : valueB.isObject) {\n return valueA.isObject ? -1 : 1;\n }\n if (valueA.isArray ? !valueB.isArray : valueB.isArray) {\n return valueA.isArray ? -1 : 1;\n }\n if (valueA.isFunction ? !valueB.isFunction : valueB.isFunction) {\n return valueA.isFunction ? -1 : 1;\n }\n if (valueA.isNull ? !valueB.isNull : valueB.isNull) {\n return valueA.isNull ? -1 : 1;\n }\n return 0;\n};\n\nvar compareValues = function compareValues(valueA, valueB) {\n if (valueA.value === valueB.value) {\n return 0;\n }\n if (valueA.parsedNumber !== undefined && valueB.parsedNumber !== undefined) {\n return compareNumbers(valueA.parsedNumber, valueB.parsedNumber);\n }\n if (valueA.chunks && valueB.chunks) {\n return compareChunks(valueA.chunks, valueB.chunks);\n }\n return compareOtherTypes(valueA, valueB);\n};\n\nvar normalizeAlphaChunk = function normalizeAlphaChunk(chunk) {\n return chunk.replace(RE_WHITESPACES, ' ').replace(RE_LEADING_OR_TRAILING_WHITESPACES, '');\n};\n\nvar parseNumber = function parseNumber(value) {\n if (value.length !== 0) {\n var parsedNumber = Number(value);\n if (!Number.isNaN(parsedNumber)) {\n return parsedNumber;\n }\n }\n return undefined;\n};\n\nvar normalizeNumericChunk = function normalizeNumericChunk(chunk, index, chunks) {\n if (RE_INT_OR_FLOAT.test(chunk)) {\n // don´t parse a number, if there´s a preceding decimal point\n // to keep significance\n // e.g. 1.0020, 1.020\n if (!RE_LEADING_ZERO.test(chunk) || index === 0 || chunks[index - 1] !== '.') {\n return parseNumber(chunk) || 0;\n }\n }\n return undefined;\n};\n\nvar createChunkMap = function createChunkMap(chunk, index, chunks) {\n return {\n parsedNumber: normalizeNumericChunk(chunk, index, chunks),\n normalizedString: normalizeAlphaChunk(chunk)\n };\n};\n\nvar createChunks = function createChunks(value) {\n return value.replace(RE_NUMBERS, '\\0$1\\0').replace(/\\0$/, '').replace(/^\\0/, '').split('\\0');\n};\n\nvar createChunkMaps = function createChunkMaps(value) {\n var chunksMaps = createChunks(value).map(createChunkMap);\n return chunksMaps;\n};\n\nvar isFunction = function isFunction(value) {\n return typeof value === 'function';\n};\n\nvar isNaN = function isNaN(value) {\n return Number.isNaN(value) || value instanceof Number && Number.isNaN(value.valueOf());\n};\n\nvar isNull = function isNull(value) {\n return value === null;\n};\n\nvar isObject = function isObject(value) {\n return value !== null && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Number) && !(value instanceof String) && !(value instanceof Boolean) && !(value instanceof Date);\n};\n\nvar isSymbol = function isSymbol(value) {\n return typeof value === 'symbol';\n};\n\nvar isUndefined = function isUndefined(value) {\n return value === undefined;\n};\n\nvar parseDate = function parseDate(value) {\n try {\n var parsedDate = Date.parse(value);\n if (!Number.isNaN(parsedDate)) {\n if (RE_DATE.test(value)) {\n return parsedDate;\n }\n }\n return undefined;\n } catch (_unused) {\n return undefined;\n }\n};\n\nvar numberify = function numberify(value) {\n var parsedNumber = parseNumber(value);\n if (parsedNumber !== undefined) {\n return parsedNumber;\n }\n return parseDate(value);\n};\n\nvar stringify = function stringify(value) {\n if (typeof value === 'boolean' || value instanceof Boolean) {\n return Number(value).toString();\n }\n if (typeof value === 'number' || value instanceof Number) {\n return value.toString();\n }\n if (value instanceof Date) {\n return value.getTime().toString();\n }\n if (typeof value === 'string' || value instanceof String) {\n return value.toLowerCase().replace(RE_LEADING_OR_TRAILING_WHITESPACES, '');\n }\n return '';\n};\n\nvar getMappedValueRecord = function getMappedValueRecord(value) {\n if (typeof value === 'string' || value instanceof String || (typeof value === 'number' || value instanceof Number) && !isNaN(value) || typeof value === 'boolean' || value instanceof Boolean || value instanceof Date) {\n var stringValue = stringify(value);\n var parsedNumber = numberify(stringValue);\n var chunks = createChunkMaps(parsedNumber ? \"\" + parsedNumber : stringValue);\n return {\n parsedNumber: parsedNumber,\n chunks: chunks,\n value: value\n };\n }\n return {\n isArray: Array.isArray(value),\n isFunction: isFunction(value),\n isNaN: isNaN(value),\n isNull: isNull(value),\n isObject: isObject(value),\n isSymbol: isSymbol(value),\n isUndefined: isUndefined(value),\n value: value\n };\n};\n\nvar baseCompare = function baseCompare(options) {\n return function (valueA, valueB) {\n var a = getMappedValueRecord(valueA);\n var b = getMappedValueRecord(valueB);\n var result = compareValues(a, b);\n return result * (options.order === 'desc' ? -1 : 1);\n };\n};\n\nvar isValidOrder = function isValidOrder(value) {\n return typeof value === 'string' && (value === 'asc' || value === 'desc');\n};\nvar getOptions = function getOptions(customOptions) {\n var order = 'asc';\n if (typeof customOptions === 'string' && isValidOrder(customOptions)) {\n order = customOptions;\n } else if (customOptions && typeof customOptions === 'object' && customOptions.order && isValidOrder(customOptions.order)) {\n order = customOptions.order;\n }\n return {\n order: order\n };\n};\n\n/**\n * Creates a compare function that defines the natural sort order considering\n * the given `options` which may be passed to [`Array.prototype.sort()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort).\n */\nfunction compare(options) {\n var validatedOptions = getOptions(options);\n return baseCompare(validatedOptions);\n}\n\nvar compareMultiple = function compareMultiple(recordA, recordB, orders) {\n var indexA = recordA.index,\n valuesA = recordA.values;\n var indexB = recordB.index,\n valuesB = recordB.values;\n var length = valuesA.length;\n var ordersLength = orders.length;\n for (var i = 0; i < length; i++) {\n var order = i < ordersLength ? orders[i] : null;\n if (order && typeof order === 'function') {\n var result = order(valuesA[i].value, valuesB[i].value);\n if (result) {\n return result;\n }\n } else {\n var _result = compareValues(valuesA[i], valuesB[i]);\n if (_result) {\n return _result * (order === 'desc' ? -1 : 1);\n }\n }\n }\n return indexA - indexB;\n};\n\nvar createIdentifierFn = function createIdentifierFn(identifier) {\n if (typeof identifier === 'function') {\n // identifier is already a lookup function\n return identifier;\n }\n return function (value) {\n if (Array.isArray(value)) {\n var index = Number(identifier);\n if (Number.isInteger(index)) {\n return value[index];\n }\n } else if (value && typeof value === 'object') {\n var result = Object.getOwnPropertyDescriptor(value, identifier);\n return result == null ? void 0 : result.value;\n }\n return value;\n };\n};\n\nvar getElementByIndex = function getElementByIndex(collection, index) {\n return collection[index];\n};\n\nvar getValueByIdentifier = function getValueByIdentifier(value, getValue) {\n return getValue(value);\n};\n\nvar baseOrderBy = function baseOrderBy(collection, identifiers, orders) {\n var identifierFns = identifiers.length ? identifiers.map(createIdentifierFn) : [function (value) {\n return value;\n }];\n\n // temporary array holds elements with position and sort-values\n var mappedCollection = collection.map(function (element, index) {\n var values = identifierFns.map(function (identifier) {\n return getValueByIdentifier(element, identifier);\n }).map(getMappedValueRecord);\n return {\n index: index,\n values: values\n };\n });\n\n // iterate over values and compare values until a != b or last value reached\n mappedCollection.sort(function (recordA, recordB) {\n return compareMultiple(recordA, recordB, orders);\n });\n return mappedCollection.map(function (element) {\n return getElementByIndex(collection, element.index);\n });\n};\n\nvar getIdentifiers = function getIdentifiers(identifiers) {\n if (!identifiers) {\n return [];\n }\n var identifierList = !Array.isArray(identifiers) ? [identifiers] : [].concat(identifiers);\n if (identifierList.some(function (identifier) {\n return typeof identifier !== 'string' && typeof identifier !== 'number' && typeof identifier !== 'function';\n })) {\n return [];\n }\n return identifierList;\n};\n\nvar getOrders = function getOrders(orders) {\n if (!orders) {\n return [];\n }\n var orderList = !Array.isArray(orders) ? [orders] : [].concat(orders);\n if (orderList.some(function (order) {\n return order !== 'asc' && order !== 'desc' && typeof order !== 'function';\n })) {\n return [];\n }\n return orderList;\n};\n\n/**\n * Creates an array of elements, natural sorted by specified identifiers and\n * the corresponding sort orders. This method implements a stable sort\n * algorithm, which means the original sort order of equal elements is\n * preserved.\n */\nfunction orderBy(collection, identifiers, orders) {\n if (!collection || !Array.isArray(collection)) {\n return [];\n }\n var validatedIdentifiers = getIdentifiers(identifiers);\n var validatedOrders = getOrders(orders);\n return baseOrderBy(collection, validatedIdentifiers, validatedOrders);\n}\n\nexport { compare, orderBy };\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrashCan.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrashCan.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TrashCan.vue?vue&type=template&id=b4e837d6&\"\nimport script from \"./TrashCan.vue?vue&type=script&lang=js&\"\nexport * from \"./TrashCan.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon trash-can-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M9,8H11V17H9V8M13,8H15V17H13V8Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineStore } from 'pinia';\nimport { subscribe } from '@nextcloud/event-bus';\nimport logger from '../logger';\nimport Vue from 'vue';\nexport const useFilesStore = function () {\n const store = defineStore('files', {\n state: () => ({\n files: {},\n roots: {},\n }),\n getters: {\n /**\n * Get a file or folder by id\n */\n getNode: (state) => (id) => state.files[id],\n /**\n * Get a list of files or folders by their IDs\n * Does not return undefined values\n */\n getNodes: (state) => (ids) => ids\n .map(id => state.files[id])\n .filter(Boolean),\n /**\n * Get a file or folder by id\n */\n getRoot: (state) => (service) => state.roots[service],\n },\n actions: {\n updateNodes(nodes) {\n // Update the store all at once\n const files = nodes.reduce((acc, node) => {\n if (!node.fileid) {\n logger.warn('Trying to update/set a node without fileid', node);\n return acc;\n }\n acc[node.fileid] = node;\n return acc;\n }, {});\n Vue.set(this, 'files', { ...this.files, ...files });\n },\n deleteNodes(nodes) {\n nodes.forEach(node => {\n if (node.fileid) {\n Vue.delete(this.files, node.fileid);\n }\n });\n },\n setRoot({ service, root }) {\n Vue.set(this.roots, service, root);\n },\n onDeletedNode(node) {\n this.deleteNodes([node]);\n },\n }\n });\n const fileStore = store(...arguments);\n // Make sure we only register the listeners once\n if (!fileStore._initialized) {\n // subscribe('files:node:created', fileStore.onCreatedNode)\n subscribe('files:node:deleted', fileStore.onDeletedNode);\n // subscribe('files:node:moved', fileStore.onMovedNode)\n // subscribe('files:node:updated', fileStore.onUpdatedNode)\n fileStore._initialized = true;\n }\n return fileStore;\n};\n","import { defineStore } from 'pinia';\nimport { subscribe } from '@nextcloud/event-bus';\nimport Vue from 'vue';\nexport const usePathsStore = function () {\n const store = defineStore('paths', {\n state: () => ({\n paths: {}\n }),\n getters: {\n getPath: (state) => {\n return (service, path) => {\n if (!state.paths[service]) {\n return undefined;\n }\n return state.paths[service][path];\n };\n },\n },\n actions: {\n addPath(payload) {\n // If it doesn't exists, init the service state\n if (!this.paths[payload.service]) {\n Vue.set(this.paths, payload.service, {});\n }\n // Now we can set the provided path\n Vue.set(this.paths[payload.service], payload.path, payload.fileid);\n },\n }\n });\n const pathsStore = store(...arguments);\n // Make sure we only register the listeners once\n if (!pathsStore._initialized) {\n // TODO: watch folders to update paths?\n // subscribe('files:node:created', pathsStore.onCreatedNode)\n // subscribe('files:node:deleted', pathsStore.onDeletedNode)\n // subscribe('files:node:moved', pathsStore.onMovedNode)\n pathsStore._initialized = true;\n }\n return pathsStore;\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/* eslint-disable */\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\nimport { FileId, SelectionStore } from '../types';\nexport const useSelectionStore = defineStore('selection', {\n state: () => ({\n selected: [],\n lastSelection: [],\n lastSelectedIndex: null,\n }),\n actions: {\n /**\n * Set the selection of fileIds\n */\n set(selection = []) {\n Vue.set(this, 'selected', selection);\n },\n /**\n * Set the last selected index\n */\n setLastIndex(lastSelectedIndex = null) {\n // Update the last selection if we provided a new selection starting point\n Vue.set(this, 'lastSelection', lastSelectedIndex ? this.selected : []);\n Vue.set(this, 'lastSelectedIndex', lastSelectedIndex);\n },\n /**\n * Reset the selection\n */\n reset() {\n Vue.set(this, 'selected', []);\n Vue.set(this, 'lastSelection', []);\n Vue.set(this, 'lastSelectedIndex', null);\n }\n }\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/* eslint-disable */\nimport { defineStore } from 'pinia';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\nimport { loadState } from '@nextcloud/initial-state';\nimport axios from '@nextcloud/axios';\nimport Vue from 'vue';\nconst viewConfig = loadState('files', 'viewConfigs', {});\nexport const useViewConfigStore = function () {\n const store = defineStore('viewconfig', {\n state: () => ({\n viewConfig,\n }),\n getters: {\n getConfig: (state) => (view) => state.viewConfig[view] || {},\n },\n actions: {\n /**\n * Update the view config local store\n */\n onUpdate(view, key, value) {\n if (!this.viewConfig[view]) {\n Vue.set(this.viewConfig, view, {});\n }\n Vue.set(this.viewConfig[view], key, value);\n },\n /**\n * Update the view config local store AND on server side\n */\n async update(view, key, value) {\n axios.put(generateUrl(`/apps/files/api/v1/views/${view}/${key}`), {\n value,\n });\n emit('files:viewconfig:updated', { view, key, value });\n },\n /**\n * Set the sorting key AND sort by ASC\n * The key param must be a valid key of a File object\n * If not found, will be searched within the File attributes\n */\n setSortingBy(key = 'basename', view = 'files') {\n // Save new config\n this.update(view, 'sorting_mode', key);\n this.update(view, 'sorting_direction', 'asc');\n },\n /**\n * Toggle the sorting direction\n */\n toggleSortingDirection(view = 'files') {\n const config = this.getConfig(view) || { 'sorting_direction': 'asc' };\n const newDirection = config.sorting_direction === 'asc' ? 'desc' : 'asc';\n // Save new config\n this.update(view, 'sorting_direction', newDirection);\n }\n }\n });\n const viewConfigStore = store(...arguments);\n // Make sure we only register the listeners once\n if (!viewConfigStore._initialized) {\n subscribe('files:viewconfig:updated', function ({ view, key, value }) {\n viewConfigStore.onUpdate(view, key, value);\n });\n viewConfigStore._initialized = true;\n }\n return viewConfigStore;\n};\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","\n\n","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=69a49b0f&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon home-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=style&index=0&id=68b3b20b&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=style&index=0&id=68b3b20b&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./BreadCrumbs.vue?vue&type=template&id=68b3b20b&scoped=true&\"\nimport script from \"./BreadCrumbs.vue?vue&type=script&lang=js&\"\nexport * from \"./BreadCrumbs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BreadCrumbs.vue?vue&type=style&index=0&id=68b3b20b&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"68b3b20b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcBreadcrumbs',{attrs:{\"data-cy-files-content-breadcrumbs\":\"\"}},_vm._l((_vm.sections),function(section,index){return _c('NcBreadcrumb',_vm._b({key:section.dir,attrs:{\"aria-label\":_vm.ariaLabel(section),\"title\":_vm.ariaLabel(section)},nativeOn:{\"click\":function($event){return _vm.onClick(section.to)}},scopedSlots:_vm._u([(index === 0)?{key:\"icon\",fn:function(){return [_c('Home',{attrs:{\"size\":20}})]},proxy:true}:null],null,true)},'NcBreadcrumb',section,false))}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","function getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tcompareAndNotify: function compareAndNotify() {\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis._w = this.$el.offsetWidth;\n\t\t\t\tthis._h = this.$el.offsetHeight;\n\t\t\t\tthis.$emit('notify');\n\t\t\t}\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\t\t\tthis.compareAndNotify();\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\tVue.component('ResizeObserver', ResizeObserver);\n}\n\n// Plugin\nvar plugin = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.5\",\n\tinstall: install\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, ResizeObserver };\nexport default plugin;\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","import { ResizeObserver as ResizeObserver$1 } from 'vue-resize';\nimport { ObserveVisibility } from 'vue-observe-visibility';\nimport ScrollParent from 'scrollparent';\nimport Vue from 'vue';\n\nvar config = {\n itemsLimit: 1000\n};\n\nconst props = {\n items: {\n type: Array,\n required: true\n },\n keyField: {\n type: String,\n default: 'id'\n },\n direction: {\n type: String,\n default: 'vertical',\n validator: value => ['vertical', 'horizontal'].includes(value)\n },\n listTag: {\n type: String,\n default: 'div'\n },\n itemTag: {\n type: String,\n default: 'div'\n }\n};\nfunction simpleArray() {\n return this.items.length && typeof this.items[0] !== 'object';\n}\n\nlet supportsPassive = false;\nif (typeof window !== 'undefined') {\n supportsPassive = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n}\n\n//\nlet uid = 0;\nvar script$2 = {\n name: 'RecycleScroller',\n components: {\n ResizeObserver: ResizeObserver$1\n },\n directives: {\n ObserveVisibility\n },\n props: {\n ...props,\n itemSize: {\n type: Number,\n default: null\n },\n gridItems: {\n type: Number,\n default: undefined\n },\n itemSecondarySize: {\n type: Number,\n default: undefined\n },\n minItemSize: {\n type: [Number, String],\n default: null\n },\n sizeField: {\n type: String,\n default: 'size'\n },\n typeField: {\n type: String,\n default: 'type'\n },\n buffer: {\n type: Number,\n default: 200\n },\n pageMode: {\n type: Boolean,\n default: false\n },\n prerender: {\n type: Number,\n default: 0\n },\n emitUpdate: {\n type: Boolean,\n default: false\n },\n skipHover: {\n type: Boolean,\n default: false\n },\n listTag: {\n type: String,\n default: 'div'\n },\n itemTag: {\n type: String,\n default: 'div'\n },\n listClass: {\n type: [String, Object, Array],\n default: ''\n },\n itemClass: {\n type: [String, Object, Array],\n default: ''\n }\n },\n data() {\n return {\n pool: [],\n totalSize: 0,\n ready: false,\n hoverKey: null\n };\n },\n computed: {\n sizes() {\n if (this.itemSize === null) {\n const sizes = {\n '-1': {\n accumulator: 0\n }\n };\n const items = this.items;\n const field = this.sizeField;\n const minItemSize = this.minItemSize;\n let computedMinSize = 10000;\n let accumulator = 0;\n let current;\n for (let i = 0, l = items.length; i < l; i++) {\n current = items[i][field] || minItemSize;\n if (current < computedMinSize) {\n computedMinSize = current;\n }\n accumulator += current;\n sizes[i] = {\n accumulator,\n size: current\n };\n }\n // eslint-disable-next-line\n this.$_computedMinItemSize = computedMinSize;\n return sizes;\n }\n return [];\n },\n simpleArray\n },\n watch: {\n items() {\n this.updateVisibleItems(true);\n },\n pageMode() {\n this.applyPageMode();\n this.updateVisibleItems(false);\n },\n sizes: {\n handler() {\n this.updateVisibleItems(false);\n },\n deep: true\n },\n gridItems() {\n this.updateVisibleItems(true);\n },\n itemSecondarySize() {\n this.updateVisibleItems(true);\n }\n },\n created() {\n this.$_startIndex = 0;\n this.$_endIndex = 0;\n this.$_views = new Map();\n this.$_unusedViews = new Map();\n this.$_scrollDirty = false;\n this.$_lastUpdateScrollPosition = 0;\n\n // In SSR mode, we also prerender the same number of item for the first render\n // to avoir mismatch between server and client templates\n if (this.prerender) {\n this.$_prerender = true;\n this.updateVisibleItems(false);\n }\n if (this.gridItems && !this.itemSize) {\n console.error('[vue-recycle-scroller] You must provide an itemSize when using gridItems');\n }\n },\n mounted() {\n this.applyPageMode();\n this.$nextTick(() => {\n // In SSR mode, render the real number of visible items\n this.$_prerender = false;\n this.updateVisibleItems(true);\n this.ready = true;\n });\n },\n activated() {\n const lastPosition = this.$_lastUpdateScrollPosition;\n if (typeof lastPosition === 'number') {\n this.$nextTick(() => {\n this.scrollToPosition(lastPosition);\n });\n }\n },\n beforeDestroy() {\n this.removeListeners();\n },\n methods: {\n addView(pool, index, item, key, type) {\n const view = {\n item,\n position: 0\n };\n const nonReactive = {\n id: uid++,\n index,\n used: true,\n key,\n type\n };\n Object.defineProperty(view, 'nr', {\n configurable: false,\n value: nonReactive\n });\n pool.push(view);\n return view;\n },\n unuseView(view, fake = false) {\n const unusedViews = this.$_unusedViews;\n const type = view.nr.type;\n let unusedPool = unusedViews.get(type);\n if (!unusedPool) {\n unusedPool = [];\n unusedViews.set(type, unusedPool);\n }\n unusedPool.push(view);\n if (!fake) {\n view.nr.used = false;\n view.position = -9999;\n this.$_views.delete(view.nr.key);\n }\n },\n handleResize() {\n this.$emit('resize');\n if (this.ready) this.updateVisibleItems(false);\n },\n handleScroll(event) {\n if (!this.$_scrollDirty) {\n this.$_scrollDirty = true;\n requestAnimationFrame(() => {\n this.$_scrollDirty = false;\n const {\n continuous\n } = this.updateVisibleItems(false, true);\n\n // It seems sometimes chrome doesn't fire scroll event :/\n // When non continous scrolling is ending, we force a refresh\n if (!continuous) {\n clearTimeout(this.$_refreshTimout);\n this.$_refreshTimout = setTimeout(this.handleScroll, 100);\n }\n });\n }\n },\n handleVisibilityChange(isVisible, entry) {\n if (this.ready) {\n if (isVisible || entry.boundingClientRect.width !== 0 || entry.boundingClientRect.height !== 0) {\n this.$emit('visible');\n requestAnimationFrame(() => {\n this.updateVisibleItems(false);\n });\n } else {\n this.$emit('hidden');\n }\n }\n },\n updateVisibleItems(checkItem, checkPositionDiff = false) {\n const itemSize = this.itemSize;\n const gridItems = this.gridItems || 1;\n const itemSecondarySize = this.itemSecondarySize || itemSize;\n const minItemSize = this.$_computedMinItemSize;\n const typeField = this.typeField;\n const keyField = this.simpleArray ? null : this.keyField;\n const items = this.items;\n const count = items.length;\n const sizes = this.sizes;\n const views = this.$_views;\n const unusedViews = this.$_unusedViews;\n const pool = this.pool;\n let startIndex, endIndex;\n let totalSize;\n let visibleStartIndex, visibleEndIndex;\n if (!count) {\n startIndex = endIndex = visibleStartIndex = visibleEndIndex = totalSize = 0;\n } else if (this.$_prerender) {\n startIndex = visibleStartIndex = 0;\n endIndex = visibleEndIndex = Math.min(this.prerender, items.length);\n totalSize = null;\n } else {\n const scroll = this.getScroll();\n\n // Skip update if use hasn't scrolled enough\n if (checkPositionDiff) {\n let positionDiff = scroll.start - this.$_lastUpdateScrollPosition;\n if (positionDiff < 0) positionDiff = -positionDiff;\n if (itemSize === null && positionDiff < minItemSize || positionDiff < itemSize) {\n return {\n continuous: true\n };\n }\n }\n this.$_lastUpdateScrollPosition = scroll.start;\n const buffer = this.buffer;\n scroll.start -= buffer;\n scroll.end += buffer;\n\n // account for leading slot\n let beforeSize = 0;\n if (this.$refs.before) {\n beforeSize = this.$refs.before.scrollHeight;\n scroll.start -= beforeSize;\n }\n\n // account for trailing slot\n if (this.$refs.after) {\n const afterSize = this.$refs.after.scrollHeight;\n scroll.end += afterSize;\n }\n\n // Variable size mode\n if (itemSize === null) {\n let h;\n let a = 0;\n let b = count - 1;\n let i = ~~(count / 2);\n let oldI;\n\n // Searching for startIndex\n do {\n oldI = i;\n h = sizes[i].accumulator;\n if (h < scroll.start) {\n a = i;\n } else if (i < count - 1 && sizes[i + 1].accumulator > scroll.start) {\n b = i;\n }\n i = ~~((a + b) / 2);\n } while (i !== oldI);\n i < 0 && (i = 0);\n startIndex = i;\n\n // For container style\n totalSize = sizes[count - 1].accumulator;\n\n // Searching for endIndex\n for (endIndex = i; endIndex < count && sizes[endIndex].accumulator < scroll.end; endIndex++);\n if (endIndex === -1) {\n endIndex = items.length - 1;\n } else {\n endIndex++;\n // Bounds\n endIndex > count && (endIndex = count);\n }\n\n // search visible startIndex\n for (visibleStartIndex = startIndex; visibleStartIndex < count && beforeSize + sizes[visibleStartIndex].accumulator < scroll.start; visibleStartIndex++);\n\n // search visible endIndex\n for (visibleEndIndex = visibleStartIndex; visibleEndIndex < count && beforeSize + sizes[visibleEndIndex].accumulator < scroll.end; visibleEndIndex++);\n } else {\n // Fixed size mode\n startIndex = ~~(scroll.start / itemSize * gridItems);\n const remainer = startIndex % gridItems;\n startIndex -= remainer;\n endIndex = Math.ceil(scroll.end / itemSize * gridItems);\n visibleStartIndex = Math.max(0, Math.floor((scroll.start - beforeSize) / itemSize * gridItems));\n visibleEndIndex = Math.floor((scroll.end - beforeSize) / itemSize * gridItems);\n\n // Bounds\n startIndex < 0 && (startIndex = 0);\n endIndex > count && (endIndex = count);\n visibleStartIndex < 0 && (visibleStartIndex = 0);\n visibleEndIndex > count && (visibleEndIndex = count);\n totalSize = Math.ceil(count / gridItems) * itemSize;\n }\n }\n if (endIndex - startIndex > config.itemsLimit) {\n this.itemsLimitError();\n }\n this.totalSize = totalSize;\n let view;\n const continuous = startIndex <= this.$_endIndex && endIndex >= this.$_startIndex;\n if (this.$_continuous !== continuous) {\n if (continuous) {\n views.clear();\n unusedViews.clear();\n for (let i = 0, l = pool.length; i < l; i++) {\n view = pool[i];\n this.unuseView(view);\n }\n }\n this.$_continuous = continuous;\n } else if (continuous) {\n for (let i = 0, l = pool.length; i < l; i++) {\n view = pool[i];\n if (view.nr.used) {\n // Update view item index\n if (checkItem) {\n view.nr.index = items.indexOf(view.item);\n }\n\n // Check if index is still in visible range\n if (view.nr.index === -1 || view.nr.index < startIndex || view.nr.index >= endIndex) {\n this.unuseView(view);\n }\n }\n }\n }\n const unusedIndex = continuous ? null : new Map();\n let item, type, unusedPool;\n let v;\n for (let i = startIndex; i < endIndex; i++) {\n item = items[i];\n const key = keyField ? item[keyField] : item;\n if (key == null) {\n throw new Error(`Key is ${key} on item (keyField is '${keyField}')`);\n }\n view = views.get(key);\n if (!itemSize && !sizes[i].size) {\n if (view) this.unuseView(view);\n continue;\n }\n\n // No view assigned to item\n if (!view) {\n if (i === items.length - 1) this.$emit('scroll-end');\n if (i === 0) this.$emit('scroll-start');\n type = item[typeField];\n unusedPool = unusedViews.get(type);\n if (continuous) {\n // Reuse existing view\n if (unusedPool && unusedPool.length) {\n view = unusedPool.pop();\n view.item = item;\n view.nr.used = true;\n view.nr.index = i;\n view.nr.key = key;\n view.nr.type = type;\n } else {\n view = this.addView(pool, i, item, key, type);\n }\n } else {\n // Use existing view\n // We don't care if they are already used\n // because we are not in continous scrolling\n v = unusedIndex.get(type) || 0;\n if (!unusedPool || v >= unusedPool.length) {\n view = this.addView(pool, i, item, key, type);\n this.unuseView(view, true);\n unusedPool = unusedViews.get(type);\n }\n view = unusedPool[v];\n view.item = item;\n view.nr.used = true;\n view.nr.index = i;\n view.nr.key = key;\n view.nr.type = type;\n unusedIndex.set(type, v + 1);\n v++;\n }\n views.set(key, view);\n } else {\n view.nr.used = true;\n view.item = item;\n }\n\n // Update position\n if (itemSize === null) {\n view.position = sizes[i - 1].accumulator;\n view.offset = 0;\n } else {\n view.position = Math.floor(i / gridItems) * itemSize;\n view.offset = i % gridItems * itemSecondarySize;\n }\n }\n this.$_startIndex = startIndex;\n this.$_endIndex = endIndex;\n if (this.emitUpdate) this.$emit('update', startIndex, endIndex, visibleStartIndex, visibleEndIndex);\n\n // After the user has finished scrolling\n // Sort views so text selection is correct\n clearTimeout(this.$_sortTimer);\n this.$_sortTimer = setTimeout(this.sortViews, 300);\n return {\n continuous\n };\n },\n getListenerTarget() {\n let target = ScrollParent(this.$el);\n // Fix global scroll target for Chrome and Safari\n if (window.document && (target === window.document.documentElement || target === window.document.body)) {\n target = window;\n }\n return target;\n },\n getScroll() {\n const {\n $el: el,\n direction\n } = this;\n const isVertical = direction === 'vertical';\n let scrollState;\n if (this.pageMode) {\n const bounds = el.getBoundingClientRect();\n const boundsSize = isVertical ? bounds.height : bounds.width;\n let start = -(isVertical ? bounds.top : bounds.left);\n let size = isVertical ? window.innerHeight : window.innerWidth;\n if (start < 0) {\n size += start;\n start = 0;\n }\n if (start + size > boundsSize) {\n size = boundsSize - start;\n }\n scrollState = {\n start,\n end: start + size\n };\n } else if (isVertical) {\n scrollState = {\n start: el.scrollTop,\n end: el.scrollTop + el.clientHeight\n };\n } else {\n scrollState = {\n start: el.scrollLeft,\n end: el.scrollLeft + el.clientWidth\n };\n }\n return scrollState;\n },\n applyPageMode() {\n if (this.pageMode) {\n this.addListeners();\n } else {\n this.removeListeners();\n }\n },\n addListeners() {\n this.listenerTarget = this.getListenerTarget();\n this.listenerTarget.addEventListener('scroll', this.handleScroll, supportsPassive ? {\n passive: true\n } : false);\n this.listenerTarget.addEventListener('resize', this.handleResize);\n },\n removeListeners() {\n if (!this.listenerTarget) {\n return;\n }\n this.listenerTarget.removeEventListener('scroll', this.handleScroll);\n this.listenerTarget.removeEventListener('resize', this.handleResize);\n this.listenerTarget = null;\n },\n scrollToItem(index) {\n let scroll;\n if (this.itemSize === null) {\n scroll = index > 0 ? this.sizes[index - 1].accumulator : 0;\n } else {\n scroll = Math.floor(index / this.gridItems) * this.itemSize;\n }\n this.scrollToPosition(scroll);\n },\n scrollToPosition(position) {\n const direction = this.direction === 'vertical' ? {\n scroll: 'scrollTop',\n start: 'top'\n } : {\n scroll: 'scrollLeft',\n start: 'left'\n };\n let viewport;\n let scrollDirection;\n let scrollDistance;\n if (this.pageMode) {\n const viewportEl = ScrollParent(this.$el);\n // HTML doesn't overflow like other elements\n const scrollTop = viewportEl.tagName === 'HTML' ? 0 : viewportEl[direction.scroll];\n const bounds = viewportEl.getBoundingClientRect();\n const scroller = this.$el.getBoundingClientRect();\n const scrollerPosition = scroller[direction.start] - bounds[direction.start];\n viewport = viewportEl;\n scrollDirection = direction.scroll;\n scrollDistance = position + scrollTop + scrollerPosition;\n } else {\n viewport = this.$el;\n scrollDirection = direction.scroll;\n scrollDistance = position;\n }\n viewport[scrollDirection] = scrollDistance;\n },\n itemsLimitError() {\n setTimeout(() => {\n console.log('It seems the scroller element isn\\'t scrolling, so it tries to render all the items at once.', 'Scroller:', this.$el);\n console.log('Make sure the scroller has a fixed height (or width) and \\'overflow-y\\' (or \\'overflow-x\\') set to \\'auto\\' so it can scroll correctly and only render the items visible in the scroll viewport.');\n });\n throw new Error('Rendered items limit reached');\n },\n sortViews() {\n this.pool.sort((viewA, viewB) => viewA.nr.index - viewB.nr.index);\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n }\n // Vue.extend constructor export interop.\n const options = typeof script === 'function' ? script.options : script;\n // render functions\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true;\n // functional template\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n }\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId;\n }\n let hook;\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context = context ||\n // cached call\n this.$vnode && this.$vnode.ssrContext ||\n // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n }\n // inject component styles\n if (style) {\n style.call(this, createInjectorSSR(context));\n }\n // register component module identifier for async chunk inference\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n const originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n const existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return script;\n}\n\n/* script */\nconst __vue_script__$2 = script$2;\n/* template */\nvar __vue_render__$1 = function () {\n var _obj, _obj$1;\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"observe-visibility\",\n rawName: \"v-observe-visibility\",\n value: _vm.handleVisibilityChange,\n expression: \"handleVisibilityChange\",\n },\n ],\n staticClass: \"vue-recycle-scroller\",\n class:\n ((_obj = {\n ready: _vm.ready,\n \"page-mode\": _vm.pageMode,\n }),\n (_obj[\"direction-\" + _vm.direction] = true),\n _obj),\n on: {\n \"&scroll\": function ($event) {\n return _vm.handleScroll.apply(null, arguments)\n },\n },\n },\n [\n _vm.$slots.before\n ? _c(\n \"div\",\n { ref: \"before\", staticClass: \"vue-recycle-scroller__slot\" },\n [_vm._t(\"before\")],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n _vm.listTag,\n {\n ref: \"wrapper\",\n tag: \"component\",\n staticClass: \"vue-recycle-scroller__item-wrapper\",\n class: _vm.listClass,\n style:\n ((_obj$1 = {}),\n (_obj$1[_vm.direction === \"vertical\" ? \"minHeight\" : \"minWidth\"] =\n _vm.totalSize + \"px\"),\n _obj$1),\n },\n [\n _vm._l(_vm.pool, function (view) {\n return _c(\n _vm.itemTag,\n _vm._g(\n {\n key: view.nr.id,\n tag: \"component\",\n staticClass: \"vue-recycle-scroller__item-view\",\n class: [\n _vm.itemClass,\n {\n hover: !_vm.skipHover && _vm.hoverKey === view.nr.key,\n },\n ],\n style: _vm.ready\n ? {\n transform:\n \"translate\" +\n (_vm.direction === \"vertical\" ? \"Y\" : \"X\") +\n \"(\" +\n view.position +\n \"px) translate\" +\n (_vm.direction === \"vertical\" ? \"X\" : \"Y\") +\n \"(\" +\n view.offset +\n \"px)\",\n width: _vm.gridItems\n ? (_vm.direction === \"vertical\"\n ? _vm.itemSecondarySize || _vm.itemSize\n : _vm.itemSize) + \"px\"\n : undefined,\n height: _vm.gridItems\n ? (_vm.direction === \"horizontal\"\n ? _vm.itemSecondarySize || _vm.itemSize\n : _vm.itemSize) + \"px\"\n : undefined,\n }\n : null,\n },\n _vm.skipHover\n ? {}\n : {\n mouseenter: function () {\n _vm.hoverKey = view.nr.key;\n },\n mouseleave: function () {\n _vm.hoverKey = null;\n },\n }\n ),\n [\n _vm._t(\"default\", null, {\n item: view.item,\n index: view.nr.index,\n active: view.nr.used,\n }),\n ],\n 2\n )\n }),\n _vm._v(\" \"),\n _vm._t(\"empty\"),\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm.$slots.after\n ? _c(\n \"div\",\n { ref: \"after\", staticClass: \"vue-recycle-scroller__slot\" },\n [_vm._t(\"after\")],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"ResizeObserver\", { on: { notify: _vm.handleResize } }),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$1 = [];\n__vue_render__$1._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$2 = undefined;\n /* scoped */\n const __vue_scope_id__$2 = undefined;\n /* module identifier */\n const __vue_module_identifier__$2 = undefined;\n /* functional template */\n const __vue_is_functional_template__$2 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$2 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 },\n __vue_inject_styles__$2,\n __vue_script__$2,\n __vue_scope_id__$2,\n __vue_is_functional_template__$2,\n __vue_module_identifier__$2,\n false,\n undefined,\n undefined,\n undefined\n );\n\n//\nvar script$1 = {\n name: 'DynamicScroller',\n components: {\n RecycleScroller: __vue_component__$2\n },\n provide() {\n if (typeof ResizeObserver !== 'undefined') {\n this.$_resizeObserver = new ResizeObserver(entries => {\n requestAnimationFrame(() => {\n if (!Array.isArray(entries)) {\n return;\n }\n for (const entry of entries) {\n if (entry.target) {\n const event = new CustomEvent('resize', {\n detail: {\n contentRect: entry.contentRect\n }\n });\n entry.target.dispatchEvent(event);\n }\n }\n });\n });\n }\n return {\n vscrollData: this.vscrollData,\n vscrollParent: this,\n vscrollResizeObserver: this.$_resizeObserver\n };\n },\n inheritAttrs: false,\n props: {\n ...props,\n minItemSize: {\n type: [Number, String],\n required: true\n }\n },\n data() {\n return {\n vscrollData: {\n active: true,\n sizes: {},\n validSizes: {},\n keyField: this.keyField,\n simpleArray: false\n }\n };\n },\n computed: {\n simpleArray,\n itemsWithSize() {\n const result = [];\n const {\n items,\n keyField,\n simpleArray\n } = this;\n const sizes = this.vscrollData.sizes;\n const l = items.length;\n for (let i = 0; i < l; i++) {\n const item = items[i];\n const id = simpleArray ? i : item[keyField];\n let size = sizes[id];\n if (typeof size === 'undefined' && !this.$_undefinedMap[id]) {\n size = 0;\n }\n result.push({\n item,\n id,\n size\n });\n }\n return result;\n },\n listeners() {\n const listeners = {};\n for (const key in this.$listeners) {\n if (key !== 'resize' && key !== 'visible') {\n listeners[key] = this.$listeners[key];\n }\n }\n return listeners;\n }\n },\n watch: {\n items() {\n this.forceUpdate(false);\n },\n simpleArray: {\n handler(value) {\n this.vscrollData.simpleArray = value;\n },\n immediate: true\n },\n direction(value) {\n this.forceUpdate(true);\n },\n itemsWithSize(next, prev) {\n const scrollTop = this.$el.scrollTop;\n\n // Calculate total diff between prev and next sizes\n // over current scroll top. Then add it to scrollTop to\n // avoid jumping the contents that the user is seeing.\n let prevActiveTop = 0;\n let activeTop = 0;\n const length = Math.min(next.length, prev.length);\n for (let i = 0; i < length; i++) {\n if (prevActiveTop >= scrollTop) {\n break;\n }\n prevActiveTop += prev[i].size || this.minItemSize;\n activeTop += next[i].size || this.minItemSize;\n }\n const offset = activeTop - prevActiveTop;\n if (offset === 0) {\n return;\n }\n this.$el.scrollTop += offset;\n }\n },\n beforeCreate() {\n this.$_updates = [];\n this.$_undefinedSizes = 0;\n this.$_undefinedMap = {};\n },\n activated() {\n this.vscrollData.active = true;\n },\n deactivated() {\n this.vscrollData.active = false;\n },\n methods: {\n onScrollerResize() {\n const scroller = this.$refs.scroller;\n if (scroller) {\n this.forceUpdate();\n }\n this.$emit('resize');\n },\n onScrollerVisible() {\n this.$emit('vscroll:update', {\n force: false\n });\n this.$emit('visible');\n },\n forceUpdate(clear = true) {\n if (clear || this.simpleArray) {\n this.vscrollData.validSizes = {};\n }\n this.$emit('vscroll:update', {\n force: true\n });\n },\n scrollToItem(index) {\n const scroller = this.$refs.scroller;\n if (scroller) scroller.scrollToItem(index);\n },\n getItemSize(item, index = undefined) {\n const id = this.simpleArray ? index != null ? index : this.items.indexOf(item) : item[this.keyField];\n return this.vscrollData.sizes[id] || 0;\n },\n scrollToBottom() {\n if (this.$_scrollingToBottom) return;\n this.$_scrollingToBottom = true;\n const el = this.$el;\n // Item is inserted to the DOM\n this.$nextTick(() => {\n el.scrollTop = el.scrollHeight + 5000;\n // Item sizes are computed\n const cb = () => {\n el.scrollTop = el.scrollHeight + 5000;\n requestAnimationFrame(() => {\n el.scrollTop = el.scrollHeight + 5000;\n if (this.$_undefinedSizes === 0) {\n this.$_scrollingToBottom = false;\n } else {\n requestAnimationFrame(cb);\n }\n });\n };\n requestAnimationFrame(cb);\n });\n }\n }\n};\n\n/* script */\nconst __vue_script__$1 = script$1;\n\n/* template */\nvar __vue_render__ = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"RecycleScroller\",\n _vm._g(\n _vm._b(\n {\n ref: \"scroller\",\n attrs: {\n items: _vm.itemsWithSize,\n \"min-item-size\": _vm.minItemSize,\n direction: _vm.direction,\n \"key-field\": \"id\",\n \"list-tag\": _vm.listTag,\n \"item-tag\": _vm.itemTag,\n },\n on: { resize: _vm.onScrollerResize, visible: _vm.onScrollerVisible },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var itemWithSize = ref.item;\n var index = ref.index;\n var active = ref.active;\n return [\n _vm._t(\"default\", null, null, {\n item: itemWithSize.item,\n index: index,\n active: active,\n itemWithSize: itemWithSize,\n }),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n \"RecycleScroller\",\n _vm.$attrs,\n false\n ),\n _vm.listeners\n ),\n [\n _vm._v(\" \"),\n _c(\"template\", { slot: \"before\" }, [_vm._t(\"before\")], 2),\n _vm._v(\" \"),\n _c(\"template\", { slot: \"after\" }, [_vm._t(\"after\")], 2),\n _vm._v(\" \"),\n _c(\"template\", { slot: \"empty\" }, [_vm._t(\"empty\")], 2),\n ],\n 2\n )\n};\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$1 = undefined;\n /* scoped */\n const __vue_scope_id__$1 = undefined;\n /* module identifier */\n const __vue_module_identifier__$1 = undefined;\n /* functional template */\n const __vue_is_functional_template__$1 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$1 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__$1,\n __vue_script__$1,\n __vue_scope_id__$1,\n __vue_is_functional_template__$1,\n __vue_module_identifier__$1,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script = {\n name: 'DynamicScrollerItem',\n inject: ['vscrollData', 'vscrollParent', 'vscrollResizeObserver'],\n props: {\n // eslint-disable-next-line vue/require-prop-types\n item: {\n required: true\n },\n watchData: {\n type: Boolean,\n default: false\n },\n /**\n * Indicates if the view is actively used to display an item.\n */\n active: {\n type: Boolean,\n required: true\n },\n index: {\n type: Number,\n default: undefined\n },\n sizeDependencies: {\n type: [Array, Object],\n default: null\n },\n emitResize: {\n type: Boolean,\n default: false\n },\n tag: {\n type: String,\n default: 'div'\n }\n },\n computed: {\n id() {\n if (this.vscrollData.simpleArray) return this.index;\n // eslint-disable-next-line no-prototype-builtins\n if (this.item.hasOwnProperty(this.vscrollData.keyField)) return this.item[this.vscrollData.keyField];\n throw new Error(`keyField '${this.vscrollData.keyField}' not found in your item. You should set a valid keyField prop on your Scroller`);\n },\n size() {\n return this.vscrollData.validSizes[this.id] && this.vscrollData.sizes[this.id] || 0;\n },\n finalActive() {\n return this.active && this.vscrollData.active;\n }\n },\n watch: {\n watchData: 'updateWatchData',\n id() {\n if (!this.size) {\n this.onDataUpdate();\n }\n },\n finalActive(value) {\n if (!this.size) {\n if (value) {\n if (!this.vscrollParent.$_undefinedMap[this.id]) {\n this.vscrollParent.$_undefinedSizes++;\n this.vscrollParent.$_undefinedMap[this.id] = true;\n }\n } else {\n if (this.vscrollParent.$_undefinedMap[this.id]) {\n this.vscrollParent.$_undefinedSizes--;\n this.vscrollParent.$_undefinedMap[this.id] = false;\n }\n }\n }\n if (this.vscrollResizeObserver) {\n if (value) {\n this.observeSize();\n } else {\n this.unobserveSize();\n }\n } else if (value && this.$_pendingVScrollUpdate === this.id) {\n this.updateSize();\n }\n }\n },\n created() {\n if (this.$isServer) return;\n this.$_forceNextVScrollUpdate = null;\n this.updateWatchData();\n if (!this.vscrollResizeObserver) {\n for (const k in this.sizeDependencies) {\n this.$watch(() => this.sizeDependencies[k], this.onDataUpdate);\n }\n this.vscrollParent.$on('vscroll:update', this.onVscrollUpdate);\n this.vscrollParent.$on('vscroll:update-size', this.onVscrollUpdateSize);\n }\n },\n mounted() {\n if (this.vscrollData.active) {\n this.updateSize();\n this.observeSize();\n }\n },\n beforeDestroy() {\n this.vscrollParent.$off('vscroll:update', this.onVscrollUpdate);\n this.vscrollParent.$off('vscroll:update-size', this.onVscrollUpdateSize);\n this.unobserveSize();\n },\n methods: {\n updateSize() {\n if (this.finalActive) {\n if (this.$_pendingSizeUpdate !== this.id) {\n this.$_pendingSizeUpdate = this.id;\n this.$_forceNextVScrollUpdate = null;\n this.$_pendingVScrollUpdate = null;\n this.computeSize(this.id);\n }\n } else {\n this.$_forceNextVScrollUpdate = this.id;\n }\n },\n updateWatchData() {\n if (this.watchData && !this.vscrollResizeObserver) {\n this.$_watchData = this.$watch('item', () => {\n this.onDataUpdate();\n }, {\n deep: true\n });\n } else if (this.$_watchData) {\n this.$_watchData();\n this.$_watchData = null;\n }\n },\n onVscrollUpdate({\n force\n }) {\n // If not active, sechedule a size update when it becomes active\n if (!this.finalActive && force) {\n this.$_pendingVScrollUpdate = this.id;\n }\n if (this.$_forceNextVScrollUpdate === this.id || force || !this.size) {\n this.updateSize();\n }\n },\n onDataUpdate() {\n this.updateSize();\n },\n computeSize(id) {\n this.$nextTick(() => {\n if (this.id === id) {\n const width = this.$el.offsetWidth;\n const height = this.$el.offsetHeight;\n this.applySize(width, height);\n }\n this.$_pendingSizeUpdate = null;\n });\n },\n applySize(width, height) {\n const size = ~~(this.vscrollParent.direction === 'vertical' ? height : width);\n if (size && this.size !== size) {\n if (this.vscrollParent.$_undefinedMap[this.id]) {\n this.vscrollParent.$_undefinedSizes--;\n this.vscrollParent.$_undefinedMap[this.id] = undefined;\n }\n this.$set(this.vscrollData.sizes, this.id, size);\n this.$set(this.vscrollData.validSizes, this.id, true);\n if (this.emitResize) this.$emit('resize', this.id);\n }\n },\n observeSize() {\n if (!this.vscrollResizeObserver || !this.$el.parentNode) return;\n this.vscrollResizeObserver.observe(this.$el.parentNode);\n this.$el.parentNode.addEventListener('resize', this.onResize);\n },\n unobserveSize() {\n if (!this.vscrollResizeObserver) return;\n this.vscrollResizeObserver.unobserve(this.$el.parentNode);\n this.$el.parentNode.removeEventListener('resize', this.onResize);\n },\n onResize(event) {\n const {\n width,\n height\n } = event.detail.contentRect;\n this.applySize(width, height);\n }\n },\n render(h) {\n return h(this.tag, this.$slots.default);\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = undefined;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/normalizeComponent(\n {},\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nfunction IdState ({\n idProp = vm => vm.item.id\n} = {}) {\n const store = {};\n const vm = new Vue({\n data() {\n return {\n store\n };\n }\n });\n\n // @vue/component\n return {\n data() {\n return {\n idState: null\n };\n },\n created() {\n this.$_id = null;\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this);\n } else {\n this.$_getId = () => this[idProp];\n }\n this.$watch(this.$_getId, {\n handler(value) {\n this.$nextTick(() => {\n this.$_id = value;\n });\n },\n immediate: true\n });\n this.$_updateIdState();\n },\n beforeUpdate() {\n this.$_updateIdState();\n },\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit(id) {\n const factory = this.$options.idState;\n if (typeof factory === 'function') {\n const data = factory.call(this, this);\n vm.$set(store, id, data);\n this.$_id = id;\n return data;\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.');\n }\n },\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState() {\n const id = this.$_getId();\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`);\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id);\n }\n this.idState = store[id];\n }\n }\n }\n };\n}\n\nfunction registerComponents(Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, __vue_component__$2);\n Vue.component(`${prefix}RecycleScroller`, __vue_component__$2);\n Vue.component(`${prefix}dynamic-scroller`, __vue_component__$1);\n Vue.component(`${prefix}DynamicScroller`, __vue_component__$1);\n Vue.component(`${prefix}dynamic-scroller-item`, __vue_component__);\n Vue.component(`${prefix}DynamicScrollerItem`, __vue_component__);\n}\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: \"1.1.2\",\n install(Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: ''\n }, options);\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key];\n }\n }\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix);\n }\n }\n};\n\n// Auto-install\nlet GlobalVue = null;\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport { __vue_component__$1 as DynamicScroller, __vue_component__ as DynamicScrollerItem, IdState, __vue_component__$2 as RecycleScroller, plugin as default };\n//# sourceMappingURL=vue-virtual-scroller.esm.js.map\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('Fragment',[_c('td',{staticClass:\"files-list__row-checkbox\"},[(_vm.active)?_c('NcCheckboxRadioSwitch',{attrs:{\"aria-label\":_vm.t('files', 'Select the row for {displayName}', { displayName: _vm.displayName }),\"checked\":_vm.selectedFiles,\"value\":_vm.fileid,\"name\":\"selectedFiles\"},on:{\"update:checked\":_vm.onSelectionChange}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\"},[_c('a',_vm._b({ref:\"name\",on:{\"click\":_vm.execDefaultAction}},'a',_vm.linkAttrs,false),[_c('span',{staticClass:\"files-list__row-icon\"},[(_vm.source.type === 'folder')?_c('FolderIcon'):(_vm.previewUrl && !_vm.backgroundFailed)?_c('span',{ref:\"previewImg\",staticClass:\"files-list__row-icon-preview\",style:({ backgroundImage: _vm.backgroundImage })}):(_vm.mimeIconUrl)?_c('span',{staticClass:\"files-list__row-icon-preview files-list__row-icon-preview--mime\",style:({ backgroundImage: _vm.mimeIconUrl })}):_c('FileIcon'),_vm._v(\" \"),(_vm.isFavorite)?_c('span',{staticClass:\"files-list__row-icon-favorite\",attrs:{\"aria-label\":_vm.t('files', 'Favorite')}},[_c('StarIcon',{attrs:{\"aria-hidden\":\"true\",\"size\":20}})],1):_vm._e()],1),_vm._v(\" \"),_c('span',{staticClass:\"files-list__row-name-text\"},[_vm._v(_vm._s(_vm.displayName))])])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-actions\",class:`files-list__row-actions-${_vm.uniqueId}`},[(_vm.active)?_c('NcActions',{ref:\"actionsMenu\",attrs:{\"boundaries-element\":_vm.boundariesElement,\"container\":_vm.boundariesElement,\"disabled\":_vm.source._loading,\"force-title\":true,\"force-menu\":true,\"inline\":_vm.enabledInlineActions.length,\"open\":_vm.openedMenu},on:{\"update:open\":function($event){_vm.openedMenu=$event}}},_vm._l((_vm.enabledMenuActions),function(action){return _c('NcActionButton',{key:action.id,class:'files-list__row-action-' + action.id,on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('CustomSvgIconRender',{attrs:{\"svg\":action.iconSvgInline([_vm.source], _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(action.displayName([_vm.source], _vm.currentView))+\"\\n\\t\\t\\t\")])}),1):_vm._e()],1),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('td',{staticClass:\"files-list__row-size\",style:({ opacity: _vm.sizeOpacity }),on:{\"click\":_vm.openDetailsIfAvailable}},[_c('span',[_vm._v(_vm._s(_vm.size))])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('td',{key:column.id,staticClass:\"files-list__row-column-custom\",class:`files-list__row-${_vm.currentView?.id}-${column.id}`,on:{\"click\":_vm.openDetailsIfAvailable}},[(_vm.active)?_c('CustomElementRender',{attrs:{\"current-view\":_vm.currentView,\"render\":column.render,\"source\":_vm.source}}):_vm._e()],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var $placeholder = Symbol();\n\nvar $fakeParent = Symbol();\n\nvar nextSiblingPatched = Symbol();\n\nvar childNodesPatched = Symbol();\n\nvar isFrag = function isFrag(node) {\n return \"frag\" in node;\n};\n\nfunction patchParentNode(node, fakeParent) {\n if ($fakeParent in node) {\n return;\n }\n node[$fakeParent] = fakeParent;\n Object.defineProperty(node, \"parentNode\", {\n get: function get() {\n return this[$fakeParent] || this.parentElement;\n }\n });\n}\n\nfunction patchNextSibling(node) {\n if (nextSiblingPatched in node) {\n return;\n }\n node[nextSiblingPatched] = true;\n Object.defineProperty(node, \"nextSibling\", {\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n var index = childNodes.indexOf(this);\n if (index > -1) {\n return childNodes[index + 1] || null;\n }\n return null;\n }\n });\n}\n\nfunction getTopFragment(node, fromParent) {\n while (node.parentNode !== fromParent) {\n var _node = node, parentNode = _node.parentNode;\n if (parentNode) {\n node = parentNode;\n }\n }\n return node;\n}\n\nvar getChildNodes;\n\nfunction getChildNodesWithFragments(node) {\n if (!getChildNodes) {\n var childNodesDescriptor = Object.getOwnPropertyDescriptor(Node.prototype, \"childNodes\");\n getChildNodes = childNodesDescriptor.get;\n }\n var realChildNodes = getChildNodes.apply(node);\n var childNodes = Array.from(realChildNodes).map((function(childNode) {\n return getTopFragment(childNode, node);\n }));\n return childNodes.filter((function(childNode, index) {\n return childNode !== childNodes[index - 1];\n }));\n}\n\nfunction patchChildNodes(node) {\n if (childNodesPatched in node) {\n return;\n }\n node[childNodesPatched] = true;\n Object.defineProperties(node, {\n childNodes: {\n get: function get() {\n return this.frag || getChildNodesWithFragments(this);\n }\n },\n firstChild: {\n get: function get() {\n return this.childNodes[0] || null;\n }\n }\n });\n node.hasChildNodes = function() {\n return this.childNodes.length > 0;\n };\n}\n\nfunction before() {\n var _this$frag$;\n (_this$frag$ = this.frag[0]).before.apply(_this$frag$, arguments);\n}\n\nfunction remove() {\n var frag = this.frag;\n var removed = frag.splice(0, frag.length);\n removed.forEach((function(node) {\n node.remove();\n }));\n}\n\nvar getFragmentLeafNodes = function getFragmentLeafNodes(children) {\n var _Array$prototype;\n return (_Array$prototype = Array.prototype).concat.apply(_Array$prototype, children.map((function(childNode) {\n return isFrag(childNode) ? getFragmentLeafNodes(childNode.frag) : childNode;\n })));\n};\n\nfunction addPlaceholder(node, insertBeforeNode) {\n var placeholder = node[$placeholder];\n insertBeforeNode.before(placeholder);\n patchParentNode(placeholder, node);\n node.frag.unshift(placeholder);\n}\n\nfunction removeChild(node) {\n if (isFrag(this)) {\n var hasChildInFragment = this.frag.indexOf(node);\n if (hasChildInFragment > -1) {\n var _this$frag$splice = this.frag.splice(hasChildInFragment, 1), removedNode = _this$frag$splice[0];\n if (this.frag.length === 0) {\n addPlaceholder(this, removedNode);\n }\n node.remove();\n }\n } else {\n var children = getChildNodesWithFragments(this);\n var hasChild = children.indexOf(node);\n if (hasChild > -1) {\n node.remove();\n }\n }\n return node;\n}\n\nfunction insertBefore(insertNode, insertBeforeNode) {\n var _this = this;\n var insertNodes = insertNode.frag || [ insertNode ];\n if (isFrag(this)) {\n var _frag = this.frag;\n if (insertBeforeNode) {\n var index = _frag.indexOf(insertBeforeNode);\n if (index > -1) {\n _frag.splice.apply(_frag, [ index, 0 ].concat(insertNodes));\n insertBeforeNode.before.apply(insertBeforeNode, insertNodes);\n }\n } else {\n var _lastNode = _frag[_frag.length - 1];\n _frag.push.apply(_frag, insertNodes);\n _lastNode.after.apply(_lastNode, insertNodes);\n }\n removePlaceholder(this);\n } else if (insertBeforeNode) {\n if (this.childNodes.includes(insertBeforeNode)) {\n insertBeforeNode.before.apply(insertBeforeNode, insertNodes);\n }\n } else {\n this.append.apply(this, insertNodes);\n }\n insertNodes.forEach((function(node) {\n patchParentNode(node, _this);\n }));\n var lastNode = insertNodes[insertNodes.length - 1];\n patchNextSibling(lastNode);\n return insertNode;\n}\n\nfunction appendChild(node) {\n var frag = this.frag;\n var lastChild = frag[frag.length - 1];\n lastChild.after(node);\n patchParentNode(node, this);\n removePlaceholder(this);\n frag.push(node);\n return node;\n}\n\nfunction removePlaceholder(node) {\n var placeholder = node[$placeholder];\n if (node.frag[0] === placeholder) {\n node.frag.shift();\n placeholder.remove();\n }\n}\n\nvar frag = {\n inserted: function inserted(element) {\n var parentNode = element.parentNode, nextSibling = element.nextSibling, previousSibling = element.previousSibling;\n var childNodes = Array.from(element.childNodes);\n var placeholder = document.createComment(\"\");\n if (childNodes.length === 0) {\n childNodes.push(placeholder);\n }\n element.frag = childNodes;\n element[$placeholder] = placeholder;\n var fragment = document.createDocumentFragment();\n fragment.append.apply(fragment, getFragmentLeafNodes(childNodes));\n element.replaceWith(fragment);\n childNodes.forEach((function(node) {\n patchParentNode(node, element);\n patchNextSibling(node);\n }));\n patchChildNodes(element);\n Object.assign(element, {\n remove: remove,\n appendChild: appendChild,\n insertBefore: insertBefore,\n removeChild: removeChild,\n before: before\n });\n Object.defineProperty(element, \"innerHTML\", {\n set: function set(htmlString) {\n var _this2 = this;\n if (this.frag[0] !== placeholder) {\n this.frag.slice().forEach((function(child) {\n return _this2.removeChild(child);\n }));\n }\n if (htmlString) {\n var domify = document.createElement(\"div\");\n domify.innerHTML = htmlString;\n Array.from(domify.childNodes).forEach((function(node) {\n _this2.appendChild(node);\n }));\n }\n },\n get: function get() {\n return \"\";\n }\n });\n if (parentNode) {\n Object.assign(parentNode, {\n removeChild: removeChild,\n insertBefore: insertBefore\n });\n patchParentNode(element, parentNode);\n patchChildNodes(parentNode);\n }\n if (nextSibling) {\n patchNextSibling(element);\n }\n if (previousSibling) {\n patchNextSibling(previousSibling);\n }\n },\n unbind: function unbind(element) {\n element.remove();\n }\n};\n\nvar fragment = {\n name: \"Fragment\",\n directives: {\n frag: frag\n },\n render: function render(h) {\n return h(\"div\", {\n directives: [ {\n name: \"frag\"\n } ]\n }, this.$slots[\"default\"]);\n }\n};\n\nexport { fragment as Fragment, frag as default };\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./File.vue?vue&type=template&id=5c8d96c6&\"\nimport script from \"./File.vue?vue&type=script&lang=js&\"\nexport * from \"./File.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon file-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nexport const hashCode = function (str) {\n return str.split('').reduce(function (a, b) {\n a = ((a << 5) - a) + b.charCodeAt(0);\n return a & a;\n }, 0);\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/* eslint-disable */\nimport { defineStore } from 'pinia';\nexport const useActionsMenuStore = defineStore('actionsmenu', {\n state: () => ({\n opened: null,\n }),\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/* eslint-disable */\nimport { loadState } from '@nextcloud/initial-state';\nimport { generateUrl } from '@nextcloud/router';\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\nimport axios from '@nextcloud/axios';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nconst userConfig = loadState('files', 'config', {\n show_hidden: false,\n crop_image_previews: true,\n});\nexport const useUserConfigStore = function () {\n const store = defineStore('userconfig', {\n state: () => ({\n userConfig,\n }),\n actions: {\n /**\n * Update the user config local store\n */\n onUpdate(key, value) {\n Vue.set(this.userConfig, key, value);\n },\n /**\n * Update the user config local store AND on server side\n */\n async update(key, value) {\n await axios.put(generateUrl('/apps/files/api/v1/config/' + key), {\n value,\n });\n emit('files:config:updated', { key, value });\n }\n }\n });\n const userConfigStore = store(...arguments);\n // Make sure we only register the listeners once\n if (!userConfigStore._initialized) {\n subscribe('files:config:updated', function ({ key, value }) {\n userConfigStore.onUpdate(key, value);\n });\n userConfigStore._initialized = true;\n }\n return userConfigStore;\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomElementRender.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomElementRender.vue?vue&type=script&lang=js&\"","\n\n\n\n","import { render, staticRenderFns } from \"./CustomElementRender.vue?vue&type=template&id=a261c93e&\"\nimport script from \"./CustomElementRender.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomElementRender.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"custom-svg-icon\"})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomSvgIconRender.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomSvgIconRender.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomSvgIconRender.vue?vue&type=style&index=0&id=93e9b2f4&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomSvgIconRender.vue?vue&type=style&index=0&id=93e9b2f4&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./CustomSvgIconRender.vue?vue&type=template&id=93e9b2f4&scoped=true&\"\nimport script from \"./CustomSvgIconRender.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomSvgIconRender.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CustomSvgIconRender.vue?vue&type=style&index=0&id=93e9b2f4&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"93e9b2f4\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/* eslint-disable */\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\n/**\n * Observe various events and save the current\n * special keys states. Useful for checking the\n * current status of a key when executing a method.\n */\nexport const useKeyboardStore = function () {\n const store = defineStore('keyboard', {\n state: () => ({\n altKey: false,\n ctrlKey: false,\n metaKey: false,\n shiftKey: false,\n }),\n actions: {\n onEvent(event) {\n if (!event) {\n event = window.event;\n }\n Vue.set(this, 'altKey', !!event.altKey);\n Vue.set(this, 'ctrlKey', !!event.ctrlKey);\n Vue.set(this, 'metaKey', !!event.metaKey);\n Vue.set(this, 'shiftKey', !!event.shiftKey);\n },\n }\n });\n const keyboardStore = store(...arguments);\n // Make sure we only register the listeners once\n if (!keyboardStore._initialized) {\n window.addEventListener('keydown', keyboardStore.onEvent);\n window.addEventListener('keyup', keyboardStore.onEvent);\n window.addEventListener('mousemove', keyboardStore.onEvent);\n keyboardStore._initialized = true;\n }\n return keyboardStore;\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n// The preview service worker cache name (see webpack config)\nconst SWCacheName = 'previews';\n/**\n * Check if the preview is already cached by the service worker\n */\nexport const isCachedPreview = function (previewUrl) {\n return caches.open(SWCacheName)\n .then(function (cache) {\n return cache.match(previewUrl)\n .then(function (response) {\n return !!response;\n });\n });\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=script&lang=ts&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=style&index=0&id=e5a368d6&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=style&index=0&id=e5a368d6&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=style&index=1&id=e5a368d6&prod&lang=css&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=style&index=1&id=e5a368d6&prod&lang=css&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileEntry.vue?vue&type=template&id=e5a368d6&scoped=true&\"\nimport script from \"./FileEntry.vue?vue&type=script&lang=ts&\"\nexport * from \"./FileEntry.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FileEntry.vue?vue&type=style&index=0&id=e5a368d6&prod&scoped=true&lang=scss&\"\nimport style1 from \"./FileEntry.vue?vue&type=style&index=1&id=e5a368d6&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e5a368d6\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListFooter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListFooter.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',[_c('th',{staticClass:\"files-list__row-checkbox\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('files', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\"},[_c('span',{staticClass:\"files-list__row-icon\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.summary))])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-actions\"}),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('td',{staticClass:\"files-list__column files-list__row-size\"},[_c('span',[_vm._v(_vm._s(_vm.totalSize))])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('th',{key:column.id,class:_vm.classForColumn(column)},[_c('span',[_vm._v(_vm._s(column.summary?.(_vm.nodes, _vm.currentView)))])])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListFooter.vue?vue&type=style&index=0&id=e6a083be&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListFooter.vue?vue&type=style&index=0&id=e6a083be&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListFooter.vue?vue&type=template&id=e6a083be&scoped=true&\"\nimport script from \"./FilesListFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesListFooter.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesListFooter.vue?vue&type=style&index=0&id=e6a083be&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e6a083be\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue';\nexport default Vue.extend({\n data() {\n return {\n filesListWidth: null,\n };\n },\n created() {\n const fileListEl = document.querySelector('#app-content-vue');\n this.$resizeObserver = new ResizeObserver((entries) => {\n if (entries.length > 0 && entries[0].target === fileListEl) {\n this.filesListWidth = entries[0].contentRect.width;\n }\n });\n this.$resizeObserver.observe(fileListEl);\n },\n beforeDestroy() {\n this.$resizeObserver.disconnect();\n },\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('th',{staticClass:\"files-list__column files-list__row-actions-batch\",attrs:{\"colspan\":\"2\"}},[_c('NcActions',{ref:\"actionsMenu\",attrs:{\"disabled\":!!_vm.loading || _vm.areSomeNodesLoading,\"force-title\":true,\"inline\":_vm.inlineActions,\"menu-title\":_vm.inlineActions <= 1 ? _vm.t('files', 'Actions') : null,\"open\":_vm.openedMenu},on:{\"update:open\":function($event){_vm.openedMenu=$event}}},_vm._l((_vm.enabledActions),function(action){return _c('NcActionButton',{key:action.id,class:'files-list__row-actions-batch-' + action.id,on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('CustomSvgIconRender',{attrs:{\"svg\":action.iconSvgInline(_vm.nodes, _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(action.displayName(_vm.nodes, _vm.currentView))+\"\\n\\t\\t\")])}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderActions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderActions.vue?vue&type=script&lang=ts&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderActions.vue?vue&type=style&index=0&id=03e57b1e&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderActions.vue?vue&type=style&index=0&id=03e57b1e&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListHeaderActions.vue?vue&type=template&id=03e57b1e&scoped=true&\"\nimport script from \"./FilesListHeaderActions.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesListHeaderActions.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesListHeaderActions.vue?vue&type=style&index=0&id=03e57b1e&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"03e57b1e\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuDown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuDown.vue?vue&type=script&lang=js&\"","\n\n","import { render, staticRenderFns } from \"./MenuDown.vue?vue&type=template&id=49c08fbe&\"\nimport script from \"./MenuDown.vue?vue&type=script&lang=js&\"\nexport * from \"./MenuDown.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon menu-down-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7,10L12,15L17,10H7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuUp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuUp.vue?vue&type=script&lang=js&\"","\n\n","import { render, staticRenderFns } from \"./MenuUp.vue?vue&type=template&id=52b567ec&\"\nimport script from \"./MenuUp.vue?vue&type=script&lang=js&\"\nexport * from \"./MenuUp.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon menu-up-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7,15L12,10L17,15H7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue';\nimport { mapState } from 'pinia';\nimport { useViewConfigStore } from '../store/viewConfig';\nexport default Vue.extend({\n computed: {\n ...mapState(useViewConfigStore, ['getConfig', 'setSortingBy', 'toggleSortingDirection']),\n currentView() {\n return this.$navigation.active;\n },\n /**\n * Get the sorting mode for the current view\n */\n sortingMode() {\n return this.getConfig(this.currentView.id)?.sorting_mode\n || this.currentView?.defaultSortKey\n || 'basename';\n },\n /**\n * Get the sorting direction for the current view\n */\n isAscSorting() {\n const sortingDirection = this.getConfig(this.currentView.id)?.sorting_direction;\n return sortingDirection === 'asc';\n },\n },\n methods: {\n toggleSortBy(key) {\n // If we're already sorting by this key, flip the direction\n if (this.sortingMode === key) {\n this.toggleSortingDirection(this.currentView.id);\n return;\n }\n // else sort ASC by this new key\n this.setSortingBy(key, this.currentView.id);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderButton.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcButton',{staticClass:\"files-list__column-sort-button\",class:{'files-list__column-sort-button--active': _vm.sortingMode === _vm.mode},attrs:{\"aria-label\":_vm.sortAriaLabel(_vm.name),\"type\":\"tertiary\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.toggleSortBy(_vm.mode)}}},[(_vm.sortingMode !== _vm.mode || _vm.isAscSorting)?_c('MenuUp',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_c('MenuDown',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\"\\n\\t\"+_vm._s(_vm.name)+\"\\n\")],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderButton.vue?vue&type=style&index=0&id=e85a09d2&prod&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderButton.vue?vue&type=style&index=0&id=e85a09d2&prod&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListHeaderButton.vue?vue&type=template&id=e85a09d2&\"\nimport script from \"./FilesListHeaderButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesListHeaderButton.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesListHeaderButton.vue?vue&type=style&index=0&id=e85a09d2&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',[_c('th',{staticClass:\"files-list__column files-list__row-checkbox\"},[_c('NcCheckboxRadioSwitch',_vm._b({on:{\"update:checked\":_vm.onToggleAll}},'NcCheckboxRadioSwitch',_vm.selectAllBind,false))],1),_vm._v(\" \"),(!_vm.isNoneSelected)?_c('FilesListHeaderActions',{attrs:{\"current-view\":_vm.currentView,\"selected-nodes\":_vm.selectedNodes}}):[_c('th',{staticClass:\"files-list__column files-list__row-name files-list__column--sortable\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.toggleSortBy('basename')}}},[_c('span',{staticClass:\"files-list__row-icon\"}),_vm._v(\" \"),_c('FilesListHeaderButton',{attrs:{\"name\":_vm.t('files', 'Name'),\"mode\":\"basename\"}})],1),_vm._v(\" \"),_c('th',{staticClass:\"files-list__row-actions\"}),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('th',{staticClass:\"files-list__column files-list__row-size\",class:{'files-list__column--sortable': _vm.isSizeAvailable}},[_c('FilesListHeaderButton',{attrs:{\"name\":_vm.t('files', 'Size'),\"mode\":\"size\"}})],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('th',{key:column.id,class:_vm.classForColumn(column)},[(!!column.sort)?_c('FilesListHeaderButton',{attrs:{\"name\":column.title,\"mode\":column.id}}):_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(column.title)+\"\\n\\t\\t\\t\")])],1)})]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=style&index=0&id=76b6186a&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=style&index=0&id=76b6186a&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListHeader.vue?vue&type=template&id=76b6186a&scoped=true&\"\nimport script from \"./FilesListHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesListHeader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesListHeader.vue?vue&type=style&index=0&id=76b6186a&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"76b6186a\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('RecycleScroller',{ref:\"recycleScroller\",staticClass:\"files-list\",attrs:{\"key-field\":\"source\",\"items\":_vm.nodes,\"item-size\":55,\"table-mode\":true,\"item-class\":\"files-list__row\",\"item-tag\":\"tr\",\"list-class\":\"files-list__body\",\"list-tag\":\"tbody\",\"role\":\"table\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ item, active, index }){return [_c('FileEntry',{attrs:{\"active\":active,\"index\":index,\"is-size-available\":_vm.isSizeAvailable,\"files-list-width\":_vm.filesListWidth,\"nodes\":_vm.nodes,\"source\":item}})]}},{key:\"before\",fn:function(){return [_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.currentView.caption || '')+\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'This list is not fully rendered for performances reasons. The files will be rendered as you navigate through the list.'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('FilesListHeader',{attrs:{\"files-list-width\":_vm.filesListWidth,\"is-size-available\":_vm.isSizeAvailable,\"nodes\":_vm.nodes}})]},proxy:true},{key:\"after\",fn:function(){return [_c('FilesListFooter',{attrs:{\"files-list-width\":_vm.filesListWidth,\"is-size-available\":_vm.isSizeAvailable,\"nodes\":_vm.nodes,\"summary\":_vm.summary}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=0&id=640a8bb8&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=0&id=640a8bb8&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListVirtual.vue?vue&type=template&id=640a8bb8&scoped=true&\"\nimport script from \"./FilesListVirtual.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesListVirtual.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesListVirtual.vue?vue&type=style&index=0&id=640a8bb8&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"640a8bb8\",\n null\n \n)\n\nexport default component.exports","import isSvg from 'is-svg';\nimport logger from '../logger.js';\nexport default class {\n _views = [];\n _currentView = null;\n constructor() {\n logger.debug('Navigation service initialized');\n }\n register(view) {\n try {\n isValidNavigation(view);\n isUniqueNavigation(view, this._views);\n }\n catch (e) {\n if (e instanceof Error) {\n logger.error(e.message, { view });\n }\n throw e;\n }\n if (view.legacy) {\n logger.warn('Legacy view detected, please migrate to Vue');\n }\n if (view.iconClass) {\n view.legacy = true;\n }\n this._views.push(view);\n }\n remove(id) {\n const index = this._views.findIndex(view => view.id === id);\n if (index !== -1) {\n this._views.splice(index, 1);\n }\n }\n get views() {\n return this._views;\n }\n setActive(view) {\n this._currentView = view;\n }\n get active() {\n return this._currentView;\n }\n}\n/**\n * Make sure the given view is unique\n * and not already registered.\n */\nconst isUniqueNavigation = function (view, views) {\n if (views.find(search => search.id === view.id)) {\n throw new Error(`Navigation id ${view.id} is already registered`);\n }\n return true;\n};\n/**\n * Typescript cannot validate an interface.\n * Please keep in sync with the Navigation interface requirements.\n */\nconst isValidNavigation = function (view) {\n if (!view.id || typeof view.id !== 'string') {\n throw new Error('Navigation id is required and must be a string');\n }\n if (!view.name || typeof view.name !== 'string') {\n throw new Error('Navigation name is required and must be a string');\n }\n /**\n * Legacy handle their content and icon differently\n * TODO: remove when support for legacy views is removed\n */\n if (!view.legacy) {\n if (!view.getContents || typeof view.getContents !== 'function') {\n throw new Error('Navigation getContents is required and must be a function');\n }\n if (!view.icon || typeof view.icon !== 'string' || !isSvg(view.icon)) {\n throw new Error('Navigation icon is required and must be a valid svg string');\n }\n }\n if (!('order' in view) || typeof view.order !== 'number') {\n throw new Error('Navigation order is required and must be a number');\n }\n // Optional properties\n if (view.columns) {\n view.columns.forEach(isValidColumn);\n }\n if (view.emptyView && typeof view.emptyView !== 'function') {\n throw new Error('Navigation emptyView must be a function');\n }\n if (view.parent && typeof view.parent !== 'string') {\n throw new Error('Navigation parent must be a string');\n }\n if ('sticky' in view && typeof view.sticky !== 'boolean') {\n throw new Error('Navigation sticky must be a boolean');\n }\n if ('expanded' in view && typeof view.expanded !== 'boolean') {\n throw new Error('Navigation expanded must be a boolean');\n }\n if (view.defaultSortKey && typeof view.defaultSortKey !== 'string') {\n throw new Error('Navigation defaultSortKey must be a string');\n }\n return true;\n};\n/**\n * Typescript cannot validate an interface.\n * Please keep in sync with the Column interface requirements.\n */\nconst isValidColumn = function (column) {\n if (!column.id || typeof column.id !== 'string') {\n throw new Error('A column id is required');\n }\n if (!column.title || typeof column.title !== 'string') {\n throw new Error('A column title is required');\n }\n if (!column.render || typeof column.render !== 'function') {\n throw new Error('A render function is required');\n }\n // Optional properties\n if (column.sort && typeof column.sort !== 'function') {\n throw new Error('Column sortFunction must be a function');\n }\n if (column.summary && typeof column.summary !== 'function') {\n throw new Error('Column summary must be a function');\n }\n return true;\n};\n","import {XMLParser, XMLValidator} from 'fast-xml-parser';\n\nexport default function isSvg(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\tstring = string.trim();\n\n\tif (string.length === 0) {\n\t\treturn false;\n\t}\n\n\t// Has to be `!==` as it can also return an object with error info.\n\tif (XMLValidator.validate(string) !== true) {\n\t\treturn false;\n\t}\n\n\tlet jsonObject;\n\tconst parser = new XMLParser();\n\n\ttry {\n\t\tjsonObject = parser.parse(string);\n\t} catch {\n\t\treturn false;\n\t}\n\n\tif (!jsonObject) {\n\t\treturn false;\n\t}\n\n\tif (!('svg' in jsonObject)) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=script&lang=ts&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=style&index=0&id=66068cbb&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=style&index=0&id=66068cbb&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesList.vue?vue&type=template&id=66068cbb&scoped=true&\"\nimport script from \"./FilesList.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesList.vue?vue&type=style&index=0&id=66068cbb&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"66068cbb\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppNavigation',{attrs:{\"data-cy-files-navigation\":\"\"},scopedSlots:_vm._u([{key:\"list\",fn:function(){return _vm._l((_vm.parentViews),function(view){return _c('NcAppNavigationItem',{key:view.id,attrs:{\"allow-collapse\":true,\"data-cy-files-navigation-item\":view.id,\"icon\":view.iconClass,\"open\":_vm.isExpanded(view),\"pinned\":view.sticky,\"title\":view.name,\"to\":_vm.generateToNavigation(view)},on:{\"update:open\":function($event){return _vm.onToggleExpand(view)}}},[(view.icon)?_c('NcIconSvgWrapper',{attrs:{\"slot\":\"icon\",\"svg\":view.icon},slot:\"icon\"}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.childViews[view.id]),function(child){return _c('NcAppNavigationItem',{key:child.id,attrs:{\"data-cy-files-navigation-item\":child.id,\"exact\":true,\"icon\":child.iconClass,\"title\":child.name,\"to\":_vm.generateToNavigation(child)}},[(child.icon)?_c('NcIconSvgWrapper',{attrs:{\"slot\":\"icon\",\"svg\":child.icon},slot:\"icon\"}):_vm._e()],1)})],2)})},proxy:true},{key:\"footer\",fn:function(){return [_c('ul',{staticClass:\"app-navigation-entry__settings\"},[_c('NavigationQuota'),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"aria-label\":_vm.t('files', 'Open the files app settings'),\"title\":_vm.t('files', 'Files settings'),\"data-cy-files-navigation-settings-button\":\"\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.openSettings.apply(null, arguments)}}},[_c('Cog',{attrs:{\"slot\":\"icon\",\"size\":20},slot:\"icon\"})],1)],1)]},proxy:true}])},[_vm._v(\" \"),_vm._v(\" \"),_c('SettingsModal',{attrs:{\"open\":_vm.settingsOpened,\"data-cy-files-navigation-settings\":\"\"},on:{\"close\":_vm.onSettingsClose}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Cog.vue?vue&type=template&id=bcf30078&\"\nimport script from \"./Cog.vue?vue&type=script&lang=js&\"\nexport * from \"./Cog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)\n * are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,\n * as-is, to `callback` when the throttled-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds\n * while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed\n * one final time after the last throttled-function call. (After the throttled-function has not been called for\n * `delay` milliseconds, the internal counter is reset).\n * @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback\n * immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that\n * callback will never executed if both noLeading = true and noTrailing = true.\n * @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is\n * false (at end), schedule `callback` to execute after `delay` ms.\n *\n * @returns {Function} A new, throttled, function.\n */\nfunction throttle (delay, callback, options) {\n var _ref = options || {},\n _ref$noTrailing = _ref.noTrailing,\n noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing,\n _ref$noLeading = _ref.noLeading,\n noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading,\n _ref$debounceMode = _ref.debounceMode,\n debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode;\n /*\n * After wrapper has stopped being called, this timeout ensures that\n * `callback` is executed at the proper times in `throttle` and `end`\n * debounce modes.\n */\n\n\n var timeoutID;\n var cancelled = false; // Keep track of the last time `callback` was executed.\n\n var lastExec = 0; // Function to clear existing timeout\n\n function clearExistingTimeout() {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n } // Function to cancel next exec\n\n\n function cancel(options) {\n var _ref2 = options || {},\n _ref2$upcomingOnly = _ref2.upcomingOnly,\n upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly;\n\n clearExistingTimeout();\n cancelled = !upcomingOnly;\n }\n /*\n * The `wrapper` function encapsulates all of the throttling / debouncing\n * functionality and when executed will limit the rate at which `callback`\n * is executed.\n */\n\n\n function wrapper() {\n for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {\n arguments_[_key] = arguments[_key];\n }\n\n var self = this;\n var elapsed = Date.now() - lastExec;\n\n if (cancelled) {\n return;\n } // Execute `callback` and update the `lastExec` timestamp.\n\n\n function exec() {\n lastExec = Date.now();\n callback.apply(self, arguments_);\n }\n /*\n * If `debounceMode` is true (at begin) this is used to clear the flag\n * to allow future `callback` executions.\n */\n\n\n function clear() {\n timeoutID = undefined;\n }\n\n if (!noLeading && debounceMode && !timeoutID) {\n /*\n * Since `wrapper` is being called for the first time and\n * `debounceMode` is true (at begin), execute `callback`\n * and noLeading != true.\n */\n exec();\n }\n\n clearExistingTimeout();\n\n if (debounceMode === undefined && elapsed > delay) {\n if (noLeading) {\n /*\n * In throttle mode with noLeading, if `delay` time has\n * been exceeded, update `lastExec` and schedule `callback`\n * to execute after `delay` ms.\n */\n lastExec = Date.now();\n\n if (!noTrailing) {\n timeoutID = setTimeout(debounceMode ? clear : exec, delay);\n }\n } else {\n /*\n * In throttle mode without noLeading, if `delay` time has been exceeded, execute\n * `callback`.\n */\n exec();\n }\n } else if (noTrailing !== true) {\n /*\n * In trailing throttle mode, since `delay` time has not been\n * exceeded, schedule `callback` to execute `delay` ms after most\n * recent execution.\n *\n * If `debounceMode` is true (at begin), schedule `clear` to execute\n * after `delay` ms.\n *\n * If `debounceMode` is false (at end), schedule `callback` to\n * execute after `delay` ms.\n */\n timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n }\n }\n\n wrapper.cancel = cancel; // Return the wrapper function.\n\n return wrapper;\n}\n\n/* eslint-disable no-undefined */\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n *\n * @returns {Function} A new, debounced function.\n */\n\nfunction debounce (delay, callback, options) {\n var _ref = options || {},\n _ref$atBegin = _ref.atBegin,\n atBegin = _ref$atBegin === void 0 ? false : _ref$atBegin;\n\n return throttle(delay, callback, {\n debounceMode: atBegin !== false\n });\n}\n\nexport { debounce, throttle };\n//# sourceMappingURL=index.js.map\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChartPie.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChartPie.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChartPie.vue?vue&type=template&id=44de6464&\"\nimport script from \"./ChartPie.vue?vue&type=script&lang=js&\"\nexport * from \"./ChartPie.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon chart-pie-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M11,2V22C5.9,21.5 2,17.2 2,12C2,6.8 5.9,2.5 11,2M13,2V11H22C21.5,6.2 17.8,2.5 13,2M13,13V22C17.7,21.5 21.5,17.8 22,13H13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=style&index=0&id=918797b2&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=style&index=0&id=918797b2&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NavigationQuota.vue?vue&type=template&id=918797b2&scoped=true&\"\nimport script from \"./NavigationQuota.vue?vue&type=script&lang=js&\"\nexport * from \"./NavigationQuota.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavigationQuota.vue?vue&type=style&index=0&id=918797b2&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"918797b2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.storageStats)?_c('NcAppNavigationItem',{staticClass:\"app-navigation-entry__settings-quota\",class:{ 'app-navigation-entry__settings-quota--not-unlimited': _vm.storageStats.quota >= 0},attrs:{\"aria-label\":_vm.t('files', 'Storage informations'),\"loading\":_vm.loadingStorageStats,\"name\":_vm.storageStatsTitle,\"title\":_vm.storageStatsTooltip,\"data-cy-files-navigation-settings-quota\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.debounceUpdateStorageStats.apply(null, arguments)}}},[_c('ChartPie',{attrs:{\"slot\":\"icon\",\"size\":20},slot:\"icon\"}),_vm._v(\" \"),(_vm.storageStats.quota >= 0)?_c('NcProgressBar',{attrs:{\"slot\":\"extra\",\"error\":_vm.storageStats.relative > 80,\"value\":Math.min(_vm.storageStats.relative, 100)},slot:\"extra\"}):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.open,\"show-navigation\":true,\"title\":_vm.t('files', 'Files settings')},on:{\"update:open\":_vm.onClose}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"settings\",\"title\":_vm.t('files', 'Files settings')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.userConfig.show_hidden},on:{\"update:checked\":function($event){return _vm.setConfig('show_hidden', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Show hidden files'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.userConfig.crop_image_previews},on:{\"update:checked\":function($event){return _vm.setConfig('crop_image_previews', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Crop image previews'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),(_vm.settings.length !== 0)?_c('NcAppSettingsSection',{attrs:{\"id\":\"more-settings\",\"title\":_vm.t('files', 'Additional settings')}},[_vm._l((_vm.settings),function(setting){return [_c('Setting',{key:setting.name,attrs:{\"el\":setting.el}})]})],2):_vm._e(),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"webdav\",\"title\":_vm.t('files', 'WebDAV')}},[_c('NcInputField',{attrs:{\"id\":\"webdav-url-input\",\"show-trailing-button\":true,\"success\":_vm.webdavUrlCopied,\"trailing-button-label\":_vm.t('files', 'Copy to clipboard'),\"value\":_vm.webdavUrl,\"readonly\":\"readonly\",\"type\":\"url\"},on:{\"focus\":function($event){return $event.target.select()},\"trailing-button-click\":_vm.copyCloudId},scopedSlots:_vm._u([{key:\"trailing-button-icon\",fn:function(){return [_c('Clipboard',{attrs:{\"size\":20}})]},proxy:true}])}),_vm._v(\" \"),_c('em',[_c('a',{staticClass:\"setting-link\",attrs:{\"href\":_vm.webdavDocs,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Use this address to access your Files via WebDAV'))+\" ↗\\n\\t\\t\\t\")])]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('em',[_c('a',{staticClass:\"setting-link\",attrs:{\"href\":_vm.appPasswordUrl}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'If you have enabled 2FA, you must create and use a new app password by clicking here.'))+\" ↗\\n\\t\\t\\t\")])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Clipboard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Clipboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Clipboard.vue?vue&type=template&id=0e008e34&\"\nimport script from \"./Clipboard.vue?vue&type=script&lang=js&\"\nexport * from \"./Clipboard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon clipboard-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Setting.vue?vue&type=template&id=61d69eae&\"\nimport script from \"./Setting.vue?vue&type=script&lang=js&\"\nexport * from \"./Setting.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=style&index=0&id=76ca5d1f&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=style&index=0&id=76ca5d1f&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=76ca5d1f&scoped=true&\"\nimport script from \"./Settings.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Settings.vue?vue&type=style&index=0&id=76ca5d1f&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"76ca5d1f\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n","/**\n * @copyright Copyright (c) 2022 Joas Schilling \n *\n * @author Joas Schilling \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\n/**\n * Set the page heading\n *\n * @param {string} heading page title from the history api\n * @since 27.0.0\n */\nexport function setPageHeading(heading) {\n\tconst headingEl = document.getElementById('page-heading-level-1')\n\tif (headingEl) {\n\t\theadingEl.textContent = heading\n\t}\n}\nexport default {\n\t/**\n\t * @return {boolean} Whether the user opted-out of shortcuts so that they should not be registered\n\t */\n\tdisableKeyboardShortcuts() {\n\t\treturn loadState('theming', 'shortcutsDisabled', false)\n\t},\n\tsetPageHeading,\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=657a978e&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=657a978e&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=657a978e&scoped=true&\"\nimport script from \"./Navigation.vue?vue&type=script&lang=js&\"\nexport * from \"./Navigation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Navigation.vue?vue&type=style&index=0&id=657a978e&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"657a978e\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\nimport logger from '../logger.js'\n\n/**\n * Fetch and register the legacy files views\n */\nexport default function() {\n\tconst legacyViews = Object.values(loadState('files', 'navigation', {}))\n\n\tif (legacyViews.length > 0) {\n\t\tlogger.debug('Legacy files views detected. Processing...', legacyViews)\n\t\tlegacyViews.forEach(view => {\n\t\t\tregisterLegacyView(view)\n\t\t\tif (view.sublist) {\n\t\t\t\tview.sublist.forEach(subview => registerLegacyView({ ...subview, parent: view.id }))\n\t\t\t}\n\t\t})\n\t}\n}\n\nconst registerLegacyView = function({ id, name, order, icon, parent, classes = '', expanded, params }) {\n\tOCP.Files.Navigation.register({\n\t\tid,\n\t\tname,\n\t\torder,\n\t\tparams,\n\t\tparent,\n\t\texpanded: expanded === true,\n\t\ticonClass: icon ? `icon-${icon}` : 'nav-icon-' + id,\n\t\tlegacy: true,\n\t\tsticky: classes.includes('pinned'),\n\t})\n}\n","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (!condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nfunction decode (str) {\n try {\n return decodeURIComponent(str)\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"Error decoding \\\"\" + str + \"\\\". Leaving it intact.\"));\n }\n }\n return str\n}\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n var value = extraQuery[key];\n parsedQuery[key] = Array.isArray(value)\n ? value.map(castQueryParamValue)\n : castQueryParamValue(value);\n }\n return parsedQuery\n}\n\nvar castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0 ? decode(parts.join('=')) : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj\n ? Object.keys(obj)\n .map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n })\n .filter(function (x) { return x.length > 0; })\n .join('&')\n : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b, onlyPath) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') && (onlyPath ||\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query))\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n (onlyPath || (\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params))\n )\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a).sort();\n var bKeys = Object.keys(b).sort();\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key, i) {\n var aVal = a[key];\n var bKey = bKeys[i];\n if (bKey !== key) { return false }\n var bVal = b[key];\n // query values can be null and undefined\n if (aVal == null || bVal == null) { return aVal === bVal }\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\nfunction handleRouteEntered (route) {\n for (var i = 0; i < route.matched.length; i++) {\n var record = route.matched[i];\n for (var name in record.instances) {\n var instance = record.instances[name];\n var cbs = record.enteredCbs[name];\n if (!instance || !cbs) { continue }\n delete record.enteredCbs[name];\n for (var i$1 = 0; i$1 < cbs.length; i$1++) {\n if (!instance._isBeingDestroyed) { cbs[i$1](instance); }\n }\n }\n }\n}\n\nvar View = {\n name: 'RouterView',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n // used by devtools to display a router-view badge\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n var cachedData = cache[name];\n var cachedComponent = cachedData && cachedData.component;\n if (cachedComponent) {\n // #2301\n // pass props\n if (cachedData.configProps) {\n fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n }\n return h(cachedComponent, data, children)\n } else {\n // render previous empty view\n return h()\n }\n }\n\n var matched = route.matched[depth];\n var component = matched && matched.components[name];\n\n // render empty node if no matched route or no config component\n if (!matched || !component) {\n cache[name] = null;\n return h()\n }\n\n // cache component\n cache[name] = { component: component };\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n\n // if the route transition has already been confirmed then we weren't\n // able to call the cbs during confirmation as the component was not\n // registered yet, so we call it here.\n handleRouteEntered(route);\n };\n\n var configProps = matched.props && matched.props[name];\n // save route and configProps in cache\n if (configProps) {\n extend(cache[name], {\n route: route,\n configProps: configProps\n });\n fillPropsinData(component, data, route, configProps);\n }\n\n return h(component, data, children)\n }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n // resolve props\n var propsToPass = data.props = resolveProps(route, configProps);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n}\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/(?:\\s*\\/)+/g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n // Fix #3072 no warn if `pathMatch` is string\n warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n\n/* */\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next._normalized) {\n return next\n } else if (next.name) {\n next = extend({}, raw);\n var params = next.params;\n if (params && typeof params === 'object') {\n next.params = extend({}, params);\n }\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params$1 = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params$1;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params$1, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar warnedCustomSlot;\nvar warnedTagProp;\nvar warnedEventProp;\n\nvar Link = {\n name: 'RouterLink',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n custom: Boolean,\n exact: Boolean,\n exactPath: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n ariaCurrentValue: {\n type: String,\n default: 'page'\n },\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(\n this.to,\n current,\n this.append\n );\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget, this.exactPath);\n classes[activeClass] = this.exact || this.exactPath\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (process.env.NODE_ENV !== 'production' && !this.custom) {\n !warnedCustomSlot && warn(false, 'In Vue Router 4, the v-slot API will by default wrap its content with an element. Use the custom prop to remove this warning:\\n\\n');\n warnedCustomSlot = true;\n }\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\" with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if ('tag' in this.$options.propsData && !warnedTagProp) {\n warn(\n false,\n \"'s tag prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedTagProp = true;\n }\n if ('event' in this.$options.propsData && !warnedEventProp) {\n warn(\n false,\n \"'s event prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedEventProp = true;\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href, 'aria-current': ariaCurrentValue };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\n var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n aAttrs.href = href;\n aAttrs['aria-current'] = ariaCurrentValue;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap,\n parentRoute\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route, parentRoute);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n\n warn(\n // eslint-disable-next-line no-control-regex\n !/[^\\u0000-\\u007F]+/.test(path),\n \"Route with path \\\"\" + path + \"\\\" contains unencoded characters, make sure \" +\n \"your path is correctly encoded before passing it to the router. Use \" +\n \"encodeURI to encode static segments of your path.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n alias: route.alias\n ? typeof route.alias === 'string'\n ? [route.alias]\n : route.alias\n : [],\n instances: {},\n enteredCbs: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props:\n route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'}\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n }\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (\n path,\n pathToRegexpOptions\n) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function addRoute (parentOrRoute, route) {\n var parent = (typeof parentOrRoute !== 'object') ? nameMap[parentOrRoute] : undefined;\n // $flow-disable-line\n createRouteMap([route || parentOrRoute], pathList, pathMap, nameMap, parent);\n\n // add aliases of parent\n if (parent && parent.alias.length) {\n createRouteMap(\n // $flow-disable-line route is defined if parent is\n parent.alias.map(function (alias) { return ({ path: alias, children: [route] }); }),\n pathList,\n pathMap,\n nameMap,\n parent\n );\n }\n }\n\n function getRoutes () {\n return pathList.map(function (path) { return pathMap[path]; })\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoute: addRoute,\n getRoutes: getRoutes,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = typeof m[i] === 'string' ? decode(m[i]) : m[i];\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Prevent browser scroll behavior on History popstate\n if ('scrollRestoration' in window.history) {\n window.history.scrollRestoration = 'manual';\n }\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, window.history.state);\n stateCopy.key = getStateKey();\n window.history.replaceState(stateCopy, '', absolutePath);\n window.addEventListener('popstate', handlePopState);\n return function () {\n window.removeEventListener('popstate', handlePopState);\n }\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\n .catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction handlePopState (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n // $flow-disable-line\n if ('scrollBehavior' in document.documentElement.style) {\n window.scrollTo({\n left: position.x,\n top: position.y,\n // $flow-disable-line\n behavior: shouldScroll.behavior\n });\n } else {\n window.scrollTo(position.x, position.y);\n }\n }\n}\n\n/* */\n\nvar supportsPushState =\n inBrowser &&\n (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && typeof window.history.pushState === 'function'\n })();\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, history.state);\n stateCopy.key = getStateKey();\n history.replaceState(stateCopy, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n// When changing thing, also edit router.d.ts\nvar NavigationFailureType = {\n redirected: 2,\n aborted: 4,\n cancelled: 8,\n duplicated: 16\n};\n\nfunction createNavigationRedirectedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.redirected,\n (\"Redirected when going from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (stringifyRoute(\n to\n )) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createNavigationDuplicatedError (from, to) {\n var error = createRouterError(\n from,\n to,\n NavigationFailureType.duplicated,\n (\"Avoided redundant navigation to current location: \\\"\" + (from.fullPath) + \"\\\".\")\n );\n // backwards compatible with the first introduction of Errors\n error.name = 'NavigationDuplicated';\n return error\n}\n\nfunction createNavigationCancelledError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.cancelled,\n (\"Navigation cancelled from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" with a new navigation.\")\n )\n}\n\nfunction createNavigationAbortedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.aborted,\n (\"Navigation aborted from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createRouterError (from, to, type, message) {\n var error = new Error(message);\n error._isRouter = true;\n error.from = from;\n error.to = to;\n error.type = type;\n\n return error\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute (to) {\n if (typeof to === 'string') { return to }\n if ('path' in to) { return to.path }\n var location = {};\n propertiesToLog.forEach(function (key) {\n if (key in to) { location[key] = to[key]; }\n });\n return JSON.stringify(location, null, 2)\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isNavigationFailure (err, errorType) {\n return (\n isError(err) &&\n err._isRouter &&\n (errorType == null || err.type === errorType)\n )\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n this.listeners = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n location,\n onComplete,\n onAbort\n) {\n var this$1$1 = this;\n\n var route;\n // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n try {\n route = this.router.match(location, this.current);\n } catch (e) {\n this.errorCbs.forEach(function (cb) {\n cb(e);\n });\n // Exception should still be thrown\n throw e\n }\n var prev = this.current;\n this.confirmTransition(\n route,\n function () {\n this$1$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1$1.ensureURL();\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n\n // fire ready cbs once\n if (!this$1$1.ready) {\n this$1$1.ready = true;\n this$1$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n },\n function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1$1.ready) {\n // Initial redirection should not mark the history as ready yet\n // because it's triggered by the redirection instead\n // https://github.com/vuejs/vue-router/issues/3225\n // https://github.com/vuejs/vue-router/issues/3331\n if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {\n this$1$1.ready = true;\n this$1$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n }\n }\n }\n );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1$1 = this;\n\n var current = this.current;\n this.pending = route;\n var abort = function (err) {\n // changed after adding errors with\n // https://github.com/vuejs/vue-router/pull/3047 before that change,\n // redirect and aborted navigation would produce an err == null\n if (!isNavigationFailure(err) && isError(err)) {\n if (this$1$1.errorCbs.length) {\n this$1$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'uncaught error during route navigation:');\n }\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n var lastRouteIndex = route.matched.length - 1;\n var lastCurrentIndex = current.matched.length - 1;\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n lastRouteIndex === lastCurrentIndex &&\n route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]\n ) {\n this.ensureURL();\n if (route.hash) {\n handleScroll(this.router, current, route, false);\n }\n return abort(createNavigationDuplicatedError(current, route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n var iterator = function (hook, next) {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n try {\n hook(route, current, function (to) {\n if (to === false) {\n // next(false) -> abort navigation, ensure current URL\n this$1$1.ensureURL(true);\n abort(createNavigationAbortedError(current, route));\n } else if (isError(to)) {\n this$1$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' &&\n (typeof to.path === 'string' || typeof to.name === 'string'))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort(createNavigationRedirectedError(current, route));\n if (typeof to === 'object' && to.replace) {\n this$1$1.replace(to);\n } else {\n this$1$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated);\n var queue = enterGuards.concat(this$1$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n this$1$1.pending = null;\n onComplete(route);\n if (this$1$1.router.app) {\n this$1$1.router.app.$nextTick(function () {\n handleRouteEntered(route);\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n this.current = route;\n this.cb && this.cb(route);\n};\n\nHistory.prototype.setupListeners = function setupListeners () {\n // Default implementation is empty\n};\n\nHistory.prototype.teardown = function teardown () {\n // clean up event listeners\n // https://github.com/vuejs/vue-router/issues/2341\n this.listeners.forEach(function (cleanupListener) {\n cleanupListener();\n });\n this.listeners = [];\n\n // reset current history route\n // https://github.com/vuejs/vue-router/issues/3294\n this.current = START;\n this.pending = null;\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated\n) {\n return extractGuards(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key)\n }\n )\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n if (!match.enteredCbs[key]) {\n match.enteredCbs[key] = [];\n }\n match.enteredCbs[key].push(cb);\n }\n next(cb);\n })\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n History.call(this, router, base);\n\n this._startLocation = getLocation(this.base);\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1$1.base);\n if (this$1$1.current === START && location === this$1$1._startLocation) {\n return\n }\n\n this$1$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n };\n window.addEventListener('popstate', handleRoutingEvent);\n this.listeners.push(function () {\n window.removeEventListener('popstate', handleRoutingEvent);\n });\n };\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n var pathLowerCase = path.toLowerCase();\n var baseLowerCase = base.toLowerCase();\n // base=\"/a\" shouldn't turn path=\"/app\" into \"/a/pp\"\n // https://github.com/vuejs/vue-router/issues/3555\n // so we ensure the trailing slash in the base\n if (base && ((pathLowerCase === baseLowerCase) ||\n (pathLowerCase.indexOf(cleanPath(baseLowerCase + '/')) === 0))) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n };\n var eventType = supportsPushState ? 'popstate' : 'hashchange';\n window.addEventListener(\n eventType,\n handleRoutingEvent\n );\n this.listeners.push(function () {\n window.removeEventListener(eventType, handleRoutingEvent);\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(cleanPath(base + '/#' + location));\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n\n return href\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index + 1).concat(route);\n this$1$1.index++;\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(\n route,\n function () {\n var prev = this$1$1.current;\n this$1$1.index = targetIndex;\n this$1$1.updateRoute(route);\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n },\n function (err) {\n if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\n this$1$1.index = targetIndex;\n }\n }\n );\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\n\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n if (process.env.NODE_ENV !== 'production') {\n warn(this instanceof VueRouter, \"Router must be called with the new operator.\");\n }\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback =\n mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (raw, current, redirectedFrom) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1$1 = this;\n\n process.env.NODE_ENV !== 'production' &&\n assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1$1.apps.indexOf(app);\n if (index > -1) { this$1$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1$1.app === app) { this$1$1.app = this$1$1.apps[0] || null; }\n\n if (!this$1$1.app) { this$1$1.history.teardown(); }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History || history instanceof HashHistory) {\n var handleInitialScroll = function (routeOrError) {\n var from = history.current;\n var expectScroll = this$1$1.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll && 'fullPath' in routeOrError) {\n handleScroll(this$1$1, routeOrError, from, false);\n }\n };\n var setupListeners = function (routeOrError) {\n history.setupListeners();\n handleInitialScroll(routeOrError);\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupListeners,\n setupListeners\n );\n }\n\n history.listen(function (route) {\n this$1$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply(\n [],\n route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n })\n )\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(to, current, append, this);\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.getRoutes = function getRoutes () {\n return this.matcher.getRoutes()\n};\n\nVueRouter.prototype.addRoute = function addRoute (parentOrRoute, route) {\n this.matcher.addRoute(parentOrRoute, route);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'router.addRoutes() is deprecated and has been removed in Vue Router 4. Use router.addRoute() instead.');\n }\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nvar VueRouter$1 = VueRouter;\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\n// We cannot remove this as it would be a breaking change\nVueRouter.install = install;\nVueRouter.version = '3.6.5';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\nVueRouter.START_LOCATION = START;\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nvar version = '3.6.5';\n\nexport { NavigationFailureType, Link as RouterLink, View as RouterView, START as START_LOCATION, VueRouter$1 as default, isNavigationFailure, version };\n","const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n","export default function splitOnFirst(string, separator) {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (string === '' || separator === '') {\n\t\treturn [];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n}\n","export function includeKeys(object, predicate) {\n\tconst result = {};\n\n\tif (Array.isArray(predicate)) {\n\t\tfor (const key of predicate) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor?.enumerable) {\n\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// `Reflect.ownKeys()` is required to retrieve symbol properties\n\t\tfor (const key of Reflect.ownKeys(object)) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor.enumerable) {\n\t\t\t\tconst value = object[key];\n\t\t\t\tif (predicate(key, value, object)) {\n\t\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function excludeKeys(object, predicate) {\n\tif (Array.isArray(predicate)) {\n\t\tconst set = new Set(predicate);\n\t\treturn includeKeys(object, key => !set.has(key));\n\t}\n\n\treturn includeKeys(object, (key, value, object) => !predicate(key, value, object));\n}\n","import decodeComponent from 'decode-uri-component';\nimport splitOnFirst from 'split-on-first';\nimport {includeKeys} from 'filter-obj';\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\n// eslint-disable-next-line unicorn/prefer-code-point\nconst strictUriEncode = string => encodeURIComponent(string).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result, [encode(key, options), '[', index, ']'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), '[]'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[]=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), ':list='].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), ':list=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator'\n\t\t\t\t? '[]='\n\t\t\t\t: '=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\tencode(key, options),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : (value === null ? value : decode(value, options));\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null\n\t\t\t\t\t? []\n\t\t\t\t\t: value.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], ...arrayValue];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...[accumulator[key]].flat(), value];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nexport function extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nexport function parse(query, options) {\n\toptions = {\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false,\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst returnValue = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn returnValue;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn returnValue;\n\t}\n\n\tfor (const parameter of query.split('&')) {\n\t\tif (parameter === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst parameter_ = options.decode ? parameter.replace(/\\+/g, ' ') : parameter;\n\n\t\tlet [key, value] = splitOnFirst(parameter_, '=');\n\n\t\tif (key === undefined) {\n\t\t\tkey = parameter_;\n\t\t}\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : (['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options));\n\t\tformatter(decode(key, options), value, returnValue);\n\t}\n\n\tfor (const [key, value] of Object.entries(returnValue)) {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const [key2, value2] of Object.entries(value)) {\n\t\t\t\tvalue[key2] = parseValue(value2, options);\n\t\t\t}\n\t\t} else {\n\t\t\treturnValue[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn returnValue;\n\t}\n\n\t// TODO: Remove the use of `reduce`.\n\t// eslint-disable-next-line unicorn/no-array-reduce\n\treturn (options.sort === true ? Object.keys(returnValue).sort() : Object.keys(returnValue).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = returnValue[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexport function stringify(object, options) {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = {encode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',', ...options};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key]))\n\t\t|| (options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = value;\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n}\n\nexport function parseUrl(url, options) {\n\toptions = {\n\t\tdecode: true,\n\t\t...options,\n\t};\n\n\tlet [url_, hash] = splitOnFirst(url, '#');\n\n\tif (url_ === undefined) {\n\t\turl_ = url;\n\t}\n\n\treturn {\n\t\turl: url_?.split('?')?.[0] ?? '',\n\t\tquery: parse(extract(url), options),\n\t\t...(options && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}),\n\t};\n}\n\nexport function stringifyUrl(object, options) {\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true,\n\t\t...options,\n\t};\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = extract(object.url);\n\n\tconst query = {\n\t\t...parse(queryFromUrl, {sort: false}),\n\t\t...object.query,\n\t};\n\n\tlet queryString = stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\tconst urlObjectForFragmentEncode = new URL(url);\n\t\turlObjectForFragmentEncode.hash = object.fragmentIdentifier;\n\t\thash = options[encodeFragmentIdentifier] ? urlObjectForFragmentEncode.hash : `#${object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n}\n\nexport function pick(input, filter, options) {\n\toptions = {\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false,\n\t\t...options,\n\t};\n\n\tconst {url, query, fragmentIdentifier} = parseUrl(input, options);\n\n\treturn stringifyUrl({\n\t\turl,\n\t\tquery: includeKeys(query, filter),\n\t\tfragmentIdentifier,\n\t}, options);\n}\n\nexport function exclude(input, filter, options) {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn pick(input, exclusionFilter, options);\n}\n","import * as queryString from './base.js';\n\nexport default queryString;\n","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue'\nimport Router from 'vue-router'\nimport { generateUrl } from '@nextcloud/router'\nimport queryString from 'query-string'\n\nVue.use(Router)\n\nconst router = new Router({\n\tmode: 'history',\n\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: generateUrl('/apps/files', ''),\n\tlinkActiveClass: 'active',\n\n\troutes: [\n\t\t{\n\t\t\tpath: '/',\n\t\t\t// Pretending we're using the default view\n\t\t\talias: '/files',\n\t\t},\n\t\t{\n\t\t\tpath: '/:view/:fileid?',\n\t\t\tname: 'filelist',\n\t\t\tprops: true,\n\t\t},\n\t],\n\n\t// Custom stringifyQuery to prevent encoding of slashes in the url\n\tstringifyQuery(query) {\n\t\tconst result = queryString.stringify(query).replace(/%2F/gmi, '/')\n\t\treturn result ? ('?' + result) : ''\n\t},\n})\n\nexport default router\n","import './templates.js';\nimport './legacy/filelistSearch.js';\nimport './actions/deleteAction';\nimport './actions/openFolderAction';\nimport './actions/sidebarAction';\nimport Vue from 'vue';\nimport { createPinia, PiniaVuePlugin } from 'pinia';\nimport FilesListView from './views/FilesList.vue';\nimport NavigationService from './services/Navigation';\nimport NavigationView from './views/Navigation.vue';\nimport processLegacyFilesViews from './legacy/navigationMapper.js';\nimport registerPreviewServiceWorker from './services/ServiceWorker.js';\nimport router from './router/router.js';\nimport RouterService from './services/RouterService';\nimport SettingsModel from './models/Setting.js';\nimport SettingsService from './services/Settings.js';\n// Init private and public Files namespace\nwindow.OCA.Files = window.OCA.Files ?? {};\nwindow.OCP.Files = window.OCP.Files ?? {};\n// Expose router\nconst Router = new RouterService(router);\nObject.assign(window.OCP.Files, { Router });\n// Init Pinia store\nVue.use(PiniaVuePlugin);\nconst pinia = createPinia();\n// Init Navigation Service\nconst Navigation = new NavigationService();\nObject.assign(window.OCP.Files, { Navigation });\nVue.prototype.$navigation = Navigation;\n// Init Files App Settings Service\nconst Settings = new SettingsService();\nObject.assign(window.OCA.Files, { Settings });\nObject.assign(window.OCA.Files.Settings, { Setting: SettingsModel });\n// Init Navigation View\nconst View = Vue.extend(NavigationView);\nconst FilesNavigationRoot = new View({\n name: 'FilesNavigationRoot',\n propsData: {\n Navigation,\n },\n router,\n pinia,\n});\nFilesNavigationRoot.$mount('#app-navigation-files');\n// Init content list view\nconst ListView = Vue.extend(FilesListView);\nconst FilesList = new ListView({\n name: 'FilesListRoot',\n router,\n pinia,\n});\nFilesList.$mount('#app-content-vue');\n// Init legacy and new files views\nprocessLegacyFilesViews();\n// Register preview service worker\nregisterPreviewServiceWorker();\n","export default class RouterService {\n _router;\n constructor(router) {\n this._router = router;\n }\n /**\n * Trigger a route change on the files app\n *\n * @param path the url path, eg: '/trashbin?dir=/Deleted'\n * @param replace replace the current history\n * @see https://router.vuejs.org/guide/essentials/navigation.html#navigate-to-a-different-location\n */\n goTo(path, replace = false) {\n return this._router.push({\n path,\n replace,\n });\n }\n /**\n * Trigger a route change on the files App\n *\n * @param name the route name\n * @param params the route parameters\n * @param query the url query parameters\n * @param replace replace the current history\n * @see https://router.vuejs.org/guide/essentials/navigation.html#navigate-to-a-different-location\n */\n goToRoute(name, params, query, replace) {\n return this._router.push({\n name,\n query,\n params,\n replace,\n });\n }\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Settings {\n\n\t_settings\n\n\tconstructor() {\n\t\tthis._settings = []\n\t\tconsole.debug('OCA.Files.Settings initialized')\n\t}\n\n\t/**\n\t * Register a new setting\n\t *\n\t * @since 19.0.0\n\t * @param {OCA.Files.Settings.Setting} view element to add to settings\n\t * @return {boolean} whether registering was successful\n\t */\n\tregister(view) {\n\t\tif (this._settings.filter(e => e.name === view.name).length > 0) {\n\t\t\tconsole.error('A setting with the same name is already registered')\n\t\t\treturn false\n\t\t}\n\t\tthis._settings.push(view)\n\t\treturn true\n\t}\n\n\t/**\n\t * All settings elements\n\t *\n\t * @return {OCA.Files.Settings.Setting[]} All currently registered settings\n\t */\n\tget settings() {\n\t\treturn this._settings\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Setting {\n\n\t_close\n\t_el\n\t_name\n\t_open\n\n\t/**\n\t * Create a new files app setting\n\t *\n\t * @since 19.0.0\n\t * @param {string} name the name of this setting\n\t * @param {object} component the component\n\t * @param {Function} component.el function that returns an unmounted dom element to be added\n\t * @param {Function} [component.open] callback for when setting is added\n\t * @param {Function} [component.close] callback for when setting is closed\n\t */\n\tconstructor(name, { el, open, close }) {\n\t\tthis._name = name\n\t\tthis._el = el\n\t\tthis._open = open\n\t\tthis._close = close\n\n\t\tif (typeof this._open !== 'function') {\n\t\t\tthis._open = () => {}\n\t\t}\n\n\t\tif (typeof this._close !== 'function') {\n\t\t\tthis._close = () => {}\n\t\t}\n\t}\n\n\tget name() {\n\t\treturn this._name\n\t}\n\n\tget el() {\n\t\treturn this._el\n\t}\n\n\tget open() {\n\t\treturn this._open\n\t}\n\n\tget close() {\n\t\treturn this._close\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { generateUrl } from '@nextcloud/router'\nimport logger from '../logger.js'\n\nexport default () => {\n\tif ('serviceWorker' in navigator) {\n\t\t// Use the window load event to keep the page load performant\n\t\twindow.addEventListener('load', async () => {\n\t\t\ttry {\n\t\t\t\tconst url = generateUrl('/apps/files/preview-service-worker.js', {}, { noRewrite: true })\n\t\t\t\tconst registration = await navigator.serviceWorker.register(url, { scope: '/' })\n\t\t\t\tlogger.debug('SW registered: ', { registration })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('SW registration failed: ', { error })\n\t\t\t}\n\t\t})\n\t} else {\n\t\tlogger.debug('Service Worker is not enabled on this browser.')\n\t}\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports);\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports);\n global.CancelablePromise = mod.exports;\n }\n})(typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : this, function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.CancelablePromise = void 0;\n _exports.cancelable = cancelable;\n _exports.default = void 0;\n _exports.isCancelablePromise = isCancelablePromise;\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }\n\n function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); } }\n\n function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\"); return _classApplyDescriptorGet(receiver, descriptor); }\n\n function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }\n\n function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }\n\n function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError(\"attempted to \" + action + \" private field on non-instance\"); } return privateMap.get(receiver); }\n\n function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError(\"attempted to set read only private field\"); } descriptor.value = value; } }\n\n var toStringTag = typeof Symbol !== 'undefined' ? Symbol.toStringTag : '@@toStringTag';\n\n var _internals = /*#__PURE__*/new WeakMap();\n\n var _promise = /*#__PURE__*/new WeakMap();\n\n var CancelablePromiseInternal = /*#__PURE__*/function () {\n function CancelablePromiseInternal(_ref) {\n var _ref$executor = _ref.executor,\n executor = _ref$executor === void 0 ? function () {} : _ref$executor,\n _ref$internals = _ref.internals,\n internals = _ref$internals === void 0 ? defaultInternals() : _ref$internals,\n _ref$promise = _ref.promise,\n promise = _ref$promise === void 0 ? new Promise(function (resolve, reject) {\n return executor(resolve, reject, function (onCancel) {\n internals.onCancelList.push(onCancel);\n });\n }) : _ref$promise;\n\n _classCallCheck(this, CancelablePromiseInternal);\n\n _classPrivateFieldInitSpec(this, _internals, {\n writable: true,\n value: void 0\n });\n\n _classPrivateFieldInitSpec(this, _promise, {\n writable: true,\n value: void 0\n });\n\n _defineProperty(this, toStringTag, 'CancelablePromise');\n\n this.cancel = this.cancel.bind(this);\n\n _classPrivateFieldSet(this, _internals, internals);\n\n _classPrivateFieldSet(this, _promise, promise || new Promise(function (resolve, reject) {\n return executor(resolve, reject, function (onCancel) {\n internals.onCancelList.push(onCancel);\n });\n }));\n }\n\n _createClass(CancelablePromiseInternal, [{\n key: \"then\",\n value: function then(onfulfilled, onrejected) {\n return makeCancelable(_classPrivateFieldGet(this, _promise).then(createCallback(onfulfilled, _classPrivateFieldGet(this, _internals)), createCallback(onrejected, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals));\n }\n }, {\n key: \"catch\",\n value: function _catch(onrejected) {\n return makeCancelable(_classPrivateFieldGet(this, _promise).catch(createCallback(onrejected, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals));\n }\n }, {\n key: \"finally\",\n value: function _finally(onfinally, runWhenCanceled) {\n var _this = this;\n\n if (runWhenCanceled) {\n _classPrivateFieldGet(this, _internals).onCancelList.push(onfinally);\n }\n\n return makeCancelable(_classPrivateFieldGet(this, _promise).finally(createCallback(function () {\n if (onfinally) {\n if (runWhenCanceled) {\n _classPrivateFieldGet(_this, _internals).onCancelList = _classPrivateFieldGet(_this, _internals).onCancelList.filter(function (callback) {\n return callback !== onfinally;\n });\n }\n\n return onfinally();\n }\n }, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals));\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n _classPrivateFieldGet(this, _internals).isCanceled = true;\n\n var callbacks = _classPrivateFieldGet(this, _internals).onCancelList;\n\n _classPrivateFieldGet(this, _internals).onCancelList = [];\n\n var _iterator = _createForOfIteratorHelper(callbacks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var callback = _step.value;\n\n if (typeof callback === 'function') {\n try {\n callback();\n } catch (err) {\n console.error(err);\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"isCanceled\",\n value: function isCanceled() {\n return _classPrivateFieldGet(this, _internals).isCanceled === true;\n }\n }]);\n\n return CancelablePromiseInternal;\n }();\n\n var CancelablePromise = /*#__PURE__*/function (_CancelablePromiseInt) {\n _inherits(CancelablePromise, _CancelablePromiseInt);\n\n var _super = _createSuper(CancelablePromise);\n\n function CancelablePromise(executor) {\n _classCallCheck(this, CancelablePromise);\n\n return _super.call(this, {\n executor: executor\n });\n }\n\n return _createClass(CancelablePromise);\n }(CancelablePromiseInternal);\n\n _exports.CancelablePromise = CancelablePromise;\n\n _defineProperty(CancelablePromise, \"all\", function all(iterable) {\n return makeAllCancelable(iterable, Promise.all(iterable));\n });\n\n _defineProperty(CancelablePromise, \"allSettled\", function allSettled(iterable) {\n return makeAllCancelable(iterable, Promise.allSettled(iterable));\n });\n\n _defineProperty(CancelablePromise, \"any\", function any(iterable) {\n return makeAllCancelable(iterable, Promise.any(iterable));\n });\n\n _defineProperty(CancelablePromise, \"race\", function race(iterable) {\n return makeAllCancelable(iterable, Promise.race(iterable));\n });\n\n _defineProperty(CancelablePromise, \"resolve\", function resolve(value) {\n return cancelable(Promise.resolve(value));\n });\n\n _defineProperty(CancelablePromise, \"reject\", function reject(reason) {\n return cancelable(Promise.reject(reason));\n });\n\n _defineProperty(CancelablePromise, \"isCancelable\", isCancelablePromise);\n\n var _default = CancelablePromise;\n _exports.default = _default;\n\n function cancelable(promise) {\n return makeCancelable(promise, defaultInternals());\n }\n\n function isCancelablePromise(promise) {\n return promise instanceof CancelablePromise || promise instanceof CancelablePromiseInternal;\n }\n\n function createCallback(onResult, internals) {\n if (onResult) {\n return function (arg) {\n if (!internals.isCanceled) {\n var result = onResult(arg);\n\n if (isCancelablePromise(result)) {\n internals.onCancelList.push(result.cancel);\n }\n\n return result;\n }\n\n return arg;\n };\n }\n }\n\n function makeCancelable(promise, internals) {\n return new CancelablePromiseInternal({\n internals: internals,\n promise: promise\n });\n }\n\n function makeAllCancelable(iterable, promise) {\n var internals = defaultInternals();\n internals.onCancelList.push(function () {\n var _iterator2 = _createForOfIteratorHelper(iterable),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var resolvable = _step2.value;\n\n if (isCancelablePromise(resolvable)) {\n resolvable.cancel();\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n });\n return new CancelablePromiseInternal({\n internals: internals,\n promise: promise\n });\n }\n\n function defaultInternals() {\n return {\n isCanceled: false,\n onCancelList: []\n };\n }\n});\n//# sourceMappingURL=CancelablePromise.js.map","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".breadcrumb[data-v-68b3b20b]{flex:1 1 100% !important;width:100%}.breadcrumb[data-v-68b3b20b] a{cursor:pointer !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/BreadCrumbs.vue\"],\"names\":[],\"mappings\":\"AACA,6BAEC,wBAAA,CACA,UAAA,CAEA,+BACC,yBAAA\",\"sourcesContent\":[\"\\n.breadcrumb {\\n\\t// Take as much space as possible\\n\\tflex: 1 1 100% !important;\\n\\twidth: 100%;\\n\\n\\t::v-deep a {\\n\\t\\tcursor: pointer !important;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-svg-icon[data-v-93e9b2f4]{display:flex;align-items:center;align-self:center;justify-content:center;justify-self:center;width:44px;height:44px;opacity:1}.custom-svg-icon[data-v-93e9b2f4] svg{height:22px;width:22px;fill:currentColor}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/CustomSvgIconRender.vue\"],\"names\":[],\"mappings\":\"AACA,kCACC,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,sBAAA,CACA,mBAAA,CACA,UAAA,CACA,WAAA,CACA,SAAA,CAEA,sCAGC,WAAA,CACA,UAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n.custom-svg-icon {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\talign-self: center;\\n\\tjustify-content: center;\\n\\tjustify-self: center;\\n\\twidth: 44px;\\n\\theight: 44px;\\n\\topacity: 1;\\n\\n\\t::v-deep svg {\\n\\t\\t// mdi icons have a size of 24px\\n\\t\\t// 22px results in roughly 16px inner size\\n\\t\\theight: 22px;\\n\\t\\twidth: 22px;\\n\\t\\tfill: currentColor;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"tr[data-v-e5a368d6]:hover,tr[data-v-e5a368d6]:focus,tr[data-v-e5a368d6]:active{background-color:var(--color-background-dark)}.files-list__row-icon-preview[data-v-e5a368d6]:not([style*=background]){background:var(--color-loading-dark)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry.vue\"],\"names\":[],\"mappings\":\"AAGC,+EAGC,6CAAA,CAKF,wEACI,oCAAA\",\"sourcesContent\":[\"\\n/* Hover effect on tbody lines only */\\ntr {\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n}\\n\\n/* Preview not loaded animation effect */\\n.files-list__row-icon-preview:not([style*='background']) {\\n background: var(--color-loading-dark);\\n\\t// animation: preview-gradient-fade 1.2s ease-in-out infinite;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"tr[data-v-e6a083be]{padding-bottom:300px;border-top:1px solid var(--color-border);background-color:rgba(0,0,0,0) !important;border-bottom:none !important}td[data-v-e6a083be]{user-select:none;color:var(--color-text-maxcontrast) !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListFooter.vue\"],\"names\":[],\"mappings\":\"AAEA,oBACC,oBAAA,CACA,wCAAA,CAEA,yCAAA,CACA,6BAAA,CAGD,oBACC,gBAAA,CAEA,8CAAA\",\"sourcesContent\":[\"\\n// Scoped row\\ntr {\\n\\tpadding-bottom: 300px;\\n\\tborder-top: 1px solid var(--color-border);\\n\\t// Prevent hover effect on the whole row\\n\\tbackground-color: transparent !important;\\n\\tborder-bottom: none !important;\\n}\\n\\ntd {\\n\\tuser-select: none;\\n\\t// Make sure the cell colors don't apply to column headers\\n\\tcolor: var(--color-text-maxcontrast) !important;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".files-list__column[data-v-76b6186a]{user-select:none;color:var(--color-text-maxcontrast) !important}.files-list__column--sortable[data-v-76b6186a]{cursor:pointer}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListHeader.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,gBAAA,CAEA,8CAAA,CAEA,+CACC,cAAA\",\"sourcesContent\":[\"\\n.files-list__column {\\n\\tuser-select: none;\\n\\t// Make sure the cell colors don't apply to column headers\\n\\tcolor: var(--color-text-maxcontrast) !important;\\n\\n\\t&--sortable {\\n\\t\\tcursor: pointer;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".files-list__row-actions-batch[data-v-03e57b1e]{flex:1 1 100% !important}.files-list__row-actions-batch[data-v-03e57b1e] .button-vue__wrapper{width:100%}.files-list__row-actions-batch[data-v-03e57b1e] .button-vue__wrapper span.button-vue__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListHeaderActions.vue\"],\"names\":[],\"mappings\":\"AACA,gDACC,wBAAA,CAGA,qEACC,UAAA,CACA,2FACC,eAAA,CACA,sBAAA,CACA,kBAAA\",\"sourcesContent\":[\"\\n.files-list__row-actions-batch {\\n\\tflex: 1 1 100% !important;\\n\\n\\t// Remove when https://github.com/nextcloud/nextcloud-vue/pull/3936 is merged\\n\\t::v-deep .button-vue__wrapper {\\n\\t\\twidth: 100%;\\n\\t\\tspan.button-vue__text {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".files-list__column-sort-button{margin:0 calc(var(--cell-margin)*-1);padding:0 4px 0 16px !important}.files-list__column-sort-button .button-vue__wrapper{flex-direction:row-reverse;width:100%}.files-list__column-sort-button .button-vue__icon{transition-timing-function:linear;transition-duration:.1s;transition-property:opacity;opacity:0}.files-list__column-sort-button .button-vue__text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list__column-sort-button--active .button-vue__icon,.files-list__column-sort-button:hover .button-vue__icon,.files-list__column-sort-button:focus .button-vue__icon,.files-list__column-sort-button:active .button-vue__icon{opacity:1 !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListHeaderButton.vue\"],\"names\":[],\"mappings\":\"AACA,gCAEC,oCAAA,CAEA,+BAAA,CAGA,qDACC,0BAAA,CAGA,UAAA,CAGD,kDACC,iCAAA,CACA,uBAAA,CACA,2BAAA,CACA,SAAA,CAID,kDACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAOA,mOACC,oBAAA\",\"sourcesContent\":[\"\\n.files-list__column-sort-button {\\n\\t// Compensate for cells margin\\n\\tmargin: 0 calc(var(--cell-margin) * -1);\\n\\t// Reverse padding\\n\\tpadding: 0 4px 0 16px !important;\\n\\n\\t// Icon after text\\n\\t.button-vue__wrapper {\\n\\t\\tflex-direction: row-reverse;\\n\\t\\t// Take max inner width for text overflow ellipsis\\n\\t\\t// Remove when https://github.com/nextcloud/nextcloud-vue/pull/3936 is merged\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t.button-vue__icon {\\n\\t\\ttransition-timing-function: linear;\\n\\t\\ttransition-duration: .1s;\\n\\t\\ttransition-property: opacity;\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t// Remove when https://github.com/nextcloud/nextcloud-vue/pull/3936 is merged\\n\\t.button-vue__text {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&--active,\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\t.button-vue__icon {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".files-list[data-v-640a8bb8]{--row-height: 55px;--cell-margin: 14px;--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);--checkbox-size: 24px;--clickable-area: 44px;--icon-preview-size: 32px;display:block;overflow:auto;height:100%}.files-list[data-v-640a8bb8] tbody,.files-list[data-v-640a8bb8] .vue-recycle-scroller__slot{display:flex;flex-direction:column;width:100%;position:relative}.files-list[data-v-640a8bb8] .vue-recycle-scroller__slot[role=thead]{position:sticky;z-index:10;top:0;height:var(--row-height);background-color:var(--color-main-background)}.files-list[data-v-640a8bb8] tr{position:absolute;display:flex;align-items:center;width:100%;border-bottom:1px solid var(--color-border)}.files-list[data-v-640a8bb8] td,.files-list[data-v-640a8bb8] th{display:flex;align-items:center;flex:0 0 auto;justify-content:left;width:var(--row-height);height:var(--row-height);margin:0;padding:0;color:var(--color-text-maxcontrast);border:none}.files-list[data-v-640a8bb8] td span,.files-list[data-v-640a8bb8] th span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list[data-v-640a8bb8] .files-list__row-checkbox{justify-content:center}.files-list[data-v-640a8bb8] .files-list__row-checkbox .checkbox-radio-switch{display:flex;justify-content:center;--icon-size: var(--checkbox-size)}.files-list[data-v-640a8bb8] .files-list__row-checkbox .checkbox-radio-switch label.checkbox-radio-switch__label{width:var(--clickable-area);height:var(--clickable-area);margin:0;padding:calc((var(--clickable-area) - var(--checkbox-size))/2)}.files-list[data-v-640a8bb8] .files-list__row-checkbox .checkbox-radio-switch .checkbox-radio-switch__icon{margin:0 !important}.files-list[data-v-640a8bb8] .files-list__row-icon{position:relative;display:flex;overflow:visible;align-items:center;flex:0 0 var(--icon-preview-size);justify-content:center;width:var(--icon-preview-size);height:100%;margin-right:var(--checkbox-padding);color:var(--color-primary-element)}.files-list[data-v-640a8bb8] .files-list__row-icon>span{justify-content:flex-start}.files-list[data-v-640a8bb8] .files-list__row-icon>span:not(.files-list__row-icon-favorite) svg{width:var(--icon-preview-size);height:var(--icon-preview-size)}.files-list[data-v-640a8bb8] .files-list__row-icon-preview{overflow:hidden;width:var(--icon-preview-size);height:var(--icon-preview-size);border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center;background-size:contain}.files-list[data-v-640a8bb8] .files-list__row-icon-favorite{position:absolute;top:4px;right:-8px;color:#fc0}.files-list[data-v-640a8bb8] .files-list__row-name{overflow:hidden;flex:1 1 auto}.files-list[data-v-640a8bb8] .files-list__row-name a{display:flex;align-items:center;width:100%;height:100%}.files-list[data-v-640a8bb8] .files-list__row-name a:focus .files-list__row-name-text,.files-list[data-v-640a8bb8] .files-list__row-name a:focus-visible .files-list__row-name-text{outline:2px solid var(--color-main-text) !important;border-radius:20px}.files-list[data-v-640a8bb8] .files-list__row-name .files-list__row-name-text{padding:5px 10px;margin-left:-10px}.files-list[data-v-640a8bb8] .files-list__row-actions{width:auto}.files-list[data-v-640a8bb8] .files-list__row-actions~td,.files-list[data-v-640a8bb8] .files-list__row-actions~th{margin:0 var(--cell-margin)}.files-list[data-v-640a8bb8] .files-list__row-actions button .button-vue__text{font-weight:normal}.files-list[data-v-640a8bb8] .files-list__row-actions button:not(:hover,:focus,:active) .button-vue__wrapper{color:var(--color-text-maxcontrast)}.files-list[data-v-640a8bb8] .files-list__row-size{justify-content:flex-end;width:calc(var(--row-height)*1.5);color:var(--color-main-text)}.files-list[data-v-640a8bb8] .files-list__row-size .files-list__column-sort-button{padding:0 16px 0 4px !important}.files-list[data-v-640a8bb8] .files-list__row-size .files-list__column-sort-button .button-vue__wrapper{flex-direction:row}.files-list[data-v-640a8bb8] .files-list__row-column-custom{width:calc(var(--row-height)*2)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListVirtual.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,kBAAA,CACA,mBAAA,CAEA,wEAAA,CACA,qBAAA,CACA,sBAAA,CACA,yBAAA,CAEA,aAAA,CACA,aAAA,CACA,WAAA,CAIC,4FACC,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,iBAAA,CAID,qEAEC,eAAA,CACA,UAAA,CACA,KAAA,CACA,wBAAA,CACA,6CAAA,CAGD,gCACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,UAAA,CACA,2CAAA,CAGD,gEACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,oBAAA,CACA,uBAAA,CACA,wBAAA,CACA,QAAA,CACA,SAAA,CACA,mCAAA,CACA,WAAA,CAKA,0EACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAIF,uDACC,sBAAA,CACA,8EACC,YAAA,CACA,sBAAA,CAEA,iCAAA,CAEA,iHACC,2BAAA,CACA,4BAAA,CACA,QAAA,CACA,8DAAA,CAGD,2GACC,mBAAA,CAKH,mDACC,iBAAA,CACA,YAAA,CACA,gBAAA,CACA,kBAAA,CAEA,iCAAA,CACA,sBAAA,CACA,8BAAA,CACA,WAAA,CAEA,oCAAA,CACA,kCAAA,CAEA,wDACC,0BAAA,CAGD,gGACC,8BAAA,CACA,+BAAA,CAGD,2DACC,eAAA,CACA,8BAAA,CACA,+BAAA,CACA,kCAAA,CACA,2BAAA,CAEA,0BAAA,CACA,uBAAA,CAGD,4DACC,iBAAA,CACA,OAAA,CACA,UAAA,CACA,UAAA,CAIF,mDAEC,eAAA,CAEA,aAAA,CAEA,qDACC,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,WAAA,CAGA,oLAEC,mDAAA,CACA,kBAAA,CAIF,8EAEC,gBAAA,CACA,iBAAA,CAIF,sDACC,UAAA,CAGA,kHAEC,2BAAA,CAIA,+EAEC,kBAAA,CAED,6GAEC,mCAAA,CAKH,mDAEC,wBAAA,CACA,iCAAA,CAEA,4BAAA,CAGA,mFACC,+BAAA,CACA,wGACC,kBAAA,CAKH,4DACC,+BAAA\",\"sourcesContent\":[\"\\n.files-list {\\n\\t--row-height: 55px;\\n\\t--cell-margin: 14px;\\n\\n\\t--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);\\n\\t--checkbox-size: 24px;\\n\\t--clickable-area: 44px;\\n\\t--icon-preview-size: 32px;\\n\\n\\tdisplay: block;\\n\\toverflow: auto;\\n\\theight: 100%;\\n\\n\\t&::v-deep {\\n\\t\\t// Table head, body and footer\\n\\t\\ttbody, .vue-recycle-scroller__slot {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\t// Necessary for virtual scrolling absolute\\n\\t\\t\\tposition: relative;\\n\\t\\t}\\n\\n\\t\\t// Table header\\n\\t\\t.vue-recycle-scroller__slot[role='thead'] {\\n\\t\\t\\t// Pinned on top when scrolling\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tz-index: 10;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\ttr {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\ttd, th {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\tjustify-content: left;\\n\\t\\t\\twidth: var(--row-height);\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\tborder: none;\\n\\n\\t\\t\\t// Columns should try to add any text\\n\\t\\t\\t// node wrapped in a span. That should help\\n\\t\\t\\t// with the ellipsis on overflow.\\n\\t\\t\\tspan {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-checkbox {\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\t.checkbox-radio-switch {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t\\t--icon-size: var(--checkbox-size);\\n\\n\\t\\t\\t\\tlabel.checkbox-radio-switch__label {\\n\\t\\t\\t\\t\\twidth: var(--clickable-area);\\n\\t\\t\\t\\t\\theight: var(--clickable-area);\\n\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\tpadding: calc((var(--clickable-area) - var(--checkbox-size)) / 2);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.checkbox-radio-switch__icon {\\n\\t\\t\\t\\t\\tmargin: 0 !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-icon {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\toverflow: visible;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\t// No shrinking or growing allowed\\n\\t\\t\\tflex: 0 0 var(--icon-preview-size);\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\theight: 100%;\\n\\t\\t\\t// Show same padding as the checkbox right padding for visual balance\\n\\t\\t\\tmargin-right: var(--checkbox-padding);\\n\\t\\t\\tcolor: var(--color-primary-element);\\n\\n\\t\\t\\t& > span {\\n\\t\\t\\t\\tjustify-content: flex-start;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&> span:not(.files-list__row-icon-favorite) svg {\\n\\t\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-preview {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t// Center and contain the preview\\n\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\tbackground-size: contain;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-favorite {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 4px;\\n\\t\\t\\t\\tright: -8px;\\n\\t\\t\\t\\tcolor: #ffcc00;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-name {\\n\\t\\t\\t// Prevent link from overflowing\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\t// Take as much space as possible\\n\\t\\t\\tflex: 1 1 auto;\\n\\n\\t\\t\\ta {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t// Fill cell height and width\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\theight: 100%;\\n\\n\\t\\t\\t\\t// Keyboard indicator a11y\\n\\t\\t\\t\\t&:focus .files-list__row-name-text,\\n\\t\\t\\t\\t&:focus-visible .files-list__row-name-text {\\n\\t\\t\\t\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t\\t\\t\\tborder-radius: 20px;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t.files-list__row-name-text {\\n\\t\\t\\t\\t// Make some space for the outline\\n\\t\\t\\t\\tpadding: 5px 10px;\\n\\t\\t\\t\\tmargin-left: -10px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-actions {\\n\\t\\t\\twidth: auto;\\n\\n\\t\\t\\t// Add margin to all cells after the actions\\n\\t\\t\\t& ~ td,\\n\\t\\t\\t& ~ th {\\n\\t\\t\\t\\tmargin: 0 var(--cell-margin);\\n\\t\\t\\t}\\n\\n\\t\\t\\tbutton {\\n\\t\\t\\t\\t.button-vue__text {\\n\\t\\t\\t\\t\\t// Remove bold from default button styling\\n\\t\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:hover, :focus, :active) .button-vue__wrapper {\\n\\t\\t\\t\\t\\t// Also apply color-text-maxcontrast to non-active button\\n\\t\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-size {\\n\\t\\t\\t// Right align text\\n\\t\\t\\tjustify-content: flex-end;\\n\\t\\t\\twidth: calc(var(--row-height) * 1.5);\\n\\t\\t\\t// opacity varies with the size\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\t\\t// Icon is before text since size is right aligned\\n\\t\\t\\t.files-list__column-sort-button {\\n\\t\\t\\t\\tpadding: 0 16px 0 4px !important;\\n\\t\\t\\t\\t.button-vue__wrapper {\\n\\t\\t\\t\\t\\tflex-direction: row;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-column-custom {\\n\\t\\t\\twidth: calc(var(--row-height) * 2);\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-navigation-entry__settings-quota--not-unlimited[data-v-918797b2] .app-navigation-entry__title{margin-top:-4px}.app-navigation-entry__settings-quota progress[data-v-918797b2]{position:absolute;bottom:10px;margin-left:44px;width:calc(100% - 44px - 22px)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/NavigationQuota.vue\"],\"names\":[],\"mappings\":\"AAIC,mGACC,eAAA,CAGD,gEACC,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,8BAAA\",\"sourcesContent\":[\"\\n// User storage stats display\\n.app-navigation-entry__settings-quota {\\n\\t// Align title with progress and icon\\n\\t&--not-unlimited::v-deep .app-navigation-entry__title {\\n\\t\\tmargin-top: -4px;\\n\\t}\\n\\n\\tprogress {\\n\\t\\tposition: absolute;\\n\\t\\tbottom: 10px;\\n\\t\\tmargin-left: 44px;\\n\\t\\twidth: calc(100% - 44px - 22px);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".template-picker__item[data-v-5b09ec60]{display:flex}.template-picker__label[data-v-5b09ec60]{display:flex;align-items:center;flex:1 1;flex-direction:column}.template-picker__label[data-v-5b09ec60],.template-picker__label *[data-v-5b09ec60]{cursor:pointer;user-select:none}.template-picker__label[data-v-5b09ec60]::before{display:none !important}.template-picker__preview[data-v-5b09ec60]{display:block;overflow:hidden;flex:1 1;width:var(--width);min-height:var(--height);max-height:var(--height);padding:0;border:var(--border) solid var(--color-border);border-radius:var(--border-radius-large)}input:checked+label>.template-picker__preview[data-v-5b09ec60]{border-color:var(--color-primary-element)}.template-picker__preview--failed[data-v-5b09ec60]{display:flex}.template-picker__image[data-v-5b09ec60]{max-width:100%;background-color:var(--color-main-background);object-fit:cover}.template-picker__preview--failed .template-picker__image[data-v-5b09ec60]{width:calc(var(--margin)*8);margin:auto;background-color:rgba(0,0,0,0) !important;object-fit:initial}.template-picker__title[data-v-5b09ec60]{overflow:hidden;max-width:calc(var(--width) + 4px);padding:var(--margin);white-space:nowrap;text-overflow:ellipsis}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/TemplatePreview.vue\"],\"names\":[],\"mappings\":\"AAGC,wCACC,YAAA,CAGD,yCACC,YAAA,CAEA,kBAAA,CACA,QAAA,CACA,qBAAA,CAEA,oFACC,cAAA,CACA,gBAAA,CAGD,iDACC,uBAAA,CAIF,2CACC,aAAA,CACA,eAAA,CAEA,QAAA,CACA,kBAAA,CACA,wBAAA,CACA,wBAAA,CACA,SAAA,CACA,8CAAA,CACA,wCAAA,CAEA,+DACC,yCAAA,CAGD,mDAEC,YAAA,CAIF,yCACC,cAAA,CACA,6CAAA,CAEA,gBAAA,CAID,2EACC,2BAAA,CAEA,WAAA,CACA,yCAAA,CAEA,kBAAA,CAGD,yCACC,eAAA,CAEA,kCAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n\\n.template-picker {\\n\\t&__item {\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\t// Align in the middle of the grid\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tdisplay: none !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&__preview {\\n\\t\\tdisplay: block;\\n\\t\\toverflow: hidden;\\n\\t\\t// Stretch so all entries are the same width\\n\\t\\tflex: 1 1;\\n\\t\\twidth: var(--width);\\n\\t\\tmin-height: var(--height);\\n\\t\\tmax-height: var(--height);\\n\\t\\tpadding: 0;\\n\\t\\tborder: var(--border) solid var(--color-border);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\n\\t\\tinput:checked + label > & {\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t}\\n\\n\\t\\t&--failed {\\n\\t\\t\\t// Make sure to properly center fallback icon\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\t}\\n\\n\\t&__image {\\n\\t\\tmax-width: 100%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t// Failed preview, fallback to mime icon\\n\\t&__preview--failed &__image {\\n\\t\\twidth: calc(var(--margin) * 8);\\n\\t\\t// Center mime icon\\n\\t\\tmargin: auto;\\n\\t\\tbackground-color: transparent !important;\\n\\n\\t\\tobject-fit: initial;\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\t// also count preview border\\n\\t\\tmax-width: calc(var(--width) + 2*2px);\\n\\t\\tpadding: var(--margin);\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-content[data-v-66068cbb]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}.app-content[data-v-66068cbb]:not(.app-content--hidden)+#app-content{display:none}.files-list__header[data-v-66068cbb]{display:flex;align-content:center;flex:0 0;margin:4px 4px 4px 50px}.files-list__header>*[data-v-66068cbb]{flex:0 0}.files-list__refresh-icon[data-v-66068cbb]{flex:0 0 44px;width:44px;height:44px}.files-list__loading-icon[data-v-66068cbb]{margin:auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/FilesList.vue\"],\"names\":[],\"mappings\":\"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CAIA,qEACC,YAAA,CAQD,qCACC,YAAA,CACA,oBAAA,CAEA,QAAA,CAEA,uBAAA,CACA,uCAGC,QAAA,CAGF,2CACC,aAAA,CACA,UAAA,CACA,WAAA,CAED,2CACC,WAAA\",\"sourcesContent\":[\"\\n.app-content {\\n\\t// Virtual list needs to be full height and is scrollable\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\tflex-direction: column;\\n\\tmax-height: 100%;\\n\\n\\t// TODO: remove after all legacy views are migrated\\n\\t// Hides the legacy app-content if shown view is not legacy\\n\\t&:not(&--hidden)::v-deep + #app-content {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n$margin: 4px;\\n$navigationToggleSize: 50px;\\n\\n.files-list {\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-content: center;\\n\\t\\t// Do not grow or shrink (vertically)\\n\\t\\tflex: 0 0;\\n\\t\\t// Align with the navigation toggle icon\\n\\t\\tmargin: $margin $margin $margin $navigationToggleSize;\\n\\t\\t> * {\\n\\t\\t\\t// Do not grow or shrink (horizontally)\\n\\t\\t\\t// Only the breadcrumbs shrinks\\n\\t\\t\\tflex: 0 0;\\n\\t\\t}\\n\\t}\\n\\t&__refresh-icon {\\n\\t\\tflex: 0 0 44px;\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t}\\n\\t&__loading-icon {\\n\\t\\tmargin: auto;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-navigation[data-v-657a978e] .app-navigation-entry-icon{background-repeat:no-repeat;background-position:center}.app-navigation>ul.app-navigation__list[data-v-657a978e]{padding-bottom:var(--default-grid-baseline, 4px)}.app-navigation-entry__settings[data-v-657a978e]{height:auto !important;overflow:hidden !important;padding-top:0 !important;flex:0 0 auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Navigation.vue\"],\"names\":[],\"mappings\":\"AAEA,4DACC,2BAAA,CACA,0BAAA,CAGD,yDAEC,gDAAA,CAGD,iDACC,sBAAA,CACA,0BAAA,CACA,wBAAA,CAEA,aAAA\",\"sourcesContent\":[\"\\n// TODO: remove when https://github.com/nextcloud/nextcloud-vue/pull/3539 is in\\n.app-navigation::v-deep .app-navigation-entry-icon {\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-position: center;\\n}\\n\\n.app-navigation > ul.app-navigation__list {\\n\\t// Use flex gap value for more elegant spacing\\n\\tpadding-bottom: var(--default-grid-baseline, 4px);\\n}\\n\\n.app-navigation-entry__settings {\\n\\theight: auto !important;\\n\\toverflow: hidden !important;\\n\\tpadding-top: 0 !important;\\n\\t// Prevent shrinking or growing\\n\\tflex: 0 0 auto;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".setting-link[data-v-76ca5d1f]:hover{text-decoration:underline}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Settings.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,yBAAA\",\"sourcesContent\":[\"\\n.setting-link:hover {\\n\\ttext-decoration: underline;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".templates-picker__form[data-v-d46f1dc6]{padding:calc(var(--margin)*2);padding-bottom:0}.templates-picker__form h2[data-v-d46f1dc6]{text-align:center;font-weight:bold;margin:var(--margin) 0 calc(var(--margin)*2)}.templates-picker__list[data-v-d46f1dc6]{display:grid;grid-gap:calc(var(--margin)*2);grid-auto-columns:1fr;max-width:calc(var(--fullwidth)*6);grid-template-columns:repeat(auto-fit, var(--fullwidth));grid-auto-rows:1fr;justify-content:center}.templates-picker__buttons[data-v-d46f1dc6]{display:flex;justify-content:end;padding:calc(var(--margin)*2) var(--margin);position:sticky;bottom:0;background-image:linear-gradient(0, var(--gradient-main-background))}.templates-picker__buttons button[data-v-d46f1dc6],.templates-picker__buttons input[type=submit][data-v-d46f1dc6]{height:44px}.templates-picker[data-v-d46f1dc6] .modal-container{position:relative}.templates-picker__loading[data-v-d46f1dc6]{position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;margin:0;background-color:var(--color-main-background-translucent)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/TemplatePicker.vue\"],\"names\":[],\"mappings\":\"AAEC,yCACC,6BAAA,CAEA,gBAAA,CAEA,4CACC,iBAAA,CACA,gBAAA,CACA,4CAAA,CAIF,yCACC,YAAA,CACA,8BAAA,CACA,qBAAA,CAEA,kCAAA,CACA,wDAAA,CAEA,kBAAA,CAEA,sBAAA,CAGD,4CACC,YAAA,CACA,mBAAA,CACA,2CAAA,CACA,eAAA,CACA,QAAA,CACA,oEAAA,CAEA,kHACC,WAAA,CAKF,oDACC,iBAAA,CAGD,4CACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,QAAA,CACA,yDAAA\",\"sourcesContent\":[\"\\n.templates-picker {\\n\\t&__form {\\n\\t\\tpadding: calc(var(--margin) * 2);\\n\\t\\t// Will be handled by the buttons\\n\\t\\tpadding-bottom: 0;\\n\\n\\t\\th2 {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin: var(--margin) 0 calc(var(--margin) * 2);\\n\\t\\t}\\n\\t}\\n\\n\\t&__list {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-gap: calc(var(--margin) * 2);\\n\\t\\tgrid-auto-columns: 1fr;\\n\\t\\t// We want maximum 5 columns. Putting 6 as we don't count the grid gap. So it will always be lower than 6\\n\\t\\tmax-width: calc(var(--fullwidth) * 6);\\n\\t\\tgrid-template-columns: repeat(auto-fit, var(--fullwidth));\\n\\t\\t// Make sure all rows are the same height\\n\\t\\tgrid-auto-rows: 1fr;\\n\\t\\t// Center the columns set\\n\\t\\tjustify-content: center;\\n\\t}\\n\\n\\t&__buttons {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: end;\\n\\t\\tpadding: calc(var(--margin) * 2) var(--margin);\\n\\t\\tposition: sticky;\\n\\t\\tbottom: 0;\\n\\t\\tbackground-image: linear-gradient(0, var(--gradient-main-background));\\n\\n\\t\\tbutton, input[type='submit'] {\\n\\t\\t\\theight: 44px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Make sure we're relative for the loading emptycontent on top\\n\\t::v-deep .modal-container {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__loading {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\tmargin: 0;\\n\\t\\tbackground-color: var(--color-main-background-translucent);\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n/* @keyframes preview-gradient-fade {\\n 0% {\\n opacity: 1;\\n }\\n 50% {\\n opacity: 0.5;\\n }\\n 100% {\\n opacity: 1;\\n }\\n} */\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry.vue\"],\"names\":[],\"mappings\":\";AA8mBA;;;;;;;;;;GAUA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","import { render, staticRenderFns } from \"./Folder.vue?vue&type=template&id=5c04f969&\"\nimport script from \"./Folder.vue?vue&type=script&lang=js&\"\nexport * from \"./Folder.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 2181;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2181: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(92460)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","e","t","module","exports","self","o","d","default","$","n","a","i","r","s","l","c","u","Symbol","iterator","constructor","prototype","p","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","m","arguments","length","forEach","A","getOwnPropertyDescriptors","defineProperties","defineProperty","toPrimitive","call","TypeError","String","value","configurable","writable","h","Array","isArray","g","from","toString","slice","name","test","v","f","components","NcButton","DotsHorizontal","NcPopover","props","open","type","Boolean","forceMenu","forceTitle","menuTitle","primary","validator","indexOf","defaultIcon","ariaLabel","ariaHidden","placement","boundariesElement","Element","document","querySelector","container","disabled","inline","Number","emits","data","opened","this","focusIndex","randomId","concat","Z","computed","triggerBtnType","watch","methods","isValidSingleAction","componentOptions","Ctor","extendOptions","tag","includes","openMenu","$emit","closeMenu","$refs","popover","clearFocusTrap","returnFocus","menuButton","$el","focus","onOpen","$nextTick","focusFirstAction","onMouseFocusAction","activeElement","target","closest","menu","querySelectorAll","focusAction","onKeydown","keyCode","shiftKey","focusPreviousAction","focusNextAction","focusLastAction","preventDefault","removeCurrentActive","classList","remove","add","preventIfEvent","stopPropagation","onFocus","onBlur","render","$slots","every","propsData","href","startsWith","window","location","origin","util","warn","b","C","y","k","w","S","x","j","scopedSlots","icon","class","N","listeners","click","z","children","text","trim","P","E","B","title","staticClass","attrs","ref","on","blur","slot","size","delay","handleResize","shown","boundary","popoverBaseClass","setReturnFocus","show","hide","tabindex","keydown","mousemove","id","role","map","_","styleTagTransform","setAttributes","insert","bind","domAPI","insertStyleElement","locals","T","O","D","F","G","I","undefined","nativeType","wide","to","exact","console","navigate","isActive","isExactActive","$attrs","$listeners","custom","Y","start","Date","setTimeout","pause","clearTimeout","clear","getTimeLeft","getStateRunning","hasOwnProperty","asyncIterator","toStringTag","create","arg","wrap","getPrototypeOf","_invoke","resolve","__await","then","Error","done","method","delegate","sent","_sent","dispatchException","abrupt","return","resultName","next","nextLoc","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","completion","reset","isNaN","displayName","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","AsyncIterator","async","Promise","reverse","pop","values","prev","charAt","stop","rval","complete","finish","catch","delegateYield","NcActions","ChevronLeft","ChevronRight","Close","Pause","Play","directives","tooltip","mixins","hasPrevious","hasNext","outTransition","enableSlideshow","slideshowDelay","slideshowPaused","enableSwipe","spreadNavigation","canClose","dark","closeButtonContained","additionalTrapElements","inlineActions","mc","playing","slideshowTimeout","iconSize","focusTrap","randId","internalShow","showModal","modalTransitionName","playPauseTitle","cssVariables","closeButtonAriaLabel","prevButtonAriaLabel","nextButtonAriaLabel","mask","updateContainerElements","beforeMount","addEventListener","handleKeydown","beforeDestroy","removeEventListener","off","destroy","mounted","useFocusTrap","handleSwipe","body","insertBefore","lastChild","appendChild","destroyed","previous","resetSlideshow","close","togglePlayPause","handleSlideshow","clearSlideshowTimeout","createFocusTrap","allowOutsideClick","trapStack","L","activate","deactivate","M","U","R","q","W","V","H","_self","_c","appear","rawName","expression","style","_v","_s","_e","modifiers","auto","height","width","stroke","fill","cx","cy","_t","_u","key","fn","proxy","mousedown","currentTarget","invisible","K","Dropdown","inheritAttrs","HTMLElement","SVGElement","popperContent","$focusTrap","escapeDeactivates","afterShow","afterHide","_g","_b","distance","options","themes","html","VTooltip","getGettextBuilder","detectLocale","locale","translations","Actions","Activities","Choose","Custom","Favorite","Flags","Global","Next","Objects","Open","Previous","Search","Settings","Submit","Symbols","items","pluralId","msgid","msgid_plural","msgstr","addTranslation","build","ngettext","gettext","isMobile","created","handleWindowResize","documentElement","clientWidth","$on","onIsMobileChanged","$off","Math","random","replace","setAttribute","assign","_nc_focus_trap","version","sources","names","mappings","sourcesContent","sourceRoot","join","btoa","unescape","encodeURIComponent","JSON","stringify","identifier","base","css","media","sourceMap","supports","layer","references","updater","byIndex","splice","update","HTMLIFrameElement","contentDocument","head","createElement","attributes","nc","parentNode","removeChild","styleSheet","cssText","firstChild","createTextNode","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","__esModule","get","NcModal","required","showNavigation","selectedSection","linkClicked","addedScrollListener","scroller","hasNavigation","settingsNavigationAriaLabel","updated","settingsScroller","handleScroll","getSettingsNavigation","handleSettingsNavigationClick","getElementById","scrollIntoView","behavior","handleCloseModal","scrollTop","unfocusNavigationItem","className","handleLinkKeydown","code","event","htmlId","disableDrop","hovering","crumbId","nameTitleFallback","linkAttributes","onOpenChange","dropped","$parent","dragEnter","dragLeave","contains","relatedTarget","crumb","draggable","dragstart","drop","dragover","dragenter","dragleave","_d","URL","download","rel","onClick","isIconUrl","backgroundImage","domProps","textContent","isLongText","nativeOn","before","$destroy","beforeUpdate","getText","closeAfterClick","NcActionRouter","NcActionLink","NcBreadcrumb","IconFolder","rootIcon","hiddenCrumbs","hiddenIndices","menuBreadcrumbProps","subscribe","delayedResize","delayedHideCrumbs","unsubscribe","hideCrumbs","closeActions","actionsBreadcrumb","offsetWidth","getTotalWidth","breadcrumb__actions","floor","pow","getWidth","elm","arraysEqual","sort","reduce","minWidth","dragStart","dragOver","set","round","actions","svg","cleanSvg","sanitizeSVG","innerHTML","AlertCircle","Check","label","labelOutside","labelVisible","placeholder","showTrailingButton","trailingButtonLabel","success","error","helperText","inputClass","computedId","inputName","hasLeadingIcon","hasTrailingIcon","hasPlaceholder","computedPlaceholder","isValidLabel","handleInput","handleTrailingButtonClick","for","input","max","getCurrentDirectory","_OCA","_OCA$Files","_OCA$Files$App","_OCA$Files$App$curren","currentDirInfo","OCA","Files","App","currentFileList","dirInfo","path","previewWidth","basename","checked","fileid","filename","previewUrl","hasPreview","mime","ratio","failedPreview","nameWithoutExt","split","realPreviewUrl","mimeIcon","getCurrentUser","generateUrl","pathSections","relativePath","section","encodeFilePath","OC","MimeType","getIconUrl","onCheck","onFailure","_vm","NcEmptyContent","TemplatePreview","logger","loading","provider","emptyTemplate","_this$provider","_this$provider2","mimetypes","selectedTemplate","templates","find","template","margin","border","fetchedProvider","axios","generateOcsUrl","ocs","getTemplates","app","onSubmit","currentDirectory","fileList","_this$provider3","_this$provider4","debug","extension","_this$selectedTemplat","_this$selectedTemplat2","fileInfo","filePath","templatePath","templateType","createFromTemplate","normalize","addAndFetchFileInfo","status","model","FileInfoModel","filesClient","fileAction","fileActions","getDefaultFileAction","PERMISSION_ALL","action","$file","findFileEl","dir","fileInfoModel","showError","$event","_l","getLoggerBuilder","setApp","detectUser","Vue","TemplatePickerRoot","loadState","templatesPath","TemplatePicker","TemplatePickerView","$mount","initTemplatesPlugin","attach","addMenuEntry","templateName","iconClass","fileType","actionLabel","actionHandler","initTemplatesFolder","removeMenuEntry","Plugins","register","index","newTemplatePlugin","response","copySystemTemplates","changeDirectory","template_path","FilesPlugin","_ref","query","setFilter","humanList","humanListBinary","formatFileSize","skipSmallSizes","binaryPrefixes","order","log","min","readableFormat","relativeSize","toFixed","parseFloat","toLocaleString","user","FileType","Permission","setUid","uid","FileAction","validateAction","_action","iconSvgInline","enabled","exec","execBatch","renderInline","registerFileAction","_nc_fileactions","search","getFileActions","nodes","view","node","permissions","permission","DELETE","source","emit","all","files","Folder","READ","OCP","Router","goToRoute","ACTION_DETAILS","_window","_window$OCA","_window$OCA$Files","Sidebar","some","_node$root","root","_window2","_window2$OCA","_window2$OCA$Files","_window2$OCA$Files$Si","_window2$OCA$Files$Si2","getTarget","navigator","isProxyAvailable","Proxy","HOOK_SETUP","supported","perf","ApiProxy","plugin","hook","targetQueue","onQueue","defaultSettings","settings","item","defaultValue","localSettingsSaveId","currentSettings","raw","localStorage","getItem","parse","fallbacks","getSettings","setSettings","setItem","now","performance","_a","perf_hooks","pluginId","proxiedOn","_target","prop","args","proxiedTarget","setupDevtoolsPlugin","pluginDescriptor","setupFn","descriptor","__VUE_DEVTOOLS_GLOBAL_HOOK__","enableProxy","enableEarlyProxy","__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__","__VUE_DEVTOOLS_PLUGINS__","activePinia","setActivePinia","pinia","piniaSymbol","isPlainObject","toJSON","MutationType","IS_CLIENT","USE_DEVTOOLS","__VUE_PROD_DEVTOOLS__","_global","global","globalThis","url","opts","xhr","XMLHttpRequest","responseType","onload","saveAs","onerror","send","corsEnabled","dispatchEvent","MouseEvent","evt","createEvent","initMouseEvent","_navigator","userAgent","isMacOSWebView","HTMLAnchorElement","blob","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","Blob","fromCharCode","bom","popup","innerText","force","isSafari","isChromeIOS","FileReader","reader","onloadend","result","readAsDataURL","toastMessage","message","piniaMessage","__VUE_DEVTOOLS_TOAST__","isPinia","checkClipboardAccess","checkNotFocusedError","toLowerCase","fileInput","formatDisplay","display","_custom","PINIA_ROOT_LABEL","PINIA_ROOT_ID","formatStoreForInspectorTree","store","$id","formatEventData","events","operations","oldValue","newValue","operation","formatMutationType","direct","patchFunction","patchObject","isTimelineActive","componentStateTypes","MUTATIONS_LAYER_ID","INSPECTOR_ID","assign$1","getStoreType","registerPiniaDevtools","logo","packageName","homepage","api","addTimelineLayer","color","addInspector","treeFilterPlaceholder","clipboard","writeText","state","actionGlobalCopyState","readText","actionGlobalPasteState","sendInspectorTree","sendInspectorState","actionGlobalSaveState","accept","reject","onchange","file","oncancel","actionGlobalOpenStateFile","nodeActions","nodeId","_isOptionsAPI","$reset","inspectComponent","payload","ctx","componentInstance","_pStores","piniaStores","instanceData","editable","toRaw","$state","_getters","getters","getInspectorTree","inspectorId","stores","rootNodes","getInspectorState","inspectedStore","storeNames","storeMap","storeId","getterName","_customProperties","customProperties","formatStoreForInspectorState","editInspectorState","unshift","has","editComponentState","activeAction","runningActionId","patchActionForGrouping","actionNames","storeActions","actionName","_actionId","trackedStore","Reflect","devtoolsPlugin","originalHotUpdate","_hotUpdate","newStore","_hmrPayload","logStoreChanges","$onAction","after","onError","groupId","addTimelineEvent","layerId","time","subtitle","logType","unref","notifyComponentUpdate","deep","$subscribe","eventData","detached","flush","hotUpdate","markRaw","info","$dispose","addStoreToDevtools","noop","addSubscription","subscriptions","callback","onCleanup","removeSubscription","idx","getCurrentScope","onScopeDispose","triggerSubscriptions","mergeReactiveObjects","patchToApply","Map","Set","subPatch","targetValue","isRef","isReactive","skipHydrateSymbol","skipHydrateMap","WeakMap","createSetupStore","setup","hot","isOptionsStore","scope","optionsForPlugin","$subscribeOptions","isListening","isSyncListening","debuggerEvents","actionSubscriptions","initialState","hotState","activeListener","$patch","partialStateOrMutator","subscriptionMutation","myListenerId","nextTick","newState","wrapAction","afterCallbackList","onErrorCallbackList","ret","partialStore","_p","stopWatcher","run","delete","_r","reactive","setupStore","effectScope","effect","obj","actionValue","nonEnumerable","extender","extensions","hydrate","defineStore","idOrOptions","setupOptions","isSetupStore","useStore","currentInstance","getCurrentInstance","inject","localState","toRefs","computedGetters","createOptionsStore","compareNumbers","numberA","numberB","compareUnicode","stringA","stringB","localeCompare","abs","RE_NUMBERS","RE_LEADING_OR_TRAILING_WHITESPACES","RE_WHITESPACES","RE_INT_OR_FLOAT","RE_DATE","RE_LEADING_ZERO","RE_UNICODE_CHARACTERS","stringCompare","normalizeAlphaChunk","chunk","parseNumber","parsedNumber","normalizeNumericChunk","chunks","createChunkMap","normalizedString","createChunkMaps","chunksMaps","createChunks","isFunction","valueOf","isNull","isObject","isSymbol","isUndefined","getMappedValueRecord","stringValue","getTime","parsedDate","_unused","parseDate","numberify","createIdentifierFn","isInteger","orderBy","collection","identifiers","orders","validatedIdentifiers","identifierList","getIdentifiers","validatedOrders","orderList","getOrders","identifierFns","mappedCollection","element","recordA","recordB","indexA","valuesA","indexB","valuesB","ordersLength","_result","valueA","valueB","chunksA","chunksB","lengthA","lengthB","chunkA","chunkB","compareChunks","compareOtherTypes","compareMultiple","getElementByIndex","baseOrderBy","fillColor","useFilesStore","fileStore","roots","getNode","getNodes","ids","getRoot","service","updateNodes","acc","deleteNodes","setRoot","onDeletedNode","_initialized","usePathsStore","pathsStore","paths","getPath","addPath","useSelectionStore","selected","lastSelection","lastSelectedIndex","selection","setLastIndex","viewConfig","useViewConfigStore","getConfig","onUpdate","setSortingBy","toggleSortingDirection","newDirection","sorting_direction","viewConfigStore","Home","NcBreadcrumbs","filesStore","currentView","$navigation","active","dirs","sections","$route","getDirDisplayName","getNodeFromId","getFileIdFromPath","_this$currentView","_node$attributes","fileId","_to$query","_section$to","_section$to$query","_setupProxy","isIE","initCompat","init","ua","msie","parseInt","substring","rv","edge","getInternetExplorerVersion","_h","$createElement","compareAndNotify","_w","offsetHeight","addResizeHandlers","_resizeObject","defaultView","removeResizeHandlers","_this","object","install","component","GlobalVue","use","_typeof","_defineProperties","_toConsumableArray","arr","arr2","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","deepEqual","val1","val2","VisibilityState","el","vnode","instance","Constructor","_classCallCheck","observer","frozen","createObserver","protoProps","destroyObserver","entry","once","throttle","_leading","throttleOptions","leading","timeout","lastState","currentArgs","throttled","_len","_key","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","isIntersecting","intersectionRatio","threshold","intersection","context","observe","disconnect","_ref2","_vue_visibilityState","unbind","ObserveVisibility","_ref3","directive","config","itemsLimit","keyField","direction","listTag","itemTag","simpleArray","supportsPassive","normalizeComponent","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","originalRender","existing","__vue_script__$2","ResizeObserver","itemSize","gridItems","itemSecondarySize","minItemSize","sizeField","typeField","buffer","pageMode","prerender","emitUpdate","skipHover","listClass","itemClass","pool","totalSize","ready","hoverKey","sizes","accumulator","field","current","computedMinSize","$_computedMinItemSize","updateVisibleItems","applyPageMode","handler","$_startIndex","$_endIndex","$_views","$_unusedViews","$_scrollDirty","$_lastUpdateScrollPosition","$_prerender","activated","lastPosition","scrollToPosition","removeListeners","addView","position","nonReactive","used","unuseView","fake","unusedViews","nr","unusedPool","requestAnimationFrame","continuous","$_refreshTimout","handleVisibilityChange","isVisible","boundingClientRect","checkItem","checkPositionDiff","count","views","startIndex","endIndex","visibleStartIndex","visibleEndIndex","scroll","getScroll","positionDiff","end","beforeSize","scrollHeight","afterSize","oldI","ceil","itemsLimitError","$_continuous","unusedIndex","offset","$_sortTimer","sortViews","getListenerTarget","isVertical","scrollState","bounds","getBoundingClientRect","boundsSize","top","left","innerHeight","innerWidth","clientHeight","scrollLeft","addListeners","listenerTarget","passive","scrollToItem","viewport","scrollDirection","scrollDistance","viewportEl","tagName","scrollerPosition","viewA","viewB","__vue_render__$1","_obj","_obj$1","hover","transform","mouseenter","mouseleave","notify","_withStripped","__vue_component__$2","script$1","RecycleScroller","provide","$_resizeObserver","CustomEvent","detail","contentRect","vscrollData","vscrollParent","vscrollResizeObserver","validSizes","itemsWithSize","$_undefinedMap","forceUpdate","immediate","prevActiveTop","activeTop","$_updates","$_undefinedSizes","deactivated","onScrollerResize","onScrollerVisible","getItemSize","scrollToBottom","$_scrollingToBottom","cb","__vue_script__$1","__vue_render__","resize","visible","itemWithSize","__vue_component__$1","__vue_component__","watchData","sizeDependencies","emitResize","finalActive","onDataUpdate","observeSize","unobserveSize","$_pendingVScrollUpdate","updateSize","$isServer","$_forceNextVScrollUpdate","updateWatchData","$watch","onVscrollUpdate","onVscrollUpdateSize","$_pendingSizeUpdate","computeSize","$_watchData","applySize","$set","onResize","unobserve","finalOptions","installComponents","componentsPrefix","prefix","registerComponents","getChildNodes","$placeholder","$fakeParent","nextSiblingPatched","childNodesPatched","isFrag","patchParentNode","fakeParent","parentElement","patchNextSibling","childNodes","getChildNodesWithFragments","childNodesDescriptor","Node","realChildNodes","childNode","fromParent","getTopFragment","patchChildNodes","frag","hasChildNodes","_this$frag$","getFragmentLeafNodes","_Array$prototype","hasChildInFragment","removedNode","insertBeforeNode","addPlaceholder","insertNode","insertNodes","_frag","_lastNode","removePlaceholder","append","shift","inserted","nextSibling","previousSibling","createComment","fragment","createDocumentFragment","replaceWith","htmlString","_this2","child","domify","useActionsMenuStore","userConfig","show_hidden","crop_image_previews","useUserConfigStore","userConfigStore","Function","sanitize","CustomElementRender","CustomSvgIconRender","FileIcon","FolderIcon","Fragment","NcActionButton","NcCheckboxRadioSwitch","NcLoadingIcon","StarIcon","isSizeAvailable","filesListWidth","actionsMenuStore","keyboardStore","altKey","ctrlKey","metaKey","onEvent","useKeyboardStore","selectionStore","backgroundFailed","columns","_this$$route","_this$$route$query","_this$source","_this$source$fileid","_this$source$fileid$t","sizeOpacity","linkAttrs","enabledDefaultActions","is","selectedFiles","isSelected","_this$source2","_this$source2$fileid","_this$source2$fileid$","cropPreviews","searchParams","mimeIconUrl","_window$OC","_window$OC$MimeType","_window$OC$MimeType$g","mimeType","enabledActions","enabledInlineActions","_action$inline","enabledMenuActions","openedMenu","uniqueId","charCodeAt","isFavorite","favorite","resetState","clearImg","debounceIfNotCached","_this$$el$parentNode","_this$$el$parentNode$","debounceGetPreview","debounce","fetchAndApplyPreview","onRightClick","caches","cache","match","previewPromise","CancelablePromise","onCancel","img","Image","fetchpriority","src","cancel","showSuccess","execDefaultAction","openDetailsIfAvailable","detailsAction","onSelectionChange","_this$keyboardStore","newSelectedIndex","isAlreadySelected","filesToSelect","_file$fileid","_file$fileid$toString","isMoreThanOneSelected","translate","_loading","onActionClick","opacity","column","_vm$currentView","summary","currentFolder","_this$currentView2","_this$currentFolder","total","classForColumn","_column$summary","fileListEl","$resizeObserver","filesListWidthMixin","selectedNodes","areSomeNodesLoading","selectionIds","results","failedIds","keysOrMapper","reduced","$pinia","storeKey","sortingMode","_this$getConfig","sorting_mode","defaultSortKey","isAscSorting","_this$getConfig2","toggleSortBy","MenuDown","MenuUp","filesSortingMixin","mode","sortAriaLabel","FilesListHeaderButton","FilesListHeaderActions","selectAllBind","isNoneSelected","isSomeSelected","isAllSelected","indeterminate","onToggleAll","FileEntry","FilesListHeader","FilesListFooter","summaryFile","translatePlural","summaryFolder","slots","getFileId","caption","_defineProperty","isValidNavigation","isUniqueNavigation","_views","legacy","findIndex","setActive","_currentView","getContents","string","XMLValidator","jsonObject","parser","XMLParser","isSvg","isValidColumn","emptyView","sticky","expanded","BreadCrumbs","FilesListVirtual","NcAppContent","TrashCan","promise","dirContents","_this$currentFolder2","customColumn","_children","isEmptyDir","isRefreshing","toPreviousDir","newView","oldView","fetchContent","newDir","oldDir","_this$$refs","_this$$refs$filesList","filesListVirtual","_this$currentView3","_this$promise","folder","contents","_vm$currentView2","timeoutID","_ref$noTrailing","noTrailing","_ref$noLeading","noLeading","_ref$debounceMode","debounceMode","cancelled","lastExec","clearExistingTimeout","wrapper","arguments_","elapsed","_ref2$upcomingOnly","upcomingOnly","ChartPie","NcAppNavigationItem","NcProgressBar","loadingStorageStats","storageStats","storageStatsTitle","_this$storageStats","_this$storageStats2","_this$storageStats3","usedQuotaByte","quotaByte","quota","storageStatsTooltip","relative","setInterval","throttleUpdateStorageStats","debounceUpdateStorageStats","_ref$atBegin","atBegin","updateStorageStats","_response$data","Clipboard","NcAppSettingsDialog","NcAppSettingsSection","NcInputField","Setting","_window$OCA$Files$Set","_getCurrentUser","webdavUrl","generateRemoteUrl","webdavDocs","appPasswordUrl","webdavUrlCopied","setting","onClose","setConfig","select","copyCloudId","Cog","NavigationQuota","NcAppNavigation","NcIconSvgWrapper","SettingsModal","Navigation","settingsOpened","currentViewId","_this$$route$params","params","parentViews","childViews","list","showView","onLegacyNavigationChanged","_window$OCA$Files$Sid","_window$OCA$Files$Sid2","newAppContent","Util","History","parseUrlQuery","itemId","jQuery","trigger","Event","heading","headingEl","setPageHeading","$router","onToggleExpand","isExpanded","_this$viewConfigStore","generateToNavigation","openSettings","onSettingsClose","registerLegacyView","classes","extend","encodeReserveRE","encodeReserveReplacer","commaRE","encode","str","decode","decodeURIComponent","err","castQueryParamValue","parseQuery","res","param","parts","val","stringifyQuery","trailingSlashRE","createRoute","record","redirectedFrom","router","clone","route","meta","hash","fullPath","getFullPath","matched","formatMatch","freeze","START","_stringifyQuery","isSameRoute","onlyPath","isObjectEqual","aKeys","bKeys","aVal","bVal","handleRouteEntered","instances","cbs","enteredCbs","i$1","_isBeingDestroyed","routerView","_routerViewCache","depth","inactive","_routerRoot","vnodeData","keepAlive","_directInactive","_inactive","routerViewDepth","cachedData","cachedComponent","configProps","fillPropsinData","registerRouteInstance","vm","prepatch","propsToPass","resolveProps","resolvePath","firstChar","stack","segments","segment","cleanPath","isarray","pathToRegexp_1","pathToRegexp","RegExp","groups","delimiter","optional","repeat","partial","asterisk","pattern","attachKeys","regexpToRegexp","flags","arrayToRegexp","tokensToRegExp","stringToRegexp","parse_1","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","PATH_REGEXP","tokens","defaultDelimiter","escaped","capture","group","modifier","escapeGroup","escapeString","substr","encodeURIComponentPretty","encodeURI","toUpperCase","matches","pretty","token","re","sensitive","strict","endsWithDelimiter","compile","regexpCompileCache","fillParams","routeMsg","filler","pathMatch","normalizeLocation","_normalized","params$1","rawPath","parsedPath","hashIndex","queryIndex","parsePath","basePath","extraQuery","_parseQuery","parsedQuery","resolveQuery","_Vue","Link","exactPath","activeClass","exactActiveClass","ariaCurrentValue","this$1$1","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","queryIncludes","isIncludedRoute","guardEvent","scopedSlot","$scopedSlots","$hasNormal","findAnchor","isStatic","aData","handler$1","event$1","aAttrs","defaultPrevented","button","getAttribute","inBrowser","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","parentRoute","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","alias","redirect","beforeEnter","childMatchAs","aliases","aliasRoute","createMatcher","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","aliasedMatch","aliasedRecord","addRoute","parentOrRoute","getRoutes","addRoutes","len","Time","genStateKey","getStateKey","setStateKey","positionStore","setupScroll","history","scrollRestoration","protocolAndPath","protocol","host","absolutePath","stateCopy","replaceState","handlePopState","isPop","scrollBehavior","getScrollPosition","shouldScroll","saveScrollPosition","pageXOffset","pageYOffset","isValidPosition","isNumber","normalizePosition","hashStartsWithNumberRE","selector","docRect","elRect","getElementPosition","scrollTo","supportsPushState","pushState","NavigationFailureType","redirected","aborted","duplicated","createNavigationCancelledError","createRouterError","_isRouter","propertiesToLog","isError","isNavigationFailure","errorType","runQueue","queue","step","flatMapComponents","flatten","hasSymbol","called","baseEl","normalizeBase","pending","readyCbs","readyErrorCbs","errorCbs","extractGuards","records","guards","def","guard","extractGuard","bindGuard","listen","onReady","errorCb","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","afterHooks","abort","lastRouteIndex","lastCurrentIndex","resolveQueue","extractLeaveGuards","beforeHooks","extractUpdateHooks","hasAsync","cid","resolvedDef","resolved","reason","msg","comp","createNavigationAbortedError","createNavigationRedirectedError","enterGuards","bindEnterGuard","extractEnterGuards","resolveHooks","setupListeners","teardown","cleanupListener","HTML5History","_startLocation","getLocation","expectScroll","supportsScroll","handleRoutingEvent","go","fromRoute","getCurrentLocation","pathname","pathLowerCase","baseLowerCase","HashHistory","fallback","checkFallback","ensureSlash","getHash","replaceHash","eventType","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","prototypeAccessors","$once","routeOrError","handleInitialScroll","_route","beforeEach","registerHook","beforeResolve","afterEach","back","forward","getMatchedComponents","createHref","normalizedTo","VueRouter$1","installed","isDef","registerInstance","callVal","_parentVnode","mixin","_router","defineReactive","strats","optionMergeStrategies","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","START_LOCATION","singleMatcher","multiMatcher","decodeComponents","right","splitOnFirst","separator","separatorIndex","includeKeys","predicate","ownKeys","isNullOrUndefined","strictUriEncode","encodeFragmentIdentifier","validateArrayFormatSeparator","encodedURI","replaceMap","customDecodeURIComponent","keysSorter","removeHash","hashStart","parseValue","parseNumbers","parseBooleans","extract","queryStart","arrayFormat","arrayFormatSeparator","formatter","isEncodedArray","arrayValue","flat","parserForArrayFormat","returnValue","parameter","parameter_","key2","value2","shouldFilter","skipNull","skipEmptyString","keyValueSep","encoderForArrayFormat","objectCopy","parseUrl","url_","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryString","urlObjectForFragmentEncode","pick","exclude","_window$OCP$Files","goTo","_provided","provideCache","toBeInstalled","globalProperties","createPinia","NavigationService","_settings","_name","_el","_open","_close","NavigationView","FilesListView","legacyViews","sublist","subview","processLegacyFilesViews","noRewrite","registration","serviceWorker","_exports","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","construct","sham","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_createForOfIteratorHelper","allowArrayLike","it","minLen","_arrayLikeToArray","_unsupportedIterableToArray","normalCompletion","didErr","_e2","_createClass","staticProps","_classPrivateFieldInitSpec","privateMap","privateCollection","_checkPrivateRedeclaration","_classPrivateFieldGet","receiver","_classApplyDescriptorGet","_classExtractFieldDescriptor","_classPrivateFieldSet","_classApplyDescriptorSet","cancelable","isCancelablePromise","_internals","_promise","CancelablePromiseInternal","_ref$executor","executor","_ref$internals","internals","isCanceled","onCancelList","_ref$promise","onfulfilled","onrejected","makeCancelable","createCallback","onfinally","runWhenCanceled","finally","callbacks","_step","_iterator","_CancelablePromiseInt","subClass","superClass","_inherits","_super","iterable","makeAllCancelable","allSettled","any","race","_default","onResult","_step2","_iterator2","resolvable","___CSS_LOADER_EXPORT___","parents","ps","getComputedStyle","getPropertyValue","overflow","scrollingElement","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","chunkIds","priority","notFulfilled","Infinity","fulfilled","getter","definition","nmd","baseURI","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"files-main.js?v=48b505ba62ae9944c681","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcAppSettingsDialog.js","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcAppSettingsSection.js","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcBreadcrumb.js","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcBreadcrumbs.js","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcIconSvgWrapper.js","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcInputField.js","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcProgressBar.js","webpack:///nextcloud/apps/files/src/utils/davUtils.js","webpack:///nextcloud/apps/files/src/utils/fileUtils.js","webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue","webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/components/TemplatePreview.vue?9ec4","webpack://nextcloud/./apps/files/src/components/TemplatePreview.vue?81db","webpack://nextcloud/./apps/files/src/components/TemplatePreview.vue?c414","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/files/src/services/Templates.js","webpack://nextcloud/./apps/files/src/views/TemplatePicker.vue?9ada","webpack://nextcloud/./apps/files/src/views/TemplatePicker.vue?afd8","webpack://nextcloud/./apps/files/src/views/TemplatePicker.vue?1f7b","webpack:///nextcloud/apps/files/src/templates.js","webpack:///nextcloud/apps/files/src/legacy/filelistSearch.js","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.esm.js","webpack:///nextcloud/apps/files/src/logger.js","webpack:///nextcloud/apps/files/src/services/FileAction.ts","webpack:///nextcloud/apps/files/src/actions/deleteAction.ts","webpack:///nextcloud/apps/files/src/actions/openFolderAction.ts","webpack:///nextcloud/apps/files/src/actions/sidebarAction.ts","webpack:///nextcloud/node_modules/pinia/node_modules/vue-demi/lib/index.mjs","webpack:///nextcloud/node_modules/@vue/devtools-api/lib/esm/env.js","webpack:///nextcloud/node_modules/@vue/devtools-api/lib/esm/const.js","webpack:///nextcloud/node_modules/@vue/devtools-api/lib/esm/time.js","webpack:///nextcloud/node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack:///nextcloud/node_modules/@vue/devtools-api/lib/esm/index.js","webpack:///nextcloud/node_modules/pinia/dist/pinia.mjs","webpack:///nextcloud/apps/files/src/views/FilesList.vue","webpack:///nextcloud/node_modules/natural-orderby/dist/index.js","webpack:///nextcloud/node_modules/vue-material-design-icons/TrashCan.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/TrashCan.vue?vue&type=script&lang=js&","webpack://nextcloud/./node_modules/vue-material-design-icons/TrashCan.vue?4171","webpack:///nextcloud/node_modules/vue-material-design-icons/TrashCan.vue?vue&type=template&id=b4e837d6&","webpack:///nextcloud/apps/files/src/store/files.ts","webpack:///nextcloud/apps/files/src/store/paths.ts","webpack:///nextcloud/apps/files/src/store/selection.ts","webpack:///nextcloud/apps/files/src/store/viewConfig.ts","webpack:///nextcloud/node_modules/vue-material-design-icons/Home.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/Home.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Home.vue?e73b","webpack:///nextcloud/node_modules/vue-material-design-icons/Home.vue?vue&type=template&id=69a49b0f&","webpack:///nextcloud/apps/files/src/components/BreadCrumbs.vue","webpack:///nextcloud/apps/files/src/components/BreadCrumbs.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/components/BreadCrumbs.vue?e59f","webpack://nextcloud/./apps/files/src/components/BreadCrumbs.vue?d357","webpack://nextcloud/./apps/files/src/components/BreadCrumbs.vue?e906","webpack:///nextcloud/node_modules/vue-virtual-scroller/node_modules/vue-resize/dist/vue-resize.esm.js","webpack:///nextcloud/node_modules/vue-virtual-scroller/node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","webpack:///nextcloud/node_modules/vue-virtual-scroller/dist/vue-virtual-scroller.esm.js","webpack:///nextcloud/apps/files/src/components/FileEntry.vue","webpack:///nextcloud/node_modules/vue-frag/dist/frag.esm.js","webpack:///nextcloud/node_modules/vue-material-design-icons/File.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/File.vue?vue&type=script&lang=js&","webpack://nextcloud/./node_modules/vue-material-design-icons/File.vue?245d","webpack:///nextcloud/node_modules/vue-material-design-icons/File.vue?vue&type=template&id=5c8d96c6&","webpack:///nextcloud/apps/files/src/utils/hashUtils.ts","webpack:///nextcloud/apps/files/src/store/actionsmenu.ts","webpack:///nextcloud/apps/files/src/store/userconfig.ts","webpack:///nextcloud/apps/files/src/components/CustomElementRender.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/files/src/components/CustomElementRender.vue","webpack://nextcloud/./apps/files/src/components/CustomElementRender.vue?5f5c","webpack://nextcloud/./apps/files/src/components/CustomElementRender.vue?4ee7","webpack://nextcloud/./apps/files/src/components/CustomSvgIconRender.vue?2c34","webpack:///nextcloud/apps/files/src/components/CustomSvgIconRender.vue","webpack:///nextcloud/apps/files/src/components/CustomSvgIconRender.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/components/CustomSvgIconRender.vue?6bea","webpack://nextcloud/./apps/files/src/components/CustomSvgIconRender.vue?5641","webpack:///nextcloud/apps/files/src/store/keyboard.ts","webpack:///nextcloud/apps/files/src/services/PreviewService.ts","webpack:///nextcloud/apps/files/src/components/FileEntry.vue?vue&type=script&lang=ts&","webpack://nextcloud/./apps/files/src/components/FileEntry.vue?2dc2","webpack://nextcloud/./apps/files/src/components/FileEntry.vue?ee14","webpack://nextcloud/./apps/files/src/components/FileEntry.vue?da7c","webpack:///nextcloud/apps/files/src/components/FilesListFooter.vue?vue&type=script&lang=ts&","webpack:///nextcloud/apps/files/src/components/FilesListFooter.vue","webpack://nextcloud/./apps/files/src/components/FilesListFooter.vue?14b9","webpack://nextcloud/./apps/files/src/components/FilesListFooter.vue?80db","webpack:///nextcloud/apps/files/src/mixins/filesListWidth.ts","webpack:///nextcloud/apps/files/src/components/FilesListHeaderActions.vue","webpack:///nextcloud/apps/files/src/components/FilesListHeaderActions.vue?vue&type=script&lang=ts&","webpack://nextcloud/./apps/files/src/components/FilesListHeaderActions.vue?993d","webpack://nextcloud/./apps/files/src/components/FilesListHeaderActions.vue?9823","webpack:///nextcloud/node_modules/vue-material-design-icons/MenuDown.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/MenuDown.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/MenuDown.vue?7f4a","webpack:///nextcloud/node_modules/vue-material-design-icons/MenuDown.vue?vue&type=template&id=49c08fbe&","webpack:///nextcloud/node_modules/vue-material-design-icons/MenuUp.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/MenuUp.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/MenuUp.vue?1ade","webpack:///nextcloud/node_modules/vue-material-design-icons/MenuUp.vue?vue&type=template&id=52b567ec&","webpack:///nextcloud/apps/files/src/mixins/filesSorting.ts","webpack:///nextcloud/apps/files/src/components/FilesListHeaderButton.vue?vue&type=script&lang=ts&","webpack:///nextcloud/apps/files/src/components/FilesListHeaderButton.vue","webpack://nextcloud/./apps/files/src/components/FilesListHeaderButton.vue?d900","webpack://nextcloud/./apps/files/src/components/FilesListHeaderButton.vue?5686","webpack:///nextcloud/apps/files/src/components/FilesListHeader.vue?vue&type=script&lang=ts&","webpack:///nextcloud/apps/files/src/components/FilesListHeader.vue","webpack://nextcloud/./apps/files/src/components/FilesListHeader.vue?c7b4","webpack://nextcloud/./apps/files/src/components/FilesListHeader.vue?349b","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue?vue&type=script&lang=ts&","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue","webpack://nextcloud/./apps/files/src/components/FilesListVirtual.vue?034b","webpack://nextcloud/./apps/files/src/components/FilesListVirtual.vue?3555","webpack:///nextcloud/apps/files/src/services/Navigation.ts","webpack:///nextcloud/node_modules/is-svg/index.js","webpack:///nextcloud/apps/files/src/views/FilesList.vue?vue&type=script&lang=ts&","webpack://nextcloud/./apps/files/src/views/FilesList.vue?b2cc","webpack://nextcloud/./apps/files/src/views/FilesList.vue?1e5b","webpack://nextcloud/./apps/files/src/views/Navigation.vue?8122","webpack://nextcloud/./node_modules/vue-material-design-icons/Cog.vue?4d6d","webpack:///nextcloud/node_modules/throttle-debounce/esm/index.js","webpack:///nextcloud/node_modules/vue-material-design-icons/ChartPie.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ChartPie.vue?vue&type=script&lang=js&","webpack://nextcloud/./node_modules/vue-material-design-icons/ChartPie.vue?421f","webpack:///nextcloud/node_modules/vue-material-design-icons/ChartPie.vue?vue&type=template&id=44de6464&","webpack:///nextcloud/apps/files/src/components/NavigationQuota.vue","webpack:///nextcloud/apps/files/src/components/NavigationQuota.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/components/NavigationQuota.vue?ff39","webpack://nextcloud/./apps/files/src/components/NavigationQuota.vue?2966","webpack://nextcloud/./apps/files/src/components/NavigationQuota.vue?08cb","webpack://nextcloud/./apps/files/src/views/Settings.vue?84f7","webpack:///nextcloud/node_modules/vue-material-design-icons/Clipboard.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Clipboard.vue?vue&type=script&lang=js&","webpack://nextcloud/./node_modules/vue-material-design-icons/Clipboard.vue?68c7","webpack:///nextcloud/node_modules/vue-material-design-icons/Clipboard.vue?vue&type=template&id=0e008e34&","webpack:///nextcloud/apps/files/src/components/Setting.vue","webpack:///nextcloud/apps/files/src/components/Setting.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/components/Setting.vue?98ea","webpack://nextcloud/./apps/files/src/components/Setting.vue?8d57","webpack:///nextcloud/apps/files/src/views/Settings.vue","webpack:///nextcloud/apps/files/src/views/Settings.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/views/Settings.vue?7e31","webpack://nextcloud/./apps/files/src/views/Settings.vue?b81b","webpack:///nextcloud/apps/files/src/views/Navigation.vue","webpack:///nextcloud/core/src/OCP/accessibility.js","webpack:///nextcloud/apps/files/src/views/Navigation.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/views/Navigation.vue?e9dc","webpack://nextcloud/./apps/files/src/views/Navigation.vue?74b9","webpack:///nextcloud/apps/files/src/legacy/navigationMapper.js","webpack:///nextcloud/node_modules/vue-router/dist/vue-router.esm.js","webpack:///nextcloud/node_modules/decode-uri-component/index.js","webpack:///nextcloud/node_modules/split-on-first/index.js","webpack:///nextcloud/node_modules/query-string/node_modules/filter-obj/index.js","webpack:///nextcloud/node_modules/query-string/base.js","webpack:///nextcloud/node_modules/query-string/index.js","webpack:///nextcloud/apps/files/src/router/router.js","webpack:///nextcloud/apps/files/src/main.ts","webpack:///nextcloud/apps/files/src/services/RouterService.ts","webpack:///nextcloud/apps/files/src/services/Settings.js","webpack:///nextcloud/apps/files/src/models/Setting.js","webpack:///nextcloud/apps/files/src/services/ServiceWorker.js","webpack:///nextcloud/node_modules/cancelable-promise/umd/CancelablePromise.js","webpack:///nextcloud/apps/files/src/components/BreadCrumbs.vue?vue&type=style&index=0&id=68b3b20b&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/files/src/components/CustomSvgIconRender.vue?vue&type=style&index=0&id=93e9b2f4&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/files/src/components/FileEntry.vue?vue&type=style&index=0&id=e5a368d6&prod&scoped=true&lang=scss&","webpack:///nextcloud/apps/files/src/components/FilesListFooter.vue?vue&type=style&index=0&id=e6a083be&prod&scoped=true&lang=scss&","webpack:///nextcloud/apps/files/src/components/FilesListHeader.vue?vue&type=style&index=0&id=76b6186a&prod&scoped=true&lang=scss&","webpack:///nextcloud/apps/files/src/components/FilesListHeaderActions.vue?vue&type=style&index=0&id=03e57b1e&prod&scoped=true&lang=scss&","webpack:///nextcloud/apps/files/src/components/FilesListHeaderButton.vue?vue&type=style&index=0&id=e85a09d2&prod&lang=scss&","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue?vue&type=style&index=0&id=640a8bb8&prod&scoped=true&lang=scss&","webpack:///nextcloud/apps/files/src/components/NavigationQuota.vue?vue&type=style&index=0&id=918797b2&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue?vue&type=style&index=0&id=5b09ec60&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/files/src/views/FilesList.vue?vue&type=style&index=0&id=66068cbb&prod&scoped=true&lang=scss&","webpack:///nextcloud/apps/files/src/views/Navigation.vue?vue&type=style&index=0&id=657a978e&prod&scoped=true&lang=scss&","webpack:///nextcloud/apps/files/src/views/Settings.vue?vue&type=style&index=0&id=76ca5d1f&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue?vue&type=style&index=0&id=d46f1dc6&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/files/src/components/FileEntry.vue?vue&type=style&index=1&id=e5a368d6&prod&lang=css&","webpack:///nextcloud/node_modules/scrollparent/scrollparent.js","webpack://nextcloud/./node_modules/vue-material-design-icons/Folder.vue?b60e","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/*! For license information please see NcAppSettingsDialog.js.LICENSE.txt */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"NextcloudVue\",[],t):\"object\"==typeof exports?exports.NextcloudVue=t():(e.NextcloudVue=e.NextcloudVue||{},e.NextcloudVue[\"Components/NcAppSettingsDialog\"]=t())}(self,(()=>(()=>{var e={644:(e,t,o)=>{\"use strict\";o.d(t,{default:()=>$});var n=o(9104),a=o(5825),i=o(1205),r=o(932),s=o(2734),l=o.n(s),c=o(1441),u=o.n(c);function d(e){return d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},d(e)}function p(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function m(e){for(var t=1;te.length)&&(t=e.length);for(var o=0,n=new Array(t);o0&&void 0!==arguments[0])||arguments[0];this.opened&&(this.opened=!1,this.$refs.popover.clearFocusTrap({returnFocus:e}),this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.$el.focus())},onOpen:function(e){var t=this;this.$nextTick((function(){t.focusFirstAction(e)}))},onMouseFocusAction:function(e){if(document.activeElement!==e.target){var t=e.target.closest(\"li\");if(t){var o=t.querySelector(v);if(o){var n=h(this.$refs.menu.querySelectorAll(v)).indexOf(o);n>-1&&(this.focusIndex=n,this.focusAction())}}}},onKeydown:function(e){(38===e.keyCode||9===e.keyCode&&e.shiftKey)&&this.focusPreviousAction(e),(40===e.keyCode||9===e.keyCode&&!e.shiftKey)&&this.focusNextAction(e),33===e.keyCode&&this.focusFirstAction(e),34===e.keyCode&&this.focusLastAction(e),27===e.keyCode&&(this.closeMenu(),e.preventDefault())},removeCurrentActive:function(){var e=this.$refs.menu.querySelector(\"li.active\");e&&e.classList.remove(\"active\")},focusAction:function(){var e=this.$refs.menu.querySelectorAll(v)[this.focusIndex];if(e){this.removeCurrentActive();var t=e.closest(\"li.action\");e.focus(),t&&t.classList.add(\"active\")}},focusPreviousAction:function(e){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(e){if(this.opened){var t=this.$refs.menu.querySelectorAll(v).length-1;this.focusIndex===t?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=0,this.focusAction())},focusLastAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=this.$refs.menu.querySelectorAll(v).length-1,this.focusAction())},preventIfEvent:function(e){e&&(e.preventDefault(),e.stopPropagation())},onFocus:function(e){this.$emit(\"focus\",e)},onBlur:function(e){this.$emit(\"blur\",e)}},render:function(e){var t=this,o=(this.$slots.default||[]).filter((function(e){var t,o,n,a;return(null==e||null===(t=e.componentOptions)||void 0===t?void 0:t.tag)||(null==e||null===(o=e.componentOptions)||void 0===o||null===(n=o.Ctor)||void 0===n||null===(a=n.extendOptions)||void 0===a?void 0:a.name)})),n=o.every((function(e){var t,o,n,a,i,r,s,l;return\"NcActionLink\"===(null!==(t=null==e||null===(o=e.componentOptions)||void 0===o||null===(n=o.Ctor)||void 0===n||null===(a=n.extendOptions)||void 0===a?void 0:a.name)&&void 0!==t?t:null==e||null===(i=e.componentOptions)||void 0===i?void 0:i.tag)&&(null==e||null===(r=e.componentOptions)||void 0===r||null===(s=r.propsData)||void 0===s||null===(l=s.href)||void 0===l?void 0:l.startsWith(window.location.origin))})),a=o.filter(this.isValidSingleAction);if(this.forceMenu&&a.length>0&&this.inline>0&&(l().util.warn(\"Specifying forceMenu will ignore any inline actions rendering.\"),a=[]),0!==o.length){var i=function(o){var n,a,i,r,s,l,c,u,d,p,A,h,g,v,f,b,C,y,k,w,S,x,j=(null==o||null===(n=o.data)||void 0===n||null===(a=n.scopedSlots)||void 0===a||null===(i=a.icon())||void 0===i?void 0:i[0])||e(\"span\",{class:[\"icon\",null==o||null===(r=o.componentOptions)||void 0===r||null===(s=r.propsData)||void 0===s?void 0:s.icon]}),N=null==o||null===(l=o.componentOptions)||void 0===l||null===(c=l.listeners)||void 0===c?void 0:c.click,z=null==o||null===(u=o.componentOptions)||void 0===u||null===(d=u.children)||void 0===d||null===(p=d[0])||void 0===p||null===(A=p.text)||void 0===A||null===(h=A.trim)||void 0===h?void 0:h.call(A),P=(null==o||null===(g=o.componentOptions)||void 0===g||null===(v=g.propsData)||void 0===v?void 0:v.ariaLabel)||z,E=t.forceTitle?z:\"\",B=null==o||null===(f=o.componentOptions)||void 0===f||null===(b=f.propsData)||void 0===b?void 0:b.title;return t.forceTitle||B||(B=z),e(\"NcButton\",{class:[\"action-item action-item--single\",null==o||null===(C=o.data)||void 0===C?void 0:C.staticClass,null==o||null===(y=o.data)||void 0===y?void 0:y.class],attrs:{\"aria-label\":P,title:B},ref:null==o||null===(k=o.data)||void 0===k?void 0:k.ref,props:m({type:t.type||(E?\"secondary\":\"tertiary\"),disabled:t.disabled||(null==o||null===(w=o.componentOptions)||void 0===w||null===(S=w.propsData)||void 0===S?void 0:S.disabled),ariaHidden:t.ariaHidden},null==o||null===(x=o.componentOptions)||void 0===x?void 0:x.propsData),on:m({focus:t.onFocus,blur:t.onBlur},!!N&&{click:function(e){N&&N(e)}})},[e(\"template\",{slot:\"icon\"},[j]),E])},r=function(o){var a,i,r=(null===(a=t.$slots.icon)||void 0===a?void 0:a[0])||(t.defaultIcon?e(\"span\",{class:[\"icon\",t.defaultIcon]}):e(\"DotsHorizontal\",{props:{size:20}}));return e(\"NcPopover\",{ref:\"popover\",props:{delay:0,handleResize:!0,shown:t.opened,placement:t.placement,boundary:t.boundariesElement,container:t.container,popoverBaseClass:\"action-item__popper\",setReturnFocus:null===(i=t.$refs.menuButton)||void 0===i?void 0:i.$el},attrs:{delay:0,handleResize:!0,shown:t.opened,placement:t.placement,boundary:t.boundariesElement,container:t.container,popoverBaseClass:\"action-item__popper\"},on:{show:t.openMenu,\"after-show\":t.onOpen,hide:t.closeMenu}},[e(\"NcButton\",{class:\"action-item__menutoggle\",props:{type:t.triggerBtnType,disabled:t.disabled,ariaHidden:t.ariaHidden},slot:\"trigger\",ref:\"menuButton\",attrs:{\"aria-haspopup\":n?null:\"menu\",\"aria-label\":t.ariaLabel,\"aria-controls\":t.opened?t.randomId:null,\"aria-expanded\":t.opened.toString()},on:{focus:t.onFocus,blur:t.onBlur}},[e(\"template\",{slot:\"icon\"},[r]),t.menuTitle]),e(\"div\",{class:{open:t.opened},attrs:{tabindex:\"-1\"},on:{keydown:t.onKeydown,mousemove:t.onMouseFocusAction},ref:\"menu\"},[e(\"ul\",{attrs:{id:t.randomId,tabindex:\"-1\",role:n?null:\"menu\"}},[o])])])};if(1===o.length&&1===a.length&&!this.forceMenu)return i(a[0]);if(a.length>0&&this.inline>0){var s=a.slice(0,this.inline),c=o.filter((function(e){return!s.includes(e)}));return e(\"div\",{class:[\"action-items\",\"action-item--\".concat(this.triggerBtnType)]},[].concat(h(s.map(i)),[c.length>0?e(\"div\",{class:[\"action-item\",{\"action-item--open\":this.opened}]},[r(c)]):null]))}return e(\"div\",{class:[\"action-item action-item--default-popover\",\"action-item--\".concat(this.triggerBtnType),{\"action-item--open\":this.opened}]},[r(o)])}}};var b=o(3379),C=o.n(b),y=o(7795),k=o.n(y),w=o(569),S=o.n(w),x=o(3565),j=o.n(x),N=o(9216),z=o.n(N),P=o(4589),E=o.n(P),B=o(8827),_={};_.styleTagTransform=E(),_.setAttributes=j(),_.insert=S().bind(null,\"head\"),_.domAPI=k(),_.insertStyleElement=z();C()(B.Z,_);B.Z&&B.Z.locals&&B.Z.locals;var T=o(5565),O={};O.styleTagTransform=E(),O.setAttributes=j(),O.insert=S().bind(null,\"head\"),O.domAPI=k(),O.insertStyleElement=z();C()(T.Z,O);T.Z&&T.Z.locals&&T.Z.locals;var D=o(1900),F=o(5727),G=o.n(F),I=(0,D.Z)(f,undefined,undefined,!1,null,\"20a3e950\",null);\"function\"==typeof G()&&G()(I);const $=I.exports},9104:(e,t,o)=>{\"use strict\";function n(e){return n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},n(e)}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;tj});const s={name:\"NcButton\",props:{disabled:{type:Boolean,default:!1},type:{type:String,validator:function(e){return-1!==[\"primary\",\"secondary\",\"tertiary\",\"tertiary-no-background\",\"tertiary-on-primary\",\"error\",\"warning\",\"success\"].indexOf(e)},default:\"secondary\"},nativeType:{type:String,validator:function(e){return-1!==[\"submit\",\"reset\",\"button\"].indexOf(e)},default:\"button\"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},href:{type:String,default:null},to:{type:[String,Object],default:null},exact:{type:Boolean,default:!1},ariaHidden:{type:Boolean,default:null}},render:function(e){var t,o,n,a,s,l=this,c=null===(t=this.$slots.default)||void 0===t||null===(o=t[0])||void 0===o||null===(n=o.text)||void 0===n||null===(a=n.trim)||void 0===a?void 0:a.call(n),u=!!c,d=null===(s=this.$slots)||void 0===s?void 0:s.icon;c||this.ariaLabel||console.warn(\"You need to fill either the text or the ariaLabel props in the button component.\",{text:c,ariaLabel:this.ariaLabel},this);var p=function(){var t,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=o.navigate,a=o.isActive,s=o.isExactActive;return e(l.to||!l.href?\"button\":\"a\",{class:[\"button-vue\",(t={\"button-vue--icon-only\":d&&!u,\"button-vue--text-only\":u&&!d,\"button-vue--icon-and-text\":d&&u},r(t,\"button-vue--vue-\".concat(l.type),l.type),r(t,\"button-vue--wide\",l.wide),r(t,\"active\",a),r(t,\"router-link-exact-active\",s),t)],attrs:i({\"aria-label\":l.ariaLabel,disabled:l.disabled,type:l.href?null:l.nativeType,role:l.href?\"button\":null,href:!l.to&&l.href?l.href:null},l.$attrs),on:i(i({},l.$listeners),{},{click:function(e){var t,o;null===(t=l.$listeners)||void 0===t||null===(o=t.click)||void 0===o||o.call(t,e),null==n||n(e)}})},[e(\"span\",{class:\"button-vue__wrapper\"},[d?e(\"span\",{class:\"button-vue__icon\",attrs:{\"aria-hidden\":l.ariaHidden}},[l.$slots.icon]):null,u?e(\"span\",{class:\"button-vue__text\"},[c]):null])])};return this.to?e(\"router-link\",{props:{custom:!0,to:this.to,exact:this.exact},scopedSlots:{default:p}}):p()}};var l=o(3379),c=o.n(l),u=o(7795),d=o.n(u),p=o(569),m=o.n(p),A=o(3565),h=o.n(A),g=o(9216),v=o.n(g),f=o(4589),b=o.n(f),C=o(1898),y={};y.styleTagTransform=b(),y.setAttributes=h(),y.insert=m().bind(null,\"head\"),y.domAPI=d(),y.insertStyleElement=v();c()(C.Z,y);C.Z&&C.Z.locals&&C.Z.locals;var k=o(1900),w=o(2102),S=o.n(w),x=(0,k.Z)(s,undefined,undefined,!1,null,\"2e49be1e\",null);\"function\"==typeof S()&&S()(x);const j=x.exports},1373:(e,t,o)=>{\"use strict\";o.d(t,{default:()=>Y});var n=o(7645),a=o(1206),i=o(932),r=o(1205),s=o(3648),l=o(644),c=o(9104);function u(e,t){var o,n,a,i=t;this.start=function(){a=!0,n=new Date,o=setTimeout(e,i)},this.pause=function(){a=!1,clearTimeout(o),i-=new Date-n},this.clear=function(){a=!1,clearTimeout(o),i=0},this.getTimeLeft=function(){return a&&(this.pause(),this.start()),i},this.getStateRunning=function(){return a},this.start()}var d=o(336);const p=require(\"vue-material-design-icons/ChevronLeft.vue\");var m=o.n(p),A=o(9044),h=o.n(A),g=o(8618),v=o.n(g);const f=require(\"vue-material-design-icons/Pause.vue\");var b=o.n(f);const C=require(\"vue-material-design-icons/Play.vue\");var y=o.n(C),k=o(4505),w=o(2640),S=o.n(w);function x(e){return x=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},x(e)}function j(){j=function(){return e};var e={},t=Object.prototype,o=t.hasOwnProperty,n=Object.defineProperty||function(e,t,o){e[t]=o.value},a=\"function\"==typeof Symbol?Symbol:{},i=a.iterator||\"@@iterator\",r=a.asyncIterator||\"@@asyncIterator\",s=a.toStringTag||\"@@toStringTag\";function l(e,t,o){return Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},\"\")}catch(e){l=function(e,t,o){return e[t]=o}}function c(e,t,o,a){var i=t&&t.prototype instanceof p?t:p,r=Object.create(i.prototype),s=new N(a||[]);return n(r,\"_invoke\",{value:y(e,o,s)}),r}function u(e,t,o){try{return{type:\"normal\",arg:e.call(t,o)}}catch(e){return{type:\"throw\",arg:e}}}e.wrap=c;var d={};function p(){}function m(){}function A(){}var h={};l(h,i,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(z([])));v&&v!==t&&o.call(v,i)&&(h=v);var f=A.prototype=p.prototype=Object.create(h);function b(e){[\"next\",\"throw\",\"return\"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function C(e,t){function a(n,i,r,s){var l=u(e[n],e,i);if(\"throw\"!==l.type){var c=l.arg,d=c.value;return d&&\"object\"==x(d)&&o.call(d,\"__await\")?t.resolve(d.__await).then((function(e){a(\"next\",e,r,s)}),(function(e){a(\"throw\",e,r,s)})):t.resolve(d).then((function(e){c.value=e,r(c)}),(function(e){return a(\"throw\",e,r,s)}))}s(l.arg)}var i;n(this,\"_invoke\",{value:function(e,o){function n(){return new t((function(t,n){a(e,o,t,n)}))}return i=i?i.then(n,n):n()}})}function y(e,t,o){var n=\"suspendedStart\";return function(a,i){if(\"executing\"===n)throw new Error(\"Generator is already running\");if(\"completed\"===n){if(\"throw\"===a)throw i;return P()}for(o.method=a,o.arg=i;;){var r=o.delegate;if(r){var s=k(r,o);if(s){if(s===d)continue;return s}}if(\"next\"===o.method)o.sent=o._sent=o.arg;else if(\"throw\"===o.method){if(\"suspendedStart\"===n)throw n=\"completed\",o.arg;o.dispatchException(o.arg)}else\"return\"===o.method&&o.abrupt(\"return\",o.arg);n=\"executing\";var l=u(e,t,o);if(\"normal\"===l.type){if(n=o.done?\"completed\":\"suspendedYield\",l.arg===d)continue;return{value:l.arg,done:o.done}}\"throw\"===l.type&&(n=\"completed\",o.method=\"throw\",o.arg=l.arg)}}}function k(e,t){var o=t.method,n=e.iterator[o];if(void 0===n)return t.delegate=null,\"throw\"===o&&e.iterator.return&&(t.method=\"return\",t.arg=void 0,k(e,t),\"throw\"===t.method)||\"return\"!==o&&(t.method=\"throw\",t.arg=new TypeError(\"The iterator does not provide a '\"+o+\"' method\")),d;var a=u(n,e.iterator,t.arg);if(\"throw\"===a.type)return t.method=\"throw\",t.arg=a.arg,t.delegate=null,d;var i=a.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,\"return\"!==t.method&&(t.method=\"next\",t.arg=void 0),t.delegate=null,d):i:(t.method=\"throw\",t.arg=new TypeError(\"iterator result is not an object\"),t.delegate=null,d)}function w(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type=\"normal\",delete t.arg,e.completion=t}function N(e){this.tryEntries=[{tryLoc:\"root\"}],e.forEach(w,this),this.reset(!0)}function z(e){if(e){var t=e[i];if(t)return t.call(e);if(\"function\"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function t(){for(;++n=0;--a){var i=this.tryEntries[a],r=i.completion;if(\"root\"===i.tryLoc)return n(\"end\");if(i.tryLoc<=this.prev){var s=o.call(i,\"catchLoc\"),l=o.call(i,\"finallyLoc\");if(s&&l){if(this.prev=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&o.call(a,\"finallyLoc\")&&this.prev=0;--t){var o=this.tryEntries[t];if(o.finallyLoc===e)return this.complete(o.completion,o.afterLoc),S(o),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var o=this.tryEntries[t];if(o.tryLoc===e){var n=o.completion;if(\"throw\"===n.type){var a=n.arg;S(o)}return a}}throw new Error(\"illegal catch attempt\")},delegateYield:function(e,t,o){return this.delegate={iterator:z(e),resultName:t,nextLoc:o},\"next\"===this.method&&(this.arg=void 0),d}},e}function N(e,t,o,n,a,i,r){try{var s=e[i](r),l=s.value}catch(e){return void o(e)}s.done?t(l):Promise.resolve(l).then(n,a)}function z(e){return function(e){if(Array.isArray(e))return P(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return P(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===o&&e.constructor&&(o=e.constructor.name);if(\"Map\"===o||\"Set\"===o)return Array.from(e);if(\"Arguments\"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return P(e,t)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function P(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=new Array(t);o{\"use strict\";o.d(t,{default:()=>P});var n=o(9454),a=o(4505),i=o(1206);function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function s(){s=function(){return e};var e={},t=Object.prototype,o=t.hasOwnProperty,n=Object.defineProperty||function(e,t,o){e[t]=o.value},a=\"function\"==typeof Symbol?Symbol:{},i=a.iterator||\"@@iterator\",l=a.asyncIterator||\"@@asyncIterator\",c=a.toStringTag||\"@@toStringTag\";function u(e,t,o){return Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},\"\")}catch(e){u=function(e,t,o){return e[t]=o}}function d(e,t,o,a){var i=t&&t.prototype instanceof A?t:A,r=Object.create(i.prototype),s=new N(a||[]);return n(r,\"_invoke\",{value:w(e,o,s)}),r}function p(e,t,o){try{return{type:\"normal\",arg:e.call(t,o)}}catch(e){return{type:\"throw\",arg:e}}}e.wrap=d;var m={};function A(){}function h(){}function g(){}var v={};u(v,i,(function(){return this}));var f=Object.getPrototypeOf,b=f&&f(f(z([])));b&&b!==t&&o.call(b,i)&&(v=b);var C=g.prototype=A.prototype=Object.create(v);function y(e){[\"next\",\"throw\",\"return\"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function a(n,i,s,l){var c=p(e[n],e,i);if(\"throw\"!==c.type){var u=c.arg,d=u.value;return d&&\"object\"==r(d)&&o.call(d,\"__await\")?t.resolve(d.__await).then((function(e){a(\"next\",e,s,l)}),(function(e){a(\"throw\",e,s,l)})):t.resolve(d).then((function(e){u.value=e,s(u)}),(function(e){return a(\"throw\",e,s,l)}))}l(c.arg)}var i;n(this,\"_invoke\",{value:function(e,o){function n(){return new t((function(t,n){a(e,o,t,n)}))}return i=i?i.then(n,n):n()}})}function w(e,t,o){var n=\"suspendedStart\";return function(a,i){if(\"executing\"===n)throw new Error(\"Generator is already running\");if(\"completed\"===n){if(\"throw\"===a)throw i;return P()}for(o.method=a,o.arg=i;;){var r=o.delegate;if(r){var s=S(r,o);if(s){if(s===m)continue;return s}}if(\"next\"===o.method)o.sent=o._sent=o.arg;else if(\"throw\"===o.method){if(\"suspendedStart\"===n)throw n=\"completed\",o.arg;o.dispatchException(o.arg)}else\"return\"===o.method&&o.abrupt(\"return\",o.arg);n=\"executing\";var l=p(e,t,o);if(\"normal\"===l.type){if(n=o.done?\"completed\":\"suspendedYield\",l.arg===m)continue;return{value:l.arg,done:o.done}}\"throw\"===l.type&&(n=\"completed\",o.method=\"throw\",o.arg=l.arg)}}}function S(e,t){var o=t.method,n=e.iterator[o];if(void 0===n)return t.delegate=null,\"throw\"===o&&e.iterator.return&&(t.method=\"return\",t.arg=void 0,S(e,t),\"throw\"===t.method)||\"return\"!==o&&(t.method=\"throw\",t.arg=new TypeError(\"The iterator does not provide a '\"+o+\"' method\")),m;var a=p(n,e.iterator,t.arg);if(\"throw\"===a.type)return t.method=\"throw\",t.arg=a.arg,t.delegate=null,m;var i=a.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,\"return\"!==t.method&&(t.method=\"next\",t.arg=void 0),t.delegate=null,m):i:(t.method=\"throw\",t.arg=new TypeError(\"iterator result is not an object\"),t.delegate=null,m)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function j(e){var t=e.completion||{};t.type=\"normal\",delete t.arg,e.completion=t}function N(e){this.tryEntries=[{tryLoc:\"root\"}],e.forEach(x,this),this.reset(!0)}function z(e){if(e){var t=e[i];if(t)return t.call(e);if(\"function\"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function t(){for(;++n=0;--a){var i=this.tryEntries[a],r=i.completion;if(\"root\"===i.tryLoc)return n(\"end\");if(i.tryLoc<=this.prev){var s=o.call(i,\"catchLoc\"),l=o.call(i,\"finallyLoc\");if(s&&l){if(this.prev=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&o.call(a,\"finallyLoc\")&&this.prev=0;--t){var o=this.tryEntries[t];if(o.finallyLoc===e)return this.complete(o.completion,o.afterLoc),j(o),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var o=this.tryEntries[t];if(o.tryLoc===e){var n=o.completion;if(\"throw\"===n.type){var a=n.arg;j(o)}return a}}throw new Error(\"illegal catch attempt\")},delegateYield:function(e,t,o){return this.delegate={iterator:z(e),resultName:t,nextLoc:o},\"next\"===this.method&&(this.arg=void 0),m}},e}function l(e,t,o,n,a,i,r){try{var s=e[i](r),l=s.value}catch(e){return void o(e)}s.done?t(l):Promise.resolve(l).then(n,a)}const c={name:\"NcPopover\",components:{Dropdown:n.Dropdown},inheritAttrs:!1,props:{popoverBaseClass:{type:String,default:\"\"},focusTrap:{type:Boolean,default:!0},setReturnFocus:{default:void 0,type:[HTMLElement,SVGElement,String,Boolean]}},emits:[\"after-show\",\"after-hide\"],beforeDestroy:function(){this.clearFocusTrap()},methods:{useFocusTrap:function(){var e,t=this;return(e=s().mark((function e(){var o,n,r;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.$nextTick();case 2:if(t.focusTrap){e.next=4;break}return e.abrupt(\"return\");case 4:if(r=null===(o=t.$refs.popover)||void 0===o||null===(n=o.$refs.popperContent)||void 0===n?void 0:n.$el){e.next=7;break}return e.abrupt(\"return\");case 7:t.$focusTrap=(0,a.createFocusTrap)(r,{escapeDeactivates:!1,allowOutsideClick:!0,setReturnFocus:t.setReturnFocus,trapStack:(0,i.L)()}),t.$focusTrap.activate();case 9:case\"end\":return e.stop()}}),e)})),function(){var t=this,o=arguments;return new Promise((function(n,a){var i=e.apply(t,o);function r(e){l(i,n,a,r,s,\"next\",e)}function s(e){l(i,n,a,r,s,\"throw\",e)}r(void 0)}))})()},clearFocusTrap:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{var t;null===(t=this.$focusTrap)||void 0===t||t.deactivate(e),this.$focusTrap=null}catch(e){console.warn(e)}},afterShow:function(){var e=this;this.$nextTick((function(){e.$emit(\"after-show\"),e.useFocusTrap()}))},afterHide:function(){this.$emit(\"after-hide\"),this.clearFocusTrap()}}},u=c;var d=o(3379),p=o.n(d),m=o(7795),A=o.n(m),h=o(569),g=o.n(h),v=o(3565),f=o.n(v),b=o(9216),C=o.n(b),y=o(4589),k=o.n(y),w=o(4401),S={};S.styleTagTransform=k(),S.setAttributes=f(),S.insert=g().bind(null,\"head\"),S.domAPI=A(),S.insertStyleElement=C();p()(w.Z,S);w.Z&&w.Z.locals&&w.Z.locals;var x=o(1900),j=o(2405),N=o.n(j),z=(0,x.Z)(u,(function(){var e=this;return(0,e._self._c)(\"Dropdown\",e._g(e._b({ref:\"popover\",attrs:{distance:10,\"arrow-padding\":10,\"no-auto-focus\":!0,\"popper-class\":e.popoverBaseClass},on:{\"apply-show\":e.afterShow,\"apply-hide\":e.afterHide},scopedSlots:e._u([{key:\"popper\",fn:function(){return[e._t(\"default\")]},proxy:!0}],null,!0)},\"Dropdown\",e.$attrs,!1),e.$listeners),[e._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof N()&&N()(z);const P=z.exports},336:(e,t,o)=>{\"use strict\";o.d(t,{default:()=>f});var n=o(9454),a=o(3379),i=o.n(a),r=o(7795),s=o.n(r),l=o(569),c=o.n(l),u=o(3565),d=o.n(u),p=o(9216),m=o.n(p),A=o(4589),h=o.n(A),g=o(8384),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=m();i()(g.Z,v);g.Z&&g.Z.locals&&g.Z.locals;n.options.themes.tooltip.html=!1,n.options.themes.tooltip.delay={show:500,hide:200},n.options.themes.tooltip.distance=10,n.options.themes.tooltip[\"arrow-padding\"]=3;const f=n.VTooltip},932:(e,t,o)=>{\"use strict\";o.d(t,{n:()=>r,t:()=>s});var n=o(7931),a=(0,n.getGettextBuilder)().detectLocale();[{locale:\"ar\",translations:{\"{tag} (invisible)\":\"{tag} (غير مرئي)\",\"{tag} (restricted)\":\"{tag} (مقيد)\",Actions:\"الإجراءات\",Activities:\"النشاطات\",\"Animals & Nature\":\"الحيوانات والطبيعة\",\"Anything shared with the same group of people will show up here\":\"أي مادة تمت مشاركتها مع نفس المجموعة من الأشخاص سيتم عرضها هنا\",\"Avatar of {displayName}\":\"صورة {displayName} الرمزية\",\"Avatar of {displayName}, {status}\":\"صورة {displayName} الرمزية، {status}\",\"Cancel changes\":\"إلغاء التغييرات\",\"Change title\":\"تغيير العنوان\",Choose:\"إختيار\",\"Clear text\":\"مسح النص\",Close:\"أغلق\",\"Close modal\":\"قفل الشرط\",\"Close navigation\":\"إغلاق المتصفح\",\"Close sidebar\":\"قفل الشريط الجانبي\",\"Confirm changes\":\"تأكيد التغييرات\",Custom:\"مخصص\",\"Edit item\":\"تعديل عنصر\",\"Error getting related resources\":\"خطأ في تحصيل مصادر ذات صلة\",\"External documentation for {title}\":\"الوثائق الخارجية لـ{title}\",Favorite:\"مفضلة\",Flags:\"الأعلام\",\"Food & Drink\":\"الطعام والشراب\",\"Frequently used\":\"كثيرا ما تستخدم\",Global:\"عالمي\",\"Go back to the list\":\"العودة إلى القائمة\",\"Hide password\":\"إخفاء كلمة السر\",\"Message limit of {count} characters reached\":\"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف\",\"More items …\":\"عناصر أخرى ...\",Next:\"التالي\",\"No emoji found\":\"لم يتم العثور على أي رمز تعبيري\",\"No results\":\"ليس هناك أية نتيجة\",Objects:\"الأشياء\",Open:\"فتح\",'Open link to \"{resourceTitle}\"':'فتح رابط إلى \"{resourceTitle}\"',\"Open navigation\":\"فتح المتصفح\",\"Password is secure\":\"كلمة السر مُؤمّنة\",\"Pause slideshow\":\"إيقاف العرض مؤقتًا\",\"People & Body\":\"الناس والجسم\",\"Pick an emoji\":\"اختر رمزًا تعبيريًا\",\"Please select a time zone:\":\"الرجاء تحديد المنطقة الزمنية:\",Previous:\"السابق\",\"Related resources\":\"مصادر ذات صلة\",Search:\"بحث\",\"Search results\":\"نتائج البحث\",\"Select a tag\":\"اختر علامة\",Settings:\"الإعدادات\",\"Settings navigation\":\"إعدادات المتصفح\",\"Show password\":\"أعرض كلمة السر\",\"Smileys & Emotion\":\"الوجوه و الرموز التعبيرية\",\"Start slideshow\":\"بدء العرض\",Submit:\"إرسال\",Symbols:\"الرموز\",\"Travel & Places\":\"السفر والأماكن\",\"Type to search time zone\":\"اكتب للبحث عن منطقة زمنية\",\"Unable to search the group\":\"تعذر البحث في المجموعة\",\"Undo changes\":\"التراجع عن التغييرات\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ...\"}},{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Anything shared with the same group of people will show up here\":\"Qualsevol cosa compartida amb el mateix grup de persones es mostrarà aquí\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancel·la els canvis\",\"Change title\":\"Canviar títol\",Choose:\"Tria\",\"Clear text\":\"Netejar text\",Close:\"Tanca\",\"Close modal\":\"Tancar el mode\",\"Close navigation\":\"Tanca la navegació\",\"Close sidebar\":\"Tancar la barra lateral\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"Edit item\":\"Edita l'element\",\"Error getting related resources\":\"Error obtenint els recursos relacionats\",\"Error parsing svg\":\"Error en l'anàlisi del svg\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Favorite:\"Preferit\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",Global:\"Global\",\"Go back to the list\":\"Torna a la llista\",\"Hide password\":\"Amagar contrasenya\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",\"More items …\":\"Més artícles...\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",Open:\"Obrir\",'Open link to \"{resourceTitle}\"':'Obrir enllaç a \"{resourceTitle}\"',\"Open navigation\":\"Obre la navegació\",\"Password is secure\":\"Contrasenya segura
\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",\"Please select a time zone:\":\"Seleccioneu una zona horària:\",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionats\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Seleccioneu una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Show password\":\"Mostrar contrasenya\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Type to search time zone\":\"Escriviu per cercar la zona horària\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Undo changes\":\"Desfés els canvis\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escriu missatge, fes servir \"@\" per esmentar algú, fes servir \":\" per autocompletar emojis...'}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Anything shared with the same group of people will show up here\":\"Cokoli nasdíleného stejné skupině lidí se zobrazí zde\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Avatar of {displayName}, {status}\":\"Zástupný obrázek uživatele {displayName}, {status}\",\"Cancel changes\":\"Zrušit změny\",\"Change title\":\"Změnit nadpis\",Choose:\"Zvolit\",\"Clear text\":\"Čitelný text\",Close:\"Zavřít\",\"Close modal\":\"Zavřít dialogové okno\",\"Close navigation\":\"Zavřít navigaci\",\"Close sidebar\":\"Zavřít postranní panel\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"Edit item\":\"Upravit položku\",\"Error getting related resources\":\"Chyba při získávání souvisejících prostředků\",\"Error parsing svg\":\"Chyba při zpracovávání svg\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Favorite:\"Oblíbené\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Go back to the list\":\"Jít zpět na seznam\",\"Hide password\":\"Skrýt heslo\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",\"More items …\":\"Další položky…\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",Open:\"Otevřít\",'Open link to \"{resourceTitle}\"':\"Otevřít odkaz na „{resourceTitle}“\",\"Open navigation\":\"Otevřít navigaci\",\"Password is secure\":\"Heslo je bezpečné\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",\"Related resources\":\"Související prostředky\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Show password\":\"Zobrazit heslo\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Undo changes\":\"Vzít změny zpět\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':\"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem „@“ (zavináč); automatické doplňování emotikonů zahájíte napsáním „:“ (dvojtečky)…\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",\"Anything shared with the same group of people will show up here\":\"Alt der deles med samme gruppe af personer vil vises her\",\"Avatar of {displayName}\":\"Avatar af {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar af {displayName}, {status}\",\"Cancel changes\":\"Annuller ændringer\",\"Change title\":\"Ret titel\",Choose:\"Vælg\",\"Clear text\":\"Ryd tekst\",Close:\"Luk\",\"Close modal\":\"Luk vindue\",\"Close navigation\":\"Luk navigation\",\"Close sidebar\":\"Luk sidepanel\",\"Confirm changes\":\"Bekræft ændringer\",Custom:\"Brugerdefineret\",\"Edit item\":\"Rediger emne\",\"Error getting related resources\":\"Kunne ikke hente tilknyttede data\",\"Error parsing svg\":\"Fejl ved analysering af svg\",\"External documentation for {title}\":\"Ekstern dokumentation for {title}\",Favorite:\"Favorit\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",Global:\"Global\",\"Go back to the list\":\"Tilbage til listen\",\"Hide password\":\"Skjul kodeord\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",\"More items …\":\"Mere ...\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",Open:\"Åbn\",'Open link to \"{resourceTitle}\"':'Åbn link til \"{resourceTitle}\"',\"Open navigation\":\"Åbn navigation\",\"Password is secure\":\"Kodeordet er sikkert\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",\"Please select a time zone:\":\"Vælg venligst en tidszone:\",Previous:\"Forrige\",\"Related resources\":\"Relaterede emner\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Show password\":\"Vis kodeord\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Type to search time zone\":\"Indtast for at søge efter tidszone\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Undo changes\":\"Fortryd ændringer\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv besked, brug \"@\" for at nævne nogen, brug \":\" til emoji-autofuldførelse ...'}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Anything shared with the same group of people will show up here\":\"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",\"Change title\":\"Titel ändern\",Choose:\"Auswählen\",\"Clear text\":\"Klartext\",Close:\"Schließen\",\"Close modal\":\"Modal schließen\",\"Close navigation\":\"Navigation schließen\",\"Close sidebar\":\"Seitenleiste schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"Error getting related resources\":\"Fehler beim Abrufen verwandter Ressourcen\",\"Error parsing svg\":\"Fehler beim Einlesen der SVG\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Favorite:\"Favorit\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Hide password\":\"Passwort verbergen\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"More items …\":\"Weitere Elemente …\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",Open:\"Öffnen\",'Open link to \"{resourceTitle}\"':'Link zu \"{resourceTitle}\" öffnen',\"Open navigation\":\"Navigation öffnen\",\"Password is secure\":\"Passwort ist sicher\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte wählen Sie eine Zeitzone:\",Previous:\"Vorherige\",\"Related resources\":\"Verwandte Ressourcen\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Show password\":\"Passwort anzeigen\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Nachricht schreiben, \"@\" um jemanden zu erwähnen, \":\" für die automatische Vervollständigung von Emojis …'}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Anything shared with the same group of people will show up here\":\"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",\"Change title\":\"Titel ändern\",Choose:\"Auswählen\",\"Clear text\":\"Klartext\",Close:\"Schließen\",\"Close modal\":\"Modal schließen\",\"Close navigation\":\"Navigation schließen\",\"Close sidebar\":\"Seitenleiste schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"Error getting related resources\":\"Fehler beim Abrufen verwandter Ressourcen\",\"Error parsing svg\":\"Fehler beim Einlesen der SVG\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Favorite:\"Favorit\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Hide password\":\"Passwort verbergen\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"More items …\":\"Weitere Elemente …\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",Open:\"Öffnen\",'Open link to \"{resourceTitle}\"':'Link zu \"{resourceTitle}\" öffnen',\"Open navigation\":\"Navigation öffnen\",\"Password is secure\":\"Passwort ist sicher\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",\"Related resources\":\"Verwandte Ressourcen\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Show password\":\"Passwort anzeigen\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Nachricht schreiben, \"@\" um jemanden zu erwähnen, \":\" für die automatische Vervollständigung von Emojis …'}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",\"Anything shared with the same group of people will show up here\":\"Οτιδήποτε μοιράζεται με την ίδια ομάδα ατόμων θα εμφανίζεται εδώ\",\"Avatar of {displayName}\":\"Άβαταρ του {displayName}\",\"Avatar of {displayName}, {status}\":\"Άβαταρ του {displayName}, {status}\",\"Cancel changes\":\"Ακύρωση αλλαγών\",\"Change title\":\"Αλλαγή τίτλου\",Choose:\"Επιλογή\",\"Clear text\":\"Εκκαθάριση κειμένου\",Close:\"Κλείσιμο\",\"Close modal\":\"Βοηθητικό κλείσιμο\",\"Close navigation\":\"Κλείσιμο πλοήγησης\",\"Close sidebar\":\"Κλείσιμο πλευρικής μπάρας\",\"Confirm changes\":\"Επιβεβαίωση αλλαγών\",Custom:\"Προσαρμογή\",\"Edit item\":\"Επεξεργασία\",\"Error getting related resources\":\"Σφάλμα λήψης σχετικών πόρων\",\"Error parsing svg\":\"Σφάλμα ανάλυσης svg\",\"External documentation for {title}\":\"Εξωτερική τεκμηρίωση για {title}\",Favorite:\"Αγαπημένα\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Global:\"Καθολικό\",\"Go back to the list\":\"Επιστροφή στην αρχική λίστα \",\"Hide password\":\"Απόκρυψη κωδικού πρόσβασης\",\"Message limit of {count} characters reached\":\"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος\",\"More items …\":\"Περισσότερα στοιχεία …\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",Open:\"Άνοιγμα\",'Open link to \"{resourceTitle}\"':'Άνοιγμα συνδέσμου στο \"{resourceTitle}\"',\"Open navigation\":\"Άνοιγμα πλοήγησης\",\"Password is secure\":\"Ο κωδικός πρόσβασης είναι ασφαλής\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",\"Please select a time zone:\":\"Παρακαλούμε επιλέξτε μια ζώνη ώρας:\",Previous:\"Προηγούμενο\",\"Related resources\":\"Σχετικοί πόροι\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Settings navigation\":\"Πλοήγηση ρυθμίσεων\",\"Show password\":\"Εμφάνιση κωδικού πρόσβασης\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Submit:\"Υποβολή\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Type to search time zone\":\"Πληκτρολογήστε για αναζήτηση ζώνης ώρας\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\",\"Undo changes\":\"Αναίρεση Αλλαγών\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Γράψτε μήνυμα, χρησιμοποιείστε \"@\" για να αναφέρετε κάποιον, χρησιμοποιείστε \":\" για αυτόματη συμπλήρωση emoji …'}},{locale:\"en_GB\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Actions\",Activities:\"Activities\",\"Animals & Nature\":\"Animals & Nature\",\"Anything shared with the same group of people will show up here\":\"Anything shared with the same group of people will show up here\",\"Avatar of {displayName}\":\"Avatar of {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar of {displayName}, {status}\",\"Cancel changes\":\"Cancel changes\",\"Change title\":\"Change title\",Choose:\"Choose\",\"Clear text\":\"Clear text\",Close:\"Close\",\"Close modal\":\"Close modal\",\"Close navigation\":\"Close navigation\",\"Close sidebar\":\"Close sidebar\",\"Confirm changes\":\"Confirm changes\",Custom:\"Custom\",\"Edit item\":\"Edit item\",\"Error getting related resources\":\"Error getting related resources\",\"Error parsing svg\":\"Error parsing svg\",\"External documentation for {title}\":\"External documentation for {title}\",Favorite:\"Favourite\",Flags:\"Flags\",\"Food & Drink\":\"Food & Drink\",\"Frequently used\":\"Frequently used\",Global:\"Global\",\"Go back to the list\":\"Go back to the list\",\"Hide password\":\"Hide password\",\"Message limit of {count} characters reached\":\"Message limit of {count} characters reached\",\"More items …\":\"More items …\",Next:\"Next\",\"No emoji found\":\"No emoji found\",\"No results\":\"No results\",Objects:\"Objects\",Open:\"Open\",'Open link to \"{resourceTitle}\"':'Open link to \"{resourceTitle}\"',\"Open navigation\":\"Open navigation\",\"Password is secure\":\"Password is secure\",\"Pause slideshow\":\"Pause slideshow\",\"People & Body\":\"People & Body\",\"Pick an emoji\":\"Pick an emoji\",\"Please select a time zone:\":\"Please select a time zone:\",Previous:\"Previous\",\"Related resources\":\"Related resources\",Search:\"Search\",\"Search results\":\"Search results\",\"Select a tag\":\"Select a tag\",Settings:\"Settings\",\"Settings navigation\":\"Settings navigation\",\"Show password\":\"Show password\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start slideshow\",Submit:\"Submit\",Symbols:\"Symbols\",\"Travel & Places\":\"Travel & Places\",\"Type to search time zone\":\"Type to search time zone\",\"Unable to search the group\":\"Unable to search the group\",\"Undo changes\":\"Undo changes\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …'}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",\"Anything shared with the same group of people will show up here\":\"Cualquier cosa que sea compartida con el mismo grupo de personas se mostrará aquí\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar cambios\",\"Change title\":\"Cambiar título\",Choose:\"Elegir\",\"Clear text\":\"Limpiar texto\",Close:\"Cerrar\",\"Close modal\":\"Cerrar modal\",\"Close navigation\":\"Cerrar navegación\",\"Close sidebar\":\"Cerrar barra lateral\",\"Confirm changes\":\"Confirmar cambios\",Custom:\"Personalizado\",\"Edit item\":\"Editar elemento\",\"Error getting related resources\":\"Se encontró un error al obtener los recursos relacionados\",\"Error parsing svg\":\"Error procesando svg\",\"External documentation for {title}\":\"Documentacion externa de {title}\",Favorite:\"Favorito\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",Global:\"Global\",\"Go back to the list\":\"Volver a la lista\",\"Hide password\":\"Ocultar contraseña\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",\"More items …\":\"Más ítems...\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",Open:\"Abrir\",'Open link to \"{resourceTitle}\"':'Abrir enlace a \"{resourceTitle}\"',\"Open navigation\":\"Abrir navegación\",\"Password is secure\":\"La contraseña es segura\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",\"Please select a time zone:\":\"Por favor elige un huso de horario:\",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionados\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Show password\":\"Mostrar contraseña\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Type to search time zone\":\"Escribe para buscar un huso de horario\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Undo changes\":\"Deshacer cambios\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escribir mensaje, utilice \"@\" para mencionar a alguien, utilice \":\" para autocompletado de emojis ...'}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Actions:\"Ekintzak\",Activities:\"Jarduerak\",\"Animals & Nature\":\"Animaliak eta Natura\",\"Anything shared with the same group of people will show up here\":\"Pertsona-talde berarekin partekatutako edozer agertuko da hemen\",\"Avatar of {displayName}\":\"{displayName}-(e)n irudia\",\"Avatar of {displayName}, {status}\":\"{displayName} -(e)n irudia, {status}\",\"Cancel changes\":\"Ezeztatu aldaketak\",\"Change title\":\"Aldatu titulua\",Choose:\"Aukeratu\",\"Clear text\":\"Garbitu testua\",Close:\"Itxi\",\"Close modal\":\"Itxi modala\",\"Close navigation\":\"Itxi nabigazioa\",\"Close sidebar\":\"Itxi albo-barra\",\"Confirm changes\":\"Baieztatu aldaketak\",Custom:\"Pertsonalizatua\",\"Edit item\":\"Editatu elementua\",\"Error getting related resources\":\"Errorea erlazionatutako baliabideak lortzerakoan\",\"Error parsing svg\":\"Errore bat gertatu da svg-a analizatzean\",\"External documentation for {title}\":\"Kanpoko dokumentazioa {title}(r)entzat\",Favorite:\"Gogokoa\",Flags:\"Banderak\",\"Food & Drink\":\"Janaria eta edariak\",\"Frequently used\":\"Askotan erabilia\",Global:\"Globala\",\"Go back to the list\":\"Bueltatu zerrendara\",\"Hide password\":\"Ezkutatu pasahitza\",\"Message limit of {count} characters reached\":\"Mezuaren {count} karaketere-limitera heldu zara\",\"More items …\":\"Elementu gehiago …\",Next:\"Hurrengoa\",\"No emoji found\":\"Ez da emojirik aurkitu\",\"No results\":\"Emaitzarik ez\",Objects:\"Objektuak\",Open:\"Ireki\",'Open link to \"{resourceTitle}\"':'Ireki esteka: \"{resourceTitle}\"',\"Open navigation\":\"Ireki nabigazioa\",\"Password is secure\":\"Pasahitza segurua da\",\"Pause slideshow\":\"Pausatu diaporama\",\"People & Body\":\"Jendea eta gorputza\",\"Pick an emoji\":\"Hautatu emoji bat\",\"Please select a time zone:\":\"Mesedez hautatu ordu-zona bat:\",Previous:\"Aurrekoa\",\"Related resources\":\"Erlazionatutako baliabideak\",Search:\"Bilatu\",\"Search results\":\"Bilaketa emaitzak\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Settings navigation\":\"Nabigazio ezarpenak\",\"Show password\":\"Erakutsi pasahitza\",\"Smileys & Emotion\":\"Smileyak eta emozioa\",\"Start slideshow\":\"Hasi diaporama\",Submit:\"Bidali\",Symbols:\"Sinboloak\",\"Travel & Places\":\"Bidaiak eta lekuak\",\"Type to search time zone\":\"Idatzi ordu-zona bat bilatzeko\",\"Unable to search the group\":\"Ezin izan da taldea bilatu\",\"Undo changes\":\"Aldaketak desegin\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Idatzi mezua, erabili \"@\" norbait aipatzeko, erabili \":\" emojiak automatikoki osatzeko...'}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",\"Avatar of {displayName}\":\"Käyttäjän {displayName} avatar\",\"Avatar of {displayName}, {status}\":\"Käyttäjän {displayName} avatar, {status}\",\"Cancel changes\":\"Peruuta muutokset\",Choose:\"Valitse\",Close:\"Sulje\",\"Close navigation\":\"Sulje navigaatio\",\"Confirm changes\":\"Vahvista muutokset\",Custom:\"Mukautettu\",\"Edit item\":\"Muokkaa kohdetta\",\"External documentation for {title}\":\"Ulkoinen dokumentaatio kohteelle {title}\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",Global:\"Yleinen\",\"Go back to the list\":\"Siirry takaisin listaan\",\"Message limit of {count} characters reached\":\"Viestin merkken enimmäisimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Open navigation\":\"Avaa navigaatio\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",\"Please select a time zone:\":\"Valitse aikavyöhyke:\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Submit:\"Lähetä\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Type to search time zone\":\"Kirjoita etsiäksesi aikavyöhyke\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Undo changes\":\"Kumoa muutokset\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Kirjoita viesti, @ mainitaksesi käyttäjän, : emojin automaattitäydennykseen…\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",\"Anything shared with the same group of people will show up here\":\"Tout ce qui est partagé avec le même groupe de personnes apparaîtra ici\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Annuler les modifications\",\"Change title\":\"Modifier le titre\",Choose:\"Choisir\",\"Clear text\":\"Effacer le texte\",Close:\"Fermer\",\"Close modal\":\"Fermer la fenêtre\",\"Close navigation\":\"Fermer la navigation\",\"Close sidebar\":\"Fermer la barre latérale\",\"Confirm changes\":\"Confirmer les modifications\",Custom:\"Personnalisé\",\"Edit item\":\"Éditer l'élément\",\"Error getting related resources\":\"Erreur à la récupération des ressources liées\",\"Error parsing svg\":\"Erreur d'analyse SVG\",\"External documentation for {title}\":\"Documentation externe pour {title}\",Favorite:\"Favori\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",Global:\"Global\",\"Go back to the list\":\"Retourner à la liste\",\"Hide password\":\"Cacher le mot de passe\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",\"More items …\":\"Plus d'éléments...\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",Open:\"Ouvrir\",'Open link to \"{resourceTitle}\"':'Ouvrir le lien vers \"{resourceTitle}\"',\"Open navigation\":\"Ouvrir la navigation\",\"Password is secure\":\"Le mot de passe est sécurisé\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",\"Please select a time zone:\":\"Sélectionnez un fuseau horaire : \",Previous:\"Précédent\",\"Related resources\":\"Ressources liées\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Show password\":\"Afficher le mot de passe\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Submit:\"Valider\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Type to search time zone\":\"Saisissez les premiers lettres pour rechercher un fuseau horaire\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Undo changes\":\"Annuler les changements\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Écrire un message, utiliser \"@\" pour mentionner une personne, \":\" pour l\\'autocomplétion des émojis...'}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",\"Anything shared with the same group of people will show up here\":\"Minden, amit ugyanazzal a csoporttal oszt meg, itt fog megjelenni\",\"Avatar of {displayName}\":\"{displayName} profilképe\",\"Avatar of {displayName}, {status}\":\"{displayName} profilképe, {status}\",\"Cancel changes\":\"Változtatások elvetése\",\"Change title\":\"Cím megváltoztatása\",Choose:\"Válassszon\",\"Clear text\":\"Szöveg törlése\",Close:\"Bezárás\",\"Close modal\":\"Ablak bezárása\",\"Close navigation\":\"Navigáció bezárása\",\"Close sidebar\":\"Oldalsáv bezárása\",\"Confirm changes\":\"Változtatások megerősítése\",Custom:\"Egyéni\",\"Edit item\":\"Elem szerkesztése\",\"Error getting related resources\":\"Hiba a kapcsolódó erőforrások lekérésekor\",\"Error parsing svg\":\"Hiba az SVG feldolgozásakor\",\"External documentation for {title}\":\"Külső dokumentáció ehhez: {title}\",Favorite:\"Kedvenc\",Flags:\"Zászlók\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",Global:\"Globális\",\"Go back to the list\":\"Ugrás vissza a listához\",\"Hide password\":\"Jelszó elrejtése\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",\"More items …\":\"További elemek...\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",Open:\"Megnyitás\",'Open link to \"{resourceTitle}\"':\"A(z) „{resourceTitle}” hivatkozásának megnyitása\",\"Open navigation\":\"Navigáció megnyitása\",\"Password is secure\":\"A jelszó biztonságos\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",\"Please select a time zone:\":\"Válasszon időzónát:\",Previous:\"Előző\",\"Related resources\":\"Kapcsolódó erőforrások\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Show password\":\"Jelszó megjelenítése\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Submit:\"Beküldés\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Type to search time zone\":\"Gépeljen az időzóna kereséséhez\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Undo changes\":\"Változtatások visszavonása\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':\"Írjon egy üzenetet, használja a „@”-ot valaki megemlítéséhet, illetve a „:”-ot az emodzsik automatikus kiegészítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Anything shared with the same group of people will show up here\":\"Tutto ciò che è stato condiviso con lo stesso gruppo di persone viene visualizzato qui\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar di {displayName}, {status}\",\"Cancel changes\":\"Annulla modifiche\",\"Change title\":\"Modifica il titolo\",Choose:\"Scegli\",\"Clear text\":\"Cancella il testo\",Close:\"Chiudi\",\"Close modal\":\"Chiudi il messaggio modale\",\"Close navigation\":\"Chiudi la navigazione\",\"Close sidebar\":\"Chiudi la barra laterale\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"Edit item\":\"Modifica l'elemento\",\"Error getting related resources\":\"Errore nell'ottenere risorse correlate\",\"Error parsing svg\":\"Errore nell'analizzare l'svg\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Favorite:\"Preferito\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",Global:\"Globale\",\"Go back to the list\":\"Torna all'elenco\",\"Hide password\":\"Nascondi la password\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",\"More items …\":\"Più elementi ...\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",Open:\"Apri\",'Open link to \"{resourceTitle}\"':'Apri il link a \"{resourceTitle}\"',\"Open navigation\":\"Apri la navigazione\",\"Password is secure\":\"La password è sicura\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",\"Please select a time zone:\":\"Si prega di selezionare un fuso orario:\",Previous:\"Precedente\",\"Related resources\":\"Risorse correlate\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Show password\":\"Mostra la password\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Type to search time zone\":\"Digita per cercare un fuso orario\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Undo changes\":\"Cancella i cambiamenti\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Scrivi un messaggio, \"@\" per menzionare qualcuno, \":\" per il completamento automatico delle emoji ...'}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Anything shared with the same group of people will show up here\":\"同じグループで共有しているものは、全てここに表示されます\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} のアバター\",\"Cancel changes\":\"変更をキャンセル\",\"Change title\":\"タイトルを変更\",Choose:\"選択\",\"Clear text\":\"テキストをクリア\",Close:\"閉じる\",\"Close modal\":\"モーダルを閉じる\",\"Close navigation\":\"ナビゲーションを閉じる\",\"Close sidebar\":\"サイドバーを閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"Edit item\":\"編集\",\"Error getting related resources\":\"関連リソースの取得エラー\",\"Error parsing svg\":\"svgの解析エラー\",\"External documentation for {title}\":\"{title} のための添付文書\",Favorite:\"お気に入り\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",Global:\"全体\",\"Go back to the list\":\"リストに戻る\",\"Hide password\":\"パスワードを非表示\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",\"More items …\":\"他のアイテム\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",Open:\"開く\",'Open link to \"{resourceTitle}\"':'\"{resourceTitle}\"のリンクを開く',\"Open navigation\":\"ナビゲーションを開く\",\"Password is secure\":\"パスワードは保護されています\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",\"Please select a time zone:\":\"タイムゾーンを選んで下さい:\",Previous:\"前\",\"Related resources\":\"関連リソース\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Show password\":\"パスワードを表示\",\"Smileys & Emotion\":\"感情表現\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Type to search time zone\":\"タイムゾーン検索のため入力してください\",\"Unable to search the group\":\"グループを検索できません\",\"Undo changes\":\"変更を取り消し\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'メッセージを記入、\"@\"でメンション、\":\"で絵文字の自動補完 ...'}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",\"Avatar of {displayName}\":\"Аватар на {displayName}\",\"Avatar of {displayName}, {status}\":\"Аватар на {displayName}, {status}\",\"Cancel changes\":\"Откажи ги промените\",\"Change title\":\"Промени наслов\",Choose:\"Избери\",Close:\"Затвори\",\"Close modal\":\"Затвори модал\",\"Close navigation\":\"Затвори навигација\",\"Confirm changes\":\"Потврди ги промените\",Custom:\"Прилагодени\",\"Edit item\":\"Уреди\",\"External documentation for {title}\":\"Надворешна документација за {title}\",Favorite:\"Фаворити\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",Global:\"Глобално\",\"Go back to the list\":\"Врати се на листата\",items:\"ставки\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",\"More {dashboardItemType} …\":\"Повеќе {dashboardItemType} …\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",Open:\"Отвори\",\"Open navigation\":\"Отвори навигација\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",\"Please select a time zone:\":\"Изберете временска зона:\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Submit:\"Испрати\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Type to search time zone\":\"Напишете за да пребарате временска зона\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Undo changes\":\"Врати ги промените\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напиши порака, @ за да спомнете некого, : за емотинони автоатско комплетирање ...\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",\"Anything shared with the same group of people will show up here\":\"Alt som er delt med den samme gruppen vil vises her\",\"Avatar of {displayName}\":\"Avataren til {displayName}\",\"Avatar of {displayName}, {status}\":\"{displayName}'s avatar, {status}\",\"Cancel changes\":\"Avbryt endringer\",\"Change title\":\"Endre tittel\",Choose:\"Velg\",\"Clear text\":\"Fjern tekst\",Close:\"Lukk\",\"Close modal\":\"Lukk modal\",\"Close navigation\":\"Lukk navigasjon\",\"Close sidebar\":\"Lukk sidepanel\",\"Confirm changes\":\"Bekreft endringer\",Custom:\"Tilpasset\",\"Edit item\":\"Rediger\",\"Error getting related resources\":\"Feil ved henting av relaterte ressurser\",\"Error parsing svg\":\"Feil ved parsing av svg\",\"External documentation for {title}\":\"Ekstern dokumentasjon for {title}\",Favorite:\"Favoritt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Global:\"Global\",\"Go back to the list\":\"Gå tilbake til listen\",\"Hide password\":\"Skjul passord\",\"Message limit of {count} characters reached\":\"Karakter begrensing {count} nådd i melding\",\"More items …\":\"Flere gjenstander...\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",Open:\"Åpne\",'Open link to \"{resourceTitle}\"':'Åpne link til \"{resourceTitle}\"',\"Open navigation\":\"Åpne navigasjon\",\"Password is secure\":\"Passordet er sikkert\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",\"Please select a time zone:\":\"Vennligst velg tidssone\",Previous:\"Forrige\",\"Related resources\":\"Relaterte ressurser\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Settings navigation\":\"Navigasjonsinstillinger\",\"Show password\":\"Vis passord\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Type to search time zone\":\"Tast for å søke etter tidssone\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\",\"Undo changes\":\"Tilbakestill endringer\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv melding, bruk \"@\" for å nevne noen, bruk \":\" for autofullføring av emoji...'}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar van {displayName}, {status}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Close navigation\":\"Navigatie sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"Edit item\":\"Item bewerken\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",Global:\"Globaal\",\"Go back to the list\":\"Ga terug naar de lijst\",\"Message limit of {count} characters reached\":\"Berichtlimiet van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Open navigation\":\"Navigatie openen\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",\"Please select a time zone:\":\"Selecteer een tijdzone:\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Type to search time zone\":\"Type om de tijdzone te zoeken\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Undo changes\":\"Wijzigingen ongedaan maken\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Anything shared with the same group of people will show up here\":\"Tutaj pojawi się wszystko, co zostało udostępnione tej samej grupie osób\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Awatar {displayName}, {status}\",\"Cancel changes\":\"Anuluj zmiany\",\"Change title\":\"Zmień tytuł\",Choose:\"Wybierz\",\"Clear text\":\"Wyczyść tekst\",Close:\"Zamknij\",\"Close modal\":\"Zamknij modal\",\"Close navigation\":\"Zamknij nawigację\",\"Close sidebar\":\"Zamknij pasek boczny\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"Edit item\":\"Edytuj element\",\"Error getting related resources\":\"Błąd podczas pobierania powiązanych zasobów\",\"Error parsing svg\":\"Błąd podczas analizowania svg\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Favorite:\"Ulubiony\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Go back to the list\":\"Powrót do listy\",\"Hide password\":\"Ukryj hasło\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",\"More items …\":\"Więcej pozycji…\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emoji\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",Open:\"Otwórz\",'Open link to \"{resourceTitle}\"':'Otwórz link do \"{resourceTitle}\"',\"Open navigation\":\"Otwórz nawigację\",\"Password is secure\":\"Hasło jest bezpieczne\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",\"Related resources\":\"Powiązane zasoby\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Ustawienia nawigacji\",\"Show password\":\"Pokaż hasło\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Undo changes\":\"Cofnij zmiany\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Napisz wiadomość, \"@\" aby o kimś wspomnieć, \":\" dla autouzupełniania emoji…'}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Anything shared with the same group of people will show up here\":\"Qualquer coisa compartilhada com o mesmo grupo de pessoas aparecerá aqui\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar alterações\",\"Change title\":\"Alterar título\",Choose:\"Escolher\",\"Clear text\":\"Limpar texto\",Close:\"Fechar\",\"Close modal\":\"Fechar modal\",\"Close navigation\":\"Fechar navegação\",\"Close sidebar\":\"Fechar barra lateral\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"Edit item\":\"Editar item\",\"Error getting related resources\":\"Erro ao obter recursos relacionados\",\"Error parsing svg\":\"Erro ao analisar svg\",\"External documentation for {title}\":\"Documentação externa para {title}\",Favorite:\"Favorito\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Go back to the list\":\"Volte para a lista\",\"Hide password\":\"Ocultar a senha\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",\"More items …\":\"Mais itens …\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",Open:\"Aberto\",'Open link to \"{resourceTitle}\"':'Abrir link para \"{resourceTitle}\"',\"Open navigation\":\"Abrir navegação\",\"Password is secure\":\"A senha é segura\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionados\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Show password\":\"Mostrar senha\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Undo changes\":\"Desfazer modificações\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escreva mensagens, use \"@\" para mencionar algum, use \":\" for autocompletar emoji …'}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ro\",translations:{\"{tag} (invisible)\":\"{tag} (invizibil)\",\"{tag} (restricted)\":\"{tag} (restricționat)\",Actions:\"Acțiuni\",Activities:\"Activități\",\"Animals & Nature\":\"Animale și natură\",\"Anything shared with the same group of people will show up here\":\"Tot ceea ce este partajat cu același grup de persoane va fi afișat aici\",\"Avatar of {displayName}\":\"Avatarul lui {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatarul lui {displayName}, {status}\",\"Cancel changes\":\"Anulează modificările\",\"Change title\":\"Modificați titlul\",Choose:\"Alegeți\",\"Clear text\":\"Șterge textul\",Close:\"Închideți\",\"Close modal\":\"Închideți modulul\",\"Close navigation\":\"Închideți navigarea\",\"Close sidebar\":\"Închide bara laterală\",\"Confirm changes\":\"Confirmați modificările\",Custom:\"Personalizat\",\"Edit item\":\"Editați elementul\",\"Error getting related resources\":\" Eroare la returnarea resurselor legate\",\"Error parsing svg\":\"Eroare de analizare a svg\",\"External documentation for {title}\":\"Documentație externă pentru {title}\",Favorite:\"Favorit\",Flags:\"Marcaje\",\"Food & Drink\":\"Alimente și băuturi\",\"Frequently used\":\"Utilizate frecvent\",Global:\"Global\",\"Go back to the list\":\"Întoarceți-vă la listă\",\"Hide password\":\"Ascunde parola\",\"Message limit of {count} characters reached\":\"Limita mesajului de {count} caractere a fost atinsă\",\"More items …\":\"Mai multe articole ...\",Next:\"Următorul\",\"No emoji found\":\"Nu s-a găsit niciun emoji\",\"No results\":\"Nu există rezultate\",Objects:\"Obiecte\",Open:\"Deschideți\",'Open link to \"{resourceTitle}\"':'Deschide legătura la \"{resourceTitle}\"',\"Open navigation\":\"Deschideți navigația\",\"Password is secure\":\"Parola este sigură\",\"Pause slideshow\":\"Pauză prezentare de diapozitive\",\"People & Body\":\"Oameni și corp\",\"Pick an emoji\":\"Alege un emoji\",\"Please select a time zone:\":\"Vă rugăm să selectați un fus orar:\",Previous:\"Anterior\",\"Related resources\":\"Resurse legate\",Search:\"Căutare\",\"Search results\":\"Rezultatele căutării\",\"Select a tag\":\"Selectați o etichetă\",Settings:\"Setări\",\"Settings navigation\":\"Navigare setări\",\"Show password\":\"Arată parola\",\"Smileys & Emotion\":\"Zâmbete și emoții\",\"Start slideshow\":\"Începeți prezentarea de diapozitive\",Submit:\"Trimiteți\",Symbols:\"Simboluri\",\"Travel & Places\":\"Călătorii și locuri\",\"Type to search time zone\":\"Tastați pentru a căuta fusul orar\",\"Unable to search the group\":\"Imposibilitatea de a căuta în grup\",\"Undo changes\":\"Anularea modificărilor\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Scrie un mesaj, folosește \"@\" pentru a menționa pe cineva, folosește \":\" pentru autocompletarea cu emoji ...'}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Avatar of {displayName}, {status}\":\"Фотография {displayName}, {status}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Close modal\":\"Закрыть модальное окно\",\"Close navigation\":\"Закрыть навигацию\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"Edit item\":\"Изменить элемент\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Go back to the list\":\"Вернуться к списку\",items:\"элементов\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",\"More {dashboardItemType} …\":\"Больше {dashboardItemType} …\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",Open:\"Открыть\",\"Open navigation\":\"Открыть навигацию\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Undo changes\":\"Отменить изменения\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напишите сообщение, @ - чтобы упомянуть кого-то, : - для автозаполнения эмодзи …\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar {displayName}, {status}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Close navigation\":\"Zavrieť navigáciu\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"Edit item\":\"Upraviť položku\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Global:\"Globálne\",\"Go back to the list\":\"Naspäť na zoznam\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Open navigation\":\"Otvoriť navigáciu\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",\"Please select a time zone:\":\"Prosím vyberte časovú zónu:\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Type to search time zone\":\"Začníte písať pre vyhľadávanie časovej zóny\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Undo changes\":\"Vrátiť zmeny\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napíšte správu, @ ak chcete niekoho spomenúť, : pre automatické dopĺňanie emotikonov…\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",\"Avatar of {displayName}\":\"Podoba {displayName}\",\"Avatar of {displayName}, {status}\":\"Prikazna slika {displayName}, {status}\",\"Cancel changes\":\"Prekliči spremembe\",\"Change title\":\"Spremeni naziv\",Choose:\"Izbor\",\"Clear text\":\"Počisti besedilo\",Close:\"Zapri\",\"Close modal\":\"Zapri pojavno okno\",\"Close navigation\":\"Zapri krmarjenje\",\"Close sidebar\":\"Zapri stransko vrstico\",\"Confirm changes\":\"Potrdi spremembe\",Custom:\"Po meri\",\"Edit item\":\"Uredi predmet\",\"Error getting related resources\":\"Napaka pridobivanja povezanih virov\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Favorite:\"Priljubljeno\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",Global:\"Splošno\",\"Go back to the list\":\"Vrni se na seznam\",\"Hide password\":\"Skrij geslo\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",\"More items …\":\"Več predmetov ...\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",Open:\"Odpri\",'Open link to \"{resourceTitle}\"':\"Odpri povezavo do »{resourceTitle}«\",\"Open navigation\":\"Odpri krmarjenje\",\"Password is secure\":\"Geslo je varno\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick a date\":\"Izbor datuma\",\"Pick a date and a time\":\"Izbor datuma in časa\",\"Pick a month\":\"Izbor meseca\",\"Pick a time\":\"Izbor časa\",\"Pick a week\":\"Izbor tedna\",\"Pick a year\":\"Izbor leta\",\"Pick an emoji\":\"Izbor izrazne ikone\",\"Please select a time zone:\":\"Izbor časovnega pasu:\",Previous:\"Predhodni\",\"Related resources\":\"Povezani viri\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Show password\":\"Pokaži geslo\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Type to search time zone\":\"Vpišite niz za iskanje časovnega pasu\",\"Unable to search the group\":\"Ni mogoče iskati po skupini\",\"Undo changes\":\"Razveljavi spremembe\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napišite sporočilo, za omembo pred ime postavite@, začnite z : za vstavljanje izraznih ikon …\"}},{locale:\"sr\",translations:{\"{tag} (invisible)\":\"{tag} (nevidljivo)\",\"{tag} (restricted)\":\"{tag} (ograničeno)\",Actions:\"Radnje\",Activities:\"Aktivnosti\",\"Animals & Nature\":\"Životinje i Priroda\",\"Avatar of {displayName}\":\"Avatar za {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar za {displayName}, {status}\",\"Cancel changes\":\"Otkaži izmene\",\"Change title\":\"Izmeni naziv\",Choose:\"Изаберите\",Close:\"Затвори\",\"Close modal\":\"Zatvori modal\",\"Close navigation\":\"Zatvori navigaciju\",\"Close sidebar\":\"Zatvori bočnu traku\",\"Confirm changes\":\"Potvrdite promene\",Custom:\"Po meri\",\"Edit item\":\"Uredi stavku\",\"External documentation for {title}\":\"Eksterna dokumentacija za {title}\",Favorite:\"Omiljeni\",Flags:\"Zastave\",\"Food & Drink\":\"Hrana i Piće\",\"Frequently used\":\"Često korišćeno\",Global:\"Globalno\",\"Go back to the list\":\"Natrag na listu\",items:\"stavke\",\"Message limit of {count} characters reached\":\"Dostignuto je ograničenje za poruke od {count} znakova\",\"More {dashboardItemType} …\":\"Više {dashboardItemType} …\",Next:\"Следеће\",\"No emoji found\":\"Nije pronađen nijedan emodži\",\"No results\":\"Нема резултата\",Objects:\"Objekti\",Open:\"Otvori\",\"Open navigation\":\"Otvori navigaciju\",\"Pause slideshow\":\"Паузирај слајд шоу\",\"People & Body\":\"Ljudi i Telo\",\"Pick an emoji\":\"Izaberi emodži\",\"Please select a time zone:\":\"Molimo izaberite vremensku zonu:\",Previous:\"Претходно\",Search:\"Pretraži\",\"Search results\":\"Rezultati pretrage\",\"Select a tag\":\"Изаберите ознаку\",Settings:\"Поставке\",\"Settings navigation\":\"Navigacija u podešavanjima\",\"Smileys & Emotion\":\"Smajli i Emocije\",\"Start slideshow\":\"Покрени слајд шоу\",Submit:\"Prihvati\",Symbols:\"Simboli\",\"Travel & Places\":\"Putovanja i Mesta\",\"Type to search time zone\":\"Ukucaj da pretražiš vremenske zone\",\"Unable to search the group\":\"Nije moguće pretražiti grupu\",\"Undo changes\":\"Poništi promene\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napišite poruku, @ da pomenete nekoga, : za automatsko dovršavanje emodžija…\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Anything shared with the same group of people will show up here\":\"Något som delats med samma grupp av personer kommer att visas här\",\"Avatar of {displayName}\":\"{displayName}s avatar\",\"Avatar of {displayName}, {status}\":\"{displayName}s avatar, {status}\",\"Cancel changes\":\"Avbryt ändringar\",\"Change title\":\"Ändra titel\",Choose:\"Välj\",\"Clear text\":\"Ta bort text\",Close:\"Stäng\",\"Close modal\":\"Stäng modal\",\"Close navigation\":\"Stäng navigering\",\"Close sidebar\":\"Stäng sidopanel\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"Edit item\":\"Ändra\",\"Error getting related resources\":\"Problem att hämta relaterade resurser\",\"Error parsing svg\":\"Fel vid inläsning av svg\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Favorite:\"Favorit\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",Global:\"Global\",\"Go back to the list\":\"Gå tillbaka till listan\",\"Hide password\":\"Göm lössenordet\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",\"More items …\":\"Fler objekt\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",Open:\"Öppna\",'Open link to \"{resourceTitle}\"':'Öppna länk till \"{resourceTitle}\"',\"Open navigation\":\"Öppna navigering\",\"Password is secure\":\"Lössenordet är säkert\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",\"Please select a time zone:\":\"Välj tidszon:\",Previous:\"Föregående\",\"Related resources\":\"Relaterade resurser\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Show password\":\"Visa lössenordet\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Type to search time zone\":\"Skriv för att välja tidszon\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Undo changes\":\"Ångra ändringar\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv meddelande, använd \"@\" för att nämna någon, använd \":\" för automatiska emojiförslag ...'}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Anything shared with the same group of people will show up here\":\"Aynı kişi grubu ile paylaşılan herşey burada görüntülenir\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",\"Change title\":\"Başlığı değiştir\",Choose:\"Seçin\",\"Clear text\":\"Metni temizle\",Close:\"Kapat\",\"Close modal\":\"Üste açılan pencereyi kapat\",\"Close navigation\":\"Gezinmeyi kapat\",\"Close sidebar\":\"Yan çubuğu kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"Edit item\":\"Ögeyi düzenle\",\"Error getting related resources\":\"İlgili kaynaklar alınırken sorun çıktı\",\"Error parsing svg\":\"svg işlenirken sorun çıktı\",\"External documentation for {title}\":\"{title} için dış belgeler\",Favorite:\"Sık kullanılanlara ekle\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Go back to the list\":\"Listeye dön\",\"Hide password\":\"Parolayı gizle\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",\"More items …\":\"Diğer ögeler…\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",Open:\"Aç\",'Open link to \"{resourceTitle}\"':'\"{resourceTitle}\" bağlantısını aç',\"Open navigation\":\"Gezinmeyi aç\",\"Password is secure\":\"Parola güvenli\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",\"Related resources\":\"İlgili kaynaklar\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Show password\":\"Parolayı görüntüle\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Undo changes\":\"Değişiklikleri geri al\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'İleti yazın, birini anmak için @, otomatik emoji tamamlamak için \":\" kullanın…'}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (невидимий)\",\"{tag} (restricted)\":\"{tag} (обмежений)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Avatar of {displayName}, {status}\":\"Аватар {displayName}, {status}\",\"Cancel changes\":\"Скасувати зміни\",\"Change title\":\"Змінити назву\",Choose:\"ВиберітьВиберіть\",\"Clear text\":\"Очистити текст\",Close:\"Закрити\",\"Close modal\":\"Закрити модаль\",\"Close navigation\":\"Закрити навігацію\",\"Close sidebar\":\"Закрити бічну панель\",\"Confirm changes\":\"Підтвердити зміни\",Custom:\"Власне\",\"Edit item\":\"Редагувати елемент\",\"External documentation for {title}\":\"Зовнішня документація для {title}\",Favorite:\"Улюблений\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напої\",\"Frequently used\":\"Найчастіші\",Global:\"Глобальний\",\"Go back to the list\":\"Повернутися до списку\",\"Hide password\":\"Приховати пароль\",items:\"елементи\",\"Message limit of {count} characters reached\":\"Вичерпано ліміт у {count} символів для повідомлення\",\"More {dashboardItemType} …\":\"Більше {dashboardItemType}…\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",Open:\"Відкрити\",\"Open navigation\":\"Відкрити навігацію\",\"Password is secure\":\"Пароль безпечний\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",\"Please select a time zone:\":\"Виберіть часовий пояс:\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Settings navigation\":\"Навігація у налаштуваннях\",\"Show password\":\"Показати пароль\",\"Smileys & Emotion\":\"Смайли та емоції\",\"Start slideshow\":\"Почати показ слайдів\",Submit:\"Надіслати\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Type to search time zone\":\"Введіть для пошуку часовий пояс\",\"Unable to search the group\":\"Неможливо шукати в групі\",\"Undo changes\":\"Скасувати зміни\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напишіть повідомлення, @, щоб згадати когось, : для автозаповнення емодзі…\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",\"Anything shared with the same group of people will show up here\":\"与同组用户分享的所有内容都会显示于此\",\"Avatar of {displayName}\":\"{displayName}的头像\",\"Avatar of {displayName}, {status}\":\"{displayName}的头像,{status}\",\"Cancel changes\":\"取消更改\",\"Change title\":\"更改标题\",Choose:\"选择\",\"Clear text\":\"清除文本\",Close:\"关闭\",\"Close modal\":\"关闭窗口\",\"Close navigation\":\"关闭导航\",\"Close sidebar\":\"关闭侧边栏\",\"Confirm changes\":\"确认更改\",Custom:\"自定义\",\"Edit item\":\"编辑项目\",\"Error getting related resources\":\"获取相关资源时出错\",\"Error parsing svg\":\"解析 svg 时出错\",\"External documentation for {title}\":\"{title}的外部文档\",Favorite:\"喜爱\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",Global:\"全局\",\"Go back to the list\":\"返回至列表\",\"Hide password\":\"隐藏密码\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",\"More items …\":\"更多项目…\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",Open:\"打开\",'Open link to \"{resourceTitle}\"':'打开\"{resourceTitle}\"的连接',\"Open navigation\":\"开启导航\",\"Password is secure\":\"密码安全\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",\"Please select a time zone:\":\"请选择一个时区:\",Previous:\"上一个\",\"Related resources\":\"相关资源\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Show password\":\"显示密码\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Submit:\"提交\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Type to search time zone\":\"打字以搜索时区\",\"Unable to search the group\":\"无法搜索分组\",\"Undo changes\":\"撤销更改\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'写信息,使用\"@\"来提及某人,使用\":\"进行表情符号自动完成 ...'}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",\"Anything shared with the same group of people will show up here\":\"與同一組人共享的任何內容都會顯示在此處\",\"Avatar of {displayName}\":\"{displayName} 的頭像\",\"Avatar of {displayName}, {status}\":\"{displayName} 的頭像,{status}\",\"Cancel changes\":\"取消更改\",\"Change title\":\"更改標題\",Choose:\"選擇\",\"Clear text\":\"清除文本\",Close:\"關閉\",\"Close modal\":\"關閉模態\",\"Close navigation\":\"關閉導航\",\"Close sidebar\":\"關閉側邊欄\",\"Confirm changes\":\"確認更改\",Custom:\"自定義\",\"Edit item\":\"編輯項目\",\"Error getting related resources\":\"獲取相關資源出錯\",\"Error parsing svg\":\"解析 svg 時出錯\",\"External documentation for {title}\":\"{title} 的外部文檔\",Favorite:\"喜愛\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",Global:\"全球的\",\"Go back to the list\":\"返回清單\",\"Hide password\":\"隱藏密碼\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",\"More items …\":\"更多項目 …\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",Open:\"打開\",'Open link to \"{resourceTitle}\"':\"打開指向 “{resourceTitle}” 的鏈結\",\"Open navigation\":\"開啟導航\",\"Password is secure\":\"密碼是安全的\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Please select a time zone:\":\"請選擇時區:\",Previous:\"上一個\",\"Related resources\":\"相關資源\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Show password\":\"顯示密碼\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Type to search time zone\":\"鍵入以搜索時區\",\"Unable to search the group\":\"無法搜尋群組\",\"Undo changes\":\"取消更改\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'寫訊息,使用 \"@\" 來指代某人,使用 \":\" 用於表情符號自動填充 ...'}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(e){var t={};for(var o in e.translations)e.translations[o].pluralId?t[o]={msgid:o,msgid_plural:e.translations[o].pluralId,msgstr:e.translations[o].msgstr}:t[o]={msgid:o,msgstr:[e.translations[o]]};a.addTranslation(e.locale,{translations:{\"\":t}})}));var i=a.build(),r=i.ngettext.bind(i),s=i.gettext.bind(i)},334:(e,t,o)=>{\"use strict\";o.d(t,{default:()=>i});var n=o(2734),a=new(o.n(n)())({data:function(){return{isMobile:!1}},watch:{isMobile:function(e){this.$emit(\"changed\",e)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});const i={data:function(){return{isMobile:!1}},mounted:function(){a.$on(\"changed\",this.onIsMobileChanged),this.isMobile=a.isMobile},beforeDestroy:function(){a.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(e){this.isMobile=e}}}},3648:(e,t,o)=>{\"use strict\";o.d(t,{Z:()=>a});var n=o(932);const a={methods:{n:n.n,t:n.t}}},1205:(e,t,o)=>{\"use strict\";o.d(t,{Z:()=>n});const n=function(e){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").slice(0,e||5)}},7645:(e,t,o)=>{\"use strict\";o.d(t,{Z:()=>n});const n=function(e){e.mounted?Array.isArray(e.mounted)||(e.mounted=[e.mounted]):e.mounted=[],e.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"70f0364\"),\"\")}))}},1206:(e,t,o)=>{\"use strict\";o.d(t,{L:()=>n});o(4505);var n=function(){return Object.assign(window,{_nc_focus_trap:window._nc_focus_trap||[]}),window._nc_focus_trap}},8384:(e,t,o)=>{\"use strict\";o.d(t,{Z:()=>s});var n=o(7537),a=o.n(n),i=o(3645),r=o.n(i)()(a());r.push([e.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-tooltip.v-popper__popper{position:absolute;z-index:100000;top:0;right:auto;left:auto;display:block;margin:0;padding:0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{right:100%;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{left:100%;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity .15s,visibility .15s;opacity:0}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity .15s;opacity:1}.v-popper--theme-tooltip .v-popper__inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.v-popper--theme-tooltip .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/directives/Tooltip/index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCSA,0CACC,iBAAA,CACA,cAAA,CACA,KAAA,CACA,UAAA,CACA,SAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,SAAA,CACA,eAAA,CAEA,eAAA,CACA,sDAAA,CAGA,iGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAID,oGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAID,mGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAID,kGACC,SAAA,CACA,oBAAA,CACA,8CAAA,CAID,4DACC,iBAAA,CACA,uCAAA,CACA,SAAA,CAED,6DACC,kBAAA,CACA,uBAAA,CACA,SAAA,CAKF,0CACC,eAAA,CACA,eAAA,CACA,iBAAA,CACA,4BAAA,CACA,kCAAA,CACA,6CAAA,CAID,oDACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBAhFY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ \\n* @copyright Copyright (c) 2016, Robin Appelman \\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt \\n* @copyright Copyright (c) 2016, Erik Pellikka \\n* @copyright Copyright (c) 2015, Vincent Petry \\n*\\n* Bootstrap (http://getbootstrap.com)\\n* SCSS copied from version 3.3.5\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.v-popper--theme-tooltip {\\n\\t&.v-popper__popper {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 100000;\\n\\t\\ttop: 0;\\n\\t\\tright: auto;\\n\\t\\tleft: auto;\\n\\t\\tdisplay: block;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\ttext-align: left;\\n\\t\\ttext-align: start;\\n\\t\\topacity: 0;\\n\\t\\tline-height: 1.6;\\n\\n\\t\\tline-break: auto;\\n\\t\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t\\t// TOP\\n\\t\\t&[data-popper-placement^='top'] .v-popper__arrow-container {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// BOTTOM\\n\\t\\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// RIGHT\\n\\t\\t&[data-popper-placement^='right'] .v-popper__arrow-container {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// LEFT\\n\\t\\t&[data-popper-placement^='left'] .v-popper__arrow-container {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// HIDDEN / SHOWN\\n\\t\\t&[aria-hidden='true'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&[aria-hidden='false'] {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t\\ttransition: opacity .15s;\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t// CONTENT\\n\\t.v-popper__inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.v-popper__arrow-container {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: $arrow-width;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=r},8827:(e,t,o)=>{\"use strict\";o.d(t,{Z:()=>s});var n=o(7537),a=o.n(n),i=o(3645),r=o.n(i)()(a());r.push([e.id,\".material-design-icon[data-v-20a3e950]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-items[data-v-20a3e950]{display:flex;align-items:center}.action-items>button[data-v-20a3e950]{margin-right:7px}.action-item[data-v-20a3e950]{--open-background-color: var(--color-background-hover, $action-background-hover);position:relative;display:inline-block}.action-item.action-item--primary[data-v-20a3e950]{--open-background-color: var(--color-primary-element-hover)}.action-item.action-item--secondary[data-v-20a3e950]{--open-background-color: var(--color-primary-element-light-hover)}.action-item.action-item--error[data-v-20a3e950]{--open-background-color: var(--color-error-hover)}.action-item.action-item--warning[data-v-20a3e950]{--open-background-color: var(--color-warning-hover)}.action-item.action-item--success[data-v-20a3e950]{--open-background-color: var(--color-success-hover)}.action-item.action-item--tertiary-no-background[data-v-20a3e950]{--open-background-color: transparent}.action-item.action-item--open .action-item__menutoggle[data-v-20a3e950]{background-color:var(--open-background-color)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcActions/NcActions.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,+BACC,YAAA,CACA,kBAAA,CAGA,sCACC,gBAAA,CAIF,8BACC,gFAAA,CACA,iBAAA,CACA,oBAAA,CAEA,mDACC,2DAAA,CAGD,qDACC,iEAAA,CAGD,iDACC,iDAAA,CAGD,mDACC,mDAAA,CAGD,mDACC,mDAAA,CAGD,kEACC,oCAAA,CAGD,yEACC,6CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n// Inline buttons\\n.action-items {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\n\\t// Spacing between buttons\\n\\t& > button {\\n\\t\\tmargin-right: math.div($icon-margin, 2);\\n\\t}\\n}\\n\\n.action-item {\\n\\t--open-background-color: var(--color-background-hover, $action-background-hover);\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&.action-item--primary {\\n\\t\\t--open-background-color: var(--color-primary-element-hover);\\n\\t}\\n\\n\\t&.action-item--secondary {\\n\\t\\t--open-background-color: var(--color-primary-element-light-hover);\\n\\t}\\n\\n\\t&.action-item--error {\\n\\t\\t--open-background-color: var(--color-error-hover);\\n\\t}\\n\\n\\t&.action-item--warning {\\n\\t\\t--open-background-color: var(--color-warning-hover);\\n\\t}\\n\\n\\t&.action-item--success {\\n\\t\\t--open-background-color: var(--color-success-hover);\\n\\t}\\n\\n\\t&.action-item--tertiary-no-background {\\n\\t\\t--open-background-color: transparent;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\tbackground-color: var(--open-background-color);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=r},5565:(e,t,o)=>{\"use strict\";o.d(t,{Z:()=>s});var n=o(7537),a=o.n(n),i=o(3645),r=o.n(i)()(a());r.push([e.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper{border-radius:var(--border-radius-large);overflow:hidden}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner{border-radius:var(--border-radius-large);padding:4px;max-height:calc(50vh - 16px);overflow:auto}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcActions/NcActions.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,kFACC,wCAAA,CACA,eAAA,CAEA,mGACC,wCAAA,CACA,WAAA,CACA,4BAAA,CACA,aAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n// We overwrote the popover base class, so we can style\\n// the popover__inner for actions only.\\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper {\\n\\tborder-radius: var(--border-radius-large);\\n\\toverflow:hidden;\\n\\n\\t.v-popper__inner {\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tpadding: 4px;\\n\\t\\tmax-height: calc(50vh - 16px);\\n\\t\\toverflow: auto;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=r},5223:(e,t,o)=>{\"use strict\";o.d(t,{Z:()=>s});var n=o(7537),a=o.n(n),i=o(3645),r=o.n(i)()(a());r.push([e.id,\".material-design-icon[data-v-549cf324]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-settings-modal[data-v-549cf324] .modal-wrapper .modal-container{display:flex;overflow:hidden}.app-settings[data-v-549cf324]{width:100%;display:flex;flex-direction:column;min-width:0}.app-settings__title[data-v-549cf324]{min-height:44px;height:44px;line-height:44px;padding-top:4px;text-align:center}.app-settings__wrapper[data-v-549cf324]{display:flex;width:100%;overflow:hidden;height:100%;position:relative}.app-settings__navigation[data-v-549cf324]{min-width:200px;margin-right:20px;overflow-x:hidden;overflow-y:auto;position:relative;height:100%}.app-settings__content[data-v-549cf324]{max-width:100vw;overflow-y:auto;overflow-x:hidden;padding:24px;width:100%}.navigation-list[data-v-549cf324]{height:100%;box-sizing:border-box;overflow-y:auto;padding:12px}.navigation-list__link[data-v-549cf324]{display:block;font-size:16px;height:44px;margin:4px 0;line-height:44px;border-radius:var(--border-radius-pill);font-weight:bold;padding:0 20px;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background-color:rgba(0,0,0,0);border:none}.navigation-list__link[data-v-549cf324]:hover,.navigation-list__link[data-v-549cf324]:focus{background-color:var(--color-background-hover)}.navigation-list__link--active[data-v-549cf324]{background-color:var(--color-primary-element-light) !important}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppSettingsDialog/NcAppSettingsDialog.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,qEACC,YAAA,CACA,eAAA,CAGD,+BACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,WAAA,CACA,sCACC,eCWe,CDVf,WCUe,CDTf,gBCSe,CDRf,eAAA,CACA,iBAAA,CAED,wCACC,YAAA,CACA,UAAA,CACA,eAAA,CACA,WAAA,CACA,iBAAA,CAED,2CACC,eAAA,CACA,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,iBAAA,CACA,WAAA,CAED,wCACC,eAAA,CACA,eAAA,CACA,iBAAA,CACA,YAAA,CACA,UAAA,CAIF,kCACC,WAAA,CACA,qBAAA,CACA,eAAA,CACA,YAAA,CACA,wCACC,aAAA,CACA,cAAA,CACA,WC3Be,CD4Bf,YAAA,CACA,gBC7Be,CD8Bf,uCAAA,CACA,gBAAA,CACA,cAAA,CACA,cAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,8BAAA,CACA,WAAA,CACA,4FAEC,8CAAA,CAED,gDACC,8DAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.app-settings-modal :deep(.modal-wrapper .modal-container) {\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n}\\n\\n.app-settings {\\n\\twidth: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tmin-width: 0;\\n\\t&__title {\\n\\t\\tmin-height: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tpadding-top: 4px; // Same as the close button top spacing\\n\\t\\ttext-align: center;\\n\\t}\\n\\t&__wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\toverflow: hidden;\\n\\t\\theight: 100%;\\n\\t\\tposition: relative;\\n\\t}\\n\\t&__navigation {\\n\\t\\tmin-width: 200px;\\n\\t\\tmargin-right: 20px;\\n\\t\\toverflow-x: hidden;\\n\\t\\toverflow-y: auto;\\n\\t\\tposition: relative;\\n\\t\\theight: 100%;\\n\\t}\\n\\t&__content {\\n\\t\\tmax-width: 100vw;\\n\\t\\toverflow-y: auto;\\n\\t\\toverflow-x: hidden;\\n\\t\\tpadding: 24px;\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n.navigation-list {\\n\\theight: 100%;\\n\\tbox-sizing: border-box;\\n\\toverflow-y: auto;\\n\\tpadding: 12px;\\n\\t&__link {\\n\\t\\tdisplay: block;\\n\\t\\tfont-size: 16px;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 4px 0;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\tfont-weight: bold;\\n\\t\\tpadding: 0 20px;\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t\\tbackground-color: transparent;\\n\\t\\tborder: none;\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t&--active {\\n\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=r},1898:(e,t,o)=>{\"use strict\";o.d(t,{Z:()=>s});var n=o(7537),a=o.n(n),i=o(3645),r=o.n(i)()(a());r.push([e.id,\".material-design-icon[data-v-2e49be1e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-2e49be1e]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition-property:color,border-color,background-color;transition-duration:.1s;transition-timing-function:linear;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue *[data-v-2e49be1e],.button-vue span[data-v-2e49be1e]{cursor:pointer}.button-vue[data-v-2e49be1e]:focus{outline:none}.button-vue[data-v-2e49be1e]:disabled{cursor:default;opacity:.5;filter:saturate(0.7)}.button-vue:disabled *[data-v-2e49be1e]{cursor:default}.button-vue[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-light-hover)}.button-vue[data-v-2e49be1e]:active{background-color:var(--color-primary-element-light)}.button-vue__wrapper[data-v-2e49be1e]{display:inline-flex;align-items:center;justify-content:center;width:100%}.button-vue__icon[data-v-2e49be1e]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-2e49be1e]{font-weight:bold;margin-bottom:1px;padding:2px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button-vue--icon-only[data-v-2e49be1e]{width:44px !important}.button-vue--text-only[data-v-2e49be1e]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-2e49be1e]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-2e49be1e]{padding:0 16px 0 4px}.button-vue--wide[data-v-2e49be1e]{width:100%}.button-vue[data-v-2e49be1e]:focus-visible{outline:2px solid var(--color-main-text) !important}.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{outline:2px solid var(--color-primary-element-text);border-radius:var(--border-radius);background-color:rgba(0,0,0,0)}.button-vue--vue-primary[data-v-2e49be1e]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.button-vue--vue-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-2e49be1e]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-2e49be1e]{color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue--vue-secondary[data-v-2e49be1e]:hover:not(:disabled){color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light-hover)}.button-vue--vue-tertiary[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{color:var(--color-primary-element-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-success[data-v-2e49be1e]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-2e49be1e]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-2e49be1e]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-2e49be1e]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-2e49be1e]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-2e49be1e]:active{background-color:var(--color-error)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcButton/NcButton.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,kCAAA,CACA,gBAAA,CACA,eCcgB,CDbhB,cCagB,CDZhB,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,cAAA,CAKA,kBAAA,CACA,uDAAA,CACA,uBAAA,CACA,iCAAA,CAkBA,6CAAA,CACA,mDAAA,CA1BA,iEAEC,cAAA,CAQD,mCACC,YAAA,CAGD,sCACC,cAAA,CAIA,UCIiB,CDFjB,oBAAA,CALA,wCACC,cAAA,CAUF,kDACC,yDAAA,CAKD,oCACC,mDAAA,CAGD,sCACC,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAGD,mCACC,WCvCe,CDwCf,UCxCe,CDyCf,eCzCe,CD0Cf,cC1Ce,CD2Cf,YAAA,CACA,sBAAA,CACA,kBAAA,CAGD,mCACC,gBAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAID,wCACC,qBAAA,CAID,wCACC,cAAA,CACA,0DACC,eAAA,CACA,gBAAA,CAKF,4CACC,oBAAA,CAID,mCACC,UAAA,CAGD,2CACC,mDAAA,CACA,+EACC,mDAAA,CACA,kCAAA,CACA,8BAAA,CAOF,0CACC,6CAAA,CACA,uCAAA,CACA,+DACC,mDAAA,CAID,iDACC,6CAAA,CAKF,4CACC,6CAAA,CACA,mDAAA,CACA,iEACC,6CAAA,CACA,yDAAA,CAKF,2CACC,4BAAA,CACA,8BAAA,CACA,gEACC,6BAAA,CACA,8CAAA,CAKF,yDACC,4BAAA,CACA,8BAAA,CACA,8EACC,8BAAA,CAKF,sDACC,uCAAA,CACA,8BAAA,CAEA,2EACC,8BAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,wCACC,mCAAA,CACA,UAAA,CACA,6DACC,yCAAA,CAID,+CACC,mCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.button-vue {\\n\\tposition: relative;\\n\\twidth: fit-content;\\n\\toverflow: hidden;\\n\\tborder: 0;\\n\\tpadding: 0;\\n\\tfont-size: var(--default-font-size);\\n\\tfont-weight: bold;\\n\\tmin-height: $clickable-area;\\n\\tmin-width: $clickable-area;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\n\\t// Cursor pointer on element and all children\\n\\tcursor: pointer;\\n\\t& *,\\n\\tspan {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\tborder-radius: math.div($clickable-area, 2);\\n\\ttransition-property: color, border-color, background-color;\\n\\ttransition-duration: 0.1s;\\n\\ttransition-timing-function: linear;\\n\\n\\t// No outline feedback for focus. Handled with a toggled class in js (see data)\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\t& * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t// Gives a wash out effect\\n\\t\\tfilter: saturate($opacity_normal);\\n\\t}\\n\\n\\t// Default button type\\n\\tcolor: var(--color-primary-element-light-text);\\n\\tbackground-color: var(--color-primary-element-light);\\n\\t&:hover:not(:disabled) {\\n\\t\\tbackground-color: var(--color-primary-element-light-hover);\\n\\t}\\n\\n\\t// Back to the default color for this button when active\\n\\t// TODO: add ripple effect\\n\\t&:active {\\n\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\theight: $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-height: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__text {\\n\\t\\tfont-weight: bold;\\n\\t\\tmargin-bottom: 1px;\\n\\t\\tpadding: 2px 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t// Icon-only button\\n\\t&--icon-only {\\n\\t\\twidth: $clickable-area !important;\\n\\t}\\n\\n\\t// Text-only button\\n\\t&--text-only {\\n\\t\\tpadding: 0 12px;\\n\\t\\t& .button-vue__text {\\n\\t\\t\\tmargin-left: 4px;\\n\\t\\t\\tmargin-right: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Icon and text button\\n\\t&--icon-and-text {\\n\\t\\tpadding: 0 16px 0 4px;\\n\\t}\\n\\n\\t// Wide button spans the whole width of the container\\n\\t&--wide {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&:focus-visible {\\n\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t&.button-vue--vue-tertiary-on-primary {\\n\\t\\t\\toutline: 2px solid var(--color-primary-element-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Button types\\n\\n\\t// Primary\\n\\t&--vue-primary {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-primary-element-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n\\n\\t// Secondary\\n\\t&--vue-secondary {\\n\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\t\\tbackground-color: var(--color-primary-element-light-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary\\n\\t&--vue-tertiary {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary, no background\\n\\t&--vue-tertiary-no-background {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary on primary color (like the header)\\n\\t&--vue-tertiary-on-primary {\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\tbackground-color: transparent;\\n\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Success\\n\\t&--vue-success {\\n\\t\\tbackground-color: var(--color-success);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-success-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// : add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t}\\n\\n\\t// Warning\\n\\t&--vue-warning {\\n\\t\\tbackground-color: var(--color-warning);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-warning-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-warning);\\n\\t\\t}\\n\\t}\\n\\n\\t// Error\\n\\t&--vue-error {\\n\\t\\tbackground-color: var(--color-error);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-error-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=r},4167:(e,t,o)=>{\"use strict\";o.d(t,{Z:()=>s});var n=o(7537),a=o.n(n),i=o(3645),r=o.n(i)()(a());r.push([e.id,'.material-design-icon[data-v-1350db4f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-1350db4f]{position:fixed;z-index:9998;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,.5)}.modal-mask--dark[data-v-1350db4f]{background-color:rgba(0,0,0,.92)}.modal-header[data-v-1350db4f]{position:absolute;z-index:10001;top:0;right:0;left:0;display:flex !important;align-items:center;justify-content:center;width:100%;height:50px;overflow:hidden;transition:opacity 250ms,visibility 250ms}.modal-header.invisible[style*=\"display:none\"][data-v-1350db4f],.modal-header.invisible[style*=\"display: none\"][data-v-1350db4f]{visibility:hidden}.modal-header .modal-title[data-v-1350db4f]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 132px 0 12px;transition:padding ease 100ms;white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:14px;margin-bottom:0}@media only screen and (min-width: 1024px){.modal-header .modal-title[data-v-1350db4f]{padding-left:132px;text-align:center}}.modal-header .icons-menu[data-v-1350db4f]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .header-close[data-v-1350db4f]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:3px;padding:0}.modal-header .icons-menu .play-pause-icons[data-v-1350db4f]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;border:none;background-color:rgba(0,0,0,0)}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-1350db4f]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,.25)}.modal-header .icons-menu .play-pause-icons__play[data-v-1350db4f],.modal-header .icons-menu .play-pause-icons__pause[data-v-1350db4f]{box-sizing:border-box;width:44px;height:44px;margin:3px;cursor:pointer;opacity:.7}.modal-header .icons-menu .header-actions[data-v-1350db4f]{color:#fff}.modal-header .icons-menu[data-v-1350db4f] .action-item{margin:3px}.modal-header .icons-menu[data-v-1350db4f] .action-item--single{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-1350db4f] button{color:#fff}.modal-header .icons-menu[data-v-1350db4f] .action-item__menutoggle{padding:0}.modal-header .icons-menu[data-v-1350db4f] .action-item__menutoggle span,.modal-header .icons-menu[data-v-1350db4f] .action-item__menutoggle svg{width:var(--icon-size);height:var(--icon-size)}.modal-wrapper[data-v-1350db4f]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-1350db4f],.modal-wrapper .next[data-v-1350db4f]{z-index:10000;display:flex !important;height:35vw;position:absolute;transition:opacity 250ms,visibility 250ms;color:var(--color-primary-element-text)}.modal-wrapper .prev[data-v-1350db4f]:focus-visible,.modal-wrapper .next[data-v-1350db4f]:focus-visible{box-shadow:0 0 0 2px var(--color-primary-element-text);background-color:var(--color-box-shadow)}.modal-wrapper .prev.invisible[style*=\"display:none\"][data-v-1350db4f],.modal-wrapper .prev.invisible[style*=\"display: none\"][data-v-1350db4f],.modal-wrapper .next.invisible[style*=\"display:none\"][data-v-1350db4f],.modal-wrapper .next.invisible[style*=\"display: none\"][data-v-1350db4f]{visibility:hidden}.modal-wrapper .prev[data-v-1350db4f]{left:2px}.modal-wrapper .next[data-v-1350db4f]{right:2px}.modal-wrapper .modal-container[data-v-1350db4f]{position:relative;display:block;overflow:auto;padding:0;transition:transform 300ms ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);box-shadow:0 0 40px rgba(0,0,0,.2)}.modal-wrapper .modal-container__close[data-v-1350db4f]{position:absolute;top:4px;right:4px}.modal-wrapper--small .modal-container[data-v-1350db4f]{width:400px;max-width:90%;max-height:90%}.modal-wrapper--normal .modal-container[data-v-1350db4f]{max-width:90%;width:600px;max-height:90%}.modal-wrapper--large .modal-container[data-v-1350db4f]{max-width:90%;width:900px;max-height:90%}.modal-wrapper--full .modal-container[data-v-1350db4f]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}@media only screen and (max-width: 512px){.modal-wrapper .modal-container[data-v-1350db4f]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}}.fade-enter-active[data-v-1350db4f],.fade-leave-active[data-v-1350db4f]{transition:opacity 250ms}.fade-enter[data-v-1350db4f],.fade-leave-to[data-v-1350db4f]{opacity:0}.fade-visibility-enter[data-v-1350db4f],.fade-visibility-leave-to[data-v-1350db4f]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-1350db4f],.modal-in-leave-active[data-v-1350db4f],.modal-out-enter-active[data-v-1350db4f],.modal-out-leave-active[data-v-1350db4f]{transition:opacity 250ms}.modal-in-enter[data-v-1350db4f],.modal-in-leave-to[data-v-1350db4f],.modal-out-enter[data-v-1350db4f],.modal-out-leave-to[data-v-1350db4f]{opacity:0}.modal-in-enter .modal-container[data-v-1350db4f],.modal-in-leave-to .modal-container[data-v-1350db4f]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-1350db4f],.modal-out-leave-to .modal-container[data-v-1350db4f]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-1350db4f]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-1350db4f]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-1350db4f linear var(--slideshow-duration) infinite;stroke-linecap:round;stroke-dashoffset:94.2477796077;stroke-dasharray:94.2477796077}.modal-mask .play-pause-icons--paused .icon-pause[data-v-1350db4f]{animation:breath-1350db4f 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-1350db4f]{animation-play-state:paused !important}@keyframes progressring-1350db4f{from{stroke-dashoffset:94.2477796077}to{stroke-dashoffset:0}}@keyframes breath-1350db4f{0%{opacity:1}50%{opacity:0}100%{opacity:1}}',\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcModal/NcModal.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,cAAA,CACA,YAAA,CACA,KAAA,CACA,MAAA,CACA,aAAA,CACA,UAAA,CACA,WAAA,CACA,+BAAA,CACA,mCACC,gCAAA,CAIF,+BACC,iBAAA,CACA,aAAA,CACA,KAAA,CACA,OAAA,CACA,MAAA,CAGA,uBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WCuBe,CDtBf,eAAA,CACA,yCAAA,CAIA,iIAEC,iBAAA,CAGD,4CACC,iBAAA,CACA,qBAAA,CACA,UAAA,CACA,sBAAA,CACA,6BAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,cChBY,CDiBZ,eAAA,CAID,2CACC,4CACC,kBAAA,CACA,iBAAA,CAAA,CAIF,2CACC,iBAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,wBAAA,CAEA,yDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA,CAGD,6DACC,iBAAA,CACA,UC3Ba,CD4Bb,WC5Ba,CD6Bb,QAAA,CACA,SAAA,CACA,cAAA,CACA,WAAA,CACA,8BAAA,CAGC,8WAEC,SC9CU,CD+CV,kBAAA,CACA,sCCxDW,CD2Db,uIAEC,qBAAA,CACA,UCzEa,CD0Eb,WC1Ea,CD2Eb,UAAA,CACA,cAAA,CACA,UC3Da,CD+Df,2DACC,UAAA,CAGD,yDACC,UAAA,CAEA,iEACC,qBAAA,CACA,UC1Fa,CD2Fb,WC3Fa,CD4Fb,cAAA,CACA,0BAAA,CACA,oBAAA,CAIF,kDAEC,UAAA,CAID,oEACC,SAAA,CACA,iJACC,sBAAA,CACA,uBAAA,CAMJ,gCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CAGA,4EAEC,aAAA,CAEA,uBAAA,CACA,WAAA,CACA,iBAAA,CACA,yCAAA,CAEA,uCAAA,CAEA,wGAEC,sDAAA,CACA,wCAAA,CAOD,8RAEC,iBAAA,CAGF,sCACC,QAAA,CAED,sCACC,SAAA,CAID,iDACC,iBAAA,CACA,aAAA,CACA,aAAA,CACA,SAAA,CACA,+BAAA,CACA,wCAAA,CACA,6CAAA,CACA,kCAAA,CACA,wDACC,iBAAA,CACA,OAAA,CACA,SAAA,CAMD,wDACC,WAAA,CACA,aAAA,CACA,cAAA,CAID,yDACC,aAAA,CACA,WAAA,CACA,cAAA,CAID,wDACC,aAAA,CACA,WAAA,CACA,cAAA,CAID,uDACC,UAAA,CACA,wCAAA,CACA,iBAAA,CACA,QC7Ka,CD8Kb,eAAA,CAKF,0CACC,iDACC,iBAAA,CACA,UAAA,CACA,kBAAA,CACA,wCAAA,CACA,iBAAA,CACA,QC1La,CD2Lb,eAAA,CAAA,CAMH,wEAEC,wBAAA,CAGD,6DAEC,SAAA,CAGD,mFAEC,iBAAA,CACA,SAAA,CAGD,kKAIC,wBAAA,CAGD,4IAIC,SAAA,CAGD,uGAEC,oBAAA,CAGD,yGAEC,oBAAA,CAQA,8DACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CACA,qFACC,kCAAA,CACA,wBAAA,CACA,yEAAA,CAEA,oBAAA,CACA,+BAAA,CACA,8BAAA,CAID,mEACC,kEAAA,CAED,8EACC,sCAAA,CAMH,iCACC,KACC,+BAAA,CAED,GACC,mBAAA,CAAA,CAIF,2BACC,GACC,SAAA,CAED,IACC,SAAA,CAED,KACC,SAAA,CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.modal-mask {\\n\\tposition: fixed;\\n\\tz-index: 9998;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbackground-color: rgba(0, 0, 0, .5);\\n\\t&--dark {\\n\\t\\tbackground-color: rgba(0, 0, 0, .92);\\n\\t}\\n}\\n\\n.modal-header {\\n\\tposition: absolute;\\n\\tz-index: 10001;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tleft: 0;\\n\\t// prevent vue show to use display:none and reseting\\n\\t// the circle animation loop\\n\\tdisplay: flex !important;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\twidth: 100%;\\n\\theight: $header-height;\\n\\toverflow: hidden;\\n\\ttransition: opacity 250ms,\\n\\t\\tvisibility 250ms;\\n\\n\\t// replace display by visibility\\n\\t&.invisible[style*='display:none'],\\n\\t&.invisible[style*='display: none'] {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\n\\t.modal-title {\\n\\t\\toverflow-x: hidden;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 #{$clickable-area * 3} 0 12px; // maximum actions is 3\\n\\t\\ttransition: padding ease 100ms;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: #fff;\\n\\t\\tfont-size: $icon-margin;\\n\\t\\tmargin-bottom: 0;\\n\\t}\\n\\n\\t// On wider screens the title can be centered\\n\\t@media only screen and (min-width: $breakpoint-mobile) {\\n\\t\\t.modal-title {\\n\\t\\t\\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n\\n\\t.icons-menu {\\n\\t\\tposition: absolute;\\n\\t\\tright: 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: flex-end;\\n\\n\\t\\t.header-close {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tmargin: math.div($header-height - $clickable-area, 2);\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t.play-pause-icons {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\twidth: $header-height;\\n\\t\\t\\theight: $header-height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t.play-pause-icons__play,\\n\\t\\t\\t\\t.play-pause-icons__pause {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t\\tborder-radius: math.div($clickable-area, 2);\\n\\t\\t\\t\\t\\tbackground-color: $icon-focus-bg;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&__play,\\n\\t\\t\\t&__pause {\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tmargin: math.div($header-height - $clickable-area, 2);\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.header-actions {\\n\\t\\t\\tcolor: white;\\n\\t\\t}\\n\\n\\t\\t&:deep() .action-item {\\n\\t\\t\\tmargin: math.div($header-height - $clickable-area, 2);\\n\\n\\t\\t\\t&--single {\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\tbackground-size: 22px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t:deep(button) {\\n\\t\\t\\t// force white instead of default main text\\n\\t\\t\\tcolor: #fff;\\n\\t\\t}\\n\\n\\t\\t// Force the Actions menu icon to be the same size as other icons\\n\\t\\t&:deep(.action-item__menutoggle) {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tspan, svg {\\n\\t\\t\\t\\twidth: var(--icon-size);\\n\\t\\t\\t\\theight: var(--icon-size);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.modal-wrapper {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\tbox-sizing: border-box;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\n\\t/* Navigation buttons */\\n\\t.prev,\\n\\t.next {\\n\\t\\tz-index: 10000;\\n\\t\\t// ignore display: none\\n\\t\\tdisplay: flex !important;\\n\\t\\theight: 35vw;\\n\\t\\tposition: absolute;\\n\\t\\ttransition: opacity 250ms,\\n\\t\\t\\tvisibility 250ms;\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\n\\t\\t&:focus-visible {\\n\\t\\t\\t// Override NcButton focus styles\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-primary-element-text);\\n\\t\\t\\tbackground-color: var(--color-box-shadow);\\n\\t\\t}\\n\\n\\t\\t// we want to keep the elements on page\\n\\t\\t// even if hidden to avoid having a unbalanced\\n\\t\\t// centered content\\n\\t\\t// replace display by visibility\\n\\t\\t&.invisible[style*='display:none'],\\n\\t\\t&.invisible[style*='display: none'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t}\\n\\t}\\n\\t.prev {\\n\\t\\tleft: 2px;\\n\\t}\\n\\t.next {\\n\\t\\tright: 2px;\\n\\t}\\n\\n\\t/* Content */\\n\\t.modal-container {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: block;\\n\\t\\toverflow: auto; // avoids unecessary hacks if the content should be bigger than the modal\\n\\t\\tpadding: 0;\\n\\t\\ttransition: transform 300ms ease;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\\n\\t\\t&__close {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 4px;\\n\\t\\t\\tright: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Sizing\\n\\t&--small {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 400px;\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--normal {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 600px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--large {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 900px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--full {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t// Make modal full screen on mobile\\n\\t@media only screen and (max-width: math.div($breakpoint-mobile, 2)) {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: initial;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-height: initial;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* TRANSITIONS */\\n.fade-enter-active,\\n.fade-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.fade-enter,\\n.fade-leave-to {\\n\\topacity: 0;\\n}\\n\\n.fade-visibility-enter,\\n.fade-visibility-leave-to {\\n\\tvisibility: hidden;\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter-active,\\n.modal-in-leave-active,\\n.modal-out-enter-active,\\n.modal-out-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.modal-in-enter,\\n.modal-in-leave-to,\\n.modal-out-enter,\\n.modal-out-leave-to {\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter .modal-container,\\n.modal-in-leave-to .modal-container {\\n\\ttransform: scale(.9);\\n}\\n\\n.modal-out-enter .modal-container,\\n.modal-out-leave-to .modal-container {\\n\\ttransform: scale(1.1);\\n}\\n\\n// animated circle\\n$radius: 15;\\n$pi: 3.14159265358979;\\n\\n.modal-mask .play-pause-icons {\\n\\t.progress-ring {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\ttransform: rotate(-90deg);\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\ttransition: 100ms stroke-dashoffset;\\n\\t\\t\\ttransform-origin: 50% 50%; // axis compensation\\n\\t\\t\\tanimation: progressring linear var(--slideshow-duration) infinite;\\n\\n\\t\\t\\tstroke-linecap: round;\\n\\t\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t\\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t}\\n\\t}\\n\\t&--paused {\\n\\t\\t.icon-pause {\\n\\t\\t\\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\\n\\t\\t}\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\tanimation-play-state: paused !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n// keyframes get scoped too and break the animation name, we need them unscoped\\n@keyframes progressring {\\n\\tfrom {\\n\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t}\\n\\tto {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes breath {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t50% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=r},4401:(e,t,o)=>{\"use strict\";o.d(t,{Z:()=>s});var n=o(7537),a=o.n(n),i=o(3645),r=o.n(i)()(a());r.push([e.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:rgba(0,0,0,0);pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown.v-popper__popper{z-index:100000;top:0;left:0;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-dropdown.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);overflow:hidden;background:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-10px;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcPopover/NcPopover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,iBACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CACA,aAAA,CACA,eAAA,CACA,SAAA,CAGD,wBACC,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CAMA,2CACC,cAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CAEA,sDAAA,CAEA,4DACC,SAAA,CACA,4BAAA,CACA,kCAAA,CACA,eAAA,CACA,uCAAA,CAGD,sEACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBA1BW,CA6BZ,kGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAGD,qGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAGD,oGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAGD,mGACC,WAAA,CACA,oBAAA,CACA,8CAAA,CAGD,6DACC,iBAAA,CACA,2EAAA,CACA,SAAA,CAGD,8DACC,kBAAA,CACA,yCAAA,CACA,SAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.resize-observer {\\n\\tposition:absolute;\\n\\ttop:0;\\n\\tleft:0;\\n\\tz-index:-1;\\n\\twidth:100%;\\n\\theight:100%;\\n\\tborder:none;\\n\\tbackground-color:transparent;\\n\\tpointer-events:none;\\n\\tdisplay:block;\\n\\toverflow:hidden;\\n\\topacity:0\\n}\\n\\n.resize-observer object {\\n\\tdisplay:block;\\n\\tposition:absolute;\\n\\ttop:0;\\n\\tleft:0;\\n\\theight:100%;\\n\\twidth:100%;\\n\\toverflow:hidden;\\n\\tpointer-events:none;\\n\\tz-index:-1\\n}\\n\\n$arrow-width: 10px;\\n\\n.v-popper--theme-dropdown {\\n\\t&.v-popper__popper {\\n\\t\\tz-index: 100000;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block !important;\\n\\n\\t\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t\\t.v-popper__inner {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tbackground: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t.v-popper__arrow-container {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tz-index: 1;\\n\\t\\t\\twidth: 0;\\n\\t\\t\\theight: 0;\\n\\t\\t\\tborder-style: solid;\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tborder-width: $arrow-width;\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='top'] .v-popper__arrow-container {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='right'] .v-popper__arrow-container {\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='left'] .v-popper__arrow-container {\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[aria-hidden='true'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\n\\t\\t&[aria-hidden='false'] {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const s=r},3645:e=>{\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var o=\"\",n=void 0!==t[5];return t[4]&&(o+=\"@supports (\".concat(t[4],\") {\")),t[2]&&(o+=\"@media \".concat(t[2],\" {\")),n&&(o+=\"@layer\".concat(t[5].length>0?\" \".concat(t[5]):\"\",\" {\")),o+=e(t),n&&(o+=\"}\"),t[2]&&(o+=\"}\"),t[4]&&(o+=\"}\"),o})).join(\"\")},t.i=function(e,o,n,a,i){\"string\"==typeof e&&(e=[[null,e,void 0]]);var r={};if(n)for(var s=0;s0?\" \".concat(u[5]):\"\",\" {\").concat(u[1],\"}\")),u[5]=i),o&&(u[2]?(u[1]=\"@media \".concat(u[2],\" {\").concat(u[1],\"}\"),u[2]=o):u[2]=o),a&&(u[4]?(u[1]=\"@supports (\".concat(u[4],\") {\").concat(u[1],\"}\"),u[4]=a):u[4]=\"\".concat(a)),t.push(u))}},t}},7537:e=>{\"use strict\";e.exports=function(e){var t=e[1],o=e[3];if(!o)return t;if(\"function\"==typeof btoa){var n=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(n),i=\"/*# \".concat(a,\" */\");return[t].concat([i]).join(\"\\n\")}return[t].join(\"\\n\")}},3379:e=>{\"use strict\";var t=[];function o(e){for(var o=-1,n=0;n{\"use strict\";var t={};e.exports=function(e,o){var n=function(e){if(void 0===t[e]){var o=document.querySelector(e);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch(e){o=null}t[e]=o}return t[e]}(e);if(!n)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");n.appendChild(o)}},9216:e=>{\"use strict\";e.exports=function(e){var t=document.createElement(\"style\");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,o)=>{\"use strict\";e.exports=function(e){var t=o.nc;t&&e.setAttribute(\"nonce\",t)}},7795:e=>{\"use strict\";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(o){!function(e,t,o){var n=\"\";o.supports&&(n+=\"@supports (\".concat(o.supports,\") {\")),o.media&&(n+=\"@media \".concat(o.media,\" {\"));var a=void 0!==o.layer;a&&(n+=\"@layer\".concat(o.layer.length>0?\" \".concat(o.layer):\"\",\" {\")),n+=o.css,a&&(n+=\"}\"),o.media&&(n+=\"}\"),o.supports&&(n+=\"}\");var i=o.sourceMap;i&&\"undefined\"!=typeof btoa&&(n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i)))),\" */\")),t.styleTagTransform(n,e,t.options)}(t,e,o)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{\"use strict\";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},5727:()=>{},7984:()=>{},2102:()=>{},9989:()=>{},2405:()=>{},1900:(e,t,o)=>{\"use strict\";function n(e,t,o,n,a,i,r,s){var l,c=\"function\"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=o,c._compiled=!0),n&&(c.functional=!0),i&&(c._scopeId=\"data-v-\"+i),r?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=l):a&&(l=s?function(){a.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:a),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}o.d(t,{Z:()=>n})},7931:e=>{\"use strict\";e.exports=require(\"@nextcloud/l10n/gettext\")},3465:e=>{\"use strict\";e.exports=require(\"debounce\")},9454:e=>{\"use strict\";e.exports=require(\"floating-vue\")},4505:e=>{\"use strict\";e.exports=require(\"focus-trap\")},2640:e=>{\"use strict\";e.exports=require(\"hammerjs\")},2734:e=>{\"use strict\";e.exports=require(\"vue\")},9044:e=>{\"use strict\";e.exports=require(\"vue-material-design-icons/ChevronRight.vue\")},8618:e=>{\"use strict\";e.exports=require(\"vue-material-design-icons/Close.vue\")},1441:e=>{\"use strict\";e.exports=require(\"vue-material-design-icons/DotsHorizontal.vue\")}},t={};function o(n){var a=t[n];if(void 0!==a)return a.exports;var i=t[n]={id:n,exports:{}};return e[n](i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},o.nc=void 0;var n={};return(()=>{\"use strict\";o.r(n),o.d(n,{default:()=>z});var e=o(1373),t=o(334),a=o(932),i=o(3465),r=o.n(i);function s(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return l(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===o&&e.constructor&&(o=e.constructor.name);if(\"Map\"===o||\"Set\"===o)return Array.from(e);if(\"Arguments\"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return l(e,t)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=new Array(t);o(()=>{\"use strict\";var t={2746:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(7537),r=n.n(o),i=n(3645),s=n.n(i)()(r());s.push([t.id,\".material-design-icon[data-v-600605cc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-settings-section[data-v-600605cc]{margin-bottom:80px}.app-settings-section__title[data-v-600605cc]{font-size:20px;margin:0;padding:20px 0;font-weight:bold;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppSettingsSection/NcAppSettingsSection.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,uCACC,kBAAA,CACA,8CACC,cAAA,CACA,QAAA,CACA,cAAA,CACA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.app-settings-section {\\n\\tmargin-bottom: 80px;\\n\\t&__title {\\n\\t\\tfont-size: 20px;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 20px 0;\\n\\t\\tfont-weight: bold;\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},3645:t=>{t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=\"\",o=void 0!==e[5];return e[4]&&(n+=\"@supports (\".concat(e[4],\") {\")),e[2]&&(n+=\"@media \".concat(e[2],\" {\")),o&&(n+=\"@layer\".concat(e[5].length>0?\" \".concat(e[5]):\"\",\" {\")),n+=t(e),o&&(n+=\"}\"),e[2]&&(n+=\"}\"),e[4]&&(n+=\"}\"),n})).join(\"\")},e.i=function(t,n,o,r,i){\"string\"==typeof t&&(t=[[null,t,void 0]]);var s={};if(o)for(var a=0;a0?\" \".concat(u[5]):\"\",\" {\").concat(u[1],\"}\")),u[5]=i),n&&(u[2]?(u[1]=\"@media \".concat(u[2],\" {\").concat(u[1],\"}\"),u[2]=n):u[2]=n),r&&(u[4]?(u[1]=\"@supports (\".concat(u[4],\") {\").concat(u[1],\"}\"),u[4]=r):u[4]=\"\".concat(r)),e.push(u))}},e}},7537:t=>{t.exports=function(t){var e=t[1],n=t[3];if(!n)return e;if(\"function\"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(o),i=\"/*# \".concat(r,\" */\");return[e].concat([i]).join(\"\\n\")}return[e].join(\"\\n\")}},3379:t=>{var e=[];function n(t){for(var n=-1,o=0;o{var e={};t.exports=function(t,n){var o=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!o)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");o.appendChild(n)}},9216:t=>{t.exports=function(t){var e=document.createElement(\"style\");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},3565:(t,e,n)=>{t.exports=function(t){var e=n.nc;e&&t.setAttribute(\"nonce\",e)}},7795:t=>{t.exports=function(t){var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var o=\"\";n.supports&&(o+=\"@supports (\".concat(n.supports,\") {\")),n.media&&(o+=\"@media \".concat(n.media,\" {\"));var r=void 0!==n.layer;r&&(o+=\"@layer\".concat(n.layer.length>0?\" \".concat(n.layer):\"\",\" {\")),o+=n.css,r&&(o+=\"}\"),n.media&&(o+=\"}\"),n.supports&&(o+=\"}\");var i=n.sourceMap;i&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i)))),\" */\")),e.styleTagTransform(o,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},4589:t=>{t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},1900:(t,e,n)=>{function o(t,e,n,o,r,i,s,a){var c,p=\"function\"==typeof t?t.options:t;if(e&&(p.render=e,p.staticRenderFns=n,p._compiled=!0),o&&(p.functional=!0),i&&(p._scopeId=\"data-v-\"+i),s?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},p._ssrRegister=c):r&&(c=a?function(){r.call(this,(p.functional?this.parent:this).$root.$options.shadowRoot)}:r),c)if(p.functional){p._injectStyles=c;var u=p.render;p.render=function(t,e){return c.call(e),u(t,e)}}else{var l=p.beforeCreate;p.beforeCreate=l?[].concat(l,c):[c]}return{exports:t,options:p}}n.d(e,{Z:()=>o})}},e={};function n(o){var r=e[o];if(void 0!==r)return r.exports;var i=e[o]={id:o,exports:{}};return t[o](i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.nc=void 0;var o={};return(()=>{n.r(o),n.d(o,{default:()=>h});const t={name:\"NcAppSettingsSection\",props:{title:{type:String,required:!0},id:{type:String,required:!0,validator:function(t){return/^[a-z0-9\\-_]+$/.test(t)}}},computed:{htmlId:function(){return\"settings-section_\"+this.id}}};var e=n(3379),r=n.n(e),i=n(7795),s=n.n(i),a=n(569),c=n.n(a),p=n(3565),u=n.n(p),l=n(9216),d=n.n(l),f=n(4589),v=n.n(f),A=n(2746),m={};m.styleTagTransform=v(),m.setAttributes=u(),m.insert=c().bind(null,\"head\"),m.domAPI=s(),m.insertStyleElement=d();r()(A.Z,m);A.Z&&A.Z.locals&&A.Z.locals;const h=(0,n(1900).Z)(t,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"app-settings-section\",attrs:{id:t.htmlId}},[e(\"h3\",{staticClass:\"app-settings-section__title\"},[t._v(\"\\n\\t\\t\"+t._s(t.title)+\"\\n\\t\")]),t._v(\" \"),t._t(\"default\")],2)}),[],!1,null,\"600605cc\",null).exports})(),o})()));\n//# sourceMappingURL=NcAppSettingsSection.js.map","/*! For license information please see NcBreadcrumb.js.LICENSE.txt */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"NextcloudVue\",[],t):\"object\"==typeof exports?exports.NextcloudVue=t():(e.NextcloudVue=e.NextcloudVue||{},e.NextcloudVue[\"Components/NcBreadcrumb\"]=t())}(self,(()=>(()=>{var e={644:(e,t,o)=>{\"use strict\";o.d(t,{default:()=>I});var a=o(9104),n=o(5825),r=o(1205),i=o(932),s=o(2734),l=o.n(s),c=o(1441),u=o.n(c);function d(e){return d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},d(e)}function m(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,a)}return o}function p(e){for(var t=1;te.length)&&(t=e.length);for(var o=0,a=new Array(t);o0&&void 0!==arguments[0])||arguments[0];this.opened&&(this.opened=!1,this.$refs.popover.clearFocusTrap({returnFocus:e}),this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.$el.focus())},onOpen:function(e){var t=this;this.$nextTick((function(){t.focusFirstAction(e)}))},onMouseFocusAction:function(e){if(document.activeElement!==e.target){var t=e.target.closest(\"li\");if(t){var o=t.querySelector(A);if(o){var a=v(this.$refs.menu.querySelectorAll(A)).indexOf(o);a>-1&&(this.focusIndex=a,this.focusAction())}}}},onKeydown:function(e){(38===e.keyCode||9===e.keyCode&&e.shiftKey)&&this.focusPreviousAction(e),(40===e.keyCode||9===e.keyCode&&!e.shiftKey)&&this.focusNextAction(e),33===e.keyCode&&this.focusFirstAction(e),34===e.keyCode&&this.focusLastAction(e),27===e.keyCode&&(this.closeMenu(),e.preventDefault())},removeCurrentActive:function(){var e=this.$refs.menu.querySelector(\"li.active\");e&&e.classList.remove(\"active\")},focusAction:function(){var e=this.$refs.menu.querySelectorAll(A)[this.focusIndex];if(e){this.removeCurrentActive();var t=e.closest(\"li.action\");e.focus(),t&&t.classList.add(\"active\")}},focusPreviousAction:function(e){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(e){if(this.opened){var t=this.$refs.menu.querySelectorAll(A).length-1;this.focusIndex===t?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=0,this.focusAction())},focusLastAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=this.$refs.menu.querySelectorAll(A).length-1,this.focusAction())},preventIfEvent:function(e){e&&(e.preventDefault(),e.stopPropagation())},onFocus:function(e){this.$emit(\"focus\",e)},onBlur:function(e){this.$emit(\"blur\",e)}},render:function(e){var t=this,o=(this.$slots.default||[]).filter((function(e){var t,o,a,n;return(null==e||null===(t=e.componentOptions)||void 0===t?void 0:t.tag)||(null==e||null===(o=e.componentOptions)||void 0===o||null===(a=o.Ctor)||void 0===a||null===(n=a.extendOptions)||void 0===n?void 0:n.name)})),a=o.every((function(e){var t,o,a,n,r,i,s,l;return\"NcActionLink\"===(null!==(t=null==e||null===(o=e.componentOptions)||void 0===o||null===(a=o.Ctor)||void 0===a||null===(n=a.extendOptions)||void 0===n?void 0:n.name)&&void 0!==t?t:null==e||null===(r=e.componentOptions)||void 0===r?void 0:r.tag)&&(null==e||null===(i=e.componentOptions)||void 0===i||null===(s=i.propsData)||void 0===s||null===(l=s.href)||void 0===l?void 0:l.startsWith(window.location.origin))})),n=o.filter(this.isValidSingleAction);if(this.forceMenu&&n.length>0&&this.inline>0&&(l().util.warn(\"Specifying forceMenu will ignore any inline actions rendering.\"),n=[]),0!==o.length){var r=function(o){var a,n,r,i,s,l,c,u,d,m,g,v,h,A,b,f,y,C,k,w,S,j,z=(null==o||null===(a=o.data)||void 0===a||null===(n=a.scopedSlots)||void 0===n||null===(r=n.icon())||void 0===r?void 0:r[0])||e(\"span\",{class:[\"icon\",null==o||null===(i=o.componentOptions)||void 0===i||null===(s=i.propsData)||void 0===s?void 0:s.icon]}),N=null==o||null===(l=o.componentOptions)||void 0===l||null===(c=l.listeners)||void 0===c?void 0:c.click,P=null==o||null===(u=o.componentOptions)||void 0===u||null===(d=u.children)||void 0===d||null===(m=d[0])||void 0===m||null===(g=m.text)||void 0===g||null===(v=g.trim)||void 0===v?void 0:v.call(g),x=(null==o||null===(h=o.componentOptions)||void 0===h||null===(A=h.propsData)||void 0===A?void 0:A.ariaLabel)||P,E=t.forceTitle?P:\"\",O=null==o||null===(b=o.componentOptions)||void 0===b||null===(f=b.propsData)||void 0===f?void 0:f.title;return t.forceTitle||O||(O=P),e(\"NcButton\",{class:[\"action-item action-item--single\",null==o||null===(y=o.data)||void 0===y?void 0:y.staticClass,null==o||null===(C=o.data)||void 0===C?void 0:C.class],attrs:{\"aria-label\":x,title:O},ref:null==o||null===(k=o.data)||void 0===k?void 0:k.ref,props:p({type:t.type||(E?\"secondary\":\"tertiary\"),disabled:t.disabled||(null==o||null===(w=o.componentOptions)||void 0===w||null===(S=w.propsData)||void 0===S?void 0:S.disabled),ariaHidden:t.ariaHidden},null==o||null===(j=o.componentOptions)||void 0===j?void 0:j.propsData),on:p({focus:t.onFocus,blur:t.onBlur},!!N&&{click:function(e){N&&N(e)}})},[e(\"template\",{slot:\"icon\"},[z]),E])},i=function(o){var n,r,i=(null===(n=t.$slots.icon)||void 0===n?void 0:n[0])||(t.defaultIcon?e(\"span\",{class:[\"icon\",t.defaultIcon]}):e(\"DotsHorizontal\",{props:{size:20}}));return e(\"NcPopover\",{ref:\"popover\",props:{delay:0,handleResize:!0,shown:t.opened,placement:t.placement,boundary:t.boundariesElement,container:t.container,popoverBaseClass:\"action-item__popper\",setReturnFocus:null===(r=t.$refs.menuButton)||void 0===r?void 0:r.$el},attrs:{delay:0,handleResize:!0,shown:t.opened,placement:t.placement,boundary:t.boundariesElement,container:t.container,popoverBaseClass:\"action-item__popper\"},on:{show:t.openMenu,\"after-show\":t.onOpen,hide:t.closeMenu}},[e(\"NcButton\",{class:\"action-item__menutoggle\",props:{type:t.triggerBtnType,disabled:t.disabled,ariaHidden:t.ariaHidden},slot:\"trigger\",ref:\"menuButton\",attrs:{\"aria-haspopup\":a?null:\"menu\",\"aria-label\":t.ariaLabel,\"aria-controls\":t.opened?t.randomId:null,\"aria-expanded\":t.opened.toString()},on:{focus:t.onFocus,blur:t.onBlur}},[e(\"template\",{slot:\"icon\"},[i]),t.menuTitle]),e(\"div\",{class:{open:t.opened},attrs:{tabindex:\"-1\"},on:{keydown:t.onKeydown,mousemove:t.onMouseFocusAction},ref:\"menu\"},[e(\"ul\",{attrs:{id:t.randomId,tabindex:\"-1\",role:a?null:\"menu\"}},[o])])])};if(1===o.length&&1===n.length&&!this.forceMenu)return r(n[0]);if(n.length>0&&this.inline>0){var s=n.slice(0,this.inline),c=o.filter((function(e){return!s.includes(e)}));return e(\"div\",{class:[\"action-items\",\"action-item--\".concat(this.triggerBtnType)]},[].concat(v(s.map(r)),[c.length>0?e(\"div\",{class:[\"action-item\",{\"action-item--open\":this.opened}]},[i(c)]):null]))}return e(\"div\",{class:[\"action-item action-item--default-popover\",\"action-item--\".concat(this.triggerBtnType),{\"action-item--open\":this.opened}]},[i(o)])}}};var f=o(3379),y=o.n(f),C=o(7795),k=o.n(C),w=o(569),S=o.n(w),j=o(3565),z=o.n(j),N=o(9216),P=o.n(N),x=o(4589),E=o.n(x),O=o(8827),T={};T.styleTagTransform=E(),T.setAttributes=z(),T.insert=S().bind(null,\"head\"),T.domAPI=k(),T.insertStyleElement=P();y()(O.Z,T);O.Z&&O.Z.locals&&O.Z.locals;var F=o(5565),B={};B.styleTagTransform=E(),B.setAttributes=z(),B.insert=S().bind(null,\"head\"),B.domAPI=k(),B.insertStyleElement=P();y()(F.Z,B);F.Z&&F.Z.locals&&F.Z.locals;var D=o(1900),_=o(5727),G=o.n(_),M=(0,D.Z)(b,undefined,undefined,!1,null,\"20a3e950\",null);\"function\"==typeof G()&&G()(M);const I=M.exports},9104:(e,t,o)=>{\"use strict\";function a(e){return a=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},a(e)}function n(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,a)}return o}function r(e){for(var t=1;tz});const s={name:\"NcButton\",props:{disabled:{type:Boolean,default:!1},type:{type:String,validator:function(e){return-1!==[\"primary\",\"secondary\",\"tertiary\",\"tertiary-no-background\",\"tertiary-on-primary\",\"error\",\"warning\",\"success\"].indexOf(e)},default:\"secondary\"},nativeType:{type:String,validator:function(e){return-1!==[\"submit\",\"reset\",\"button\"].indexOf(e)},default:\"button\"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},href:{type:String,default:null},to:{type:[String,Object],default:null},exact:{type:Boolean,default:!1},ariaHidden:{type:Boolean,default:null}},render:function(e){var t,o,a,n,s,l=this,c=null===(t=this.$slots.default)||void 0===t||null===(o=t[0])||void 0===o||null===(a=o.text)||void 0===a||null===(n=a.trim)||void 0===n?void 0:n.call(a),u=!!c,d=null===(s=this.$slots)||void 0===s?void 0:s.icon;c||this.ariaLabel||console.warn(\"You need to fill either the text or the ariaLabel props in the button component.\",{text:c,ariaLabel:this.ariaLabel},this);var m=function(){var t,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=o.navigate,n=o.isActive,s=o.isExactActive;return e(l.to||!l.href?\"button\":\"a\",{class:[\"button-vue\",(t={\"button-vue--icon-only\":d&&!u,\"button-vue--text-only\":u&&!d,\"button-vue--icon-and-text\":d&&u},i(t,\"button-vue--vue-\".concat(l.type),l.type),i(t,\"button-vue--wide\",l.wide),i(t,\"active\",n),i(t,\"router-link-exact-active\",s),t)],attrs:r({\"aria-label\":l.ariaLabel,disabled:l.disabled,type:l.href?null:l.nativeType,role:l.href?\"button\":null,href:!l.to&&l.href?l.href:null},l.$attrs),on:r(r({},l.$listeners),{},{click:function(e){var t,o;null===(t=l.$listeners)||void 0===t||null===(o=t.click)||void 0===o||o.call(t,e),null==a||a(e)}})},[e(\"span\",{class:\"button-vue__wrapper\"},[d?e(\"span\",{class:\"button-vue__icon\",attrs:{\"aria-hidden\":l.ariaHidden}},[l.$slots.icon]):null,u?e(\"span\",{class:\"button-vue__text\"},[c]):null])])};return this.to?e(\"router-link\",{props:{custom:!0,to:this.to,exact:this.exact},scopedSlots:{default:m}}):m()}};var l=o(3379),c=o.n(l),u=o(7795),d=o.n(u),m=o(569),p=o.n(m),g=o(3565),v=o.n(g),h=o(9216),A=o.n(h),b=o(4589),f=o.n(b),y=o(1898),C={};C.styleTagTransform=f(),C.setAttributes=v(),C.insert=p().bind(null,\"head\"),C.domAPI=d(),C.insertStyleElement=A();c()(y.Z,C);y.Z&&y.Z.locals&&y.Z.locals;var k=o(1900),w=o(2102),S=o.n(w),j=(0,k.Z)(s,undefined,undefined,!1,null,\"2e49be1e\",null);\"function\"==typeof S()&&S()(j);const z=j.exports},5825:(e,t,o)=>{\"use strict\";o.d(t,{default:()=>x});var a=o(9454),n=o(4505),r=o(1206);function i(e){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i(e)}function s(){s=function(){return e};var e={},t=Object.prototype,o=t.hasOwnProperty,a=Object.defineProperty||function(e,t,o){e[t]=o.value},n=\"function\"==typeof Symbol?Symbol:{},r=n.iterator||\"@@iterator\",l=n.asyncIterator||\"@@asyncIterator\",c=n.toStringTag||\"@@toStringTag\";function u(e,t,o){return Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},\"\")}catch(e){u=function(e,t,o){return e[t]=o}}function d(e,t,o,n){var r=t&&t.prototype instanceof g?t:g,i=Object.create(r.prototype),s=new N(n||[]);return a(i,\"_invoke\",{value:w(e,o,s)}),i}function m(e,t,o){try{return{type:\"normal\",arg:e.call(t,o)}}catch(e){return{type:\"throw\",arg:e}}}e.wrap=d;var p={};function g(){}function v(){}function h(){}var A={};u(A,r,(function(){return this}));var b=Object.getPrototypeOf,f=b&&b(b(P([])));f&&f!==t&&o.call(f,r)&&(A=f);var y=h.prototype=g.prototype=Object.create(A);function C(e){[\"next\",\"throw\",\"return\"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function n(a,r,s,l){var c=m(e[a],e,r);if(\"throw\"!==c.type){var u=c.arg,d=u.value;return d&&\"object\"==i(d)&&o.call(d,\"__await\")?t.resolve(d.__await).then((function(e){n(\"next\",e,s,l)}),(function(e){n(\"throw\",e,s,l)})):t.resolve(d).then((function(e){u.value=e,s(u)}),(function(e){return n(\"throw\",e,s,l)}))}l(c.arg)}var r;a(this,\"_invoke\",{value:function(e,o){function a(){return new t((function(t,a){n(e,o,t,a)}))}return r=r?r.then(a,a):a()}})}function w(e,t,o){var a=\"suspendedStart\";return function(n,r){if(\"executing\"===a)throw new Error(\"Generator is already running\");if(\"completed\"===a){if(\"throw\"===n)throw r;return x()}for(o.method=n,o.arg=r;;){var i=o.delegate;if(i){var s=S(i,o);if(s){if(s===p)continue;return s}}if(\"next\"===o.method)o.sent=o._sent=o.arg;else if(\"throw\"===o.method){if(\"suspendedStart\"===a)throw a=\"completed\",o.arg;o.dispatchException(o.arg)}else\"return\"===o.method&&o.abrupt(\"return\",o.arg);a=\"executing\";var l=m(e,t,o);if(\"normal\"===l.type){if(a=o.done?\"completed\":\"suspendedYield\",l.arg===p)continue;return{value:l.arg,done:o.done}}\"throw\"===l.type&&(a=\"completed\",o.method=\"throw\",o.arg=l.arg)}}}function S(e,t){var o=t.method,a=e.iterator[o];if(void 0===a)return t.delegate=null,\"throw\"===o&&e.iterator.return&&(t.method=\"return\",t.arg=void 0,S(e,t),\"throw\"===t.method)||\"return\"!==o&&(t.method=\"throw\",t.arg=new TypeError(\"The iterator does not provide a '\"+o+\"' method\")),p;var n=m(a,e.iterator,t.arg);if(\"throw\"===n.type)return t.method=\"throw\",t.arg=n.arg,t.delegate=null,p;var r=n.arg;return r?r.done?(t[e.resultName]=r.value,t.next=e.nextLoc,\"return\"!==t.method&&(t.method=\"next\",t.arg=void 0),t.delegate=null,p):r:(t.method=\"throw\",t.arg=new TypeError(\"iterator result is not an object\"),t.delegate=null,p)}function j(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function z(e){var t=e.completion||{};t.type=\"normal\",delete t.arg,e.completion=t}function N(e){this.tryEntries=[{tryLoc:\"root\"}],e.forEach(j,this),this.reset(!0)}function P(e){if(e){var t=e[r];if(t)return t.call(e);if(\"function\"==typeof e.next)return e;if(!isNaN(e.length)){var a=-1,n=function t(){for(;++a=0;--n){var r=this.tryEntries[n],i=r.completion;if(\"root\"===r.tryLoc)return a(\"end\");if(r.tryLoc<=this.prev){var s=o.call(r,\"catchLoc\"),l=o.call(r,\"finallyLoc\");if(s&&l){if(this.prev=0;--a){var n=this.tryEntries[a];if(n.tryLoc<=this.prev&&o.call(n,\"finallyLoc\")&&this.prev=0;--t){var o=this.tryEntries[t];if(o.finallyLoc===e)return this.complete(o.completion,o.afterLoc),z(o),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var o=this.tryEntries[t];if(o.tryLoc===e){var a=o.completion;if(\"throw\"===a.type){var n=a.arg;z(o)}return n}}throw new Error(\"illegal catch attempt\")},delegateYield:function(e,t,o){return this.delegate={iterator:P(e),resultName:t,nextLoc:o},\"next\"===this.method&&(this.arg=void 0),p}},e}function l(e,t,o,a,n,r,i){try{var s=e[r](i),l=s.value}catch(e){return void o(e)}s.done?t(l):Promise.resolve(l).then(a,n)}const c={name:\"NcPopover\",components:{Dropdown:a.Dropdown},inheritAttrs:!1,props:{popoverBaseClass:{type:String,default:\"\"},focusTrap:{type:Boolean,default:!0},setReturnFocus:{default:void 0,type:[HTMLElement,SVGElement,String,Boolean]}},emits:[\"after-show\",\"after-hide\"],beforeDestroy:function(){this.clearFocusTrap()},methods:{useFocusTrap:function(){var e,t=this;return(e=s().mark((function e(){var o,a,i;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.$nextTick();case 2:if(t.focusTrap){e.next=4;break}return e.abrupt(\"return\");case 4:if(i=null===(o=t.$refs.popover)||void 0===o||null===(a=o.$refs.popperContent)||void 0===a?void 0:a.$el){e.next=7;break}return e.abrupt(\"return\");case 7:t.$focusTrap=(0,n.createFocusTrap)(i,{escapeDeactivates:!1,allowOutsideClick:!0,setReturnFocus:t.setReturnFocus,trapStack:(0,r.L)()}),t.$focusTrap.activate();case 9:case\"end\":return e.stop()}}),e)})),function(){var t=this,o=arguments;return new Promise((function(a,n){var r=e.apply(t,o);function i(e){l(r,a,n,i,s,\"next\",e)}function s(e){l(r,a,n,i,s,\"throw\",e)}i(void 0)}))})()},clearFocusTrap:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{var t;null===(t=this.$focusTrap)||void 0===t||t.deactivate(e),this.$focusTrap=null}catch(e){console.warn(e)}},afterShow:function(){var e=this;this.$nextTick((function(){e.$emit(\"after-show\"),e.useFocusTrap()}))},afterHide:function(){this.$emit(\"after-hide\"),this.clearFocusTrap()}}},u=c;var d=o(3379),m=o.n(d),p=o(7795),g=o.n(p),v=o(569),h=o.n(v),A=o(3565),b=o.n(A),f=o(9216),y=o.n(f),C=o(4589),k=o.n(C),w=o(4401),S={};S.styleTagTransform=k(),S.setAttributes=b(),S.insert=h().bind(null,\"head\"),S.domAPI=g(),S.insertStyleElement=y();m()(w.Z,S);w.Z&&w.Z.locals&&w.Z.locals;var j=o(1900),z=o(2405),N=o.n(z),P=(0,j.Z)(u,(function(){var e=this;return(0,e._self._c)(\"Dropdown\",e._g(e._b({ref:\"popover\",attrs:{distance:10,\"arrow-padding\":10,\"no-auto-focus\":!0,\"popper-class\":e.popoverBaseClass},on:{\"apply-show\":e.afterShow,\"apply-hide\":e.afterHide},scopedSlots:e._u([{key:\"popper\",fn:function(){return[e._t(\"default\")]},proxy:!0}],null,!0)},\"Dropdown\",e.$attrs,!1),e.$listeners),[e._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof N()&&N()(P);const x=P.exports},932:(e,t,o)=>{\"use strict\";o.d(t,{t:()=>i});var a=o(7931),n=(0,a.getGettextBuilder)().detectLocale();[{locale:\"ar\",translations:{\"{tag} (invisible)\":\"{tag} (غير مرئي)\",\"{tag} (restricted)\":\"{tag} (مقيد)\",Actions:\"الإجراءات\",Activities:\"النشاطات\",\"Animals & Nature\":\"الحيوانات والطبيعة\",\"Anything shared with the same group of people will show up here\":\"أي مادة تمت مشاركتها مع نفس المجموعة من الأشخاص سيتم عرضها هنا\",\"Avatar of {displayName}\":\"صورة {displayName} الرمزية\",\"Avatar of {displayName}, {status}\":\"صورة {displayName} الرمزية، {status}\",\"Cancel changes\":\"إلغاء التغييرات\",\"Change title\":\"تغيير العنوان\",Choose:\"إختيار\",\"Clear text\":\"مسح النص\",Close:\"أغلق\",\"Close modal\":\"قفل الشرط\",\"Close navigation\":\"إغلاق المتصفح\",\"Close sidebar\":\"قفل الشريط الجانبي\",\"Confirm changes\":\"تأكيد التغييرات\",Custom:\"مخصص\",\"Edit item\":\"تعديل عنصر\",\"Error getting related resources\":\"خطأ في تحصيل مصادر ذات صلة\",\"External documentation for {title}\":\"الوثائق الخارجية لـ{title}\",Favorite:\"مفضلة\",Flags:\"الأعلام\",\"Food & Drink\":\"الطعام والشراب\",\"Frequently used\":\"كثيرا ما تستخدم\",Global:\"عالمي\",\"Go back to the list\":\"العودة إلى القائمة\",\"Hide password\":\"إخفاء كلمة السر\",\"Message limit of {count} characters reached\":\"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف\",\"More items …\":\"عناصر أخرى ...\",Next:\"التالي\",\"No emoji found\":\"لم يتم العثور على أي رمز تعبيري\",\"No results\":\"ليس هناك أية نتيجة\",Objects:\"الأشياء\",Open:\"فتح\",'Open link to \"{resourceTitle}\"':'فتح رابط إلى \"{resourceTitle}\"',\"Open navigation\":\"فتح المتصفح\",\"Password is secure\":\"كلمة السر مُؤمّنة\",\"Pause slideshow\":\"إيقاف العرض مؤقتًا\",\"People & Body\":\"الناس والجسم\",\"Pick an emoji\":\"اختر رمزًا تعبيريًا\",\"Please select a time zone:\":\"الرجاء تحديد المنطقة الزمنية:\",Previous:\"السابق\",\"Related resources\":\"مصادر ذات صلة\",Search:\"بحث\",\"Search results\":\"نتائج البحث\",\"Select a tag\":\"اختر علامة\",Settings:\"الإعدادات\",\"Settings navigation\":\"إعدادات المتصفح\",\"Show password\":\"أعرض كلمة السر\",\"Smileys & Emotion\":\"الوجوه و الرموز التعبيرية\",\"Start slideshow\":\"بدء العرض\",Submit:\"إرسال\",Symbols:\"الرموز\",\"Travel & Places\":\"السفر والأماكن\",\"Type to search time zone\":\"اكتب للبحث عن منطقة زمنية\",\"Unable to search the group\":\"تعذر البحث في المجموعة\",\"Undo changes\":\"التراجع عن التغييرات\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ...\"}},{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Anything shared with the same group of people will show up here\":\"Qualsevol cosa compartida amb el mateix grup de persones es mostrarà aquí\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancel·la els canvis\",\"Change title\":\"Canviar títol\",Choose:\"Tria\",\"Clear text\":\"Netejar text\",Close:\"Tanca\",\"Close modal\":\"Tancar el mode\",\"Close navigation\":\"Tanca la navegació\",\"Close sidebar\":\"Tancar la barra lateral\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"Edit item\":\"Edita l'element\",\"Error getting related resources\":\"Error obtenint els recursos relacionats\",\"Error parsing svg\":\"Error en l'anàlisi del svg\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Favorite:\"Preferit\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",Global:\"Global\",\"Go back to the list\":\"Torna a la llista\",\"Hide password\":\"Amagar contrasenya\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",\"More items …\":\"Més artícles...\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",Open:\"Obrir\",'Open link to \"{resourceTitle}\"':'Obrir enllaç a \"{resourceTitle}\"',\"Open navigation\":\"Obre la navegació\",\"Password is secure\":\"Contrasenya segura
\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",\"Please select a time zone:\":\"Seleccioneu una zona horària:\",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionats\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Seleccioneu una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Show password\":\"Mostrar contrasenya\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Type to search time zone\":\"Escriviu per cercar la zona horària\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Undo changes\":\"Desfés els canvis\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escriu missatge, fes servir \"@\" per esmentar algú, fes servir \":\" per autocompletar emojis...'}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Anything shared with the same group of people will show up here\":\"Cokoli nasdíleného stejné skupině lidí se zobrazí zde\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Avatar of {displayName}, {status}\":\"Zástupný obrázek uživatele {displayName}, {status}\",\"Cancel changes\":\"Zrušit změny\",\"Change title\":\"Změnit nadpis\",Choose:\"Zvolit\",\"Clear text\":\"Čitelný text\",Close:\"Zavřít\",\"Close modal\":\"Zavřít dialogové okno\",\"Close navigation\":\"Zavřít navigaci\",\"Close sidebar\":\"Zavřít postranní panel\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"Edit item\":\"Upravit položku\",\"Error getting related resources\":\"Chyba při získávání souvisejících prostředků\",\"Error parsing svg\":\"Chyba při zpracovávání svg\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Favorite:\"Oblíbené\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Go back to the list\":\"Jít zpět na seznam\",\"Hide password\":\"Skrýt heslo\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",\"More items …\":\"Další položky…\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",Open:\"Otevřít\",'Open link to \"{resourceTitle}\"':\"Otevřít odkaz na „{resourceTitle}“\",\"Open navigation\":\"Otevřít navigaci\",\"Password is secure\":\"Heslo je bezpečné\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",\"Related resources\":\"Související prostředky\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Show password\":\"Zobrazit heslo\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Undo changes\":\"Vzít změny zpět\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':\"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem „@“ (zavináč); automatické doplňování emotikonů zahájíte napsáním „:“ (dvojtečky)…\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",\"Anything shared with the same group of people will show up here\":\"Alt der deles med samme gruppe af personer vil vises her\",\"Avatar of {displayName}\":\"Avatar af {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar af {displayName}, {status}\",\"Cancel changes\":\"Annuller ændringer\",\"Change title\":\"Ret titel\",Choose:\"Vælg\",\"Clear text\":\"Ryd tekst\",Close:\"Luk\",\"Close modal\":\"Luk vindue\",\"Close navigation\":\"Luk navigation\",\"Close sidebar\":\"Luk sidepanel\",\"Confirm changes\":\"Bekræft ændringer\",Custom:\"Brugerdefineret\",\"Edit item\":\"Rediger emne\",\"Error getting related resources\":\"Kunne ikke hente tilknyttede data\",\"Error parsing svg\":\"Fejl ved analysering af svg\",\"External documentation for {title}\":\"Ekstern dokumentation for {title}\",Favorite:\"Favorit\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",Global:\"Global\",\"Go back to the list\":\"Tilbage til listen\",\"Hide password\":\"Skjul kodeord\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",\"More items …\":\"Mere ...\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",Open:\"Åbn\",'Open link to \"{resourceTitle}\"':'Åbn link til \"{resourceTitle}\"',\"Open navigation\":\"Åbn navigation\",\"Password is secure\":\"Kodeordet er sikkert\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",\"Please select a time zone:\":\"Vælg venligst en tidszone:\",Previous:\"Forrige\",\"Related resources\":\"Relaterede emner\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Show password\":\"Vis kodeord\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Type to search time zone\":\"Indtast for at søge efter tidszone\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Undo changes\":\"Fortryd ændringer\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv besked, brug \"@\" for at nævne nogen, brug \":\" til emoji-autofuldførelse ...'}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Anything shared with the same group of people will show up here\":\"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",\"Change title\":\"Titel ändern\",Choose:\"Auswählen\",\"Clear text\":\"Klartext\",Close:\"Schließen\",\"Close modal\":\"Modal schließen\",\"Close navigation\":\"Navigation schließen\",\"Close sidebar\":\"Seitenleiste schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"Error getting related resources\":\"Fehler beim Abrufen verwandter Ressourcen\",\"Error parsing svg\":\"Fehler beim Einlesen der SVG\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Favorite:\"Favorit\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Hide password\":\"Passwort verbergen\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"More items …\":\"Weitere Elemente …\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",Open:\"Öffnen\",'Open link to \"{resourceTitle}\"':'Link zu \"{resourceTitle}\" öffnen',\"Open navigation\":\"Navigation öffnen\",\"Password is secure\":\"Passwort ist sicher\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte wählen Sie eine Zeitzone:\",Previous:\"Vorherige\",\"Related resources\":\"Verwandte Ressourcen\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Show password\":\"Passwort anzeigen\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Nachricht schreiben, \"@\" um jemanden zu erwähnen, \":\" für die automatische Vervollständigung von Emojis …'}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Anything shared with the same group of people will show up here\":\"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",\"Change title\":\"Titel ändern\",Choose:\"Auswählen\",\"Clear text\":\"Klartext\",Close:\"Schließen\",\"Close modal\":\"Modal schließen\",\"Close navigation\":\"Navigation schließen\",\"Close sidebar\":\"Seitenleiste schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"Error getting related resources\":\"Fehler beim Abrufen verwandter Ressourcen\",\"Error parsing svg\":\"Fehler beim Einlesen der SVG\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Favorite:\"Favorit\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Hide password\":\"Passwort verbergen\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"More items …\":\"Weitere Elemente …\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",Open:\"Öffnen\",'Open link to \"{resourceTitle}\"':'Link zu \"{resourceTitle}\" öffnen',\"Open navigation\":\"Navigation öffnen\",\"Password is secure\":\"Passwort ist sicher\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",\"Related resources\":\"Verwandte Ressourcen\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Show password\":\"Passwort anzeigen\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Nachricht schreiben, \"@\" um jemanden zu erwähnen, \":\" für die automatische Vervollständigung von Emojis …'}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",\"Anything shared with the same group of people will show up here\":\"Οτιδήποτε μοιράζεται με την ίδια ομάδα ατόμων θα εμφανίζεται εδώ\",\"Avatar of {displayName}\":\"Άβαταρ του {displayName}\",\"Avatar of {displayName}, {status}\":\"Άβαταρ του {displayName}, {status}\",\"Cancel changes\":\"Ακύρωση αλλαγών\",\"Change title\":\"Αλλαγή τίτλου\",Choose:\"Επιλογή\",\"Clear text\":\"Εκκαθάριση κειμένου\",Close:\"Κλείσιμο\",\"Close modal\":\"Βοηθητικό κλείσιμο\",\"Close navigation\":\"Κλείσιμο πλοήγησης\",\"Close sidebar\":\"Κλείσιμο πλευρικής μπάρας\",\"Confirm changes\":\"Επιβεβαίωση αλλαγών\",Custom:\"Προσαρμογή\",\"Edit item\":\"Επεξεργασία\",\"Error getting related resources\":\"Σφάλμα λήψης σχετικών πόρων\",\"Error parsing svg\":\"Σφάλμα ανάλυσης svg\",\"External documentation for {title}\":\"Εξωτερική τεκμηρίωση για {title}\",Favorite:\"Αγαπημένα\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Global:\"Καθολικό\",\"Go back to the list\":\"Επιστροφή στην αρχική λίστα \",\"Hide password\":\"Απόκρυψη κωδικού πρόσβασης\",\"Message limit of {count} characters reached\":\"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος\",\"More items …\":\"Περισσότερα στοιχεία …\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",Open:\"Άνοιγμα\",'Open link to \"{resourceTitle}\"':'Άνοιγμα συνδέσμου στο \"{resourceTitle}\"',\"Open navigation\":\"Άνοιγμα πλοήγησης\",\"Password is secure\":\"Ο κωδικός πρόσβασης είναι ασφαλής\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",\"Please select a time zone:\":\"Παρακαλούμε επιλέξτε μια ζώνη ώρας:\",Previous:\"Προηγούμενο\",\"Related resources\":\"Σχετικοί πόροι\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Settings navigation\":\"Πλοήγηση ρυθμίσεων\",\"Show password\":\"Εμφάνιση κωδικού πρόσβασης\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Submit:\"Υποβολή\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Type to search time zone\":\"Πληκτρολογήστε για αναζήτηση ζώνης ώρας\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\",\"Undo changes\":\"Αναίρεση Αλλαγών\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Γράψτε μήνυμα, χρησιμοποιείστε \"@\" για να αναφέρετε κάποιον, χρησιμοποιείστε \":\" για αυτόματη συμπλήρωση emoji …'}},{locale:\"en_GB\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Actions\",Activities:\"Activities\",\"Animals & Nature\":\"Animals & Nature\",\"Anything shared with the same group of people will show up here\":\"Anything shared with the same group of people will show up here\",\"Avatar of {displayName}\":\"Avatar of {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar of {displayName}, {status}\",\"Cancel changes\":\"Cancel changes\",\"Change title\":\"Change title\",Choose:\"Choose\",\"Clear text\":\"Clear text\",Close:\"Close\",\"Close modal\":\"Close modal\",\"Close navigation\":\"Close navigation\",\"Close sidebar\":\"Close sidebar\",\"Confirm changes\":\"Confirm changes\",Custom:\"Custom\",\"Edit item\":\"Edit item\",\"Error getting related resources\":\"Error getting related resources\",\"Error parsing svg\":\"Error parsing svg\",\"External documentation for {title}\":\"External documentation for {title}\",Favorite:\"Favourite\",Flags:\"Flags\",\"Food & Drink\":\"Food & Drink\",\"Frequently used\":\"Frequently used\",Global:\"Global\",\"Go back to the list\":\"Go back to the list\",\"Hide password\":\"Hide password\",\"Message limit of {count} characters reached\":\"Message limit of {count} characters reached\",\"More items …\":\"More items …\",Next:\"Next\",\"No emoji found\":\"No emoji found\",\"No results\":\"No results\",Objects:\"Objects\",Open:\"Open\",'Open link to \"{resourceTitle}\"':'Open link to \"{resourceTitle}\"',\"Open navigation\":\"Open navigation\",\"Password is secure\":\"Password is secure\",\"Pause slideshow\":\"Pause slideshow\",\"People & Body\":\"People & Body\",\"Pick an emoji\":\"Pick an emoji\",\"Please select a time zone:\":\"Please select a time zone:\",Previous:\"Previous\",\"Related resources\":\"Related resources\",Search:\"Search\",\"Search results\":\"Search results\",\"Select a tag\":\"Select a tag\",Settings:\"Settings\",\"Settings navigation\":\"Settings navigation\",\"Show password\":\"Show password\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start slideshow\",Submit:\"Submit\",Symbols:\"Symbols\",\"Travel & Places\":\"Travel & Places\",\"Type to search time zone\":\"Type to search time zone\",\"Unable to search the group\":\"Unable to search the group\",\"Undo changes\":\"Undo changes\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …'}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",\"Anything shared with the same group of people will show up here\":\"Cualquier cosa que sea compartida con el mismo grupo de personas se mostrará aquí\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar cambios\",\"Change title\":\"Cambiar título\",Choose:\"Elegir\",\"Clear text\":\"Limpiar texto\",Close:\"Cerrar\",\"Close modal\":\"Cerrar modal\",\"Close navigation\":\"Cerrar navegación\",\"Close sidebar\":\"Cerrar barra lateral\",\"Confirm changes\":\"Confirmar cambios\",Custom:\"Personalizado\",\"Edit item\":\"Editar elemento\",\"Error getting related resources\":\"Se encontró un error al obtener los recursos relacionados\",\"Error parsing svg\":\"Error procesando svg\",\"External documentation for {title}\":\"Documentacion externa de {title}\",Favorite:\"Favorito\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",Global:\"Global\",\"Go back to the list\":\"Volver a la lista\",\"Hide password\":\"Ocultar contraseña\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",\"More items …\":\"Más ítems...\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",Open:\"Abrir\",'Open link to \"{resourceTitle}\"':'Abrir enlace a \"{resourceTitle}\"',\"Open navigation\":\"Abrir navegación\",\"Password is secure\":\"La contraseña es segura\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",\"Please select a time zone:\":\"Por favor elige un huso de horario:\",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionados\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Show password\":\"Mostrar contraseña\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Type to search time zone\":\"Escribe para buscar un huso de horario\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Undo changes\":\"Deshacer cambios\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escribir mensaje, utilice \"@\" para mencionar a alguien, utilice \":\" para autocompletado de emojis ...'}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Actions:\"Ekintzak\",Activities:\"Jarduerak\",\"Animals & Nature\":\"Animaliak eta Natura\",\"Anything shared with the same group of people will show up here\":\"Pertsona-talde berarekin partekatutako edozer agertuko da hemen\",\"Avatar of {displayName}\":\"{displayName}-(e)n irudia\",\"Avatar of {displayName}, {status}\":\"{displayName} -(e)n irudia, {status}\",\"Cancel changes\":\"Ezeztatu aldaketak\",\"Change title\":\"Aldatu titulua\",Choose:\"Aukeratu\",\"Clear text\":\"Garbitu testua\",Close:\"Itxi\",\"Close modal\":\"Itxi modala\",\"Close navigation\":\"Itxi nabigazioa\",\"Close sidebar\":\"Itxi albo-barra\",\"Confirm changes\":\"Baieztatu aldaketak\",Custom:\"Pertsonalizatua\",\"Edit item\":\"Editatu elementua\",\"Error getting related resources\":\"Errorea erlazionatutako baliabideak lortzerakoan\",\"Error parsing svg\":\"Errore bat gertatu da svg-a analizatzean\",\"External documentation for {title}\":\"Kanpoko dokumentazioa {title}(r)entzat\",Favorite:\"Gogokoa\",Flags:\"Banderak\",\"Food & Drink\":\"Janaria eta edariak\",\"Frequently used\":\"Askotan erabilia\",Global:\"Globala\",\"Go back to the list\":\"Bueltatu zerrendara\",\"Hide password\":\"Ezkutatu pasahitza\",\"Message limit of {count} characters reached\":\"Mezuaren {count} karaketere-limitera heldu zara\",\"More items …\":\"Elementu gehiago …\",Next:\"Hurrengoa\",\"No emoji found\":\"Ez da emojirik aurkitu\",\"No results\":\"Emaitzarik ez\",Objects:\"Objektuak\",Open:\"Ireki\",'Open link to \"{resourceTitle}\"':'Ireki esteka: \"{resourceTitle}\"',\"Open navigation\":\"Ireki nabigazioa\",\"Password is secure\":\"Pasahitza segurua da\",\"Pause slideshow\":\"Pausatu diaporama\",\"People & Body\":\"Jendea eta gorputza\",\"Pick an emoji\":\"Hautatu emoji bat\",\"Please select a time zone:\":\"Mesedez hautatu ordu-zona bat:\",Previous:\"Aurrekoa\",\"Related resources\":\"Erlazionatutako baliabideak\",Search:\"Bilatu\",\"Search results\":\"Bilaketa emaitzak\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Settings navigation\":\"Nabigazio ezarpenak\",\"Show password\":\"Erakutsi pasahitza\",\"Smileys & Emotion\":\"Smileyak eta emozioa\",\"Start slideshow\":\"Hasi diaporama\",Submit:\"Bidali\",Symbols:\"Sinboloak\",\"Travel & Places\":\"Bidaiak eta lekuak\",\"Type to search time zone\":\"Idatzi ordu-zona bat bilatzeko\",\"Unable to search the group\":\"Ezin izan da taldea bilatu\",\"Undo changes\":\"Aldaketak desegin\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Idatzi mezua, erabili \"@\" norbait aipatzeko, erabili \":\" emojiak automatikoki osatzeko...'}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",\"Avatar of {displayName}\":\"Käyttäjän {displayName} avatar\",\"Avatar of {displayName}, {status}\":\"Käyttäjän {displayName} avatar, {status}\",\"Cancel changes\":\"Peruuta muutokset\",Choose:\"Valitse\",Close:\"Sulje\",\"Close navigation\":\"Sulje navigaatio\",\"Confirm changes\":\"Vahvista muutokset\",Custom:\"Mukautettu\",\"Edit item\":\"Muokkaa kohdetta\",\"External documentation for {title}\":\"Ulkoinen dokumentaatio kohteelle {title}\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",Global:\"Yleinen\",\"Go back to the list\":\"Siirry takaisin listaan\",\"Message limit of {count} characters reached\":\"Viestin merkken enimmäisimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Open navigation\":\"Avaa navigaatio\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",\"Please select a time zone:\":\"Valitse aikavyöhyke:\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Submit:\"Lähetä\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Type to search time zone\":\"Kirjoita etsiäksesi aikavyöhyke\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Undo changes\":\"Kumoa muutokset\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Kirjoita viesti, @ mainitaksesi käyttäjän, : emojin automaattitäydennykseen…\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",\"Anything shared with the same group of people will show up here\":\"Tout ce qui est partagé avec le même groupe de personnes apparaîtra ici\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Annuler les modifications\",\"Change title\":\"Modifier le titre\",Choose:\"Choisir\",\"Clear text\":\"Effacer le texte\",Close:\"Fermer\",\"Close modal\":\"Fermer la fenêtre\",\"Close navigation\":\"Fermer la navigation\",\"Close sidebar\":\"Fermer la barre latérale\",\"Confirm changes\":\"Confirmer les modifications\",Custom:\"Personnalisé\",\"Edit item\":\"Éditer l'élément\",\"Error getting related resources\":\"Erreur à la récupération des ressources liées\",\"Error parsing svg\":\"Erreur d'analyse SVG\",\"External documentation for {title}\":\"Documentation externe pour {title}\",Favorite:\"Favori\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",Global:\"Global\",\"Go back to the list\":\"Retourner à la liste\",\"Hide password\":\"Cacher le mot de passe\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",\"More items …\":\"Plus d'éléments...\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",Open:\"Ouvrir\",'Open link to \"{resourceTitle}\"':'Ouvrir le lien vers \"{resourceTitle}\"',\"Open navigation\":\"Ouvrir la navigation\",\"Password is secure\":\"Le mot de passe est sécurisé\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",\"Please select a time zone:\":\"Sélectionnez un fuseau horaire : \",Previous:\"Précédent\",\"Related resources\":\"Ressources liées\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Show password\":\"Afficher le mot de passe\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Submit:\"Valider\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Type to search time zone\":\"Saisissez les premiers lettres pour rechercher un fuseau horaire\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Undo changes\":\"Annuler les changements\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Écrire un message, utiliser \"@\" pour mentionner une personne, \":\" pour l\\'autocomplétion des émojis...'}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",\"Anything shared with the same group of people will show up here\":\"Minden, amit ugyanazzal a csoporttal oszt meg, itt fog megjelenni\",\"Avatar of {displayName}\":\"{displayName} profilképe\",\"Avatar of {displayName}, {status}\":\"{displayName} profilképe, {status}\",\"Cancel changes\":\"Változtatások elvetése\",\"Change title\":\"Cím megváltoztatása\",Choose:\"Válassszon\",\"Clear text\":\"Szöveg törlése\",Close:\"Bezárás\",\"Close modal\":\"Ablak bezárása\",\"Close navigation\":\"Navigáció bezárása\",\"Close sidebar\":\"Oldalsáv bezárása\",\"Confirm changes\":\"Változtatások megerősítése\",Custom:\"Egyéni\",\"Edit item\":\"Elem szerkesztése\",\"Error getting related resources\":\"Hiba a kapcsolódó erőforrások lekérésekor\",\"Error parsing svg\":\"Hiba az SVG feldolgozásakor\",\"External documentation for {title}\":\"Külső dokumentáció ehhez: {title}\",Favorite:\"Kedvenc\",Flags:\"Zászlók\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",Global:\"Globális\",\"Go back to the list\":\"Ugrás vissza a listához\",\"Hide password\":\"Jelszó elrejtése\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",\"More items …\":\"További elemek...\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",Open:\"Megnyitás\",'Open link to \"{resourceTitle}\"':\"A(z) „{resourceTitle}” hivatkozásának megnyitása\",\"Open navigation\":\"Navigáció megnyitása\",\"Password is secure\":\"A jelszó biztonságos\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",\"Please select a time zone:\":\"Válasszon időzónát:\",Previous:\"Előző\",\"Related resources\":\"Kapcsolódó erőforrások\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Show password\":\"Jelszó megjelenítése\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Submit:\"Beküldés\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Type to search time zone\":\"Gépeljen az időzóna kereséséhez\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Undo changes\":\"Változtatások visszavonása\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':\"Írjon egy üzenetet, használja a „@”-ot valaki megemlítéséhet, illetve a „:”-ot az emodzsik automatikus kiegészítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Anything shared with the same group of people will show up here\":\"Tutto ciò che è stato condiviso con lo stesso gruppo di persone viene visualizzato qui\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar di {displayName}, {status}\",\"Cancel changes\":\"Annulla modifiche\",\"Change title\":\"Modifica il titolo\",Choose:\"Scegli\",\"Clear text\":\"Cancella il testo\",Close:\"Chiudi\",\"Close modal\":\"Chiudi il messaggio modale\",\"Close navigation\":\"Chiudi la navigazione\",\"Close sidebar\":\"Chiudi la barra laterale\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"Edit item\":\"Modifica l'elemento\",\"Error getting related resources\":\"Errore nell'ottenere risorse correlate\",\"Error parsing svg\":\"Errore nell'analizzare l'svg\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Favorite:\"Preferito\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",Global:\"Globale\",\"Go back to the list\":\"Torna all'elenco\",\"Hide password\":\"Nascondi la password\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",\"More items …\":\"Più elementi ...\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",Open:\"Apri\",'Open link to \"{resourceTitle}\"':'Apri il link a \"{resourceTitle}\"',\"Open navigation\":\"Apri la navigazione\",\"Password is secure\":\"La password è sicura\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",\"Please select a time zone:\":\"Si prega di selezionare un fuso orario:\",Previous:\"Precedente\",\"Related resources\":\"Risorse correlate\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Show password\":\"Mostra la password\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Type to search time zone\":\"Digita per cercare un fuso orario\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Undo changes\":\"Cancella i cambiamenti\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Scrivi un messaggio, \"@\" per menzionare qualcuno, \":\" per il completamento automatico delle emoji ...'}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Anything shared with the same group of people will show up here\":\"同じグループで共有しているものは、全てここに表示されます\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} のアバター\",\"Cancel changes\":\"変更をキャンセル\",\"Change title\":\"タイトルを変更\",Choose:\"選択\",\"Clear text\":\"テキストをクリア\",Close:\"閉じる\",\"Close modal\":\"モーダルを閉じる\",\"Close navigation\":\"ナビゲーションを閉じる\",\"Close sidebar\":\"サイドバーを閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"Edit item\":\"編集\",\"Error getting related resources\":\"関連リソースの取得エラー\",\"Error parsing svg\":\"svgの解析エラー\",\"External documentation for {title}\":\"{title} のための添付文書\",Favorite:\"お気に入り\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",Global:\"全体\",\"Go back to the list\":\"リストに戻る\",\"Hide password\":\"パスワードを非表示\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",\"More items …\":\"他のアイテム\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",Open:\"開く\",'Open link to \"{resourceTitle}\"':'\"{resourceTitle}\"のリンクを開く',\"Open navigation\":\"ナビゲーションを開く\",\"Password is secure\":\"パスワードは保護されています\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",\"Please select a time zone:\":\"タイムゾーンを選んで下さい:\",Previous:\"前\",\"Related resources\":\"関連リソース\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Show password\":\"パスワードを表示\",\"Smileys & Emotion\":\"感情表現\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Type to search time zone\":\"タイムゾーン検索のため入力してください\",\"Unable to search the group\":\"グループを検索できません\",\"Undo changes\":\"変更を取り消し\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'メッセージを記入、\"@\"でメンション、\":\"で絵文字の自動補完 ...'}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",\"Avatar of {displayName}\":\"Аватар на {displayName}\",\"Avatar of {displayName}, {status}\":\"Аватар на {displayName}, {status}\",\"Cancel changes\":\"Откажи ги промените\",\"Change title\":\"Промени наслов\",Choose:\"Избери\",Close:\"Затвори\",\"Close modal\":\"Затвори модал\",\"Close navigation\":\"Затвори навигација\",\"Confirm changes\":\"Потврди ги промените\",Custom:\"Прилагодени\",\"Edit item\":\"Уреди\",\"External documentation for {title}\":\"Надворешна документација за {title}\",Favorite:\"Фаворити\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",Global:\"Глобално\",\"Go back to the list\":\"Врати се на листата\",items:\"ставки\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",\"More {dashboardItemType} …\":\"Повеќе {dashboardItemType} …\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",Open:\"Отвори\",\"Open navigation\":\"Отвори навигација\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",\"Please select a time zone:\":\"Изберете временска зона:\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Submit:\"Испрати\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Type to search time zone\":\"Напишете за да пребарате временска зона\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Undo changes\":\"Врати ги промените\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напиши порака, @ за да спомнете некого, : за емотинони автоатско комплетирање ...\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",\"Anything shared with the same group of people will show up here\":\"Alt som er delt med den samme gruppen vil vises her\",\"Avatar of {displayName}\":\"Avataren til {displayName}\",\"Avatar of {displayName}, {status}\":\"{displayName}'s avatar, {status}\",\"Cancel changes\":\"Avbryt endringer\",\"Change title\":\"Endre tittel\",Choose:\"Velg\",\"Clear text\":\"Fjern tekst\",Close:\"Lukk\",\"Close modal\":\"Lukk modal\",\"Close navigation\":\"Lukk navigasjon\",\"Close sidebar\":\"Lukk sidepanel\",\"Confirm changes\":\"Bekreft endringer\",Custom:\"Tilpasset\",\"Edit item\":\"Rediger\",\"Error getting related resources\":\"Feil ved henting av relaterte ressurser\",\"Error parsing svg\":\"Feil ved parsing av svg\",\"External documentation for {title}\":\"Ekstern dokumentasjon for {title}\",Favorite:\"Favoritt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Global:\"Global\",\"Go back to the list\":\"Gå tilbake til listen\",\"Hide password\":\"Skjul passord\",\"Message limit of {count} characters reached\":\"Karakter begrensing {count} nådd i melding\",\"More items …\":\"Flere gjenstander...\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",Open:\"Åpne\",'Open link to \"{resourceTitle}\"':'Åpne link til \"{resourceTitle}\"',\"Open navigation\":\"Åpne navigasjon\",\"Password is secure\":\"Passordet er sikkert\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",\"Please select a time zone:\":\"Vennligst velg tidssone\",Previous:\"Forrige\",\"Related resources\":\"Relaterte ressurser\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Settings navigation\":\"Navigasjonsinstillinger\",\"Show password\":\"Vis passord\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Type to search time zone\":\"Tast for å søke etter tidssone\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\",\"Undo changes\":\"Tilbakestill endringer\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv melding, bruk \"@\" for å nevne noen, bruk \":\" for autofullføring av emoji...'}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar van {displayName}, {status}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Close navigation\":\"Navigatie sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"Edit item\":\"Item bewerken\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",Global:\"Globaal\",\"Go back to the list\":\"Ga terug naar de lijst\",\"Message limit of {count} characters reached\":\"Berichtlimiet van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Open navigation\":\"Navigatie openen\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",\"Please select a time zone:\":\"Selecteer een tijdzone:\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Type to search time zone\":\"Type om de tijdzone te zoeken\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Undo changes\":\"Wijzigingen ongedaan maken\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Anything shared with the same group of people will show up here\":\"Tutaj pojawi się wszystko, co zostało udostępnione tej samej grupie osób\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Awatar {displayName}, {status}\",\"Cancel changes\":\"Anuluj zmiany\",\"Change title\":\"Zmień tytuł\",Choose:\"Wybierz\",\"Clear text\":\"Wyczyść tekst\",Close:\"Zamknij\",\"Close modal\":\"Zamknij modal\",\"Close navigation\":\"Zamknij nawigację\",\"Close sidebar\":\"Zamknij pasek boczny\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"Edit item\":\"Edytuj element\",\"Error getting related resources\":\"Błąd podczas pobierania powiązanych zasobów\",\"Error parsing svg\":\"Błąd podczas analizowania svg\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Favorite:\"Ulubiony\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Go back to the list\":\"Powrót do listy\",\"Hide password\":\"Ukryj hasło\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",\"More items …\":\"Więcej pozycji…\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emoji\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",Open:\"Otwórz\",'Open link to \"{resourceTitle}\"':'Otwórz link do \"{resourceTitle}\"',\"Open navigation\":\"Otwórz nawigację\",\"Password is secure\":\"Hasło jest bezpieczne\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",\"Related resources\":\"Powiązane zasoby\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Ustawienia nawigacji\",\"Show password\":\"Pokaż hasło\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Undo changes\":\"Cofnij zmiany\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Napisz wiadomość, \"@\" aby o kimś wspomnieć, \":\" dla autouzupełniania emoji…'}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Anything shared with the same group of people will show up here\":\"Qualquer coisa compartilhada com o mesmo grupo de pessoas aparecerá aqui\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar alterações\",\"Change title\":\"Alterar título\",Choose:\"Escolher\",\"Clear text\":\"Limpar texto\",Close:\"Fechar\",\"Close modal\":\"Fechar modal\",\"Close navigation\":\"Fechar navegação\",\"Close sidebar\":\"Fechar barra lateral\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"Edit item\":\"Editar item\",\"Error getting related resources\":\"Erro ao obter recursos relacionados\",\"Error parsing svg\":\"Erro ao analisar svg\",\"External documentation for {title}\":\"Documentação externa para {title}\",Favorite:\"Favorito\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Go back to the list\":\"Volte para a lista\",\"Hide password\":\"Ocultar a senha\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",\"More items …\":\"Mais itens …\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",Open:\"Aberto\",'Open link to \"{resourceTitle}\"':'Abrir link para \"{resourceTitle}\"',\"Open navigation\":\"Abrir navegação\",\"Password is secure\":\"A senha é segura\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionados\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Show password\":\"Mostrar senha\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Undo changes\":\"Desfazer modificações\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escreva mensagens, use \"@\" para mencionar algum, use \":\" for autocompletar emoji …'}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ro\",translations:{\"{tag} (invisible)\":\"{tag} (invizibil)\",\"{tag} (restricted)\":\"{tag} (restricționat)\",Actions:\"Acțiuni\",Activities:\"Activități\",\"Animals & Nature\":\"Animale și natură\",\"Anything shared with the same group of people will show up here\":\"Tot ceea ce este partajat cu același grup de persoane va fi afișat aici\",\"Avatar of {displayName}\":\"Avatarul lui {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatarul lui {displayName}, {status}\",\"Cancel changes\":\"Anulează modificările\",\"Change title\":\"Modificați titlul\",Choose:\"Alegeți\",\"Clear text\":\"Șterge textul\",Close:\"Închideți\",\"Close modal\":\"Închideți modulul\",\"Close navigation\":\"Închideți navigarea\",\"Close sidebar\":\"Închide bara laterală\",\"Confirm changes\":\"Confirmați modificările\",Custom:\"Personalizat\",\"Edit item\":\"Editați elementul\",\"Error getting related resources\":\" Eroare la returnarea resurselor legate\",\"Error parsing svg\":\"Eroare de analizare a svg\",\"External documentation for {title}\":\"Documentație externă pentru {title}\",Favorite:\"Favorit\",Flags:\"Marcaje\",\"Food & Drink\":\"Alimente și băuturi\",\"Frequently used\":\"Utilizate frecvent\",Global:\"Global\",\"Go back to the list\":\"Întoarceți-vă la listă\",\"Hide password\":\"Ascunde parola\",\"Message limit of {count} characters reached\":\"Limita mesajului de {count} caractere a fost atinsă\",\"More items …\":\"Mai multe articole ...\",Next:\"Următorul\",\"No emoji found\":\"Nu s-a găsit niciun emoji\",\"No results\":\"Nu există rezultate\",Objects:\"Obiecte\",Open:\"Deschideți\",'Open link to \"{resourceTitle}\"':'Deschide legătura la \"{resourceTitle}\"',\"Open navigation\":\"Deschideți navigația\",\"Password is secure\":\"Parola este sigură\",\"Pause slideshow\":\"Pauză prezentare de diapozitive\",\"People & Body\":\"Oameni și corp\",\"Pick an emoji\":\"Alege un emoji\",\"Please select a time zone:\":\"Vă rugăm să selectați un fus orar:\",Previous:\"Anterior\",\"Related resources\":\"Resurse legate\",Search:\"Căutare\",\"Search results\":\"Rezultatele căutării\",\"Select a tag\":\"Selectați o etichetă\",Settings:\"Setări\",\"Settings navigation\":\"Navigare setări\",\"Show password\":\"Arată parola\",\"Smileys & Emotion\":\"Zâmbete și emoții\",\"Start slideshow\":\"Începeți prezentarea de diapozitive\",Submit:\"Trimiteți\",Symbols:\"Simboluri\",\"Travel & Places\":\"Călătorii și locuri\",\"Type to search time zone\":\"Tastați pentru a căuta fusul orar\",\"Unable to search the group\":\"Imposibilitatea de a căuta în grup\",\"Undo changes\":\"Anularea modificărilor\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Scrie un mesaj, folosește \"@\" pentru a menționa pe cineva, folosește \":\" pentru autocompletarea cu emoji ...'}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Avatar of {displayName}, {status}\":\"Фотография {displayName}, {status}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Close modal\":\"Закрыть модальное окно\",\"Close navigation\":\"Закрыть навигацию\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"Edit item\":\"Изменить элемент\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Go back to the list\":\"Вернуться к списку\",items:\"элементов\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",\"More {dashboardItemType} …\":\"Больше {dashboardItemType} …\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",Open:\"Открыть\",\"Open navigation\":\"Открыть навигацию\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Undo changes\":\"Отменить изменения\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напишите сообщение, @ - чтобы упомянуть кого-то, : - для автозаполнения эмодзи …\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar {displayName}, {status}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Close navigation\":\"Zavrieť navigáciu\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"Edit item\":\"Upraviť položku\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Global:\"Globálne\",\"Go back to the list\":\"Naspäť na zoznam\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Open navigation\":\"Otvoriť navigáciu\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",\"Please select a time zone:\":\"Prosím vyberte časovú zónu:\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Type to search time zone\":\"Začníte písať pre vyhľadávanie časovej zóny\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Undo changes\":\"Vrátiť zmeny\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napíšte správu, @ ak chcete niekoho spomenúť, : pre automatické dopĺňanie emotikonov…\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",\"Avatar of {displayName}\":\"Podoba {displayName}\",\"Avatar of {displayName}, {status}\":\"Prikazna slika {displayName}, {status}\",\"Cancel changes\":\"Prekliči spremembe\",\"Change title\":\"Spremeni naziv\",Choose:\"Izbor\",\"Clear text\":\"Počisti besedilo\",Close:\"Zapri\",\"Close modal\":\"Zapri pojavno okno\",\"Close navigation\":\"Zapri krmarjenje\",\"Close sidebar\":\"Zapri stransko vrstico\",\"Confirm changes\":\"Potrdi spremembe\",Custom:\"Po meri\",\"Edit item\":\"Uredi predmet\",\"Error getting related resources\":\"Napaka pridobivanja povezanih virov\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Favorite:\"Priljubljeno\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",Global:\"Splošno\",\"Go back to the list\":\"Vrni se na seznam\",\"Hide password\":\"Skrij geslo\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",\"More items …\":\"Več predmetov ...\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",Open:\"Odpri\",'Open link to \"{resourceTitle}\"':\"Odpri povezavo do »{resourceTitle}«\",\"Open navigation\":\"Odpri krmarjenje\",\"Password is secure\":\"Geslo je varno\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick a date\":\"Izbor datuma\",\"Pick a date and a time\":\"Izbor datuma in časa\",\"Pick a month\":\"Izbor meseca\",\"Pick a time\":\"Izbor časa\",\"Pick a week\":\"Izbor tedna\",\"Pick a year\":\"Izbor leta\",\"Pick an emoji\":\"Izbor izrazne ikone\",\"Please select a time zone:\":\"Izbor časovnega pasu:\",Previous:\"Predhodni\",\"Related resources\":\"Povezani viri\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Show password\":\"Pokaži geslo\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Type to search time zone\":\"Vpišite niz za iskanje časovnega pasu\",\"Unable to search the group\":\"Ni mogoče iskati po skupini\",\"Undo changes\":\"Razveljavi spremembe\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napišite sporočilo, za omembo pred ime postavite@, začnite z : za vstavljanje izraznih ikon …\"}},{locale:\"sr\",translations:{\"{tag} (invisible)\":\"{tag} (nevidljivo)\",\"{tag} (restricted)\":\"{tag} (ograničeno)\",Actions:\"Radnje\",Activities:\"Aktivnosti\",\"Animals & Nature\":\"Životinje i Priroda\",\"Avatar of {displayName}\":\"Avatar za {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar za {displayName}, {status}\",\"Cancel changes\":\"Otkaži izmene\",\"Change title\":\"Izmeni naziv\",Choose:\"Изаберите\",Close:\"Затвори\",\"Close modal\":\"Zatvori modal\",\"Close navigation\":\"Zatvori navigaciju\",\"Close sidebar\":\"Zatvori bočnu traku\",\"Confirm changes\":\"Potvrdite promene\",Custom:\"Po meri\",\"Edit item\":\"Uredi stavku\",\"External documentation for {title}\":\"Eksterna dokumentacija za {title}\",Favorite:\"Omiljeni\",Flags:\"Zastave\",\"Food & Drink\":\"Hrana i Piće\",\"Frequently used\":\"Često korišćeno\",Global:\"Globalno\",\"Go back to the list\":\"Natrag na listu\",items:\"stavke\",\"Message limit of {count} characters reached\":\"Dostignuto je ograničenje za poruke od {count} znakova\",\"More {dashboardItemType} …\":\"Više {dashboardItemType} …\",Next:\"Следеће\",\"No emoji found\":\"Nije pronađen nijedan emodži\",\"No results\":\"Нема резултата\",Objects:\"Objekti\",Open:\"Otvori\",\"Open navigation\":\"Otvori navigaciju\",\"Pause slideshow\":\"Паузирај слајд шоу\",\"People & Body\":\"Ljudi i Telo\",\"Pick an emoji\":\"Izaberi emodži\",\"Please select a time zone:\":\"Molimo izaberite vremensku zonu:\",Previous:\"Претходно\",Search:\"Pretraži\",\"Search results\":\"Rezultati pretrage\",\"Select a tag\":\"Изаберите ознаку\",Settings:\"Поставке\",\"Settings navigation\":\"Navigacija u podešavanjima\",\"Smileys & Emotion\":\"Smajli i Emocije\",\"Start slideshow\":\"Покрени слајд шоу\",Submit:\"Prihvati\",Symbols:\"Simboli\",\"Travel & Places\":\"Putovanja i Mesta\",\"Type to search time zone\":\"Ukucaj da pretražiš vremenske zone\",\"Unable to search the group\":\"Nije moguće pretražiti grupu\",\"Undo changes\":\"Poništi promene\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napišite poruku, @ da pomenete nekoga, : za automatsko dovršavanje emodžija…\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Anything shared with the same group of people will show up here\":\"Något som delats med samma grupp av personer kommer att visas här\",\"Avatar of {displayName}\":\"{displayName}s avatar\",\"Avatar of {displayName}, {status}\":\"{displayName}s avatar, {status}\",\"Cancel changes\":\"Avbryt ändringar\",\"Change title\":\"Ändra titel\",Choose:\"Välj\",\"Clear text\":\"Ta bort text\",Close:\"Stäng\",\"Close modal\":\"Stäng modal\",\"Close navigation\":\"Stäng navigering\",\"Close sidebar\":\"Stäng sidopanel\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"Edit item\":\"Ändra\",\"Error getting related resources\":\"Problem att hämta relaterade resurser\",\"Error parsing svg\":\"Fel vid inläsning av svg\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Favorite:\"Favorit\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",Global:\"Global\",\"Go back to the list\":\"Gå tillbaka till listan\",\"Hide password\":\"Göm lössenordet\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",\"More items …\":\"Fler objekt\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",Open:\"Öppna\",'Open link to \"{resourceTitle}\"':'Öppna länk till \"{resourceTitle}\"',\"Open navigation\":\"Öppna navigering\",\"Password is secure\":\"Lössenordet är säkert\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",\"Please select a time zone:\":\"Välj tidszon:\",Previous:\"Föregående\",\"Related resources\":\"Relaterade resurser\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Show password\":\"Visa lössenordet\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Type to search time zone\":\"Skriv för att välja tidszon\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Undo changes\":\"Ångra ändringar\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv meddelande, använd \"@\" för att nämna någon, använd \":\" för automatiska emojiförslag ...'}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Anything shared with the same group of people will show up here\":\"Aynı kişi grubu ile paylaşılan herşey burada görüntülenir\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",\"Change title\":\"Başlığı değiştir\",Choose:\"Seçin\",\"Clear text\":\"Metni temizle\",Close:\"Kapat\",\"Close modal\":\"Üste açılan pencereyi kapat\",\"Close navigation\":\"Gezinmeyi kapat\",\"Close sidebar\":\"Yan çubuğu kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"Edit item\":\"Ögeyi düzenle\",\"Error getting related resources\":\"İlgili kaynaklar alınırken sorun çıktı\",\"Error parsing svg\":\"svg işlenirken sorun çıktı\",\"External documentation for {title}\":\"{title} için dış belgeler\",Favorite:\"Sık kullanılanlara ekle\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Go back to the list\":\"Listeye dön\",\"Hide password\":\"Parolayı gizle\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",\"More items …\":\"Diğer ögeler…\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",Open:\"Aç\",'Open link to \"{resourceTitle}\"':'\"{resourceTitle}\" bağlantısını aç',\"Open navigation\":\"Gezinmeyi aç\",\"Password is secure\":\"Parola güvenli\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",\"Related resources\":\"İlgili kaynaklar\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Show password\":\"Parolayı görüntüle\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Undo changes\":\"Değişiklikleri geri al\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'İleti yazın, birini anmak için @, otomatik emoji tamamlamak için \":\" kullanın…'}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (невидимий)\",\"{tag} (restricted)\":\"{tag} (обмежений)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Avatar of {displayName}, {status}\":\"Аватар {displayName}, {status}\",\"Cancel changes\":\"Скасувати зміни\",\"Change title\":\"Змінити назву\",Choose:\"ВиберітьВиберіть\",\"Clear text\":\"Очистити текст\",Close:\"Закрити\",\"Close modal\":\"Закрити модаль\",\"Close navigation\":\"Закрити навігацію\",\"Close sidebar\":\"Закрити бічну панель\",\"Confirm changes\":\"Підтвердити зміни\",Custom:\"Власне\",\"Edit item\":\"Редагувати елемент\",\"External documentation for {title}\":\"Зовнішня документація для {title}\",Favorite:\"Улюблений\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напої\",\"Frequently used\":\"Найчастіші\",Global:\"Глобальний\",\"Go back to the list\":\"Повернутися до списку\",\"Hide password\":\"Приховати пароль\",items:\"елементи\",\"Message limit of {count} characters reached\":\"Вичерпано ліміт у {count} символів для повідомлення\",\"More {dashboardItemType} …\":\"Більше {dashboardItemType}…\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",Open:\"Відкрити\",\"Open navigation\":\"Відкрити навігацію\",\"Password is secure\":\"Пароль безпечний\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",\"Please select a time zone:\":\"Виберіть часовий пояс:\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Settings navigation\":\"Навігація у налаштуваннях\",\"Show password\":\"Показати пароль\",\"Smileys & Emotion\":\"Смайли та емоції\",\"Start slideshow\":\"Почати показ слайдів\",Submit:\"Надіслати\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Type to search time zone\":\"Введіть для пошуку часовий пояс\",\"Unable to search the group\":\"Неможливо шукати в групі\",\"Undo changes\":\"Скасувати зміни\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напишіть повідомлення, @, щоб згадати когось, : для автозаповнення емодзі…\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",\"Anything shared with the same group of people will show up here\":\"与同组用户分享的所有内容都会显示于此\",\"Avatar of {displayName}\":\"{displayName}的头像\",\"Avatar of {displayName}, {status}\":\"{displayName}的头像,{status}\",\"Cancel changes\":\"取消更改\",\"Change title\":\"更改标题\",Choose:\"选择\",\"Clear text\":\"清除文本\",Close:\"关闭\",\"Close modal\":\"关闭窗口\",\"Close navigation\":\"关闭导航\",\"Close sidebar\":\"关闭侧边栏\",\"Confirm changes\":\"确认更改\",Custom:\"自定义\",\"Edit item\":\"编辑项目\",\"Error getting related resources\":\"获取相关资源时出错\",\"Error parsing svg\":\"解析 svg 时出错\",\"External documentation for {title}\":\"{title}的外部文档\",Favorite:\"喜爱\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",Global:\"全局\",\"Go back to the list\":\"返回至列表\",\"Hide password\":\"隐藏密码\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",\"More items …\":\"更多项目…\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",Open:\"打开\",'Open link to \"{resourceTitle}\"':'打开\"{resourceTitle}\"的连接',\"Open navigation\":\"开启导航\",\"Password is secure\":\"密码安全\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",\"Please select a time zone:\":\"请选择一个时区:\",Previous:\"上一个\",\"Related resources\":\"相关资源\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Show password\":\"显示密码\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Submit:\"提交\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Type to search time zone\":\"打字以搜索时区\",\"Unable to search the group\":\"无法搜索分组\",\"Undo changes\":\"撤销更改\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'写信息,使用\"@\"来提及某人,使用\":\"进行表情符号自动完成 ...'}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",\"Anything shared with the same group of people will show up here\":\"與同一組人共享的任何內容都會顯示在此處\",\"Avatar of {displayName}\":\"{displayName} 的頭像\",\"Avatar of {displayName}, {status}\":\"{displayName} 的頭像,{status}\",\"Cancel changes\":\"取消更改\",\"Change title\":\"更改標題\",Choose:\"選擇\",\"Clear text\":\"清除文本\",Close:\"關閉\",\"Close modal\":\"關閉模態\",\"Close navigation\":\"關閉導航\",\"Close sidebar\":\"關閉側邊欄\",\"Confirm changes\":\"確認更改\",Custom:\"自定義\",\"Edit item\":\"編輯項目\",\"Error getting related resources\":\"獲取相關資源出錯\",\"Error parsing svg\":\"解析 svg 時出錯\",\"External documentation for {title}\":\"{title} 的外部文檔\",Favorite:\"喜愛\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",Global:\"全球的\",\"Go back to the list\":\"返回清單\",\"Hide password\":\"隱藏密碼\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",\"More items …\":\"更多項目 …\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",Open:\"打開\",'Open link to \"{resourceTitle}\"':\"打開指向 “{resourceTitle}” 的鏈結\",\"Open navigation\":\"開啟導航\",\"Password is secure\":\"密碼是安全的\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Please select a time zone:\":\"請選擇時區:\",Previous:\"上一個\",\"Related resources\":\"相關資源\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Show password\":\"顯示密碼\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Type to search time zone\":\"鍵入以搜索時區\",\"Unable to search the group\":\"無法搜尋群組\",\"Undo changes\":\"取消更改\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'寫訊息,使用 \"@\" 來指代某人,使用 \":\" 用於表情符號自動填充 ...'}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(e){var t={};for(var o in e.translations)e.translations[o].pluralId?t[o]={msgid:o,msgid_plural:e.translations[o].pluralId,msgstr:e.translations[o].msgstr}:t[o]={msgid:o,msgstr:[e.translations[o]]};n.addTranslation(e.locale,{translations:{\"\":t}})}));var r=n.build(),i=(r.ngettext.bind(r),r.gettext.bind(r))},1205:(e,t,o)=>{\"use strict\";o.d(t,{Z:()=>a});const a=function(e){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").slice(0,e||5)}},1206:(e,t,o)=>{\"use strict\";o.d(t,{L:()=>a});o(4505);var a=function(){return Object.assign(window,{_nc_focus_trap:window._nc_focus_trap||[]}),window._nc_focus_trap}},8827:(e,t,o)=>{\"use strict\";o.d(t,{Z:()=>s});var a=o(7537),n=o.n(a),r=o(3645),i=o.n(r)()(n());i.push([e.id,\".material-design-icon[data-v-20a3e950]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-items[data-v-20a3e950]{display:flex;align-items:center}.action-items>button[data-v-20a3e950]{margin-right:7px}.action-item[data-v-20a3e950]{--open-background-color: var(--color-background-hover, $action-background-hover);position:relative;display:inline-block}.action-item.action-item--primary[data-v-20a3e950]{--open-background-color: var(--color-primary-element-hover)}.action-item.action-item--secondary[data-v-20a3e950]{--open-background-color: var(--color-primary-element-light-hover)}.action-item.action-item--error[data-v-20a3e950]{--open-background-color: var(--color-error-hover)}.action-item.action-item--warning[data-v-20a3e950]{--open-background-color: var(--color-warning-hover)}.action-item.action-item--success[data-v-20a3e950]{--open-background-color: var(--color-success-hover)}.action-item.action-item--tertiary-no-background[data-v-20a3e950]{--open-background-color: transparent}.action-item.action-item--open .action-item__menutoggle[data-v-20a3e950]{background-color:var(--open-background-color)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcActions/NcActions.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,+BACC,YAAA,CACA,kBAAA,CAGA,sCACC,gBAAA,CAIF,8BACC,gFAAA,CACA,iBAAA,CACA,oBAAA,CAEA,mDACC,2DAAA,CAGD,qDACC,iEAAA,CAGD,iDACC,iDAAA,CAGD,mDACC,mDAAA,CAGD,mDACC,mDAAA,CAGD,kEACC,oCAAA,CAGD,yEACC,6CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n// Inline buttons\\n.action-items {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\n\\t// Spacing between buttons\\n\\t& > button {\\n\\t\\tmargin-right: math.div($icon-margin, 2);\\n\\t}\\n}\\n\\n.action-item {\\n\\t--open-background-color: var(--color-background-hover, $action-background-hover);\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&.action-item--primary {\\n\\t\\t--open-background-color: var(--color-primary-element-hover);\\n\\t}\\n\\n\\t&.action-item--secondary {\\n\\t\\t--open-background-color: var(--color-primary-element-light-hover);\\n\\t}\\n\\n\\t&.action-item--error {\\n\\t\\t--open-background-color: var(--color-error-hover);\\n\\t}\\n\\n\\t&.action-item--warning {\\n\\t\\t--open-background-color: var(--color-warning-hover);\\n\\t}\\n\\n\\t&.action-item--success {\\n\\t\\t--open-background-color: var(--color-success-hover);\\n\\t}\\n\\n\\t&.action-item--tertiary-no-background {\\n\\t\\t--open-background-color: transparent;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\tbackground-color: var(--open-background-color);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=i},5565:(e,t,o)=>{\"use strict\";o.d(t,{Z:()=>s});var a=o(7537),n=o.n(a),r=o(3645),i=o.n(r)()(n());i.push([e.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper{border-radius:var(--border-radius-large);overflow:hidden}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner{border-radius:var(--border-radius-large);padding:4px;max-height:calc(50vh - 16px);overflow:auto}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcActions/NcActions.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,kFACC,wCAAA,CACA,eAAA,CAEA,mGACC,wCAAA,CACA,WAAA,CACA,4BAAA,CACA,aAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n// We overwrote the popover base class, so we can style\\n// the popover__inner for actions only.\\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper {\\n\\tborder-radius: var(--border-radius-large);\\n\\toverflow:hidden;\\n\\n\\t.v-popper__inner {\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tpadding: 4px;\\n\\t\\tmax-height: calc(50vh - 16px);\\n\\t\\toverflow: auto;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=i},9560:(e,t,o)=>{\"use strict\";o.d(t,{Z:()=>s});var a=o(7537),n=o.n(a),r=o(3645),i=o.n(r)()(n());i.push([e.id,\".material-design-icon[data-v-74afe090]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-crumb[data-v-74afe090]{background-image:none;display:inline-flex;height:44px;padding:0}.vue-crumb[data-v-74afe090]:last-child{max-width:210px;font-weight:bold}.vue-crumb:last-child .vue-crumb__separator[data-v-74afe090]{display:none}.vue-crumb>a[data-v-74afe090]:hover,.vue-crumb>a[data-v-74afe090]:focus{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb--hidden[data-v-74afe090]{display:none}.vue-crumb.vue-crumb--hovered>a[data-v-74afe090]{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb__separator[data-v-74afe090]{padding:0;color:var(--color-text-maxcontrast)}.vue-crumb>a[data-v-74afe090]{overflow:hidden;color:var(--color-text-maxcontrast);padding:12px;min-width:44px;max-width:100%;border-radius:var(--border-radius-pill);align-items:center;display:inline-flex;justify-content:center}.vue-crumb>a>span[data-v-74afe090]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item{max-width:100%}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item .button-vue{padding:0 4px 0 16px}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item .button-vue__wrapper{flex-direction:row-reverse}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item.action-item--open .action-item__menutoggle{background-color:var(--color-background-dark);color:var(--color-main-text)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcBreadcrumb/NcBreadcrumb.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,4BACC,qBAAA,CACA,mBAAA,CACA,WCmBgB,CDlBhB,SAAA,CAEA,uCACC,eAAA,CACA,gBAAA,CAGA,6DACC,YAAA,CAKF,wEAEC,6CAAA,CACA,4BAAA,CAGD,oCACC,YAAA,CAGD,iDACC,6CAAA,CACA,4BAAA,CAGD,uCACC,SAAA,CACA,mCAAA,CAGD,8BACC,eAAA,CACA,mCAAA,CACA,YAAA,CACA,cCnBe,CDoBf,cAAA,CACA,uCAAA,CACA,kBAAA,CACA,mBAAA,CACA,sBAAA,CAEA,mCACC,eAAA,CACA,sBAAA,CACA,kBAAA,CAMF,wDAEC,cAAA,CAEA,oEACC,oBAAA,CAEA,6EACC,0BAAA,CAKF,mGACC,6CAAA,CACA,4BAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.vue-crumb {\\n\\tbackground-image: none;\\n\\tdisplay: inline-flex;\\n\\theight: $clickable-area;\\n\\tpadding: 0;\\n\\n\\t&:last-child {\\n\\t\\tmax-width: 210px;\\n\\t\\tfont-weight: bold;\\n\\n\\t\\t// Don't show breadcrumb separator for last crumb\\n\\t\\t.vue-crumb__separator {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Hover and focus effect for crumbs\\n\\t& > a:hover,\\n\\t& > a:focus {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n\\n\\t&--hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t&#{&}--hovered > a {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n\\n\\t&__separator {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t> a {\\n\\t\\toverflow: hidden;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tpadding: 12px;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\tmax-width: 100%;\\n\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\talign-items: center;\\n\\t\\tdisplay: inline-flex;\\n\\t\\tjustify-content: center;\\n\\n\\t\\t> span {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t}\\n\\n\\t// Adjust action item appearance for crumbs with actions\\n\\t// to match other crumbs\\n\\t&:not(.dropdown) :deep(.action-item) {\\n\\t\\t// Adjustments necessary to correctly shrink on small screens\\n\\t\\tmax-width: 100%;\\n\\n\\t\\t.button-vue {\\n\\t\\t\\tpadding: 0 4px 0 16px;\\n\\n\\t\\t\\t&__wrapper {\\n\\t\\t\\t\\tflex-direction: row-reverse;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Adjust the background of the last crumb when the action is open\\n\\t\\t&.action-item--open .action-item__menutoggle {\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=i},1898:(e,t,o)=>{\"use strict\";o.d(t,{Z:()=>s});var a=o(7537),n=o.n(a),r=o(3645),i=o.n(r)()(n());i.push([e.id,\".material-design-icon[data-v-2e49be1e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-2e49be1e]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition-property:color,border-color,background-color;transition-duration:.1s;transition-timing-function:linear;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue *[data-v-2e49be1e],.button-vue span[data-v-2e49be1e]{cursor:pointer}.button-vue[data-v-2e49be1e]:focus{outline:none}.button-vue[data-v-2e49be1e]:disabled{cursor:default;opacity:.5;filter:saturate(0.7)}.button-vue:disabled *[data-v-2e49be1e]{cursor:default}.button-vue[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-light-hover)}.button-vue[data-v-2e49be1e]:active{background-color:var(--color-primary-element-light)}.button-vue__wrapper[data-v-2e49be1e]{display:inline-flex;align-items:center;justify-content:center;width:100%}.button-vue__icon[data-v-2e49be1e]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-2e49be1e]{font-weight:bold;margin-bottom:1px;padding:2px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button-vue--icon-only[data-v-2e49be1e]{width:44px !important}.button-vue--text-only[data-v-2e49be1e]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-2e49be1e]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-2e49be1e]{padding:0 16px 0 4px}.button-vue--wide[data-v-2e49be1e]{width:100%}.button-vue[data-v-2e49be1e]:focus-visible{outline:2px solid var(--color-main-text) !important}.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{outline:2px solid var(--color-primary-element-text);border-radius:var(--border-radius);background-color:rgba(0,0,0,0)}.button-vue--vue-primary[data-v-2e49be1e]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.button-vue--vue-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-2e49be1e]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-2e49be1e]{color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue--vue-secondary[data-v-2e49be1e]:hover:not(:disabled){color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light-hover)}.button-vue--vue-tertiary[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{color:var(--color-primary-element-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-success[data-v-2e49be1e]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-2e49be1e]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-2e49be1e]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-2e49be1e]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-2e49be1e]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-2e49be1e]:active{background-color:var(--color-error)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcButton/NcButton.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,kCAAA,CACA,gBAAA,CACA,eCcgB,CDbhB,cCagB,CDZhB,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,cAAA,CAKA,kBAAA,CACA,uDAAA,CACA,uBAAA,CACA,iCAAA,CAkBA,6CAAA,CACA,mDAAA,CA1BA,iEAEC,cAAA,CAQD,mCACC,YAAA,CAGD,sCACC,cAAA,CAIA,UCIiB,CDFjB,oBAAA,CALA,wCACC,cAAA,CAUF,kDACC,yDAAA,CAKD,oCACC,mDAAA,CAGD,sCACC,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAGD,mCACC,WCvCe,CDwCf,UCxCe,CDyCf,eCzCe,CD0Cf,cC1Ce,CD2Cf,YAAA,CACA,sBAAA,CACA,kBAAA,CAGD,mCACC,gBAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAID,wCACC,qBAAA,CAID,wCACC,cAAA,CACA,0DACC,eAAA,CACA,gBAAA,CAKF,4CACC,oBAAA,CAID,mCACC,UAAA,CAGD,2CACC,mDAAA,CACA,+EACC,mDAAA,CACA,kCAAA,CACA,8BAAA,CAOF,0CACC,6CAAA,CACA,uCAAA,CACA,+DACC,mDAAA,CAID,iDACC,6CAAA,CAKF,4CACC,6CAAA,CACA,mDAAA,CACA,iEACC,6CAAA,CACA,yDAAA,CAKF,2CACC,4BAAA,CACA,8BAAA,CACA,gEACC,6BAAA,CACA,8CAAA,CAKF,yDACC,4BAAA,CACA,8BAAA,CACA,8EACC,8BAAA,CAKF,sDACC,uCAAA,CACA,8BAAA,CAEA,2EACC,8BAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,wCACC,mCAAA,CACA,UAAA,CACA,6DACC,yCAAA,CAID,+CACC,mCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.button-vue {\\n\\tposition: relative;\\n\\twidth: fit-content;\\n\\toverflow: hidden;\\n\\tborder: 0;\\n\\tpadding: 0;\\n\\tfont-size: var(--default-font-size);\\n\\tfont-weight: bold;\\n\\tmin-height: $clickable-area;\\n\\tmin-width: $clickable-area;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\n\\t// Cursor pointer on element and all children\\n\\tcursor: pointer;\\n\\t& *,\\n\\tspan {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\tborder-radius: math.div($clickable-area, 2);\\n\\ttransition-property: color, border-color, background-color;\\n\\ttransition-duration: 0.1s;\\n\\ttransition-timing-function: linear;\\n\\n\\t// No outline feedback for focus. Handled with a toggled class in js (see data)\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\t& * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t// Gives a wash out effect\\n\\t\\tfilter: saturate($opacity_normal);\\n\\t}\\n\\n\\t// Default button type\\n\\tcolor: var(--color-primary-element-light-text);\\n\\tbackground-color: var(--color-primary-element-light);\\n\\t&:hover:not(:disabled) {\\n\\t\\tbackground-color: var(--color-primary-element-light-hover);\\n\\t}\\n\\n\\t// Back to the default color for this button when active\\n\\t// TODO: add ripple effect\\n\\t&:active {\\n\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\theight: $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-height: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__text {\\n\\t\\tfont-weight: bold;\\n\\t\\tmargin-bottom: 1px;\\n\\t\\tpadding: 2px 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t// Icon-only button\\n\\t&--icon-only {\\n\\t\\twidth: $clickable-area !important;\\n\\t}\\n\\n\\t// Text-only button\\n\\t&--text-only {\\n\\t\\tpadding: 0 12px;\\n\\t\\t& .button-vue__text {\\n\\t\\t\\tmargin-left: 4px;\\n\\t\\t\\tmargin-right: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Icon and text button\\n\\t&--icon-and-text {\\n\\t\\tpadding: 0 16px 0 4px;\\n\\t}\\n\\n\\t// Wide button spans the whole width of the container\\n\\t&--wide {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&:focus-visible {\\n\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t&.button-vue--vue-tertiary-on-primary {\\n\\t\\t\\toutline: 2px solid var(--color-primary-element-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Button types\\n\\n\\t// Primary\\n\\t&--vue-primary {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-primary-element-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n\\n\\t// Secondary\\n\\t&--vue-secondary {\\n\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\t\\tbackground-color: var(--color-primary-element-light-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary\\n\\t&--vue-tertiary {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary, no background\\n\\t&--vue-tertiary-no-background {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary on primary color (like the header)\\n\\t&--vue-tertiary-on-primary {\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\tbackground-color: transparent;\\n\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Success\\n\\t&--vue-success {\\n\\t\\tbackground-color: var(--color-success);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-success-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// : add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t}\\n\\n\\t// Warning\\n\\t&--vue-warning {\\n\\t\\tbackground-color: var(--color-warning);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-warning-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-warning);\\n\\t\\t}\\n\\t}\\n\\n\\t// Error\\n\\t&--vue-error {\\n\\t\\tbackground-color: var(--color-error);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-error-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=i},4401:(e,t,o)=>{\"use strict\";o.d(t,{Z:()=>s});var a=o(7537),n=o.n(a),r=o(3645),i=o.n(r)()(n());i.push([e.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:rgba(0,0,0,0);pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown.v-popper__popper{z-index:100000;top:0;left:0;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-dropdown.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);overflow:hidden;background:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-10px;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcPopover/NcPopover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,iBACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CACA,aAAA,CACA,eAAA,CACA,SAAA,CAGD,wBACC,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CAMA,2CACC,cAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CAEA,sDAAA,CAEA,4DACC,SAAA,CACA,4BAAA,CACA,kCAAA,CACA,eAAA,CACA,uCAAA,CAGD,sEACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBA1BW,CA6BZ,kGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAGD,qGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAGD,oGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAGD,mGACC,WAAA,CACA,oBAAA,CACA,8CAAA,CAGD,6DACC,iBAAA,CACA,2EAAA,CACA,SAAA,CAGD,8DACC,kBAAA,CACA,yCAAA,CACA,SAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.resize-observer {\\n\\tposition:absolute;\\n\\ttop:0;\\n\\tleft:0;\\n\\tz-index:-1;\\n\\twidth:100%;\\n\\theight:100%;\\n\\tborder:none;\\n\\tbackground-color:transparent;\\n\\tpointer-events:none;\\n\\tdisplay:block;\\n\\toverflow:hidden;\\n\\topacity:0\\n}\\n\\n.resize-observer object {\\n\\tdisplay:block;\\n\\tposition:absolute;\\n\\ttop:0;\\n\\tleft:0;\\n\\theight:100%;\\n\\twidth:100%;\\n\\toverflow:hidden;\\n\\tpointer-events:none;\\n\\tz-index:-1\\n}\\n\\n$arrow-width: 10px;\\n\\n.v-popper--theme-dropdown {\\n\\t&.v-popper__popper {\\n\\t\\tz-index: 100000;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block !important;\\n\\n\\t\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t\\t.v-popper__inner {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tbackground: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t.v-popper__arrow-container {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tz-index: 1;\\n\\t\\t\\twidth: 0;\\n\\t\\t\\theight: 0;\\n\\t\\t\\tborder-style: solid;\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tborder-width: $arrow-width;\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='top'] .v-popper__arrow-container {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='right'] .v-popper__arrow-container {\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='left'] .v-popper__arrow-container {\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[aria-hidden='true'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\n\\t\\t&[aria-hidden='false'] {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const s=i},3645:e=>{\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var o=\"\",a=void 0!==t[5];return t[4]&&(o+=\"@supports (\".concat(t[4],\") {\")),t[2]&&(o+=\"@media \".concat(t[2],\" {\")),a&&(o+=\"@layer\".concat(t[5].length>0?\" \".concat(t[5]):\"\",\" {\")),o+=e(t),a&&(o+=\"}\"),t[2]&&(o+=\"}\"),t[4]&&(o+=\"}\"),o})).join(\"\")},t.i=function(e,o,a,n,r){\"string\"==typeof e&&(e=[[null,e,void 0]]);var i={};if(a)for(var s=0;s0?\" \".concat(u[5]):\"\",\" {\").concat(u[1],\"}\")),u[5]=r),o&&(u[2]?(u[1]=\"@media \".concat(u[2],\" {\").concat(u[1],\"}\"),u[2]=o):u[2]=o),n&&(u[4]?(u[1]=\"@supports (\".concat(u[4],\") {\").concat(u[1],\"}\"),u[4]=n):u[4]=\"\".concat(n)),t.push(u))}},t}},7537:e=>{\"use strict\";e.exports=function(e){var t=e[1],o=e[3];if(!o)return t;if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),n=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),r=\"/*# \".concat(n,\" */\");return[t].concat([r]).join(\"\\n\")}return[t].join(\"\\n\")}},3379:e=>{\"use strict\";var t=[];function o(e){for(var o=-1,a=0;a{\"use strict\";var t={};e.exports=function(e,o){var a=function(e){if(void 0===t[e]){var o=document.querySelector(e);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch(e){o=null}t[e]=o}return t[e]}(e);if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(o)}},9216:e=>{\"use strict\";e.exports=function(e){var t=document.createElement(\"style\");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,o)=>{\"use strict\";e.exports=function(e){var t=o.nc;t&&e.setAttribute(\"nonce\",t)}},7795:e=>{\"use strict\";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(o){!function(e,t,o){var a=\"\";o.supports&&(a+=\"@supports (\".concat(o.supports,\") {\")),o.media&&(a+=\"@media \".concat(o.media,\" {\"));var n=void 0!==o.layer;n&&(a+=\"@layer\".concat(o.layer.length>0?\" \".concat(o.layer):\"\",\" {\")),a+=o.css,n&&(a+=\"}\"),o.media&&(a+=\"}\"),o.supports&&(a+=\"}\");var r=o.sourceMap;r&&\"undefined\"!=typeof btoa&&(a+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\" */\")),t.styleTagTransform(a,e,t.options)}(t,e,o)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{\"use strict\";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},5727:()=>{},6591:()=>{},2102:()=>{},2405:()=>{},1900:(e,t,o)=>{\"use strict\";function a(e,t,o,a,n,r,i,s){var l,c=\"function\"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=o,c._compiled=!0),a&&(c.functional=!0),r&&(c._scopeId=\"data-v-\"+r),i?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},c._ssrRegister=l):n&&(l=s?function(){n.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:n),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}o.d(t,{Z:()=>a})},7931:e=>{\"use strict\";e.exports=require(\"@nextcloud/l10n/gettext\")},9454:e=>{\"use strict\";e.exports=require(\"floating-vue\")},4505:e=>{\"use strict\";e.exports=require(\"focus-trap\")},2734:e=>{\"use strict\";e.exports=require(\"vue\")},9044:e=>{\"use strict\";e.exports=require(\"vue-material-design-icons/ChevronRight.vue\")},1441:e=>{\"use strict\";e.exports=require(\"vue-material-design-icons/DotsHorizontal.vue\")}},t={};function o(a){var n=t[a];if(void 0!==n)return n.exports;var r=t[a]={id:a,exports:{}};return e[a](r,r.exports,o),r.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var a in t)o.o(t,a)&&!o.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},o.nc=void 0;var a={};return(()=>{\"use strict\";o.r(a),o.d(a,{default:()=>x});var e=o(644),t=o(1205),n=o(9044),r=o.n(n);function i(e){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i(e)}function s(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,a)}return o}function l(e){for(var t=1;t(()=>{var e={6299:(e,t,n)=>{\"use strict\";n.d(t,{default:()=>k});const o={name:\"NcActionLink\",mixins:[n(1139).Z],props:{href:{type:String,default:\"#\",required:!0,validator:function(e){try{return new URL(e)}catch(t){return e.startsWith(\"#\")||e.startsWith(\"/\")}}},download:{type:String,default:null},target:{type:String,default:\"_self\",validator:function(e){return e&&(!e.startsWith(\"_\")||[\"_blank\",\"_self\",\"_parent\",\"_top\"].indexOf(e)>-1)}},title:{type:String,default:null},ariaHidden:{type:Boolean,default:null}}};var a=n(3379),i=n.n(a),r=n(7795),s=n.n(r),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),m=n.n(p),g=n(4589),h=n.n(g),A=n(1759),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=m();i()(A.Z,v);A.Z&&A.Z.locals&&A.Z.locals;var f=n(1900),b=n(9158),C=n.n(b),y=(0,f.Z)(o,(function(){var e=this,t=e._self._c;return t(\"li\",{staticClass:\"action\"},[t(\"a\",{staticClass:\"action-link focusable\",attrs:{download:e.download,href:e.href,\"aria-label\":e.ariaLabel,target:e.target,title:e.title,rel:\"nofollow noreferrer noopener\"},on:{click:e.onClick}},[e._t(\"icon\",(function(){return[t(\"span\",{staticClass:\"action-link__icon\",class:[e.isIconUrl?\"action-link__icon--url\":e.icon],style:{backgroundImage:e.isIconUrl?\"url(\".concat(e.icon,\")\"):null},attrs:{\"aria-hidden\":e.ariaHidden}})]})),e._v(\" \"),e.nameTitleFallback?t(\"p\",[t(\"strong\",{staticClass:\"action-link__title\"},[e._v(\"\\n\\t\\t\\t\\t\"+e._s(e.nameTitleFallback)+\"\\n\\t\\t\\t\")]),e._v(\" \"),t(\"br\"),e._v(\" \"),t(\"span\",{staticClass:\"action-link__longtext\",domProps:{textContent:e._s(e.text)}})]):e.isLongText?t(\"p\",{staticClass:\"action-link__longtext\",domProps:{textContent:e._s(e.text)}}):t(\"span\",{staticClass:\"action-link__text\"},[e._v(e._s(e.text))]),e._v(\" \"),e._e()],2)])}),[],!1,null,\"1ba1edf1\",null);\"function\"==typeof C()&&C()(y);const k=y.exports},1484:(e,t,n)=>{\"use strict\";n.d(t,{default:()=>f});const o={name:\"NcActionRouter\",mixins:[n(1139).Z],props:{to:{type:[String,Object],default:\"\",required:!0},exact:{type:Boolean,default:!1}}};var a=n(3379),i=n.n(a),r=n(7795),s=n.n(r),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),p=n(9216),m=n.n(p),g=n(4589),h=n.n(g),A=n(2180),v={};v.styleTagTransform=h(),v.setAttributes=d(),v.insert=c().bind(null,\"head\"),v.domAPI=s(),v.insertStyleElement=m();i()(A.Z,v);A.Z&&A.Z.locals&&A.Z.locals;const f=(0,n(1900).Z)(o,(function(){var e=this,t=e._self._c;return t(\"li\",{staticClass:\"action\"},[t(\"router-link\",{staticClass:\"action-router focusable\",attrs:{to:e.to,\"aria-label\":e.ariaLabel,exact:e.exact,title:e.title,rel:\"nofollow noreferrer noopener\"},nativeOn:{click:function(t){return e.onClick.apply(null,arguments)}}},[e._t(\"icon\",(function(){return[t(\"span\",{staticClass:\"action-router__icon\",class:[e.isIconUrl?\"action-router__icon--url\":e.icon],style:{backgroundImage:e.isIconUrl?\"url(\".concat(e.icon,\")\"):null}})]})),e._v(\" \"),e.nameTitleFallback?t(\"p\",[t(\"strong\",{staticClass:\"action-router__title\"},[e._v(\"\\n\\t\\t\\t\\t\"+e._s(e.nameTitleFallback)+\"\\n\\t\\t\\t\")]),e._v(\" \"),t(\"br\"),e._v(\" \"),t(\"span\",{staticClass:\"action-router__longtext\",domProps:{textContent:e._s(e.text)}})]):e.isLongText?t(\"p\",{staticClass:\"action-router__longtext\",domProps:{textContent:e._s(e.text)}}):t(\"span\",{staticClass:\"action-router__text\"},[e._v(e._s(e.text))]),e._v(\" \"),e._e()],2)],1)}),[],!1,null,\"ab5e8848\",null).exports},644:(e,t,n)=>{\"use strict\";n.d(t,{default:()=>L});var o=n(9104),a=n(5825),i=n(1205),r=n(932),s=n(2734),l=n.n(s),c=n(1441),u=n.n(c);function d(e){return d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},d(e)}function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function m(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&void 0!==arguments[0])||arguments[0];this.opened&&(this.opened=!1,this.$refs.popover.clearFocusTrap({returnFocus:e}),this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.$el.focus())},onOpen:function(e){var t=this;this.$nextTick((function(){t.focusFirstAction(e)}))},onMouseFocusAction:function(e){if(document.activeElement!==e.target){var t=e.target.closest(\"li\");if(t){var n=t.querySelector(v);if(n){var o=h(this.$refs.menu.querySelectorAll(v)).indexOf(n);o>-1&&(this.focusIndex=o,this.focusAction())}}}},onKeydown:function(e){(38===e.keyCode||9===e.keyCode&&e.shiftKey)&&this.focusPreviousAction(e),(40===e.keyCode||9===e.keyCode&&!e.shiftKey)&&this.focusNextAction(e),33===e.keyCode&&this.focusFirstAction(e),34===e.keyCode&&this.focusLastAction(e),27===e.keyCode&&(this.closeMenu(),e.preventDefault())},removeCurrentActive:function(){var e=this.$refs.menu.querySelector(\"li.active\");e&&e.classList.remove(\"active\")},focusAction:function(){var e=this.$refs.menu.querySelectorAll(v)[this.focusIndex];if(e){this.removeCurrentActive();var t=e.closest(\"li.action\");e.focus(),t&&t.classList.add(\"active\")}},focusPreviousAction:function(e){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(e){if(this.opened){var t=this.$refs.menu.querySelectorAll(v).length-1;this.focusIndex===t?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=0,this.focusAction())},focusLastAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=this.$refs.menu.querySelectorAll(v).length-1,this.focusAction())},preventIfEvent:function(e){e&&(e.preventDefault(),e.stopPropagation())},onFocus:function(e){this.$emit(\"focus\",e)},onBlur:function(e){this.$emit(\"blur\",e)}},render:function(e){var t=this,n=(this.$slots.default||[]).filter((function(e){var t,n,o,a;return(null==e||null===(t=e.componentOptions)||void 0===t?void 0:t.tag)||(null==e||null===(n=e.componentOptions)||void 0===n||null===(o=n.Ctor)||void 0===o||null===(a=o.extendOptions)||void 0===a?void 0:a.name)})),o=n.every((function(e){var t,n,o,a,i,r,s,l;return\"NcActionLink\"===(null!==(t=null==e||null===(n=e.componentOptions)||void 0===n||null===(o=n.Ctor)||void 0===o||null===(a=o.extendOptions)||void 0===a?void 0:a.name)&&void 0!==t?t:null==e||null===(i=e.componentOptions)||void 0===i?void 0:i.tag)&&(null==e||null===(r=e.componentOptions)||void 0===r||null===(s=r.propsData)||void 0===s||null===(l=s.href)||void 0===l?void 0:l.startsWith(window.location.origin))})),a=n.filter(this.isValidSingleAction);if(this.forceMenu&&a.length>0&&this.inline>0&&(l().util.warn(\"Specifying forceMenu will ignore any inline actions rendering.\"),a=[]),0!==n.length){var i=function(n){var o,a,i,r,s,l,c,u,d,p,g,h,A,v,f,b,C,y,k,w,S,x,j=(null==n||null===(o=n.data)||void 0===o||null===(a=o.scopedSlots)||void 0===a||null===(i=a.icon())||void 0===i?void 0:i[0])||e(\"span\",{class:[\"icon\",null==n||null===(r=n.componentOptions)||void 0===r||null===(s=r.propsData)||void 0===s?void 0:s.icon]}),N=null==n||null===(l=n.componentOptions)||void 0===l||null===(c=l.listeners)||void 0===c?void 0:c.click,z=null==n||null===(u=n.componentOptions)||void 0===u||null===(d=u.children)||void 0===d||null===(p=d[0])||void 0===p||null===(g=p.text)||void 0===g||null===(h=g.trim)||void 0===h?void 0:h.call(g),P=(null==n||null===(A=n.componentOptions)||void 0===A||null===(v=A.propsData)||void 0===v?void 0:v.ariaLabel)||z,E=t.forceTitle?z:\"\",B=null==n||null===(f=n.componentOptions)||void 0===f||null===(b=f.propsData)||void 0===b?void 0:b.title;return t.forceTitle||B||(B=z),e(\"NcButton\",{class:[\"action-item action-item--single\",null==n||null===(C=n.data)||void 0===C?void 0:C.staticClass,null==n||null===(y=n.data)||void 0===y?void 0:y.class],attrs:{\"aria-label\":P,title:B},ref:null==n||null===(k=n.data)||void 0===k?void 0:k.ref,props:m({type:t.type||(E?\"secondary\":\"tertiary\"),disabled:t.disabled||(null==n||null===(w=n.componentOptions)||void 0===w||null===(S=w.propsData)||void 0===S?void 0:S.disabled),ariaHidden:t.ariaHidden},null==n||null===(x=n.componentOptions)||void 0===x?void 0:x.propsData),on:m({focus:t.onFocus,blur:t.onBlur},!!N&&{click:function(e){N&&N(e)}})},[e(\"template\",{slot:\"icon\"},[j]),E])},r=function(n){var a,i,r=(null===(a=t.$slots.icon)||void 0===a?void 0:a[0])||(t.defaultIcon?e(\"span\",{class:[\"icon\",t.defaultIcon]}):e(\"DotsHorizontal\",{props:{size:20}}));return e(\"NcPopover\",{ref:\"popover\",props:{delay:0,handleResize:!0,shown:t.opened,placement:t.placement,boundary:t.boundariesElement,container:t.container,popoverBaseClass:\"action-item__popper\",setReturnFocus:null===(i=t.$refs.menuButton)||void 0===i?void 0:i.$el},attrs:{delay:0,handleResize:!0,shown:t.opened,placement:t.placement,boundary:t.boundariesElement,container:t.container,popoverBaseClass:\"action-item__popper\"},on:{show:t.openMenu,\"after-show\":t.onOpen,hide:t.closeMenu}},[e(\"NcButton\",{class:\"action-item__menutoggle\",props:{type:t.triggerBtnType,disabled:t.disabled,ariaHidden:t.ariaHidden},slot:\"trigger\",ref:\"menuButton\",attrs:{\"aria-haspopup\":o?null:\"menu\",\"aria-label\":t.ariaLabel,\"aria-controls\":t.opened?t.randomId:null,\"aria-expanded\":t.opened.toString()},on:{focus:t.onFocus,blur:t.onBlur}},[e(\"template\",{slot:\"icon\"},[r]),t.menuTitle]),e(\"div\",{class:{open:t.opened},attrs:{tabindex:\"-1\"},on:{keydown:t.onKeydown,mousemove:t.onMouseFocusAction},ref:\"menu\"},[e(\"ul\",{attrs:{id:t.randomId,tabindex:\"-1\",role:o?null:\"menu\"}},[n])])])};if(1===n.length&&1===a.length&&!this.forceMenu)return i(a[0]);if(a.length>0&&this.inline>0){var s=a.slice(0,this.inline),c=n.filter((function(e){return!s.includes(e)}));return e(\"div\",{class:[\"action-items\",\"action-item--\".concat(this.triggerBtnType)]},[].concat(h(s.map(i)),[c.length>0?e(\"div\",{class:[\"action-item\",{\"action-item--open\":this.opened}]},[r(c)]):null]))}return e(\"div\",{class:[\"action-item action-item--default-popover\",\"action-item--\".concat(this.triggerBtnType),{\"action-item--open\":this.opened}]},[r(n)])}}};var b=n(3379),C=n.n(b),y=n(7795),k=n.n(y),w=n(569),S=n.n(w),x=n(3565),j=n.n(x),N=n(9216),z=n.n(N),P=n(4589),E=n.n(P),B=n(8827),_={};_.styleTagTransform=E(),_.setAttributes=j(),_.insert=S().bind(null,\"head\"),_.domAPI=k(),_.insertStyleElement=z();C()(B.Z,_);B.Z&&B.Z.locals&&B.Z.locals;var O=n(5565),T={};T.styleTagTransform=E(),T.setAttributes=j(),T.insert=S().bind(null,\"head\"),T.domAPI=k(),T.insertStyleElement=z();C()(O.Z,T);O.Z&&O.Z.locals&&O.Z.locals;var D=n(1900),F=n(5727),G=n.n(F),$=(0,D.Z)(f,undefined,undefined,!1,null,\"20a3e950\",null);\"function\"==typeof G()&&G()($);const L=$.exports},6882:(e,t,n)=>{\"use strict\";n.d(t,{default:()=>E});var o=n(644),a=n(1205),i=n(9044),r=n.n(i);function s(e){return s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},s(e)}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function c(e){for(var t=1;t{\"use strict\";function o(e){return o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},o(e)}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;tj});const s={name:\"NcButton\",props:{disabled:{type:Boolean,default:!1},type:{type:String,validator:function(e){return-1!==[\"primary\",\"secondary\",\"tertiary\",\"tertiary-no-background\",\"tertiary-on-primary\",\"error\",\"warning\",\"success\"].indexOf(e)},default:\"secondary\"},nativeType:{type:String,validator:function(e){return-1!==[\"submit\",\"reset\",\"button\"].indexOf(e)},default:\"button\"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},href:{type:String,default:null},to:{type:[String,Object],default:null},exact:{type:Boolean,default:!1},ariaHidden:{type:Boolean,default:null}},render:function(e){var t,n,o,a,s,l=this,c=null===(t=this.$slots.default)||void 0===t||null===(n=t[0])||void 0===n||null===(o=n.text)||void 0===o||null===(a=o.trim)||void 0===a?void 0:a.call(o),u=!!c,d=null===(s=this.$slots)||void 0===s?void 0:s.icon;c||this.ariaLabel||console.warn(\"You need to fill either the text or the ariaLabel props in the button component.\",{text:c,ariaLabel:this.ariaLabel},this);var p=function(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=n.navigate,a=n.isActive,s=n.isExactActive;return e(l.to||!l.href?\"button\":\"a\",{class:[\"button-vue\",(t={\"button-vue--icon-only\":d&&!u,\"button-vue--text-only\":u&&!d,\"button-vue--icon-and-text\":d&&u},r(t,\"button-vue--vue-\".concat(l.type),l.type),r(t,\"button-vue--wide\",l.wide),r(t,\"active\",a),r(t,\"router-link-exact-active\",s),t)],attrs:i({\"aria-label\":l.ariaLabel,disabled:l.disabled,type:l.href?null:l.nativeType,role:l.href?\"button\":null,href:!l.to&&l.href?l.href:null},l.$attrs),on:i(i({},l.$listeners),{},{click:function(e){var t,n;null===(t=l.$listeners)||void 0===t||null===(n=t.click)||void 0===n||n.call(t,e),null==o||o(e)}})},[e(\"span\",{class:\"button-vue__wrapper\"},[d?e(\"span\",{class:\"button-vue__icon\",attrs:{\"aria-hidden\":l.ariaHidden}},[l.$slots.icon]):null,u?e(\"span\",{class:\"button-vue__text\"},[c]):null])])};return this.to?e(\"router-link\",{props:{custom:!0,to:this.to,exact:this.exact},scopedSlots:{default:p}}):p()}};var l=n(3379),c=n.n(l),u=n(7795),d=n.n(u),p=n(569),m=n.n(p),g=n(3565),h=n.n(g),A=n(9216),v=n.n(A),f=n(4589),b=n.n(f),C=n(1898),y={};y.styleTagTransform=b(),y.setAttributes=h(),y.insert=m().bind(null,\"head\"),y.domAPI=d(),y.insertStyleElement=v();c()(C.Z,y);C.Z&&C.Z.locals&&C.Z.locals;var k=n(1900),w=n(2102),S=n.n(w),x=(0,k.Z)(s,undefined,undefined,!1,null,\"2e49be1e\",null);\"function\"==typeof S()&&S()(x);const j=x.exports},5825:(e,t,n)=>{\"use strict\";n.d(t,{default:()=>P});var o=n(9454),a=n(4505),i=n(1206);function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function s(){s=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},a=\"function\"==typeof Symbol?Symbol:{},i=a.iterator||\"@@iterator\",l=a.asyncIterator||\"@@asyncIterator\",c=a.toStringTag||\"@@toStringTag\";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},\"\")}catch(e){u=function(e,t,n){return e[t]=n}}function d(e,t,n,a){var i=t&&t.prototype instanceof g?t:g,r=Object.create(i.prototype),s=new N(a||[]);return o(r,\"_invoke\",{value:w(e,n,s)}),r}function p(e,t,n){try{return{type:\"normal\",arg:e.call(t,n)}}catch(e){return{type:\"throw\",arg:e}}}e.wrap=d;var m={};function g(){}function h(){}function A(){}var v={};u(v,i,(function(){return this}));var f=Object.getPrototypeOf,b=f&&f(f(z([])));b&&b!==t&&n.call(b,i)&&(v=b);var C=A.prototype=g.prototype=Object.create(v);function y(e){[\"next\",\"throw\",\"return\"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function a(o,i,s,l){var c=p(e[o],e,i);if(\"throw\"!==c.type){var u=c.arg,d=u.value;return d&&\"object\"==r(d)&&n.call(d,\"__await\")?t.resolve(d.__await).then((function(e){a(\"next\",e,s,l)}),(function(e){a(\"throw\",e,s,l)})):t.resolve(d).then((function(e){u.value=e,s(u)}),(function(e){return a(\"throw\",e,s,l)}))}l(c.arg)}var i;o(this,\"_invoke\",{value:function(e,n){function o(){return new t((function(t,o){a(e,n,t,o)}))}return i=i?i.then(o,o):o()}})}function w(e,t,n){var o=\"suspendedStart\";return function(a,i){if(\"executing\"===o)throw new Error(\"Generator is already running\");if(\"completed\"===o){if(\"throw\"===a)throw i;return P()}for(n.method=a,n.arg=i;;){var r=n.delegate;if(r){var s=S(r,n);if(s){if(s===m)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===o)throw o=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);o=\"executing\";var l=p(e,t,n);if(\"normal\"===l.type){if(o=n.done?\"completed\":\"suspendedYield\",l.arg===m)continue;return{value:l.arg,done:n.done}}\"throw\"===l.type&&(o=\"completed\",n.method=\"throw\",n.arg=l.arg)}}}function S(e,t){var n=t.method,o=e.iterator[n];if(void 0===o)return t.delegate=null,\"throw\"===n&&e.iterator.return&&(t.method=\"return\",t.arg=void 0,S(e,t),\"throw\"===t.method)||\"return\"!==n&&(t.method=\"throw\",t.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),m;var a=p(o,e.iterator,t.arg);if(\"throw\"===a.type)return t.method=\"throw\",t.arg=a.arg,t.delegate=null,m;var i=a.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,\"return\"!==t.method&&(t.method=\"next\",t.arg=void 0),t.delegate=null,m):i:(t.method=\"throw\",t.arg=new TypeError(\"iterator result is not an object\"),t.delegate=null,m)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function j(e){var t=e.completion||{};t.type=\"normal\",delete t.arg,e.completion=t}function N(e){this.tryEntries=[{tryLoc:\"root\"}],e.forEach(x,this),this.reset(!0)}function z(e){if(e){var t=e[i];if(t)return t.call(e);if(\"function\"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function t(){for(;++o=0;--a){var i=this.tryEntries[a],r=i.completion;if(\"root\"===i.tryLoc)return o(\"end\");if(i.tryLoc<=this.prev){var s=n.call(i,\"catchLoc\"),l=n.call(i,\"finallyLoc\");if(s&&l){if(this.prev=0;--o){var a=this.tryEntries[o];if(a.tryLoc<=this.prev&&n.call(a,\"finallyLoc\")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),j(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if(\"throw\"===o.type){var a=o.arg;j(n)}return a}}throw new Error(\"illegal catch attempt\")},delegateYield:function(e,t,n){return this.delegate={iterator:z(e),resultName:t,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),m}},e}function l(e,t,n,o,a,i,r){try{var s=e[i](r),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(o,a)}const c={name:\"NcPopover\",components:{Dropdown:o.Dropdown},inheritAttrs:!1,props:{popoverBaseClass:{type:String,default:\"\"},focusTrap:{type:Boolean,default:!0},setReturnFocus:{default:void 0,type:[HTMLElement,SVGElement,String,Boolean]}},emits:[\"after-show\",\"after-hide\"],beforeDestroy:function(){this.clearFocusTrap()},methods:{useFocusTrap:function(){var e,t=this;return(e=s().mark((function e(){var n,o,r;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.$nextTick();case 2:if(t.focusTrap){e.next=4;break}return e.abrupt(\"return\");case 4:if(r=null===(n=t.$refs.popover)||void 0===n||null===(o=n.$refs.popperContent)||void 0===o?void 0:o.$el){e.next=7;break}return e.abrupt(\"return\");case 7:t.$focusTrap=(0,a.createFocusTrap)(r,{escapeDeactivates:!1,allowOutsideClick:!0,setReturnFocus:t.setReturnFocus,trapStack:(0,i.L)()}),t.$focusTrap.activate();case 9:case\"end\":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(o,a){var i=e.apply(t,n);function r(e){l(i,o,a,r,s,\"next\",e)}function s(e){l(i,o,a,r,s,\"throw\",e)}r(void 0)}))})()},clearFocusTrap:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{var t;null===(t=this.$focusTrap)||void 0===t||t.deactivate(e),this.$focusTrap=null}catch(e){console.warn(e)}},afterShow:function(){var e=this;this.$nextTick((function(){e.$emit(\"after-show\"),e.useFocusTrap()}))},afterHide:function(){this.$emit(\"after-hide\"),this.clearFocusTrap()}}},u=c;var d=n(3379),p=n.n(d),m=n(7795),g=n.n(m),h=n(569),A=n.n(h),v=n(3565),f=n.n(v),b=n(9216),C=n.n(b),y=n(4589),k=n.n(y),w=n(4401),S={};S.styleTagTransform=k(),S.setAttributes=f(),S.insert=A().bind(null,\"head\"),S.domAPI=g(),S.insertStyleElement=C();p()(w.Z,S);w.Z&&w.Z.locals&&w.Z.locals;var x=n(1900),j=n(2405),N=n.n(j),z=(0,x.Z)(u,(function(){var e=this;return(0,e._self._c)(\"Dropdown\",e._g(e._b({ref:\"popover\",attrs:{distance:10,\"arrow-padding\":10,\"no-auto-focus\":!0,\"popper-class\":e.popoverBaseClass},on:{\"apply-show\":e.afterShow,\"apply-hide\":e.afterHide},scopedSlots:e._u([{key:\"popper\",fn:function(){return[e._t(\"default\")]},proxy:!0}],null,!0)},\"Dropdown\",e.$attrs,!1),e.$listeners),[e._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof N()&&N()(z);const P=z.exports},932:(e,t,n)=>{\"use strict\";n.d(t,{t:()=>r});var o=n(7931),a=(0,o.getGettextBuilder)().detectLocale();[{locale:\"ar\",translations:{\"{tag} (invisible)\":\"{tag} (غير مرئي)\",\"{tag} (restricted)\":\"{tag} (مقيد)\",Actions:\"الإجراءات\",Activities:\"النشاطات\",\"Animals & Nature\":\"الحيوانات والطبيعة\",\"Anything shared with the same group of people will show up here\":\"أي مادة تمت مشاركتها مع نفس المجموعة من الأشخاص سيتم عرضها هنا\",\"Avatar of {displayName}\":\"صورة {displayName} الرمزية\",\"Avatar of {displayName}, {status}\":\"صورة {displayName} الرمزية، {status}\",\"Cancel changes\":\"إلغاء التغييرات\",\"Change title\":\"تغيير العنوان\",Choose:\"إختيار\",\"Clear text\":\"مسح النص\",Close:\"أغلق\",\"Close modal\":\"قفل الشرط\",\"Close navigation\":\"إغلاق المتصفح\",\"Close sidebar\":\"قفل الشريط الجانبي\",\"Confirm changes\":\"تأكيد التغييرات\",Custom:\"مخصص\",\"Edit item\":\"تعديل عنصر\",\"Error getting related resources\":\"خطأ في تحصيل مصادر ذات صلة\",\"External documentation for {title}\":\"الوثائق الخارجية لـ{title}\",Favorite:\"مفضلة\",Flags:\"الأعلام\",\"Food & Drink\":\"الطعام والشراب\",\"Frequently used\":\"كثيرا ما تستخدم\",Global:\"عالمي\",\"Go back to the list\":\"العودة إلى القائمة\",\"Hide password\":\"إخفاء كلمة السر\",\"Message limit of {count} characters reached\":\"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف\",\"More items …\":\"عناصر أخرى ...\",Next:\"التالي\",\"No emoji found\":\"لم يتم العثور على أي رمز تعبيري\",\"No results\":\"ليس هناك أية نتيجة\",Objects:\"الأشياء\",Open:\"فتح\",'Open link to \"{resourceTitle}\"':'فتح رابط إلى \"{resourceTitle}\"',\"Open navigation\":\"فتح المتصفح\",\"Password is secure\":\"كلمة السر مُؤمّنة\",\"Pause slideshow\":\"إيقاف العرض مؤقتًا\",\"People & Body\":\"الناس والجسم\",\"Pick an emoji\":\"اختر رمزًا تعبيريًا\",\"Please select a time zone:\":\"الرجاء تحديد المنطقة الزمنية:\",Previous:\"السابق\",\"Related resources\":\"مصادر ذات صلة\",Search:\"بحث\",\"Search results\":\"نتائج البحث\",\"Select a tag\":\"اختر علامة\",Settings:\"الإعدادات\",\"Settings navigation\":\"إعدادات المتصفح\",\"Show password\":\"أعرض كلمة السر\",\"Smileys & Emotion\":\"الوجوه و الرموز التعبيرية\",\"Start slideshow\":\"بدء العرض\",Submit:\"إرسال\",Symbols:\"الرموز\",\"Travel & Places\":\"السفر والأماكن\",\"Type to search time zone\":\"اكتب للبحث عن منطقة زمنية\",\"Unable to search the group\":\"تعذر البحث في المجموعة\",\"Undo changes\":\"التراجع عن التغييرات\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ...\"}},{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Anything shared with the same group of people will show up here\":\"Qualsevol cosa compartida amb el mateix grup de persones es mostrarà aquí\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancel·la els canvis\",\"Change title\":\"Canviar títol\",Choose:\"Tria\",\"Clear text\":\"Netejar text\",Close:\"Tanca\",\"Close modal\":\"Tancar el mode\",\"Close navigation\":\"Tanca la navegació\",\"Close sidebar\":\"Tancar la barra lateral\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"Edit item\":\"Edita l'element\",\"Error getting related resources\":\"Error obtenint els recursos relacionats\",\"Error parsing svg\":\"Error en l'anàlisi del svg\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Favorite:\"Preferit\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",Global:\"Global\",\"Go back to the list\":\"Torna a la llista\",\"Hide password\":\"Amagar contrasenya\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",\"More items …\":\"Més artícles...\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",Open:\"Obrir\",'Open link to \"{resourceTitle}\"':'Obrir enllaç a \"{resourceTitle}\"',\"Open navigation\":\"Obre la navegació\",\"Password is secure\":\"Contrasenya segura
\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",\"Please select a time zone:\":\"Seleccioneu una zona horària:\",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionats\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Seleccioneu una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Show password\":\"Mostrar contrasenya\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Type to search time zone\":\"Escriviu per cercar la zona horària\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Undo changes\":\"Desfés els canvis\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escriu missatge, fes servir \"@\" per esmentar algú, fes servir \":\" per autocompletar emojis...'}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Anything shared with the same group of people will show up here\":\"Cokoli nasdíleného stejné skupině lidí se zobrazí zde\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Avatar of {displayName}, {status}\":\"Zástupný obrázek uživatele {displayName}, {status}\",\"Cancel changes\":\"Zrušit změny\",\"Change title\":\"Změnit nadpis\",Choose:\"Zvolit\",\"Clear text\":\"Čitelný text\",Close:\"Zavřít\",\"Close modal\":\"Zavřít dialogové okno\",\"Close navigation\":\"Zavřít navigaci\",\"Close sidebar\":\"Zavřít postranní panel\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"Edit item\":\"Upravit položku\",\"Error getting related resources\":\"Chyba při získávání souvisejících prostředků\",\"Error parsing svg\":\"Chyba při zpracovávání svg\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Favorite:\"Oblíbené\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Go back to the list\":\"Jít zpět na seznam\",\"Hide password\":\"Skrýt heslo\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",\"More items …\":\"Další položky…\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",Open:\"Otevřít\",'Open link to \"{resourceTitle}\"':\"Otevřít odkaz na „{resourceTitle}“\",\"Open navigation\":\"Otevřít navigaci\",\"Password is secure\":\"Heslo je bezpečné\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",\"Related resources\":\"Související prostředky\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Show password\":\"Zobrazit heslo\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Undo changes\":\"Vzít změny zpět\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':\"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem „@“ (zavináč); automatické doplňování emotikonů zahájíte napsáním „:“ (dvojtečky)…\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",\"Anything shared with the same group of people will show up here\":\"Alt der deles med samme gruppe af personer vil vises her\",\"Avatar of {displayName}\":\"Avatar af {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar af {displayName}, {status}\",\"Cancel changes\":\"Annuller ændringer\",\"Change title\":\"Ret titel\",Choose:\"Vælg\",\"Clear text\":\"Ryd tekst\",Close:\"Luk\",\"Close modal\":\"Luk vindue\",\"Close navigation\":\"Luk navigation\",\"Close sidebar\":\"Luk sidepanel\",\"Confirm changes\":\"Bekræft ændringer\",Custom:\"Brugerdefineret\",\"Edit item\":\"Rediger emne\",\"Error getting related resources\":\"Kunne ikke hente tilknyttede data\",\"Error parsing svg\":\"Fejl ved analysering af svg\",\"External documentation for {title}\":\"Ekstern dokumentation for {title}\",Favorite:\"Favorit\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",Global:\"Global\",\"Go back to the list\":\"Tilbage til listen\",\"Hide password\":\"Skjul kodeord\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",\"More items …\":\"Mere ...\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",Open:\"Åbn\",'Open link to \"{resourceTitle}\"':'Åbn link til \"{resourceTitle}\"',\"Open navigation\":\"Åbn navigation\",\"Password is secure\":\"Kodeordet er sikkert\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",\"Please select a time zone:\":\"Vælg venligst en tidszone:\",Previous:\"Forrige\",\"Related resources\":\"Relaterede emner\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Show password\":\"Vis kodeord\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Type to search time zone\":\"Indtast for at søge efter tidszone\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Undo changes\":\"Fortryd ændringer\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv besked, brug \"@\" for at nævne nogen, brug \":\" til emoji-autofuldførelse ...'}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Anything shared with the same group of people will show up here\":\"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",\"Change title\":\"Titel ändern\",Choose:\"Auswählen\",\"Clear text\":\"Klartext\",Close:\"Schließen\",\"Close modal\":\"Modal schließen\",\"Close navigation\":\"Navigation schließen\",\"Close sidebar\":\"Seitenleiste schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"Error getting related resources\":\"Fehler beim Abrufen verwandter Ressourcen\",\"Error parsing svg\":\"Fehler beim Einlesen der SVG\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Favorite:\"Favorit\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Hide password\":\"Passwort verbergen\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"More items …\":\"Weitere Elemente …\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",Open:\"Öffnen\",'Open link to \"{resourceTitle}\"':'Link zu \"{resourceTitle}\" öffnen',\"Open navigation\":\"Navigation öffnen\",\"Password is secure\":\"Passwort ist sicher\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte wählen Sie eine Zeitzone:\",Previous:\"Vorherige\",\"Related resources\":\"Verwandte Ressourcen\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Show password\":\"Passwort anzeigen\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Nachricht schreiben, \"@\" um jemanden zu erwähnen, \":\" für die automatische Vervollständigung von Emojis …'}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Anything shared with the same group of people will show up here\":\"Alles, das mit derselben Gruppe von Personen geteilt wird, wird hier angezeigt\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",\"Change title\":\"Titel ändern\",Choose:\"Auswählen\",\"Clear text\":\"Klartext\",Close:\"Schließen\",\"Close modal\":\"Modal schließen\",\"Close navigation\":\"Navigation schließen\",\"Close sidebar\":\"Seitenleiste schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"Error getting related resources\":\"Fehler beim Abrufen verwandter Ressourcen\",\"Error parsing svg\":\"Fehler beim Einlesen der SVG\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Favorite:\"Favorit\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Hide password\":\"Passwort verbergen\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",\"More items …\":\"Weitere Elemente …\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",Open:\"Öffnen\",'Open link to \"{resourceTitle}\"':'Link zu \"{resourceTitle}\" öffnen',\"Open navigation\":\"Navigation öffnen\",\"Password is secure\":\"Passwort ist sicher\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",\"Related resources\":\"Verwandte Ressourcen\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Show password\":\"Passwort anzeigen\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Nachricht schreiben, \"@\" um jemanden zu erwähnen, \":\" für die automatische Vervollständigung von Emojis …'}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",\"Anything shared with the same group of people will show up here\":\"Οτιδήποτε μοιράζεται με την ίδια ομάδα ατόμων θα εμφανίζεται εδώ\",\"Avatar of {displayName}\":\"Άβαταρ του {displayName}\",\"Avatar of {displayName}, {status}\":\"Άβαταρ του {displayName}, {status}\",\"Cancel changes\":\"Ακύρωση αλλαγών\",\"Change title\":\"Αλλαγή τίτλου\",Choose:\"Επιλογή\",\"Clear text\":\"Εκκαθάριση κειμένου\",Close:\"Κλείσιμο\",\"Close modal\":\"Βοηθητικό κλείσιμο\",\"Close navigation\":\"Κλείσιμο πλοήγησης\",\"Close sidebar\":\"Κλείσιμο πλευρικής μπάρας\",\"Confirm changes\":\"Επιβεβαίωση αλλαγών\",Custom:\"Προσαρμογή\",\"Edit item\":\"Επεξεργασία\",\"Error getting related resources\":\"Σφάλμα λήψης σχετικών πόρων\",\"Error parsing svg\":\"Σφάλμα ανάλυσης svg\",\"External documentation for {title}\":\"Εξωτερική τεκμηρίωση για {title}\",Favorite:\"Αγαπημένα\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Global:\"Καθολικό\",\"Go back to the list\":\"Επιστροφή στην αρχική λίστα \",\"Hide password\":\"Απόκρυψη κωδικού πρόσβασης\",\"Message limit of {count} characters reached\":\"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος\",\"More items …\":\"Περισσότερα στοιχεία …\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",Open:\"Άνοιγμα\",'Open link to \"{resourceTitle}\"':'Άνοιγμα συνδέσμου στο \"{resourceTitle}\"',\"Open navigation\":\"Άνοιγμα πλοήγησης\",\"Password is secure\":\"Ο κωδικός πρόσβασης είναι ασφαλής\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",\"Please select a time zone:\":\"Παρακαλούμε επιλέξτε μια ζώνη ώρας:\",Previous:\"Προηγούμενο\",\"Related resources\":\"Σχετικοί πόροι\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Settings navigation\":\"Πλοήγηση ρυθμίσεων\",\"Show password\":\"Εμφάνιση κωδικού πρόσβασης\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Submit:\"Υποβολή\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Type to search time zone\":\"Πληκτρολογήστε για αναζήτηση ζώνης ώρας\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\",\"Undo changes\":\"Αναίρεση Αλλαγών\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Γράψτε μήνυμα, χρησιμοποιείστε \"@\" για να αναφέρετε κάποιον, χρησιμοποιείστε \":\" για αυτόματη συμπλήρωση emoji …'}},{locale:\"en_GB\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Actions\",Activities:\"Activities\",\"Animals & Nature\":\"Animals & Nature\",\"Anything shared with the same group of people will show up here\":\"Anything shared with the same group of people will show up here\",\"Avatar of {displayName}\":\"Avatar of {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar of {displayName}, {status}\",\"Cancel changes\":\"Cancel changes\",\"Change title\":\"Change title\",Choose:\"Choose\",\"Clear text\":\"Clear text\",Close:\"Close\",\"Close modal\":\"Close modal\",\"Close navigation\":\"Close navigation\",\"Close sidebar\":\"Close sidebar\",\"Confirm changes\":\"Confirm changes\",Custom:\"Custom\",\"Edit item\":\"Edit item\",\"Error getting related resources\":\"Error getting related resources\",\"Error parsing svg\":\"Error parsing svg\",\"External documentation for {title}\":\"External documentation for {title}\",Favorite:\"Favourite\",Flags:\"Flags\",\"Food & Drink\":\"Food & Drink\",\"Frequently used\":\"Frequently used\",Global:\"Global\",\"Go back to the list\":\"Go back to the list\",\"Hide password\":\"Hide password\",\"Message limit of {count} characters reached\":\"Message limit of {count} characters reached\",\"More items …\":\"More items …\",Next:\"Next\",\"No emoji found\":\"No emoji found\",\"No results\":\"No results\",Objects:\"Objects\",Open:\"Open\",'Open link to \"{resourceTitle}\"':'Open link to \"{resourceTitle}\"',\"Open navigation\":\"Open navigation\",\"Password is secure\":\"Password is secure\",\"Pause slideshow\":\"Pause slideshow\",\"People & Body\":\"People & Body\",\"Pick an emoji\":\"Pick an emoji\",\"Please select a time zone:\":\"Please select a time zone:\",Previous:\"Previous\",\"Related resources\":\"Related resources\",Search:\"Search\",\"Search results\":\"Search results\",\"Select a tag\":\"Select a tag\",Settings:\"Settings\",\"Settings navigation\":\"Settings navigation\",\"Show password\":\"Show password\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start slideshow\",Submit:\"Submit\",Symbols:\"Symbols\",\"Travel & Places\":\"Travel & Places\",\"Type to search time zone\":\"Type to search time zone\",\"Unable to search the group\":\"Unable to search the group\",\"Undo changes\":\"Undo changes\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …'}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",\"Anything shared with the same group of people will show up here\":\"Cualquier cosa que sea compartida con el mismo grupo de personas se mostrará aquí\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar cambios\",\"Change title\":\"Cambiar título\",Choose:\"Elegir\",\"Clear text\":\"Limpiar texto\",Close:\"Cerrar\",\"Close modal\":\"Cerrar modal\",\"Close navigation\":\"Cerrar navegación\",\"Close sidebar\":\"Cerrar barra lateral\",\"Confirm changes\":\"Confirmar cambios\",Custom:\"Personalizado\",\"Edit item\":\"Editar elemento\",\"Error getting related resources\":\"Se encontró un error al obtener los recursos relacionados\",\"Error parsing svg\":\"Error procesando svg\",\"External documentation for {title}\":\"Documentacion externa de {title}\",Favorite:\"Favorito\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",Global:\"Global\",\"Go back to the list\":\"Volver a la lista\",\"Hide password\":\"Ocultar contraseña\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",\"More items …\":\"Más ítems...\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",Open:\"Abrir\",'Open link to \"{resourceTitle}\"':'Abrir enlace a \"{resourceTitle}\"',\"Open navigation\":\"Abrir navegación\",\"Password is secure\":\"La contraseña es segura\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",\"Please select a time zone:\":\"Por favor elige un huso de horario:\",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionados\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Show password\":\"Mostrar contraseña\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Type to search time zone\":\"Escribe para buscar un huso de horario\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Undo changes\":\"Deshacer cambios\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escribir mensaje, utilice \"@\" para mencionar a alguien, utilice \":\" para autocompletado de emojis ...'}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Actions:\"Ekintzak\",Activities:\"Jarduerak\",\"Animals & Nature\":\"Animaliak eta Natura\",\"Anything shared with the same group of people will show up here\":\"Pertsona-talde berarekin partekatutako edozer agertuko da hemen\",\"Avatar of {displayName}\":\"{displayName}-(e)n irudia\",\"Avatar of {displayName}, {status}\":\"{displayName} -(e)n irudia, {status}\",\"Cancel changes\":\"Ezeztatu aldaketak\",\"Change title\":\"Aldatu titulua\",Choose:\"Aukeratu\",\"Clear text\":\"Garbitu testua\",Close:\"Itxi\",\"Close modal\":\"Itxi modala\",\"Close navigation\":\"Itxi nabigazioa\",\"Close sidebar\":\"Itxi albo-barra\",\"Confirm changes\":\"Baieztatu aldaketak\",Custom:\"Pertsonalizatua\",\"Edit item\":\"Editatu elementua\",\"Error getting related resources\":\"Errorea erlazionatutako baliabideak lortzerakoan\",\"Error parsing svg\":\"Errore bat gertatu da svg-a analizatzean\",\"External documentation for {title}\":\"Kanpoko dokumentazioa {title}(r)entzat\",Favorite:\"Gogokoa\",Flags:\"Banderak\",\"Food & Drink\":\"Janaria eta edariak\",\"Frequently used\":\"Askotan erabilia\",Global:\"Globala\",\"Go back to the list\":\"Bueltatu zerrendara\",\"Hide password\":\"Ezkutatu pasahitza\",\"Message limit of {count} characters reached\":\"Mezuaren {count} karaketere-limitera heldu zara\",\"More items …\":\"Elementu gehiago …\",Next:\"Hurrengoa\",\"No emoji found\":\"Ez da emojirik aurkitu\",\"No results\":\"Emaitzarik ez\",Objects:\"Objektuak\",Open:\"Ireki\",'Open link to \"{resourceTitle}\"':'Ireki esteka: \"{resourceTitle}\"',\"Open navigation\":\"Ireki nabigazioa\",\"Password is secure\":\"Pasahitza segurua da\",\"Pause slideshow\":\"Pausatu diaporama\",\"People & Body\":\"Jendea eta gorputza\",\"Pick an emoji\":\"Hautatu emoji bat\",\"Please select a time zone:\":\"Mesedez hautatu ordu-zona bat:\",Previous:\"Aurrekoa\",\"Related resources\":\"Erlazionatutako baliabideak\",Search:\"Bilatu\",\"Search results\":\"Bilaketa emaitzak\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Settings navigation\":\"Nabigazio ezarpenak\",\"Show password\":\"Erakutsi pasahitza\",\"Smileys & Emotion\":\"Smileyak eta emozioa\",\"Start slideshow\":\"Hasi diaporama\",Submit:\"Bidali\",Symbols:\"Sinboloak\",\"Travel & Places\":\"Bidaiak eta lekuak\",\"Type to search time zone\":\"Idatzi ordu-zona bat bilatzeko\",\"Unable to search the group\":\"Ezin izan da taldea bilatu\",\"Undo changes\":\"Aldaketak desegin\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Idatzi mezua, erabili \"@\" norbait aipatzeko, erabili \":\" emojiak automatikoki osatzeko...'}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",\"Avatar of {displayName}\":\"Käyttäjän {displayName} avatar\",\"Avatar of {displayName}, {status}\":\"Käyttäjän {displayName} avatar, {status}\",\"Cancel changes\":\"Peruuta muutokset\",Choose:\"Valitse\",Close:\"Sulje\",\"Close navigation\":\"Sulje navigaatio\",\"Confirm changes\":\"Vahvista muutokset\",Custom:\"Mukautettu\",\"Edit item\":\"Muokkaa kohdetta\",\"External documentation for {title}\":\"Ulkoinen dokumentaatio kohteelle {title}\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",Global:\"Yleinen\",\"Go back to the list\":\"Siirry takaisin listaan\",\"Message limit of {count} characters reached\":\"Viestin merkken enimmäisimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Open navigation\":\"Avaa navigaatio\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",\"Please select a time zone:\":\"Valitse aikavyöhyke:\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Submit:\"Lähetä\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Type to search time zone\":\"Kirjoita etsiäksesi aikavyöhyke\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Undo changes\":\"Kumoa muutokset\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Kirjoita viesti, @ mainitaksesi käyttäjän, : emojin automaattitäydennykseen…\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",\"Anything shared with the same group of people will show up here\":\"Tout ce qui est partagé avec le même groupe de personnes apparaîtra ici\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Annuler les modifications\",\"Change title\":\"Modifier le titre\",Choose:\"Choisir\",\"Clear text\":\"Effacer le texte\",Close:\"Fermer\",\"Close modal\":\"Fermer la fenêtre\",\"Close navigation\":\"Fermer la navigation\",\"Close sidebar\":\"Fermer la barre latérale\",\"Confirm changes\":\"Confirmer les modifications\",Custom:\"Personnalisé\",\"Edit item\":\"Éditer l'élément\",\"Error getting related resources\":\"Erreur à la récupération des ressources liées\",\"Error parsing svg\":\"Erreur d'analyse SVG\",\"External documentation for {title}\":\"Documentation externe pour {title}\",Favorite:\"Favori\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",Global:\"Global\",\"Go back to the list\":\"Retourner à la liste\",\"Hide password\":\"Cacher le mot de passe\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",\"More items …\":\"Plus d'éléments...\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",Open:\"Ouvrir\",'Open link to \"{resourceTitle}\"':'Ouvrir le lien vers \"{resourceTitle}\"',\"Open navigation\":\"Ouvrir la navigation\",\"Password is secure\":\"Le mot de passe est sécurisé\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",\"Please select a time zone:\":\"Sélectionnez un fuseau horaire : \",Previous:\"Précédent\",\"Related resources\":\"Ressources liées\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Show password\":\"Afficher le mot de passe\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Submit:\"Valider\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Type to search time zone\":\"Saisissez les premiers lettres pour rechercher un fuseau horaire\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Undo changes\":\"Annuler les changements\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Écrire un message, utiliser \"@\" pour mentionner une personne, \":\" pour l\\'autocomplétion des émojis...'}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",\"Anything shared with the same group of people will show up here\":\"Minden, amit ugyanazzal a csoporttal oszt meg, itt fog megjelenni\",\"Avatar of {displayName}\":\"{displayName} profilképe\",\"Avatar of {displayName}, {status}\":\"{displayName} profilképe, {status}\",\"Cancel changes\":\"Változtatások elvetése\",\"Change title\":\"Cím megváltoztatása\",Choose:\"Válassszon\",\"Clear text\":\"Szöveg törlése\",Close:\"Bezárás\",\"Close modal\":\"Ablak bezárása\",\"Close navigation\":\"Navigáció bezárása\",\"Close sidebar\":\"Oldalsáv bezárása\",\"Confirm changes\":\"Változtatások megerősítése\",Custom:\"Egyéni\",\"Edit item\":\"Elem szerkesztése\",\"Error getting related resources\":\"Hiba a kapcsolódó erőforrások lekérésekor\",\"Error parsing svg\":\"Hiba az SVG feldolgozásakor\",\"External documentation for {title}\":\"Külső dokumentáció ehhez: {title}\",Favorite:\"Kedvenc\",Flags:\"Zászlók\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",Global:\"Globális\",\"Go back to the list\":\"Ugrás vissza a listához\",\"Hide password\":\"Jelszó elrejtése\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",\"More items …\":\"További elemek...\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",Open:\"Megnyitás\",'Open link to \"{resourceTitle}\"':\"A(z) „{resourceTitle}” hivatkozásának megnyitása\",\"Open navigation\":\"Navigáció megnyitása\",\"Password is secure\":\"A jelszó biztonságos\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",\"Please select a time zone:\":\"Válasszon időzónát:\",Previous:\"Előző\",\"Related resources\":\"Kapcsolódó erőforrások\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Show password\":\"Jelszó megjelenítése\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Submit:\"Beküldés\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Type to search time zone\":\"Gépeljen az időzóna kereséséhez\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Undo changes\":\"Változtatások visszavonása\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':\"Írjon egy üzenetet, használja a „@”-ot valaki megemlítéséhet, illetve a „:”-ot az emodzsik automatikus kiegészítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Anything shared with the same group of people will show up here\":\"Tutto ciò che è stato condiviso con lo stesso gruppo di persone viene visualizzato qui\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar di {displayName}, {status}\",\"Cancel changes\":\"Annulla modifiche\",\"Change title\":\"Modifica il titolo\",Choose:\"Scegli\",\"Clear text\":\"Cancella il testo\",Close:\"Chiudi\",\"Close modal\":\"Chiudi il messaggio modale\",\"Close navigation\":\"Chiudi la navigazione\",\"Close sidebar\":\"Chiudi la barra laterale\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"Edit item\":\"Modifica l'elemento\",\"Error getting related resources\":\"Errore nell'ottenere risorse correlate\",\"Error parsing svg\":\"Errore nell'analizzare l'svg\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Favorite:\"Preferito\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",Global:\"Globale\",\"Go back to the list\":\"Torna all'elenco\",\"Hide password\":\"Nascondi la password\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",\"More items …\":\"Più elementi ...\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",Open:\"Apri\",'Open link to \"{resourceTitle}\"':'Apri il link a \"{resourceTitle}\"',\"Open navigation\":\"Apri la navigazione\",\"Password is secure\":\"La password è sicura\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",\"Please select a time zone:\":\"Si prega di selezionare un fuso orario:\",Previous:\"Precedente\",\"Related resources\":\"Risorse correlate\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Show password\":\"Mostra la password\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Type to search time zone\":\"Digita per cercare un fuso orario\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Undo changes\":\"Cancella i cambiamenti\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Scrivi un messaggio, \"@\" per menzionare qualcuno, \":\" per il completamento automatico delle emoji ...'}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Anything shared with the same group of people will show up here\":\"同じグループで共有しているものは、全てここに表示されます\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} のアバター\",\"Cancel changes\":\"変更をキャンセル\",\"Change title\":\"タイトルを変更\",Choose:\"選択\",\"Clear text\":\"テキストをクリア\",Close:\"閉じる\",\"Close modal\":\"モーダルを閉じる\",\"Close navigation\":\"ナビゲーションを閉じる\",\"Close sidebar\":\"サイドバーを閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"Edit item\":\"編集\",\"Error getting related resources\":\"関連リソースの取得エラー\",\"Error parsing svg\":\"svgの解析エラー\",\"External documentation for {title}\":\"{title} のための添付文書\",Favorite:\"お気に入り\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",Global:\"全体\",\"Go back to the list\":\"リストに戻る\",\"Hide password\":\"パスワードを非表示\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",\"More items …\":\"他のアイテム\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",Open:\"開く\",'Open link to \"{resourceTitle}\"':'\"{resourceTitle}\"のリンクを開く',\"Open navigation\":\"ナビゲーションを開く\",\"Password is secure\":\"パスワードは保護されています\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",\"Please select a time zone:\":\"タイムゾーンを選んで下さい:\",Previous:\"前\",\"Related resources\":\"関連リソース\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Show password\":\"パスワードを表示\",\"Smileys & Emotion\":\"感情表現\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Type to search time zone\":\"タイムゾーン検索のため入力してください\",\"Unable to search the group\":\"グループを検索できません\",\"Undo changes\":\"変更を取り消し\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'メッセージを記入、\"@\"でメンション、\":\"で絵文字の自動補完 ...'}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",\"Avatar of {displayName}\":\"Аватар на {displayName}\",\"Avatar of {displayName}, {status}\":\"Аватар на {displayName}, {status}\",\"Cancel changes\":\"Откажи ги промените\",\"Change title\":\"Промени наслов\",Choose:\"Избери\",Close:\"Затвори\",\"Close modal\":\"Затвори модал\",\"Close navigation\":\"Затвори навигација\",\"Confirm changes\":\"Потврди ги промените\",Custom:\"Прилагодени\",\"Edit item\":\"Уреди\",\"External documentation for {title}\":\"Надворешна документација за {title}\",Favorite:\"Фаворити\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",Global:\"Глобално\",\"Go back to the list\":\"Врати се на листата\",items:\"ставки\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",\"More {dashboardItemType} …\":\"Повеќе {dashboardItemType} …\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",Open:\"Отвори\",\"Open navigation\":\"Отвори навигација\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",\"Please select a time zone:\":\"Изберете временска зона:\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Submit:\"Испрати\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Type to search time zone\":\"Напишете за да пребарате временска зона\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Undo changes\":\"Врати ги промените\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напиши порака, @ за да спомнете некого, : за емотинони автоатско комплетирање ...\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",\"Anything shared with the same group of people will show up here\":\"Alt som er delt med den samme gruppen vil vises her\",\"Avatar of {displayName}\":\"Avataren til {displayName}\",\"Avatar of {displayName}, {status}\":\"{displayName}'s avatar, {status}\",\"Cancel changes\":\"Avbryt endringer\",\"Change title\":\"Endre tittel\",Choose:\"Velg\",\"Clear text\":\"Fjern tekst\",Close:\"Lukk\",\"Close modal\":\"Lukk modal\",\"Close navigation\":\"Lukk navigasjon\",\"Close sidebar\":\"Lukk sidepanel\",\"Confirm changes\":\"Bekreft endringer\",Custom:\"Tilpasset\",\"Edit item\":\"Rediger\",\"Error getting related resources\":\"Feil ved henting av relaterte ressurser\",\"Error parsing svg\":\"Feil ved parsing av svg\",\"External documentation for {title}\":\"Ekstern dokumentasjon for {title}\",Favorite:\"Favoritt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Global:\"Global\",\"Go back to the list\":\"Gå tilbake til listen\",\"Hide password\":\"Skjul passord\",\"Message limit of {count} characters reached\":\"Karakter begrensing {count} nådd i melding\",\"More items …\":\"Flere gjenstander...\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",Open:\"Åpne\",'Open link to \"{resourceTitle}\"':'Åpne link til \"{resourceTitle}\"',\"Open navigation\":\"Åpne navigasjon\",\"Password is secure\":\"Passordet er sikkert\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",\"Please select a time zone:\":\"Vennligst velg tidssone\",Previous:\"Forrige\",\"Related resources\":\"Relaterte ressurser\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Settings navigation\":\"Navigasjonsinstillinger\",\"Show password\":\"Vis passord\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Type to search time zone\":\"Tast for å søke etter tidssone\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\",\"Undo changes\":\"Tilbakestill endringer\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv melding, bruk \"@\" for å nevne noen, bruk \":\" for autofullføring av emoji...'}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar van {displayName}, {status}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Close navigation\":\"Navigatie sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"Edit item\":\"Item bewerken\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",Global:\"Globaal\",\"Go back to the list\":\"Ga terug naar de lijst\",\"Message limit of {count} characters reached\":\"Berichtlimiet van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Open navigation\":\"Navigatie openen\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",\"Please select a time zone:\":\"Selecteer een tijdzone:\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Type to search time zone\":\"Type om de tijdzone te zoeken\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Undo changes\":\"Wijzigingen ongedaan maken\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Anything shared with the same group of people will show up here\":\"Tutaj pojawi się wszystko, co zostało udostępnione tej samej grupie osób\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Awatar {displayName}, {status}\",\"Cancel changes\":\"Anuluj zmiany\",\"Change title\":\"Zmień tytuł\",Choose:\"Wybierz\",\"Clear text\":\"Wyczyść tekst\",Close:\"Zamknij\",\"Close modal\":\"Zamknij modal\",\"Close navigation\":\"Zamknij nawigację\",\"Close sidebar\":\"Zamknij pasek boczny\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"Edit item\":\"Edytuj element\",\"Error getting related resources\":\"Błąd podczas pobierania powiązanych zasobów\",\"Error parsing svg\":\"Błąd podczas analizowania svg\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Favorite:\"Ulubiony\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Go back to the list\":\"Powrót do listy\",\"Hide password\":\"Ukryj hasło\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",\"More items …\":\"Więcej pozycji…\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emoji\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",Open:\"Otwórz\",'Open link to \"{resourceTitle}\"':'Otwórz link do \"{resourceTitle}\"',\"Open navigation\":\"Otwórz nawigację\",\"Password is secure\":\"Hasło jest bezpieczne\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",\"Related resources\":\"Powiązane zasoby\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Ustawienia nawigacji\",\"Show password\":\"Pokaż hasło\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Undo changes\":\"Cofnij zmiany\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Napisz wiadomość, \"@\" aby o kimś wspomnieć, \":\" dla autouzupełniania emoji…'}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Anything shared with the same group of people will show up here\":\"Qualquer coisa compartilhada com o mesmo grupo de pessoas aparecerá aqui\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar alterações\",\"Change title\":\"Alterar título\",Choose:\"Escolher\",\"Clear text\":\"Limpar texto\",Close:\"Fechar\",\"Close modal\":\"Fechar modal\",\"Close navigation\":\"Fechar navegação\",\"Close sidebar\":\"Fechar barra lateral\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"Edit item\":\"Editar item\",\"Error getting related resources\":\"Erro ao obter recursos relacionados\",\"Error parsing svg\":\"Erro ao analisar svg\",\"External documentation for {title}\":\"Documentação externa para {title}\",Favorite:\"Favorito\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Go back to the list\":\"Volte para a lista\",\"Hide password\":\"Ocultar a senha\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",\"More items …\":\"Mais itens …\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",Open:\"Aberto\",'Open link to \"{resourceTitle}\"':'Abrir link para \"{resourceTitle}\"',\"Open navigation\":\"Abrir navegação\",\"Password is secure\":\"A senha é segura\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",\"Related resources\":\"Recursos relacionados\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Show password\":\"Mostrar senha\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Undo changes\":\"Desfazer modificações\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Escreva mensagens, use \"@\" para mencionar algum, use \":\" for autocompletar emoji …'}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ro\",translations:{\"{tag} (invisible)\":\"{tag} (invizibil)\",\"{tag} (restricted)\":\"{tag} (restricționat)\",Actions:\"Acțiuni\",Activities:\"Activități\",\"Animals & Nature\":\"Animale și natură\",\"Anything shared with the same group of people will show up here\":\"Tot ceea ce este partajat cu același grup de persoane va fi afișat aici\",\"Avatar of {displayName}\":\"Avatarul lui {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatarul lui {displayName}, {status}\",\"Cancel changes\":\"Anulează modificările\",\"Change title\":\"Modificați titlul\",Choose:\"Alegeți\",\"Clear text\":\"Șterge textul\",Close:\"Închideți\",\"Close modal\":\"Închideți modulul\",\"Close navigation\":\"Închideți navigarea\",\"Close sidebar\":\"Închide bara laterală\",\"Confirm changes\":\"Confirmați modificările\",Custom:\"Personalizat\",\"Edit item\":\"Editați elementul\",\"Error getting related resources\":\" Eroare la returnarea resurselor legate\",\"Error parsing svg\":\"Eroare de analizare a svg\",\"External documentation for {title}\":\"Documentație externă pentru {title}\",Favorite:\"Favorit\",Flags:\"Marcaje\",\"Food & Drink\":\"Alimente și băuturi\",\"Frequently used\":\"Utilizate frecvent\",Global:\"Global\",\"Go back to the list\":\"Întoarceți-vă la listă\",\"Hide password\":\"Ascunde parola\",\"Message limit of {count} characters reached\":\"Limita mesajului de {count} caractere a fost atinsă\",\"More items …\":\"Mai multe articole ...\",Next:\"Următorul\",\"No emoji found\":\"Nu s-a găsit niciun emoji\",\"No results\":\"Nu există rezultate\",Objects:\"Obiecte\",Open:\"Deschideți\",'Open link to \"{resourceTitle}\"':'Deschide legătura la \"{resourceTitle}\"',\"Open navigation\":\"Deschideți navigația\",\"Password is secure\":\"Parola este sigură\",\"Pause slideshow\":\"Pauză prezentare de diapozitive\",\"People & Body\":\"Oameni și corp\",\"Pick an emoji\":\"Alege un emoji\",\"Please select a time zone:\":\"Vă rugăm să selectați un fus orar:\",Previous:\"Anterior\",\"Related resources\":\"Resurse legate\",Search:\"Căutare\",\"Search results\":\"Rezultatele căutării\",\"Select a tag\":\"Selectați o etichetă\",Settings:\"Setări\",\"Settings navigation\":\"Navigare setări\",\"Show password\":\"Arată parola\",\"Smileys & Emotion\":\"Zâmbete și emoții\",\"Start slideshow\":\"Începeți prezentarea de diapozitive\",Submit:\"Trimiteți\",Symbols:\"Simboluri\",\"Travel & Places\":\"Călătorii și locuri\",\"Type to search time zone\":\"Tastați pentru a căuta fusul orar\",\"Unable to search the group\":\"Imposibilitatea de a căuta în grup\",\"Undo changes\":\"Anularea modificărilor\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Scrie un mesaj, folosește \"@\" pentru a menționa pe cineva, folosește \":\" pentru autocompletarea cu emoji ...'}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Avatar of {displayName}, {status}\":\"Фотография {displayName}, {status}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Close modal\":\"Закрыть модальное окно\",\"Close navigation\":\"Закрыть навигацию\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"Edit item\":\"Изменить элемент\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Go back to the list\":\"Вернуться к списку\",items:\"элементов\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",\"More {dashboardItemType} …\":\"Больше {dashboardItemType} …\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",Open:\"Открыть\",\"Open navigation\":\"Открыть навигацию\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Undo changes\":\"Отменить изменения\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напишите сообщение, @ - чтобы упомянуть кого-то, : - для автозаполнения эмодзи …\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar {displayName}, {status}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Close navigation\":\"Zavrieť navigáciu\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"Edit item\":\"Upraviť položku\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Global:\"Globálne\",\"Go back to the list\":\"Naspäť na zoznam\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Open navigation\":\"Otvoriť navigáciu\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",\"Please select a time zone:\":\"Prosím vyberte časovú zónu:\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Type to search time zone\":\"Začníte písať pre vyhľadávanie časovej zóny\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Undo changes\":\"Vrátiť zmeny\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napíšte správu, @ ak chcete niekoho spomenúť, : pre automatické dopĺňanie emotikonov…\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",\"Avatar of {displayName}\":\"Podoba {displayName}\",\"Avatar of {displayName}, {status}\":\"Prikazna slika {displayName}, {status}\",\"Cancel changes\":\"Prekliči spremembe\",\"Change title\":\"Spremeni naziv\",Choose:\"Izbor\",\"Clear text\":\"Počisti besedilo\",Close:\"Zapri\",\"Close modal\":\"Zapri pojavno okno\",\"Close navigation\":\"Zapri krmarjenje\",\"Close sidebar\":\"Zapri stransko vrstico\",\"Confirm changes\":\"Potrdi spremembe\",Custom:\"Po meri\",\"Edit item\":\"Uredi predmet\",\"Error getting related resources\":\"Napaka pridobivanja povezanih virov\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Favorite:\"Priljubljeno\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",Global:\"Splošno\",\"Go back to the list\":\"Vrni se na seznam\",\"Hide password\":\"Skrij geslo\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",\"More items …\":\"Več predmetov ...\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",Open:\"Odpri\",'Open link to \"{resourceTitle}\"':\"Odpri povezavo do »{resourceTitle}«\",\"Open navigation\":\"Odpri krmarjenje\",\"Password is secure\":\"Geslo je varno\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick a date\":\"Izbor datuma\",\"Pick a date and a time\":\"Izbor datuma in časa\",\"Pick a month\":\"Izbor meseca\",\"Pick a time\":\"Izbor časa\",\"Pick a week\":\"Izbor tedna\",\"Pick a year\":\"Izbor leta\",\"Pick an emoji\":\"Izbor izrazne ikone\",\"Please select a time zone:\":\"Izbor časovnega pasu:\",Previous:\"Predhodni\",\"Related resources\":\"Povezani viri\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Show password\":\"Pokaži geslo\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Type to search time zone\":\"Vpišite niz za iskanje časovnega pasu\",\"Unable to search the group\":\"Ni mogoče iskati po skupini\",\"Undo changes\":\"Razveljavi spremembe\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napišite sporočilo, za omembo pred ime postavite@, začnite z : za vstavljanje izraznih ikon …\"}},{locale:\"sr\",translations:{\"{tag} (invisible)\":\"{tag} (nevidljivo)\",\"{tag} (restricted)\":\"{tag} (ograničeno)\",Actions:\"Radnje\",Activities:\"Aktivnosti\",\"Animals & Nature\":\"Životinje i Priroda\",\"Avatar of {displayName}\":\"Avatar za {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar za {displayName}, {status}\",\"Cancel changes\":\"Otkaži izmene\",\"Change title\":\"Izmeni naziv\",Choose:\"Изаберите\",Close:\"Затвори\",\"Close modal\":\"Zatvori modal\",\"Close navigation\":\"Zatvori navigaciju\",\"Close sidebar\":\"Zatvori bočnu traku\",\"Confirm changes\":\"Potvrdite promene\",Custom:\"Po meri\",\"Edit item\":\"Uredi stavku\",\"External documentation for {title}\":\"Eksterna dokumentacija za {title}\",Favorite:\"Omiljeni\",Flags:\"Zastave\",\"Food & Drink\":\"Hrana i Piće\",\"Frequently used\":\"Često korišćeno\",Global:\"Globalno\",\"Go back to the list\":\"Natrag na listu\",items:\"stavke\",\"Message limit of {count} characters reached\":\"Dostignuto je ograničenje za poruke od {count} znakova\",\"More {dashboardItemType} …\":\"Više {dashboardItemType} …\",Next:\"Следеће\",\"No emoji found\":\"Nije pronađen nijedan emodži\",\"No results\":\"Нема резултата\",Objects:\"Objekti\",Open:\"Otvori\",\"Open navigation\":\"Otvori navigaciju\",\"Pause slideshow\":\"Паузирај слајд шоу\",\"People & Body\":\"Ljudi i Telo\",\"Pick an emoji\":\"Izaberi emodži\",\"Please select a time zone:\":\"Molimo izaberite vremensku zonu:\",Previous:\"Претходно\",Search:\"Pretraži\",\"Search results\":\"Rezultati pretrage\",\"Select a tag\":\"Изаберите ознаку\",Settings:\"Поставке\",\"Settings navigation\":\"Navigacija u podešavanjima\",\"Smileys & Emotion\":\"Smajli i Emocije\",\"Start slideshow\":\"Покрени слајд шоу\",Submit:\"Prihvati\",Symbols:\"Simboli\",\"Travel & Places\":\"Putovanja i Mesta\",\"Type to search time zone\":\"Ukucaj da pretražiš vremenske zone\",\"Unable to search the group\":\"Nije moguće pretražiti grupu\",\"Undo changes\":\"Poništi promene\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napišite poruku, @ da pomenete nekoga, : za automatsko dovršavanje emodžija…\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Anything shared with the same group of people will show up here\":\"Något som delats med samma grupp av personer kommer att visas här\",\"Avatar of {displayName}\":\"{displayName}s avatar\",\"Avatar of {displayName}, {status}\":\"{displayName}s avatar, {status}\",\"Cancel changes\":\"Avbryt ändringar\",\"Change title\":\"Ändra titel\",Choose:\"Välj\",\"Clear text\":\"Ta bort text\",Close:\"Stäng\",\"Close modal\":\"Stäng modal\",\"Close navigation\":\"Stäng navigering\",\"Close sidebar\":\"Stäng sidopanel\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"Edit item\":\"Ändra\",\"Error getting related resources\":\"Problem att hämta relaterade resurser\",\"Error parsing svg\":\"Fel vid inläsning av svg\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Favorite:\"Favorit\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",Global:\"Global\",\"Go back to the list\":\"Gå tillbaka till listan\",\"Hide password\":\"Göm lössenordet\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",\"More items …\":\"Fler objekt\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",Open:\"Öppna\",'Open link to \"{resourceTitle}\"':'Öppna länk till \"{resourceTitle}\"',\"Open navigation\":\"Öppna navigering\",\"Password is secure\":\"Lössenordet är säkert\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",\"Please select a time zone:\":\"Välj tidszon:\",Previous:\"Föregående\",\"Related resources\":\"Relaterade resurser\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Show password\":\"Visa lössenordet\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Type to search time zone\":\"Skriv för att välja tidszon\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Undo changes\":\"Ångra ändringar\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'Skriv meddelande, använd \"@\" för att nämna någon, använd \":\" för automatiska emojiförslag ...'}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Anything shared with the same group of people will show up here\":\"Aynı kişi grubu ile paylaşılan herşey burada görüntülenir\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",\"Change title\":\"Başlığı değiştir\",Choose:\"Seçin\",\"Clear text\":\"Metni temizle\",Close:\"Kapat\",\"Close modal\":\"Üste açılan pencereyi kapat\",\"Close navigation\":\"Gezinmeyi kapat\",\"Close sidebar\":\"Yan çubuğu kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"Edit item\":\"Ögeyi düzenle\",\"Error getting related resources\":\"İlgili kaynaklar alınırken sorun çıktı\",\"Error parsing svg\":\"svg işlenirken sorun çıktı\",\"External documentation for {title}\":\"{title} için dış belgeler\",Favorite:\"Sık kullanılanlara ekle\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Go back to the list\":\"Listeye dön\",\"Hide password\":\"Parolayı gizle\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",\"More items …\":\"Diğer ögeler…\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",Open:\"Aç\",'Open link to \"{resourceTitle}\"':'\"{resourceTitle}\" bağlantısını aç',\"Open navigation\":\"Gezinmeyi aç\",\"Password is secure\":\"Parola güvenli\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",\"Related resources\":\"İlgili kaynaklar\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Show password\":\"Parolayı görüntüle\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Undo changes\":\"Değişiklikleri geri al\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'İleti yazın, birini anmak için @, otomatik emoji tamamlamak için \":\" kullanın…'}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (невидимий)\",\"{tag} (restricted)\":\"{tag} (обмежений)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Avatar of {displayName}, {status}\":\"Аватар {displayName}, {status}\",\"Cancel changes\":\"Скасувати зміни\",\"Change title\":\"Змінити назву\",Choose:\"ВиберітьВиберіть\",\"Clear text\":\"Очистити текст\",Close:\"Закрити\",\"Close modal\":\"Закрити модаль\",\"Close navigation\":\"Закрити навігацію\",\"Close sidebar\":\"Закрити бічну панель\",\"Confirm changes\":\"Підтвердити зміни\",Custom:\"Власне\",\"Edit item\":\"Редагувати елемент\",\"External documentation for {title}\":\"Зовнішня документація для {title}\",Favorite:\"Улюблений\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напої\",\"Frequently used\":\"Найчастіші\",Global:\"Глобальний\",\"Go back to the list\":\"Повернутися до списку\",\"Hide password\":\"Приховати пароль\",items:\"елементи\",\"Message limit of {count} characters reached\":\"Вичерпано ліміт у {count} символів для повідомлення\",\"More {dashboardItemType} …\":\"Більше {dashboardItemType}…\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",Open:\"Відкрити\",\"Open navigation\":\"Відкрити навігацію\",\"Password is secure\":\"Пароль безпечний\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",\"Please select a time zone:\":\"Виберіть часовий пояс:\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Settings navigation\":\"Навігація у налаштуваннях\",\"Show password\":\"Показати пароль\",\"Smileys & Emotion\":\"Смайли та емоції\",\"Start slideshow\":\"Почати показ слайдів\",Submit:\"Надіслати\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Type to search time zone\":\"Введіть для пошуку часовий пояс\",\"Unable to search the group\":\"Неможливо шукати в групі\",\"Undo changes\":\"Скасувати зміни\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Напишіть повідомлення, @, щоб згадати когось, : для автозаповнення емодзі…\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",\"Anything shared with the same group of people will show up here\":\"与同组用户分享的所有内容都会显示于此\",\"Avatar of {displayName}\":\"{displayName}的头像\",\"Avatar of {displayName}, {status}\":\"{displayName}的头像,{status}\",\"Cancel changes\":\"取消更改\",\"Change title\":\"更改标题\",Choose:\"选择\",\"Clear text\":\"清除文本\",Close:\"关闭\",\"Close modal\":\"关闭窗口\",\"Close navigation\":\"关闭导航\",\"Close sidebar\":\"关闭侧边栏\",\"Confirm changes\":\"确认更改\",Custom:\"自定义\",\"Edit item\":\"编辑项目\",\"Error getting related resources\":\"获取相关资源时出错\",\"Error parsing svg\":\"解析 svg 时出错\",\"External documentation for {title}\":\"{title}的外部文档\",Favorite:\"喜爱\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",Global:\"全局\",\"Go back to the list\":\"返回至列表\",\"Hide password\":\"隐藏密码\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",\"More items …\":\"更多项目…\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",Open:\"打开\",'Open link to \"{resourceTitle}\"':'打开\"{resourceTitle}\"的连接',\"Open navigation\":\"开启导航\",\"Password is secure\":\"密码安全\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",\"Please select a time zone:\":\"请选择一个时区:\",Previous:\"上一个\",\"Related resources\":\"相关资源\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Show password\":\"显示密码\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Submit:\"提交\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Type to search time zone\":\"打字以搜索时区\",\"Unable to search the group\":\"无法搜索分组\",\"Undo changes\":\"撤销更改\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'写信息,使用\"@\"来提及某人,使用\":\"进行表情符号自动完成 ...'}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",\"Anything shared with the same group of people will show up here\":\"與同一組人共享的任何內容都會顯示在此處\",\"Avatar of {displayName}\":\"{displayName} 的頭像\",\"Avatar of {displayName}, {status}\":\"{displayName} 的頭像,{status}\",\"Cancel changes\":\"取消更改\",\"Change title\":\"更改標題\",Choose:\"選擇\",\"Clear text\":\"清除文本\",Close:\"關閉\",\"Close modal\":\"關閉模態\",\"Close navigation\":\"關閉導航\",\"Close sidebar\":\"關閉側邊欄\",\"Confirm changes\":\"確認更改\",Custom:\"自定義\",\"Edit item\":\"編輯項目\",\"Error getting related resources\":\"獲取相關資源出錯\",\"Error parsing svg\":\"解析 svg 時出錯\",\"External documentation for {title}\":\"{title} 的外部文檔\",Favorite:\"喜愛\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",Global:\"全球的\",\"Go back to the list\":\"返回清單\",\"Hide password\":\"隱藏密碼\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",\"More items …\":\"更多項目 …\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",Open:\"打開\",'Open link to \"{resourceTitle}\"':\"打開指向 “{resourceTitle}” 的鏈結\",\"Open navigation\":\"開啟導航\",\"Password is secure\":\"密碼是安全的\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Please select a time zone:\":\"請選擇時區:\",Previous:\"上一個\",\"Related resources\":\"相關資源\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Show password\":\"顯示密碼\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Type to search time zone\":\"鍵入以搜索時區\",\"Unable to search the group\":\"無法搜尋群組\",\"Undo changes\":\"取消更改\",'Write message, use \"@\" to mention someone, use \":\" for emoji autocompletion …':'寫訊息,使用 \"@\" 來指代某人,使用 \":\" 用於表情符號自動填充 ...'}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(e){var t={};for(var n in e.translations)e.translations[n].pluralId?t[n]={msgid:n,msgid_plural:e.translations[n].pluralId,msgstr:e.translations[n].msgstr}:t[n]={msgid:n,msgstr:[e.translations[n]]};a.addTranslation(e.locale,{translations:{\"\":t}})}));var i=a.build(),r=(i.ngettext.bind(i),i.gettext.bind(i))},723:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>i});var o=n(2734),a=n.n(o);const i={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(a().util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},1139:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>i});var o=n(723);const a=function(e,t){for(var n=e.$parent;n;){if(n.$options.name===t)return n;n=n.$parent}},i={mixins:[o.Z],props:{icon:{type:String,default:\"\"},name:{type:String,default:null},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"},ariaHidden:{type:Boolean,default:null}},emits:[\"click\"],computed:{nameTitleFallback:function(){return null===this.name&&this.title?(console.warn(\"The `title` prop was renamed. Please use the `name` prop instead if you intend to set the main content text.\"),this.title):this.name},isIconUrl:function(){try{return new URL(this.icon)}catch(e){return!1}}},methods:{onClick:function(e){if(this.$emit(\"click\",e),this.closeAfterClick){var t=a(this,\"NcActions\");t&&t.closeMenu&&t.closeMenu(!1)}}}}},1205:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>o});const o=function(e){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").slice(0,e||5)}},1206:(e,t,n)=>{\"use strict\";n.d(t,{L:()=>o});n(4505);var o=function(){return Object.assign(window,{_nc_focus_trap:window._nc_focus_trap||[]}),window._nc_focus_trap}},1759:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>s});var o=n(7537),a=n.n(o),i=n(3645),r=n.n(i)()(a());r.push([e.id,\".material-design-icon[data-v-1ba1edf1]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-1ba1edf1]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action-link[data-v-1ba1edf1]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-link>span[data-v-1ba1edf1]{cursor:pointer;white-space:nowrap}.action-link__icon[data-v-1ba1edf1]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-link[data-v-1ba1edf1] .material-design-icon{width:44px;height:44px;opacity:1}.action-link[data-v-1ba1edf1] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-link p[data-v-1ba1edf1]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-link__longtext[data-v-1ba1edf1]{cursor:pointer;white-space:pre-wrap}.action-link__title[data-v-1ba1edf1]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAqBF,8BACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBCxBY,CDyBZ,qBAAA,CAEA,cAAA,CACA,kBAAA,CAEA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,kCAAA,CACA,gBC9Ce,CDgDf,mCACC,cAAA,CACA,kBAAA,CAGD,oCACC,UCtDc,CDuDd,WCvDc,CDwDd,SCrCY,CDsCZ,+BAAA,CACA,oBCtDS,CDuDT,2BAAA,CAGD,oDACC,UC/Dc,CDgEd,WChEc,CDiEd,SC9CY,CDgDZ,+EACC,qBAAA,CAKF,gCACC,eAAA,CACA,iBAAA,CAGA,gBAAA,CAEA,cAAA,CACA,eAAA,CAGA,eAAA,CACA,sBAAA,CAGD,wCACC,cAAA,CAEA,oBAAA,CAGD,qCACC,gBAAA,CACA,sBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,oBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\tborder-radius: 6px;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&:deep(.material-design-icon) {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=r},2180:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>s});var o=n(7537),a=n.n(o),i=n(3645),r=n.n(i)()(a());r.push([e.id,\".material-design-icon[data-v-ab5e8848]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-ab5e8848]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action-router[data-v-ab5e8848]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-router>span[data-v-ab5e8848]{cursor:pointer;white-space:nowrap}.action-router__icon[data-v-ab5e8848]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-router[data-v-ab5e8848] .material-design-icon{width:44px;height:44px;opacity:1}.action-router[data-v-ab5e8848] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-router p[data-v-ab5e8848]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-router__longtext[data-v-ab5e8848]{cursor:pointer;white-space:pre-wrap}.action-router__title[data-v-ab5e8848]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action--disabled[data-v-ab5e8848]{pointer-events:none;opacity:.5}.action--disabled[data-v-ab5e8848]:hover,.action--disabled[data-v-ab5e8848]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-ab5e8848]{opacity:1 !important}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAqBF,gCACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBCxBY,CDyBZ,qBAAA,CAEA,cAAA,CACA,kBAAA,CAEA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,kCAAA,CACA,gBC9Ce,CDgDf,qCACC,cAAA,CACA,kBAAA,CAGD,sCACC,UCtDc,CDuDd,WCvDc,CDwDd,SCrCY,CDsCZ,+BAAA,CACA,oBCtDS,CDuDT,2BAAA,CAGD,sDACC,UC/Dc,CDgEd,WChEc,CDiEd,SC9CY,CDgDZ,iFACC,qBAAA,CAKF,kCACC,eAAA,CACA,iBAAA,CAGA,gBAAA,CAEA,cAAA,CACA,eAAA,CAGA,eAAA,CACA,sBAAA,CAGD,0CACC,cAAA,CAEA,oBAAA,CAGD,uCACC,gBAAA,CACA,sBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,oBAAA,CA3FF,mCACC,mBAAA,CACA,UCMiB,CDLjB,kFACC,cAAA,CACA,UCGgB,CDDjB,qCACC,oBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\tborder-radius: 6px;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&:deep(.material-design-icon) {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=r},8827:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>s});var o=n(7537),a=n.n(o),i=n(3645),r=n.n(i)()(a());r.push([e.id,\".material-design-icon[data-v-20a3e950]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-items[data-v-20a3e950]{display:flex;align-items:center}.action-items>button[data-v-20a3e950]{margin-right:7px}.action-item[data-v-20a3e950]{--open-background-color: var(--color-background-hover, $action-background-hover);position:relative;display:inline-block}.action-item.action-item--primary[data-v-20a3e950]{--open-background-color: var(--color-primary-element-hover)}.action-item.action-item--secondary[data-v-20a3e950]{--open-background-color: var(--color-primary-element-light-hover)}.action-item.action-item--error[data-v-20a3e950]{--open-background-color: var(--color-error-hover)}.action-item.action-item--warning[data-v-20a3e950]{--open-background-color: var(--color-warning-hover)}.action-item.action-item--success[data-v-20a3e950]{--open-background-color: var(--color-success-hover)}.action-item.action-item--tertiary-no-background[data-v-20a3e950]{--open-background-color: transparent}.action-item.action-item--open .action-item__menutoggle[data-v-20a3e950]{background-color:var(--open-background-color)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcActions/NcActions.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,+BACC,YAAA,CACA,kBAAA,CAGA,sCACC,gBAAA,CAIF,8BACC,gFAAA,CACA,iBAAA,CACA,oBAAA,CAEA,mDACC,2DAAA,CAGD,qDACC,iEAAA,CAGD,iDACC,iDAAA,CAGD,mDACC,mDAAA,CAGD,mDACC,mDAAA,CAGD,kEACC,oCAAA,CAGD,yEACC,6CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n// Inline buttons\\n.action-items {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\n\\t// Spacing between buttons\\n\\t& > button {\\n\\t\\tmargin-right: math.div($icon-margin, 2);\\n\\t}\\n}\\n\\n.action-item {\\n\\t--open-background-color: var(--color-background-hover, $action-background-hover);\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&.action-item--primary {\\n\\t\\t--open-background-color: var(--color-primary-element-hover);\\n\\t}\\n\\n\\t&.action-item--secondary {\\n\\t\\t--open-background-color: var(--color-primary-element-light-hover);\\n\\t}\\n\\n\\t&.action-item--error {\\n\\t\\t--open-background-color: var(--color-error-hover);\\n\\t}\\n\\n\\t&.action-item--warning {\\n\\t\\t--open-background-color: var(--color-warning-hover);\\n\\t}\\n\\n\\t&.action-item--success {\\n\\t\\t--open-background-color: var(--color-success-hover);\\n\\t}\\n\\n\\t&.action-item--tertiary-no-background {\\n\\t\\t--open-background-color: transparent;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\tbackground-color: var(--open-background-color);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=r},5565:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>s});var o=n(7537),a=n.n(o),i=n(3645),r=n.n(i)()(a());r.push([e.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper{border-radius:var(--border-radius-large);overflow:hidden}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper .v-popper__inner{border-radius:var(--border-radius-large);padding:4px;max-height:calc(50vh - 16px);overflow:auto}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcActions/NcActions.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,kFACC,wCAAA,CACA,eAAA,CAEA,mGACC,wCAAA,CACA,WAAA,CACA,4BAAA,CACA,aAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n// We overwrote the popover base class, so we can style\\n// the popover__inner for actions only.\\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__wrapper {\\n\\tborder-radius: var(--border-radius-large);\\n\\toverflow:hidden;\\n\\n\\t.v-popper__inner {\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tpadding: 4px;\\n\\t\\tmax-height: calc(50vh - 16px);\\n\\t\\toverflow: auto;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=r},9560:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>s});var o=n(7537),a=n.n(o),i=n(3645),r=n.n(i)()(a());r.push([e.id,\".material-design-icon[data-v-74afe090]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-crumb[data-v-74afe090]{background-image:none;display:inline-flex;height:44px;padding:0}.vue-crumb[data-v-74afe090]:last-child{max-width:210px;font-weight:bold}.vue-crumb:last-child .vue-crumb__separator[data-v-74afe090]{display:none}.vue-crumb>a[data-v-74afe090]:hover,.vue-crumb>a[data-v-74afe090]:focus{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb--hidden[data-v-74afe090]{display:none}.vue-crumb.vue-crumb--hovered>a[data-v-74afe090]{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb__separator[data-v-74afe090]{padding:0;color:var(--color-text-maxcontrast)}.vue-crumb>a[data-v-74afe090]{overflow:hidden;color:var(--color-text-maxcontrast);padding:12px;min-width:44px;max-width:100%;border-radius:var(--border-radius-pill);align-items:center;display:inline-flex;justify-content:center}.vue-crumb>a>span[data-v-74afe090]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item{max-width:100%}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item .button-vue{padding:0 4px 0 16px}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item .button-vue__wrapper{flex-direction:row-reverse}.vue-crumb[data-v-74afe090]:not(.dropdown) .action-item.action-item--open .action-item__menutoggle{background-color:var(--color-background-dark);color:var(--color-main-text)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcBreadcrumb/NcBreadcrumb.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,4BACC,qBAAA,CACA,mBAAA,CACA,WCmBgB,CDlBhB,SAAA,CAEA,uCACC,eAAA,CACA,gBAAA,CAGA,6DACC,YAAA,CAKF,wEAEC,6CAAA,CACA,4BAAA,CAGD,oCACC,YAAA,CAGD,iDACC,6CAAA,CACA,4BAAA,CAGD,uCACC,SAAA,CACA,mCAAA,CAGD,8BACC,eAAA,CACA,mCAAA,CACA,YAAA,CACA,cCnBe,CDoBf,cAAA,CACA,uCAAA,CACA,kBAAA,CACA,mBAAA,CACA,sBAAA,CAEA,mCACC,eAAA,CACA,sBAAA,CACA,kBAAA,CAMF,wDAEC,cAAA,CAEA,oEACC,oBAAA,CAEA,6EACC,0BAAA,CAKF,mGACC,6CAAA,CACA,4BAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.vue-crumb {\\n\\tbackground-image: none;\\n\\tdisplay: inline-flex;\\n\\theight: $clickable-area;\\n\\tpadding: 0;\\n\\n\\t&:last-child {\\n\\t\\tmax-width: 210px;\\n\\t\\tfont-weight: bold;\\n\\n\\t\\t// Don't show breadcrumb separator for last crumb\\n\\t\\t.vue-crumb__separator {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Hover and focus effect for crumbs\\n\\t& > a:hover,\\n\\t& > a:focus {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n\\n\\t&--hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t&#{&}--hovered > a {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n\\n\\t&__separator {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t> a {\\n\\t\\toverflow: hidden;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tpadding: 12px;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\tmax-width: 100%;\\n\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\talign-items: center;\\n\\t\\tdisplay: inline-flex;\\n\\t\\tjustify-content: center;\\n\\n\\t\\t> span {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t}\\n\\n\\t// Adjust action item appearance for crumbs with actions\\n\\t// to match other crumbs\\n\\t&:not(.dropdown) :deep(.action-item) {\\n\\t\\t// Adjustments necessary to correctly shrink on small screens\\n\\t\\tmax-width: 100%;\\n\\n\\t\\t.button-vue {\\n\\t\\t\\tpadding: 0 4px 0 16px;\\n\\n\\t\\t\\t&__wrapper {\\n\\t\\t\\t\\tflex-direction: row-reverse;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Adjust the background of the last crumb when the action is open\\n\\t\\t&.action-item--open .action-item__menutoggle {\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=r},7154:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>s});var o=n(7537),a=n.n(o),i=n(3645),r=n.n(i)()(a());r.push([e.id,\".material-design-icon[data-v-636ca0d0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.breadcrumb[data-v-636ca0d0]{width:100%;flex-grow:1;display:inline-flex}.breadcrumb--collapsed .vue-crumb[data-v-636ca0d0]:last-child{min-width:100px;flex-shrink:1}.breadcrumb nav[data-v-636ca0d0]{flex-shrink:1;max-width:100%;min-width:228px}.breadcrumb .breadcrumb__crumbs[data-v-636ca0d0]{max-width:100%}.breadcrumb .breadcrumb__crumbs[data-v-636ca0d0],.breadcrumb .breadcrumb__actions[data-v-636ca0d0]{display:inline-flex}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcBreadcrumbs/NcBreadcrumbs.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,6BACC,UAAA,CACA,WAAA,CACA,mBAAA,CAEA,8DACC,eAAA,CACA,aAAA,CAGD,iCACC,aAAA,CACA,cAAA,CAKA,eAAA,CAGD,iDACC,cAAA,CAGD,mGAEC,mBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.breadcrumb {\\n\\twidth: 100%;\\n\\tflex-grow: 1;\\n\\tdisplay: inline-flex;\\n\\n\\t&--collapsed .vue-crumb:last-child {\\n\\t\\tmin-width: 100px;\\n\\t\\tflex-shrink: 1;\\n\\t}\\n\\n\\tnav {\\n\\t\\tflex-shrink: 1;\\n\\t\\tmax-width: 100%;\\n\\t\\t/**\\n\\t\\t * This value is given by the min-width of the last crumb (100px) plus\\n\\t\\t * two times the width of a crumb with an icon (first crumb and hidden crumbs actions).\\n\\t\\t */\\n\\t\\tmin-width: 228px;\\n\\t}\\n\\n\\t& #{&}__crumbs {\\n\\t\\tmax-width: 100%;\\n\\t}\\n\\n\\t& #{&}__crumbs,\\n\\t& #{&}__actions {\\n\\t\\tdisplay: inline-flex;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const s=r},1898:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>s});var o=n(7537),a=n.n(o),i=n(3645),r=n.n(i)()(a());r.push([e.id,\".material-design-icon[data-v-2e49be1e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-2e49be1e]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition-property:color,border-color,background-color;transition-duration:.1s;transition-timing-function:linear;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue *[data-v-2e49be1e],.button-vue span[data-v-2e49be1e]{cursor:pointer}.button-vue[data-v-2e49be1e]:focus{outline:none}.button-vue[data-v-2e49be1e]:disabled{cursor:default;opacity:.5;filter:saturate(0.7)}.button-vue:disabled *[data-v-2e49be1e]{cursor:default}.button-vue[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-light-hover)}.button-vue[data-v-2e49be1e]:active{background-color:var(--color-primary-element-light)}.button-vue__wrapper[data-v-2e49be1e]{display:inline-flex;align-items:center;justify-content:center;width:100%}.button-vue__icon[data-v-2e49be1e]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-2e49be1e]{font-weight:bold;margin-bottom:1px;padding:2px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button-vue--icon-only[data-v-2e49be1e]{width:44px !important}.button-vue--text-only[data-v-2e49be1e]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-2e49be1e]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-2e49be1e]{padding:0 16px 0 4px}.button-vue--wide[data-v-2e49be1e]{width:100%}.button-vue[data-v-2e49be1e]:focus-visible{outline:2px solid var(--color-main-text) !important}.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{outline:2px solid var(--color-primary-element-text);border-radius:var(--border-radius);background-color:rgba(0,0,0,0)}.button-vue--vue-primary[data-v-2e49be1e]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.button-vue--vue-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-2e49be1e]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-2e49be1e]{color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue--vue-secondary[data-v-2e49be1e]:hover:not(:disabled){color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light-hover)}.button-vue--vue-tertiary[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{color:var(--color-primary-element-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-success[data-v-2e49be1e]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-2e49be1e]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-2e49be1e]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-2e49be1e]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-2e49be1e]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-2e49be1e]:active{background-color:var(--color-error)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcButton/NcButton.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,kCAAA,CACA,gBAAA,CACA,eCcgB,CDbhB,cCagB,CDZhB,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,cAAA,CAKA,kBAAA,CACA,uDAAA,CACA,uBAAA,CACA,iCAAA,CAkBA,6CAAA,CACA,mDAAA,CA1BA,iEAEC,cAAA,CAQD,mCACC,YAAA,CAGD,sCACC,cAAA,CAIA,UCIiB,CDFjB,oBAAA,CALA,wCACC,cAAA,CAUF,kDACC,yDAAA,CAKD,oCACC,mDAAA,CAGD,sCACC,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAGD,mCACC,WCvCe,CDwCf,UCxCe,CDyCf,eCzCe,CD0Cf,cC1Ce,CD2Cf,YAAA,CACA,sBAAA,CACA,kBAAA,CAGD,mCACC,gBAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAID,wCACC,qBAAA,CAID,wCACC,cAAA,CACA,0DACC,eAAA,CACA,gBAAA,CAKF,4CACC,oBAAA,CAID,mCACC,UAAA,CAGD,2CACC,mDAAA,CACA,+EACC,mDAAA,CACA,kCAAA,CACA,8BAAA,CAOF,0CACC,6CAAA,CACA,uCAAA,CACA,+DACC,mDAAA,CAID,iDACC,6CAAA,CAKF,4CACC,6CAAA,CACA,mDAAA,CACA,iEACC,6CAAA,CACA,yDAAA,CAKF,2CACC,4BAAA,CACA,8BAAA,CACA,gEACC,6BAAA,CACA,8CAAA,CAKF,yDACC,4BAAA,CACA,8BAAA,CACA,8EACC,8BAAA,CAKF,sDACC,uCAAA,CACA,8BAAA,CAEA,2EACC,8BAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,wCACC,mCAAA,CACA,UAAA,CACA,6DACC,yCAAA,CAID,+CACC,mCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.button-vue {\\n\\tposition: relative;\\n\\twidth: fit-content;\\n\\toverflow: hidden;\\n\\tborder: 0;\\n\\tpadding: 0;\\n\\tfont-size: var(--default-font-size);\\n\\tfont-weight: bold;\\n\\tmin-height: $clickable-area;\\n\\tmin-width: $clickable-area;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\n\\t// Cursor pointer on element and all children\\n\\tcursor: pointer;\\n\\t& *,\\n\\tspan {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\tborder-radius: math.div($clickable-area, 2);\\n\\ttransition-property: color, border-color, background-color;\\n\\ttransition-duration: 0.1s;\\n\\ttransition-timing-function: linear;\\n\\n\\t// No outline feedback for focus. Handled with a toggled class in js (see data)\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\t& * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t// Gives a wash out effect\\n\\t\\tfilter: saturate($opacity_normal);\\n\\t}\\n\\n\\t// Default button type\\n\\tcolor: var(--color-primary-element-light-text);\\n\\tbackground-color: var(--color-primary-element-light);\\n\\t&:hover:not(:disabled) {\\n\\t\\tbackground-color: var(--color-primary-element-light-hover);\\n\\t}\\n\\n\\t// Back to the default color for this button when active\\n\\t// TODO: add ripple effect\\n\\t&:active {\\n\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\theight: $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-height: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__text {\\n\\t\\tfont-weight: bold;\\n\\t\\tmargin-bottom: 1px;\\n\\t\\tpadding: 2px 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t// Icon-only button\\n\\t&--icon-only {\\n\\t\\twidth: $clickable-area !important;\\n\\t}\\n\\n\\t// Text-only button\\n\\t&--text-only {\\n\\t\\tpadding: 0 12px;\\n\\t\\t& .button-vue__text {\\n\\t\\t\\tmargin-left: 4px;\\n\\t\\t\\tmargin-right: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Icon and text button\\n\\t&--icon-and-text {\\n\\t\\tpadding: 0 16px 0 4px;\\n\\t}\\n\\n\\t// Wide button spans the whole width of the container\\n\\t&--wide {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&:focus-visible {\\n\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t&.button-vue--vue-tertiary-on-primary {\\n\\t\\t\\toutline: 2px solid var(--color-primary-element-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Button types\\n\\n\\t// Primary\\n\\t&--vue-primary {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-primary-element-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n\\n\\t// Secondary\\n\\t&--vue-secondary {\\n\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\t\\tbackground-color: var(--color-primary-element-light-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary\\n\\t&--vue-tertiary {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary, no background\\n\\t&--vue-tertiary-no-background {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary on primary color (like the header)\\n\\t&--vue-tertiary-on-primary {\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\tbackground-color: transparent;\\n\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Success\\n\\t&--vue-success {\\n\\t\\tbackground-color: var(--color-success);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-success-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// : add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t}\\n\\n\\t// Warning\\n\\t&--vue-warning {\\n\\t\\tbackground-color: var(--color-warning);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-warning-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-warning);\\n\\t\\t}\\n\\t}\\n\\n\\t// Error\\n\\t&--vue-error {\\n\\t\\tbackground-color: var(--color-error);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-error-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const s=r},4401:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>s});var o=n(7537),a=n.n(o),i=n(3645),r=n.n(i)()(a());r.push([e.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:rgba(0,0,0,0);pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown.v-popper__popper{z-index:100000;top:0;left:0;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-dropdown.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);overflow:hidden;background:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-10px;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcPopover/NcPopover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,iBACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CACA,aAAA,CACA,eAAA,CACA,SAAA,CAGD,wBACC,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CAMA,2CACC,cAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CAEA,sDAAA,CAEA,4DACC,SAAA,CACA,4BAAA,CACA,kCAAA,CACA,eAAA,CACA,uCAAA,CAGD,sEACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBA1BW,CA6BZ,kGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAGD,qGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAGD,oGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAGD,mGACC,WAAA,CACA,oBAAA,CACA,8CAAA,CAGD,6DACC,iBAAA,CACA,2EAAA,CACA,SAAA,CAGD,8DACC,kBAAA,CACA,yCAAA,CACA,SAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.resize-observer {\\n\\tposition:absolute;\\n\\ttop:0;\\n\\tleft:0;\\n\\tz-index:-1;\\n\\twidth:100%;\\n\\theight:100%;\\n\\tborder:none;\\n\\tbackground-color:transparent;\\n\\tpointer-events:none;\\n\\tdisplay:block;\\n\\toverflow:hidden;\\n\\topacity:0\\n}\\n\\n.resize-observer object {\\n\\tdisplay:block;\\n\\tposition:absolute;\\n\\ttop:0;\\n\\tleft:0;\\n\\theight:100%;\\n\\twidth:100%;\\n\\toverflow:hidden;\\n\\tpointer-events:none;\\n\\tz-index:-1\\n}\\n\\n$arrow-width: 10px;\\n\\n.v-popper--theme-dropdown {\\n\\t&.v-popper__popper {\\n\\t\\tz-index: 100000;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block !important;\\n\\n\\t\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t\\t.v-popper__inner {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tbackground: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t.v-popper__arrow-container {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tz-index: 1;\\n\\t\\t\\twidth: 0;\\n\\t\\t\\theight: 0;\\n\\t\\t\\tborder-style: solid;\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tborder-width: $arrow-width;\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='top'] .v-popper__arrow-container {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='right'] .v-popper__arrow-container {\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='left'] .v-popper__arrow-container {\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[aria-hidden='true'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\n\\t\\t&[aria-hidden='false'] {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const s=r},3645:e=>{\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=\"\",o=void 0!==t[5];return t[4]&&(n+=\"@supports (\".concat(t[4],\") {\")),t[2]&&(n+=\"@media \".concat(t[2],\" {\")),o&&(n+=\"@layer\".concat(t[5].length>0?\" \".concat(t[5]):\"\",\" {\")),n+=e(t),o&&(n+=\"}\"),t[2]&&(n+=\"}\"),t[4]&&(n+=\"}\"),n})).join(\"\")},t.i=function(e,n,o,a,i){\"string\"==typeof e&&(e=[[null,e,void 0]]);var r={};if(o)for(var s=0;s0?\" \".concat(u[5]):\"\",\" {\").concat(u[1],\"}\")),u[5]=i),n&&(u[2]?(u[1]=\"@media \".concat(u[2],\" {\").concat(u[1],\"}\"),u[2]=n):u[2]=n),a&&(u[4]?(u[1]=\"@supports (\".concat(u[4],\") {\").concat(u[1],\"}\"),u[4]=a):u[4]=\"\".concat(a)),t.push(u))}},t}},7537:e=>{\"use strict\";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if(\"function\"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(o),i=\"/*# \".concat(a,\" */\");return[t].concat([i]).join(\"\\n\")}return[t].join(\"\\n\")}},3379:e=>{\"use strict\";var t=[];function n(e){for(var n=-1,o=0;o{\"use strict\";var t={};e.exports=function(e,n){var o=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!o)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");o.appendChild(n)}},9216:e=>{\"use strict\";e.exports=function(e){var t=document.createElement(\"style\");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,n)=>{\"use strict\";e.exports=function(e){var t=n.nc;t&&e.setAttribute(\"nonce\",t)}},7795:e=>{\"use strict\";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var o=\"\";n.supports&&(o+=\"@supports (\".concat(n.supports,\") {\")),n.media&&(o+=\"@media \".concat(n.media,\" {\"));var a=void 0!==n.layer;a&&(o+=\"@layer\".concat(n.layer.length>0?\" \".concat(n.layer):\"\",\" {\")),o+=n.css,a&&(o+=\"}\"),n.media&&(o+=\"}\"),n.supports&&(o+=\"}\");var i=n.sourceMap;i&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i)))),\" */\")),t.styleTagTransform(o,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{\"use strict\";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},9158:()=>{},5727:()=>{},6591:()=>{},1753:()=>{},2102:()=>{},2405:()=>{},1900:(e,t,n)=>{\"use strict\";function o(e,t,n,o,a,i,r,s){var l,c=\"function\"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),i&&(c._scopeId=\"data-v-\"+i),r?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=l):a&&(l=s?function(){a.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:a),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}n.d(t,{Z:()=>o})},542:e=>{\"use strict\";e.exports=require(\"@nextcloud/event-bus\")},7931:e=>{\"use strict\";e.exports=require(\"@nextcloud/l10n/gettext\")},3465:e=>{\"use strict\";e.exports=require(\"debounce\")},9454:e=>{\"use strict\";e.exports=require(\"floating-vue\")},4505:e=>{\"use strict\";e.exports=require(\"focus-trap\")},2734:e=>{\"use strict\";e.exports=require(\"vue\")},9044:e=>{\"use strict\";e.exports=require(\"vue-material-design-icons/ChevronRight.vue\")},1441:e=>{\"use strict\";e.exports=require(\"vue-material-design-icons/DotsHorizontal.vue\")}},t={};function n(o){var a=t[o];if(void 0!==a)return a.exports;var i=t[o]={id:o,exports:{}};return e[o](i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.nc=void 0;var o={};return(()=>{\"use strict\";n.r(o),n.d(o,{default:()=>T});var e=n(644),t=n(1484),a=n(6299),i=n(6882),r=n(2734),s=n.n(r);const l=function(e,t,n){if(void 0!==e)for(var o=e.length-1;o>=0;o--){var a=e[o],i=!a.componentOptions&&a.tag&&-1===t.indexOf(a.tag),r=!!a.componentOptions&&\"string\"==typeof a.componentOptions.tag,l=r&&-1===t.indexOf(a.componentOptions.tag);(i||!r||l)&&((i||l)&&s().util.warn(\"\".concat(i?a.tag:a.componentOptions.tag,\" is not allowed inside the \").concat(n.$options.name,\" component\"),n),e.splice(o,1))}};var c=n(542);const u=require(\"vue-material-design-icons/Folder.vue\");var d=n.n(u),p=n(3465),m=n.n(p),g=\"vue-crumb\";const h={name:\"NcBreadcrumbs\",components:{NcActions:e.default,NcActionRouter:t.default,NcActionLink:a.default,NcBreadcrumb:i.default,IconFolder:d()},props:{rootIcon:{type:String,default:\"icon-home\"}},emits:[\"dropped\"],data:function(){return{hiddenCrumbs:[],hiddenIndices:[],menuBreadcrumbProps:{name:\"\",forceMenu:!0,disableDrop:!0,open:!1}}},beforeMount:function(){l(this.$slots.default,[\"NcBreadcrumb\"],this)},beforeUpdate:function(){l(this.$slots.default,[\"NcBreadcrumb\"],this)},created:function(){var e=this;window.addEventListener(\"resize\",m()((function(){e.handleWindowResize()}),100)),(0,c.subscribe)(\"navigation-toggled\",this.delayedResize)},mounted:function(){this.handleWindowResize()},updated:function(){this.delayedResize(),this.delayedHideCrumbs()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize),(0,c.unsubscribe)(\"navigation-toggled\",this.delayedResize)},methods:{delayedHideCrumbs:function(){var e=this;this.$nextTick((function(){var t=e.$slots.default||[];e.hideCrumbs(t)}))},closeActions:function(e){this.$refs.actionsBreadcrumb.$el.contains(e.relatedTarget)||(this.menuBreadcrumbProps.open=!1)},delayedResize:function(){var e=this;this.$nextTick((function(){e.handleWindowResize()}))},handleWindowResize:function(){var e=this.$slots.default||[];if(this.$refs.container){var t=e.length,n=[],o=this.$refs.container.offsetWidth,a=this.getTotalWidth(e);this.$refs.breadcrumb__actions&&(a+=this.$refs.breadcrumb__actions.offsetWidth);var i=a-o;i+=i>0?64:0;for(var r=0,s=Math.floor(t/2);i>0&&r1&&void 0!==arguments[1]?arguments[1]:0;e.forEach((function(e,o){var a;null!=e&&null!==(a=e.elm)&&void 0!==a&&a.classList&&(t.hiddenIndices.includes(o+n)?e.elm.classList.add(\"\".concat(g,\"--hidden\")):e.elm.classList.remove(\"\".concat(g,\"--hidden\")))}))}},render:function(e){var t=this,n=this.$slots.default||[];if(0!==n.length){s().set(n[0].componentOptions.propsData,\"icon\",this.rootIcon);var o=[];if(this.hiddenCrumbs.length){o=n.slice(0,Math.round(n.length/2)),this.hideCrumbs(o),o.push(e(\"NcBreadcrumb\",{class:\"dropdown\",props:this.menuBreadcrumbProps,attrs:{\"aria-hidden\":!0},ref:\"actionsBreadcrumb\",key:\"actions-breadcrumb-1\",nativeOn:{dragstart:this.dragStart,dragenter:function(){t.menuBreadcrumbProps.open=!0},dragleave:this.closeActions},on:{\"update:open\":function(e){t.menuBreadcrumbProps.open=e}}},this.hiddenCrumbs.map((function(n){var o=n.componentOptions.propsData.to,a=n.componentOptions.propsData.href,i=n.componentOptions.propsData.disableDrop,r=n.componentOptions.propsData.title,s=n.componentOptions.propsData.name||r,l=\"NcActionLink\",c=a;o&&(l=\"NcActionRouter\",c=o);var u=e(\"IconFolder\",{props:{size:20},slot:\"icon\"});return e(l,{class:g,props:{href:a,title:r,name:\"\",to:o},attrs:{draggable:!1},nativeOn:{dragstart:t.dragStart,drop:function(e){return t.dropped(e,c,i)},dragover:t.dragOver,dragenter:function(e){return t.dragEnter(e,i)},dragleave:function(e){return t.dragLeave(e,i)}}},[u,s])}))));var a=n.slice(Math.round(n.length/2));o=o.concat(a),this.hideCrumbs(a,o.length-1)}else o=n,this.hideCrumbs(o);var i=[e(\"nav\",{},[e(\"ul\",{class:\"breadcrumb__crumbs\"},o)])];return this.$slots.actions&&i.push(e(\"div\",{class:\"breadcrumb__actions\",ref:\"breadcrumb__actions\"},this.$slots.actions)),e(\"div\",{class:[\"breadcrumb\",{\"breadcrumb--collapsed\":this.hiddenCrumbs.length===n.length-2}],ref:\"container\"},i)}}};var A=n(3379),v=n.n(A),f=n(7795),b=n.n(f),C=n(569),y=n.n(C),k=n(3565),w=n.n(k),S=n(9216),x=n.n(S),j=n(4589),N=n.n(j),z=n(7154),P={};P.styleTagTransform=N(),P.setAttributes=w(),P.insert=y().bind(null,\"head\"),P.domAPI=b(),P.insertStyleElement=x();v()(z.Z,P);z.Z&&z.Z.locals&&z.Z.locals;var E=n(1900),B=n(1753),_=n.n(B),O=(0,E.Z)(h,undefined,undefined,!1,null,\"636ca0d0\",null);\"function\"==typeof _()&&_()(O);const T=O.exports})(),o})()));\n//# sourceMappingURL=NcBreadcrumbs.js.map","/*! For license information please see NcIconSvgWrapper.js.LICENSE.txt */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"NextcloudVue\",[],e):\"object\"==typeof exports?exports.NextcloudVue=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/NcIconSvgWrapper\"]=e())}(self,(()=>(()=>{var t={5635:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>c});var r=n(7537),o=n.n(r),i=n(3645),a=n.n(i)()(o());a.push([t.id,\".material-design-icon[data-v-5bf5fa74]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.icon-vue[data-v-5bf5fa74]{display:flex;justify-content:center;align-items:center;width:44px;height:44px;opacity:1}.icon-vue[data-v-5bf5fa74] svg{fill:currentColor;max-width:20px;max-height:20px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcIconSvgWrapper/NcIconSvgWrapper.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2BACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CACA,SAAA,CAEA,+BACC,iBAAA,CACA,cAAA,CACA,eAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n.icon-vue {\\n\\tdisplay: flex;\\n\\tjustify-content: center;\\n\\talign-items: center;\\n\\twidth: 44px;\\n\\theight: 44px;\\n\\topacity: 1;\\n\\n\\t&:deep(svg) {\\n\\t\\tfill: currentColor;\\n\\t\\tmax-width: 20px;\\n\\t\\tmax-height: 20px;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},3645:t=>{\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=\"\",r=void 0!==e[5];return e[4]&&(n+=\"@supports (\".concat(e[4],\") {\")),e[2]&&(n+=\"@media \".concat(e[2],\" {\")),r&&(n+=\"@layer\".concat(e[5].length>0?\" \".concat(e[5]):\"\",\" {\")),n+=t(e),r&&(n+=\"}\"),e[2]&&(n+=\"}\"),e[4]&&(n+=\"}\"),n})).join(\"\")},e.i=function(t,n,r,o,i){\"string\"==typeof t&&(t=[[null,t,void 0]]);var a={};if(r)for(var c=0;c0?\" \".concat(l[5]):\"\",\" {\").concat(l[1],\"}\")),l[5]=i),n&&(l[2]?(l[1]=\"@media \".concat(l[2],\" {\").concat(l[1],\"}\"),l[2]=n):l[2]=n),o&&(l[4]?(l[1]=\"@supports (\".concat(l[4],\") {\").concat(l[1],\"}\"),l[4]=o):l[4]=\"\".concat(o)),e.push(l))}},e}},7537:t=>{\"use strict\";t.exports=function(t){var e=t[1],n=t[3];if(!n)return e;if(\"function\"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),o=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),i=\"/*# \".concat(o,\" */\");return[e].concat([i]).join(\"\\n\")}return[e].join(\"\\n\")}},3379:t=>{\"use strict\";var e=[];function n(t){for(var n=-1,r=0;r{\"use strict\";var e={};t.exports=function(t,n){var r=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(n)}},9216:t=>{\"use strict\";t.exports=function(t){var e=document.createElement(\"style\");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},3565:(t,e,n)=>{\"use strict\";t.exports=function(t){var e=n.nc;e&&t.setAttribute(\"nonce\",e)}},7795:t=>{\"use strict\";t.exports=function(t){var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var r=\"\";n.supports&&(r+=\"@supports (\".concat(n.supports,\") {\")),n.media&&(r+=\"@media \".concat(n.media,\" {\"));var o=void 0!==n.layer;o&&(r+=\"@layer\".concat(n.layer.length>0?\" \".concat(n.layer):\"\",\" {\")),r+=n.css,o&&(r+=\"}\"),n.media&&(r+=\"}\"),n.supports&&(r+=\"}\");var i=n.sourceMap;i&&\"undefined\"!=typeof btoa&&(r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i)))),\" */\")),e.styleTagTransform(r,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},4589:t=>{\"use strict\";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},1287:()=>{},1900:(t,e,n)=>{\"use strict\";function r(t,e,n,r,o,i,a,c){var s,u=\"function\"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId=\"data-v-\"+i),a?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=s):o&&(s=c?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),s)if(u.functional){u._injectStyles=s;var l=u.render;u.render=function(t,e){return s.call(e),l(t,e)}}else{var f=u.beforeCreate;u.beforeCreate=f?[].concat(f,s):[s]}return{exports:t,options:u}}n.d(e,{Z:()=>r})}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={id:r,exports:{}};return t[r](i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.nc=void 0;var r={};return(()=>{\"use strict\";n.r(r),n.d(r,{default:()=>E});const t=require(\"@skjnldsv/sanitize-svg\");function e(t){return e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},e(t)}function o(){o=function(){return t};var t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},a=\"function\"==typeof Symbol?Symbol:{},c=a.iterator||\"@@iterator\",s=a.asyncIterator||\"@@asyncIterator\",u=a.toStringTag||\"@@toStringTag\";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},\"\")}catch(t){l=function(t,e,n){return t[e]=n}}function f(t,e,n,r){var o=e&&e.prototype instanceof h?e:h,a=Object.create(o.prototype),c=new j(r||[]);return i(a,\"_invoke\",{value:C(t,n,c)}),a}function p(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=f;var d={};function h(){}function v(){}function y(){}var m={};l(m,c,(function(){return this}));var g=Object.getPrototypeOf,A=g&&g(g(L([])));A&&A!==n&&r.call(A,c)&&(m=A);var x=y.prototype=h.prototype=Object.create(m);function b(t){[\"next\",\"throw\",\"return\"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,n){function o(i,a,c,s){var u=p(t[i],t,a);if(\"throw\"!==u.type){var l=u.arg,f=l.value;return f&&\"object\"==e(f)&&r.call(f,\"__await\")?n.resolve(f.__await).then((function(t){o(\"next\",t,c,s)}),(function(t){o(\"throw\",t,c,s)})):n.resolve(f).then((function(t){l.value=t,c(l)}),(function(t){return o(\"throw\",t,c,s)}))}s(u.arg)}var a;i(this,\"_invoke\",{value:function(t,e){function r(){return new n((function(n,r){o(t,e,n,r)}))}return a=a?a.then(r,r):r()}})}function C(t,e,n){var r=\"suspendedStart\";return function(o,i){if(\"executing\"===r)throw new Error(\"Generator is already running\");if(\"completed\"===r){if(\"throw\"===o)throw i;return N()}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var c=S(a,n);if(c){if(c===d)continue;return c}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===r)throw r=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);r=\"executing\";var s=p(t,e,n);if(\"normal\"===s.type){if(r=n.done?\"completed\":\"suspendedYield\",s.arg===d)continue;return{value:s.arg,done:n.done}}\"throw\"===s.type&&(r=\"completed\",n.method=\"throw\",n.arg=s.arg)}}}function S(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,\"throw\"===n&&t.iterator.return&&(e.method=\"return\",e.arg=void 0,S(t,e),\"throw\"===e.method)||\"return\"!==n&&(e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),d;var o=p(r,t.iterator,e.arg);if(\"throw\"===o.type)return e.method=\"throw\",e.arg=o.arg,e.delegate=null,d;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=void 0),e.delegate=null,d):i:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function j(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(_,this),this.reset(!0)}function L(t){if(t){var e=t[c];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n=0;--o){var i=this.tryEntries[o],a=i.completion;if(\"root\"===i.tryLoc)return n(\"end\");if(i.tryLoc<=this.prev){var c=r.call(i,\"catchLoc\"),s=r.call(i,\"finallyLoc\");if(c&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,\"finallyLoc\")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),E(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if(\"throw\"===r.type){var o=r.arg;E(n)}return o}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:L(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),d}},t}function i(t,e,n,r,o,i,a){try{var c=t[i](a),s=c.value}catch(t){return void n(t)}c.done?e(s):Promise.resolve(s).then(r,o)}function a(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var a=t.apply(e,n);function c(t){i(a,r,o,c,s,\"next\",t)}function s(t){i(a,r,o,c,s,\"throw\",t)}c(void 0)}))}}const c={name:\"NcIconSvgWrapper\",props:{svg:{type:String,default:\"\"},title:{type:String,default:\"\"}},data:function(){return{cleanSvg:\"\"}},beforeMount:function(){var t=this;return a(o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.sanitizeSVG();case 2:case\"end\":return e.stop()}}),e)})))()},methods:{sanitizeSVG:function(){var e=this;return a(o().mark((function n(){return o().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(e.svg){n.next=2;break}return n.abrupt(\"return\");case 2:return n.next=4,(0,t.sanitizeSVG)(e.svg);case 4:e.cleanSvg=n.sent;case 5:case\"end\":return n.stop()}}),n)})))()}}};var s=n(3379),u=n.n(s),l=n(7795),f=n.n(l),p=n(569),d=n.n(p),h=n(3565),v=n.n(h),y=n(9216),m=n.n(y),g=n(4589),A=n.n(g),x=n(5635),b={};b.styleTagTransform=A(),b.setAttributes=v(),b.insert=d().bind(null,\"head\"),b.domAPI=f(),b.insertStyleElement=m();u()(x.Z,b);x.Z&&x.Z.locals&&x.Z.locals;var w=n(1900),C=n(1287),S=n.n(C),_=(0,w.Z)(c,(function(){var t=this;return(0,t._self._c)(\"span\",{staticClass:\"icon-vue\",attrs:{role:\"img\",\"aria-hidden\":!t.title,\"aria-label\":t.title},domProps:{innerHTML:t._s(t.cleanSvg)}})}),[],!1,null,\"5bf5fa74\",null);\"function\"==typeof S()&&S()(_);const E=_.exports})(),r})()));\n//# sourceMappingURL=NcIconSvgWrapper.js.map","/*! For license information please see NcInputField.js.LICENSE.txt */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"NextcloudVue\",[],e):\"object\"==typeof exports?exports.NextcloudVue=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/NcInputField\"]=e())}(self,(()=>(()=>{var t={9104:(t,e,n)=>{\"use strict\";function r(t){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},r(t)}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function a(t){for(var e=1;eB});const l={name:\"NcButton\",props:{disabled:{type:Boolean,default:!1},type:{type:String,validator:function(t){return-1!==[\"primary\",\"secondary\",\"tertiary\",\"tertiary-no-background\",\"tertiary-on-primary\",\"error\",\"warning\",\"success\"].indexOf(t)},default:\"secondary\"},nativeType:{type:String,validator:function(t){return-1!==[\"submit\",\"reset\",\"button\"].indexOf(t)},default:\"button\"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null},href:{type:String,default:null},to:{type:[String,Object],default:null},exact:{type:Boolean,default:!1},ariaHidden:{type:Boolean,default:null}},render:function(t){var e,n,r,o,l,c=this,s=null===(e=this.$slots.default)||void 0===e||null===(n=e[0])||void 0===n||null===(r=n.text)||void 0===r||null===(o=r.trim)||void 0===o?void 0:o.call(r),u=!!s,A=null===(l=this.$slots)||void 0===l?void 0:l.icon;s||this.ariaLabel||console.warn(\"You need to fill either the text or the ariaLabel props in the button component.\",{text:s,ariaLabel:this.ariaLabel},this);var d=function(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=n.navigate,o=n.isActive,l=n.isExactActive;return t(c.to||!c.href?\"button\":\"a\",{class:[\"button-vue\",(e={\"button-vue--icon-only\":A&&!u,\"button-vue--text-only\":u&&!A,\"button-vue--icon-and-text\":A&&u},i(e,\"button-vue--vue-\".concat(c.type),c.type),i(e,\"button-vue--wide\",c.wide),i(e,\"active\",o),i(e,\"router-link-exact-active\",l),e)],attrs:a({\"aria-label\":c.ariaLabel,disabled:c.disabled,type:c.href?null:c.nativeType,role:c.href?\"button\":null,href:!c.to&&c.href?c.href:null},c.$attrs),on:a(a({},c.$listeners),{},{click:function(t){var e,n;null===(e=c.$listeners)||void 0===e||null===(n=e.click)||void 0===n||n.call(e,t),null==r||r(t)}})},[t(\"span\",{class:\"button-vue__wrapper\"},[A?t(\"span\",{class:\"button-vue__icon\",attrs:{\"aria-hidden\":c.ariaHidden}},[c.$slots.icon]):null,u?t(\"span\",{class:\"button-vue__text\"},[s]):null])])};return this.to?t(\"router-link\",{props:{custom:!0,to:this.to,exact:this.exact},scopedSlots:{default:d}}):d()}};var c=n(3379),s=n.n(c),u=n(7795),A=n.n(u),d=n(569),p=n.n(d),C=n(3565),v=n.n(C),b=n(9216),f=n.n(b),h=n(4589),g=n.n(h),m=n(1898),x={};x.styleTagTransform=g(),x.setAttributes=v(),x.insert=p().bind(null,\"head\"),x.domAPI=A(),x.insertStyleElement=f();s()(m.Z,x);m.Z&&m.Z.locals&&m.Z.locals;var y=n(1900),_=n(2102),w=n.n(_),k=(0,y.Z)(l,undefined,undefined,!1,null,\"2e49be1e\",null);\"function\"==typeof w()&&w()(k);const B=k.exports},1898:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>l});var r=n(7537),o=n.n(r),a=n(3645),i=n.n(a)()(o());i.push([t.id,\".material-design-icon[data-v-2e49be1e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-2e49be1e]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition-property:color,border-color,background-color;transition-duration:.1s;transition-timing-function:linear;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue *[data-v-2e49be1e],.button-vue span[data-v-2e49be1e]{cursor:pointer}.button-vue[data-v-2e49be1e]:focus{outline:none}.button-vue[data-v-2e49be1e]:disabled{cursor:default;opacity:.5;filter:saturate(0.7)}.button-vue:disabled *[data-v-2e49be1e]{cursor:default}.button-vue[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-light-hover)}.button-vue[data-v-2e49be1e]:active{background-color:var(--color-primary-element-light)}.button-vue__wrapper[data-v-2e49be1e]{display:inline-flex;align-items:center;justify-content:center;width:100%}.button-vue__icon[data-v-2e49be1e]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-2e49be1e]{font-weight:bold;margin-bottom:1px;padding:2px 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button-vue--icon-only[data-v-2e49be1e]{width:44px !important}.button-vue--text-only[data-v-2e49be1e]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-2e49be1e]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-2e49be1e]{padding:0 16px 0 4px}.button-vue--wide[data-v-2e49be1e]{width:100%}.button-vue[data-v-2e49be1e]:focus-visible{outline:2px solid var(--color-main-text) !important}.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{outline:2px solid var(--color-primary-element-text);border-radius:var(--border-radius);background-color:rgba(0,0,0,0)}.button-vue--vue-primary[data-v-2e49be1e]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.button-vue--vue-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-2e49be1e]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-2e49be1e]{color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light)}.button-vue--vue-secondary[data-v-2e49be1e]:hover:not(:disabled){color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light-hover)}.button-vue--vue-tertiary[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-no-background[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]{color:var(--color-primary-element-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary-on-primary[data-v-2e49be1e]:hover:not(:disabled){background-color:rgba(0,0,0,0)}.button-vue--vue-success[data-v-2e49be1e]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-2e49be1e]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-2e49be1e]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-2e49be1e]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-2e49be1e]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-2e49be1e]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-2e49be1e]:active{background-color:var(--color-error)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcButton/NcButton.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,kCAAA,CACA,gBAAA,CACA,eCcgB,CDbhB,cCagB,CDZhB,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,cAAA,CAKA,kBAAA,CACA,uDAAA,CACA,uBAAA,CACA,iCAAA,CAkBA,6CAAA,CACA,mDAAA,CA1BA,iEAEC,cAAA,CAQD,mCACC,YAAA,CAGD,sCACC,cAAA,CAIA,UCIiB,CDFjB,oBAAA,CALA,wCACC,cAAA,CAUF,kDACC,yDAAA,CAKD,oCACC,mDAAA,CAGD,sCACC,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAGD,mCACC,WCvCe,CDwCf,UCxCe,CDyCf,eCzCe,CD0Cf,cC1Ce,CD2Cf,YAAA,CACA,sBAAA,CACA,kBAAA,CAGD,mCACC,gBAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAID,wCACC,qBAAA,CAID,wCACC,cAAA,CACA,0DACC,eAAA,CACA,gBAAA,CAKF,4CACC,oBAAA,CAID,mCACC,UAAA,CAGD,2CACC,mDAAA,CACA,+EACC,mDAAA,CACA,kCAAA,CACA,8BAAA,CAOF,0CACC,6CAAA,CACA,uCAAA,CACA,+DACC,mDAAA,CAID,iDACC,6CAAA,CAKF,4CACC,6CAAA,CACA,mDAAA,CACA,iEACC,6CAAA,CACA,yDAAA,CAKF,2CACC,4BAAA,CACA,8BAAA,CACA,gEACC,6BAAA,CACA,8CAAA,CAKF,yDACC,4BAAA,CACA,8BAAA,CACA,8EACC,8BAAA,CAKF,sDACC,uCAAA,CACA,8BAAA,CAEA,2EACC,8BAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,wCACC,mCAAA,CACA,UAAA,CACA,6DACC,yCAAA,CAID,+CACC,mCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.button-vue {\\n\\tposition: relative;\\n\\twidth: fit-content;\\n\\toverflow: hidden;\\n\\tborder: 0;\\n\\tpadding: 0;\\n\\tfont-size: var(--default-font-size);\\n\\tfont-weight: bold;\\n\\tmin-height: $clickable-area;\\n\\tmin-width: $clickable-area;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\n\\t// Cursor pointer on element and all children\\n\\tcursor: pointer;\\n\\t& *,\\n\\tspan {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\tborder-radius: math.div($clickable-area, 2);\\n\\ttransition-property: color, border-color, background-color;\\n\\ttransition-duration: 0.1s;\\n\\ttransition-timing-function: linear;\\n\\n\\t// No outline feedback for focus. Handled with a toggled class in js (see data)\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\t& * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t// Gives a wash out effect\\n\\t\\tfilter: saturate($opacity_normal);\\n\\t}\\n\\n\\t// Default button type\\n\\tcolor: var(--color-primary-element-light-text);\\n\\tbackground-color: var(--color-primary-element-light);\\n\\t&:hover:not(:disabled) {\\n\\t\\tbackground-color: var(--color-primary-element-light-hover);\\n\\t}\\n\\n\\t// Back to the default color for this button when active\\n\\t// TODO: add ripple effect\\n\\t&:active {\\n\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\theight: $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-height: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__text {\\n\\t\\tfont-weight: bold;\\n\\t\\tmargin-bottom: 1px;\\n\\t\\tpadding: 2px 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t// Icon-only button\\n\\t&--icon-only {\\n\\t\\twidth: $clickable-area !important;\\n\\t}\\n\\n\\t// Text-only button\\n\\t&--text-only {\\n\\t\\tpadding: 0 12px;\\n\\t\\t& .button-vue__text {\\n\\t\\t\\tmargin-left: 4px;\\n\\t\\t\\tmargin-right: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Icon and text button\\n\\t&--icon-and-text {\\n\\t\\tpadding: 0 16px 0 4px;\\n\\t}\\n\\n\\t// Wide button spans the whole width of the container\\n\\t&--wide {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&:focus-visible {\\n\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t&.button-vue--vue-tertiary-on-primary {\\n\\t\\t\\toutline: 2px solid var(--color-primary-element-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Button types\\n\\n\\t// Primary\\n\\t&--vue-primary {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-primary-element-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n\\n\\t// Secondary\\n\\t&--vue-secondary {\\n\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tcolor: var(--color-primary-element-light-text);\\n\\t\\t\\tbackground-color: var(--color-primary-element-light-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary\\n\\t&--vue-tertiary {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary, no background\\n\\t&--vue-tertiary-no-background {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary on primary color (like the header)\\n\\t&--vue-tertiary-on-primary {\\n\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\tbackground-color: transparent;\\n\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// Success\\n\\t&--vue-success {\\n\\t\\tbackground-color: var(--color-success);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-success-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// : add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t}\\n\\n\\t// Warning\\n\\t&--vue-warning {\\n\\t\\tbackground-color: var(--color-warning);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-warning-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-warning);\\n\\t\\t}\\n\\t}\\n\\n\\t// Error\\n\\t&--vue-error {\\n\\t\\tbackground-color: var(--color-error);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-error-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\\n// navigation spacing\\n$app-navigation-settings-margin: 3px;\\n\"],sourceRoot:\"\"}]);const l=i},847:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>l});var r=n(7537),o=n.n(r),a=n(3645),i=n.n(a)()(o());i.push([t.id,\".material-design-icon[data-v-f50b337c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.input-field[data-v-f50b337c]{position:relative;width:100%;border-radius:var(--border-radius-large)}.input-field__main-wrapper[data-v-f50b337c]{height:36px;position:relative}.input-field__input[data-v-f50b337c]{margin:0;padding:0 12px;font-size:var(--default-font-size);background-color:var(--color-main-background);color:var(--color-main-text);border:2px solid var(--color-border-maxcontrast);height:36px !important;border-radius:var(--border-radius-large);text-overflow:ellipsis;cursor:pointer;width:100%;-webkit-appearance:textfield !important;-moz-appearance:textfield !important}.input-field__input[data-v-f50b337c]:active:not([disabled]),.input-field__input[data-v-f50b337c]:hover:not([disabled]),.input-field__input[data-v-f50b337c]:focus:not([disabled]){border-color:var(--color-primary-element)}.input-field__input[data-v-f50b337c]:focus{cursor:text}.input-field__input[data-v-f50b337c]:focus-visible{box-shadow:unset !important}.input-field__input--success[data-v-f50b337c]{border-color:var(--color-success) !important}.input-field__input--success[data-v-f50b337c]:focus-visible{box-shadow:#f8fafc 0px 0px 0px 2px,var(--color-primary-element) 0px 0px 0px 4px,rgba(0,0,0,.05) 0px 1px 2px 0px}.input-field__input--error[data-v-f50b337c]{border-color:var(--color-error) !important}.input-field__input--error[data-v-f50b337c]:focus-visible{box-shadow:#f8fafc 0px 0px 0px 2px,var(--color-primary-element) 0px 0px 0px 4px,rgba(0,0,0,.05) 0px 1px 2px 0px}.input-field__input--leading-icon[data-v-f50b337c]{padding-left:28px}.input-field__input--trailing-icon[data-v-f50b337c]{padding-right:28px}.input-field__label[data-v-f50b337c]{padding:4px 0;display:block}.input-field__label--hidden[data-v-f50b337c]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.input-field__icon[data-v-f50b337c]{position:absolute;height:32px;width:32px;display:flex;align-items:center;justify-content:center;opacity:.7}.input-field__icon--leading[data-v-f50b337c]{bottom:2px;left:2px}.input-field__icon--trailing[data-v-f50b337c]{bottom:2px;right:2px}.input-field__clear-button.button-vue[data-v-f50b337c]{position:absolute;top:2px;right:1px;min-width:unset;min-height:unset;height:32px;width:32px !important;border-radius:var(--border-radius-large)}.input-field__helper-text-message[data-v-f50b337c]{padding:4px 0;display:flex;align-items:center}.input-field__helper-text-message__icon[data-v-f50b337c]{margin-right:8px;align-self:start;margin-top:4px}.input-field__helper-text-message--error[data-v-f50b337c]{color:var(--color-error)}.input-field__helper-text-message--success[data-v-f50b337c]{color:var(--color-success)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcInputField/NcInputField.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8BACC,iBAAA,CACA,UAAA,CACA,wCAAA,CAEA,4CACC,WAAA,CACA,iBAAA,CAGD,qCACC,QAAA,CACA,cAAA,CACA,kCAAA,CACA,6CAAA,CACA,4BAAA,CACA,gDAAA,CACA,sBAAA,CACA,wCAAA,CACA,sBAAA,CACA,cAAA,CACA,UAAA,CACA,uCAAA,CACA,oCAAA,CAEA,kLAGC,yCAAA,CAGD,2CACC,WAAA,CAGD,mDACC,2BAAA,CAGD,8CACC,4CAAA,CACA,4DACC,+GAAA,CAIF,4CACC,0CAAA,CACA,0DACC,+GAAA,CAIF,mDACC,iBAAA,CAGD,oDACC,kBAAA,CAIF,qCACC,aAAA,CACA,aAAA,CAEA,6CACC,iBAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,eAAA,CAIF,oCACC,iBAAA,CACA,WAAA,CACA,UAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,6CACC,UAAA,CACA,QAAA,CAGD,8CACC,UAAA,CACA,SAAA,CAIF,uDACC,iBAAA,CACA,OAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,WAAA,CACA,qBAAA,CACA,wCAAA,CAGD,mDACC,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,yDACC,gBAAA,CACA,gBAAA,CACA,cAAA,CAGD,0DACC,wBAAA,CAGD,4DACC,0BAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.input-field {\\n\\tposition: relative;\\n\\twidth: 100%;\\n\\tborder-radius: var(--border-radius-large);\\n\\n\\t&__main-wrapper {\\n\\t\\theight: 36px;\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__input {\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0 12px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 2px solid var(--color-border-maxcontrast);\\n\\t\\theight: 36px !important;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcursor: pointer;\\n\\t\\twidth: 100%;\\n\\t\\t-webkit-appearance: textfield !important;\\n\\t\\t-moz-appearance: textfield !important;\\n\\n\\t\\t&:active:not([disabled]),\\n\\t\\t&:hover:not([disabled]),\\n\\t\\t&:focus:not([disabled]) {\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t}\\n\\n\\t\\t&:focus {\\n\\t\\t\\tcursor: text;\\n\\t\\t}\\n\\n\\t\\t&:focus-visible {\\n\\t\\t\\tbox-shadow: unset !important; // Override server rules\\n\\t\\t}\\n\\n\\t\\t&--success {\\n\\t\\t\\tborder-color: var(--color-success) !important; //Override hover border color\\n\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--error {\\n\\t\\t\\tborder-color: var(--color-error) !important; //Override hover border color\\n\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--leading-icon {\\n\\t\\t\\tpadding-left: 28px;\\n\\t\\t}\\n\\n\\t\\t&--trailing-icon {\\n\\t\\t\\tpadding-right: 28px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tpadding: 4px 0;\\n\\t\\tdisplay: block;\\n\\n\\t\\t&--hidden {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tleft: -10000px;\\n\\t\\t\\ttop: auto;\\n\\t\\t\\twidth: 1px;\\n\\t\\t\\theight: 1px;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: absolute;\\n\\t\\theight: 32px;\\n\\t\\twidth: 32px;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: 0.7;\\n\\t\\t&--leading {\\n\\t\\t\\tbottom: 2px;\\n\\t\\t\\tleft: 2px;\\n\\t\\t}\\n\\n\\t\\t&--trailing {\\n\\t\\t\\tbottom: 2px;\\n\\t\\t\\tright: 2px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__clear-button.button-vue {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 2px;\\n\\t\\tright: 1px;\\n\\t\\tmin-width: unset;\\n\\t\\tmin-height: unset;\\n\\t\\theight: 32px;\\n\\t\\twidth: 32px !important;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n\\n\\t&__helper-text-message {\\n\\t\\tpadding: 4px 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\n\\t\\t&__icon {\\n\\t\\t\\tmargin-right: 8px;\\n\\t\\t\\talign-self: start;\\n\\t\\t\\tmargin-top: 4px;\\n\\t\\t}\\n\\n\\t\\t&--error {\\n\\t\\t\\tcolor: var(--color-error);\\n\\t\\t}\\n\\n\\t\\t&--success {\\n\\t\\t\\tcolor: var(--color-success);\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const l=i},3645:t=>{\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=\"\",r=void 0!==e[5];return e[4]&&(n+=\"@supports (\".concat(e[4],\") {\")),e[2]&&(n+=\"@media \".concat(e[2],\" {\")),r&&(n+=\"@layer\".concat(e[5].length>0?\" \".concat(e[5]):\"\",\" {\")),n+=t(e),r&&(n+=\"}\"),e[2]&&(n+=\"}\"),e[4]&&(n+=\"}\"),n})).join(\"\")},e.i=function(t,n,r,o,a){\"string\"==typeof t&&(t=[[null,t,void 0]]);var i={};if(r)for(var l=0;l0?\" \".concat(u[5]):\"\",\" {\").concat(u[1],\"}\")),u[5]=a),n&&(u[2]?(u[1]=\"@media \".concat(u[2],\" {\").concat(u[1],\"}\"),u[2]=n):u[2]=n),o&&(u[4]?(u[1]=\"@supports (\".concat(u[4],\") {\").concat(u[1],\"}\"),u[4]=o):u[4]=\"\".concat(o)),e.push(u))}},e}},7537:t=>{\"use strict\";t.exports=function(t){var e=t[1],n=t[3];if(!n)return e;if(\"function\"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),o=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),a=\"/*# \".concat(o,\" */\");return[e].concat([a]).join(\"\\n\")}return[e].join(\"\\n\")}},3379:t=>{\"use strict\";var e=[];function n(t){for(var n=-1,r=0;r{\"use strict\";var e={};t.exports=function(t,n){var r=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(n)}},9216:t=>{\"use strict\";t.exports=function(t){var e=document.createElement(\"style\");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},3565:(t,e,n)=>{\"use strict\";t.exports=function(t){var e=n.nc;e&&t.setAttribute(\"nonce\",e)}},7795:t=>{\"use strict\";t.exports=function(t){var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var r=\"\";n.supports&&(r+=\"@supports (\".concat(n.supports,\") {\")),n.media&&(r+=\"@media \".concat(n.media,\" {\"));var o=void 0!==n.layer;o&&(r+=\"@layer\".concat(n.layer.length>0?\" \".concat(n.layer):\"\",\" {\")),r+=n.css,o&&(r+=\"}\"),n.media&&(r+=\"}\"),n.supports&&(r+=\"}\");var a=n.sourceMap;a&&\"undefined\"!=typeof btoa&&(r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),e.styleTagTransform(r,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},4589:t=>{\"use strict\";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},2102:()=>{},4348:()=>{},1900:(t,e,n)=>{\"use strict\";function r(t,e,n,r,o,a,i,l){var c,s=\"function\"==typeof t?t.options:t;if(e&&(s.render=e,s.staticRenderFns=n,s._compiled=!0),r&&(s.functional=!0),a&&(s._scopeId=\"data-v-\"+a),i?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(i)},s._ssrRegister=c):o&&(c=l?function(){o.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(s.functional){s._injectStyles=c;var u=s.render;s.render=function(t,e){return c.call(e),u(t,e)}}else{var A=s.beforeCreate;s.beforeCreate=A?[].concat(A,c):[c]}return{exports:t,options:s}}n.d(e,{Z:()=>r})}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var a=e[r]={id:r,exports:{}};return t[r](a,a.exports,n),a.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.nc=void 0;var r={};return(()=>{\"use strict\";n.r(r),n.d(r,{default:()=>D});var t=n(9104);const e=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").slice(0,t||5)},o=require(\"vue-material-design-icons/AlertCircleOutline.vue\");var a=n.n(o);const i=require(\"vue-material-design-icons/Check.vue\");var l=n.n(i);const c={name:\"NcInputField\",components:{NcButton:t.default,AlertCircle:a(),Check:l()},inheritAttrs:!1,props:{value:{type:String,required:!0},type:{type:String,default:\"text\",validator:function(t){return[\"text\",\"password\",\"email\",\"tel\",\"url\",\"search\",\"number\"].includes(t)}},label:{type:String,default:void 0},labelOutside:{type:Boolean,default:!1},labelVisible:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},showTrailingButton:{type:Boolean,default:!1},trailingButtonLabel:{type:String,default:\"\"},success:{type:Boolean,default:!1},error:{type:Boolean,default:!1},helperText:{type:String,default:\"\"},disabled:{type:Boolean,default:!1},inputClass:{type:[Object,String],default:\"\"}},emits:[\"update:value\",\"trailing-button-click\"],computed:{computedId:function(){return this.$attrs.id&&\"\"!==this.$attrs.id?this.$attrs.id:this.inputName},inputName:function(){return\"input\"+e()},hasLeadingIcon:function(){return this.$slots.default},hasTrailingIcon:function(){return this.success},hasPlaceholder:function(){return\"\"!==this.placeholder&&void 0!==this.placeholder},computedPlaceholder:function(){return this.labelVisible?this.hasPlaceholder?this.placeholder:\"\":this.hasPlaceholder?this.placeholder:this.label},isValidLabel:function(){var t=this.label||this.labelOutside;return t||console.warn(\"You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\"),t}},methods:{handleInput:function(t){this.$emit(\"update:value\",t.target.value)},handleTrailingButtonClick:function(t){this.$emit(\"trailing-button-click\",t)}}};var s=n(3379),u=n.n(s),A=n(7795),d=n.n(A),p=n(569),C=n.n(p),v=n(3565),b=n.n(v),f=n(9216),h=n.n(f),g=n(4589),m=n.n(g),x=n(847),y={};y.styleTagTransform=m(),y.setAttributes=b(),y.insert=C().bind(null,\"head\"),y.domAPI=d(),y.insertStyleElement=h();u()(x.Z,y);x.Z&&x.Z.locals&&x.Z.locals;var _=n(1900),w=n(4348),k=n.n(w),B=(0,_.Z)(c,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"input-field\"},[!t.labelOutside&&t.isValidLabel?e(\"label\",{staticClass:\"input-field__label\",class:{\"input-field__label--hidden\":!t.labelVisible},attrs:{for:t.computedId}},[t._v(\"\\n\\t\\t\"+t._s(t.label)+\"\\n\\t\")]):t._e(),t._v(\" \"),e(\"div\",{staticClass:\"input-field__main-wrapper\"},[e(\"input\",t._g(t._b({ref:\"input\",staticClass:\"input-field__input\",class:[t.inputClass,{\"input-field__input--trailing-icon\":t.showTrailingButton||t.hasTrailingIcon,\"input-field__input--leading-icon\":t.hasLeadingIcon,\"input-field__input--success\":t.success,\"input-field__input--error\":t.error}],attrs:{id:t.computedId,type:t.type,disabled:t.disabled,placeholder:t.computedPlaceholder,\"aria-describedby\":t.helperText.length>0?\"\".concat(t.inputName,\"-helper-text\"):\"\",\"aria-live\":\"polite\"},domProps:{value:t.value},on:{input:t.handleInput}},\"input\",t.$attrs,!1),t.$listeners)),t._v(\" \"),e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasLeadingIcon,expression:\"hasLeadingIcon\"}],staticClass:\"input-field__icon input-field__icon--leading\"},[t._t(\"default\")],2),t._v(\" \"),t.showTrailingButton?e(\"NcButton\",{staticClass:\"input-field__clear-button\",attrs:{type:\"tertiary-no-background\",\"aria-label\":t.trailingButtonLabel,disabled:t.disabled},on:{click:t.handleTrailingButtonClick},scopedSlots:t._u([{key:\"icon\",fn:function(){return[t._t(\"trailing-button-icon\")]},proxy:!0}],null,!0)}):t.success||t.error?e(\"div\",{staticClass:\"input-field__icon input-field__icon--trailing\"},[t.success?e(\"Check\",{attrs:{size:18}}):t.error?e(\"AlertCircle\",{attrs:{size:18}}):t._e()],1):t._e()],1),t._v(\" \"),t.helperText.length>0?e(\"p\",{staticClass:\"input-field__helper-text-message\",class:{\"input-field__helper-text-message--error\":t.error,\"input-field__helper-text-message--success\":t.success},attrs:{id:\"\".concat(t.inputName,\"-helper-text\")}},[t.success?e(\"Check\",{staticClass:\"input-field__helper-text-message__icon\",attrs:{size:18}}):t.error?e(\"AlertCircle\",{staticClass:\"input-field__helper-text-message__icon\",attrs:{size:18}}):t._e(),t._v(\"\\n\\t\\t\"+t._s(t.helperText)+\"\\n\\t\")],1):t._e()])}),[],!1,null,\"f50b337c\",null);\"function\"==typeof k()&&k()(B);const D=B.exports})(),r})()));\n//# sourceMappingURL=NcInputField.js.map","/*! For license information please see NcProgressBar.js.LICENSE.txt */\n!function(r,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"NextcloudVue\",[],e):\"object\"==typeof exports?exports.NextcloudVue=e():(r.NextcloudVue=r.NextcloudVue||{},r.NextcloudVue[\"Components/NcProgressBar\"]=e())}(self,(()=>(()=>{var r={3002:(r,e,t)=>{\"use strict\";t.d(e,{Z:()=>i});var n=t(7537),o=t.n(n),a=t(3645),s=t.n(a)()(o());s.push([r.id,\".material-design-icon[data-v-117c6513]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.progress-bar[data-v-117c6513]{display:block;height:var(--progress-bar-height);width:100%;overflow:hidden;border:0;padding:0;background:var(--color-background-dark);border-radius:calc(var(--progress-bar-height)/2)}.progress-bar[data-v-117c6513]::-webkit-progress-bar{height:var(--progress-bar-height)}.progress-bar[data-v-117c6513]::-webkit-progress-value{background:var(--gradient-primary-background);border-radius:calc(var(--progress-bar-height)/2)}.progress-bar[data-v-117c6513]::-moz-progress-bar{background:var(--gradient-primary-background);border-radius:calc(var(--progress-bar-height)/2)}.progress-bar--error[data-v-117c6513]::-moz-progress-bar{background:var(--color-error) !important}.progress-bar--error[data-v-117c6513]::-webkit-progress-value{background:var(--color-error) !important}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcProgressBar/NcProgressBar.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,+BACC,aAAA,CACA,iCAAA,CACA,UAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,uCAAA,CACA,gDAAA,CAGA,qDACC,iCAAA,CAED,uDACC,6CAAA,CACA,gDAAA,CAED,kDACC,6CAAA,CACA,gDAAA,CAIA,yDACC,wCAAA,CAED,8DACC,wCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"70f0364\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.progress-bar {\\n\\tdisplay: block;\\n\\theight: var(--progress-bar-height);\\n\\twidth: 100%;\\n\\toverflow: hidden;\\n\\tborder: 0;\\n\\tpadding: 0;\\n\\tbackground: var(--color-background-dark);\\n\\tborder-radius: calc(var(--progress-bar-height) / 2);\\n\\n\\t// Browser specific rules\\n\\t&::-webkit-progress-bar {\\n\\t\\theight: var(--progress-bar-height);\\n\\t}\\n\\t&::-webkit-progress-value {\\n\\t\\tbackground: var(--gradient-primary-background);\\n\\t\\tborder-radius: calc(var(--progress-bar-height) / 2);\\n\\t}\\n\\t&::-moz-progress-bar {\\n\\t\\tbackground: var(--gradient-primary-background);\\n\\t\\tborder-radius: calc(var(--progress-bar-height) / 2);\\n\\t}\\n\\t&--error {\\n\\t\\t// Override previous values\\n\\t\\t&::-moz-progress-bar {\\n\\t\\t\\tbackground: var(--color-error) !important;\\n\\t\\t}\\n\\t\\t&::-webkit-progress-value {\\n\\t\\t\\tbackground: var(--color-error) !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const i=s},3645:r=>{\"use strict\";r.exports=function(r){var e=[];return e.toString=function(){return this.map((function(e){var t=\"\",n=void 0!==e[5];return e[4]&&(t+=\"@supports (\".concat(e[4],\") {\")),e[2]&&(t+=\"@media \".concat(e[2],\" {\")),n&&(t+=\"@layer\".concat(e[5].length>0?\" \".concat(e[5]):\"\",\" {\")),t+=r(e),n&&(t+=\"}\"),e[2]&&(t+=\"}\"),e[4]&&(t+=\"}\"),t})).join(\"\")},e.i=function(r,t,n,o,a){\"string\"==typeof r&&(r=[[null,r,void 0]]);var s={};if(n)for(var i=0;i0?\" \".concat(d[5]):\"\",\" {\").concat(d[1],\"}\")),d[5]=a),t&&(d[2]?(d[1]=\"@media \".concat(d[2],\" {\").concat(d[1],\"}\"),d[2]=t):d[2]=t),o&&(d[4]?(d[1]=\"@supports (\".concat(d[4],\") {\").concat(d[1],\"}\"),d[4]=o):d[4]=\"\".concat(o)),e.push(d))}},e}},7537:r=>{\"use strict\";r.exports=function(r){var e=r[1],t=r[3];if(!t)return e;if(\"function\"==typeof btoa){var n=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),o=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(n),a=\"/*# \".concat(o,\" */\");return[e].concat([a]).join(\"\\n\")}return[e].join(\"\\n\")}},3379:r=>{\"use strict\";var e=[];function t(r){for(var t=-1,n=0;n{\"use strict\";var e={};r.exports=function(r,t){var n=function(r){if(void 0===e[r]){var t=document.querySelector(r);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(r){t=null}e[r]=t}return e[r]}(r);if(!n)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");n.appendChild(t)}},9216:r=>{\"use strict\";r.exports=function(r){var e=document.createElement(\"style\");return r.setAttributes(e,r.attributes),r.insert(e,r.options),e}},3565:(r,e,t)=>{\"use strict\";r.exports=function(r){var e=t.nc;e&&r.setAttribute(\"nonce\",e)}},7795:r=>{\"use strict\";r.exports=function(r){var e=r.insertStyleElement(r);return{update:function(t){!function(r,e,t){var n=\"\";t.supports&&(n+=\"@supports (\".concat(t.supports,\") {\")),t.media&&(n+=\"@media \".concat(t.media,\" {\"));var o=void 0!==t.layer;o&&(n+=\"@layer\".concat(t.layer.length>0?\" \".concat(t.layer):\"\",\" {\")),n+=t.css,o&&(n+=\"}\"),t.media&&(n+=\"}\"),t.supports&&(n+=\"}\");var a=t.sourceMap;a&&\"undefined\"!=typeof btoa&&(n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),e.styleTagTransform(n,r,e.options)}(e,r,t)},remove:function(){!function(r){if(null===r.parentNode)return!1;r.parentNode.removeChild(r)}(e)}}}},4589:r=>{\"use strict\";r.exports=function(r,e){if(e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}},8070:()=>{},1900:(r,e,t)=>{\"use strict\";function n(r,e,t,n,o,a,s,i){var c,u=\"function\"==typeof r?r.options:r;if(e&&(u.render=e,u.staticRenderFns=t,u._compiled=!0),n&&(u.functional=!0),a&&(u._scopeId=\"data-v-\"+a),s?(c=function(r){(r=r||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(r=__VUE_SSR_CONTEXT__),o&&o.call(this,r),r&&r._registeredComponents&&r._registeredComponents.add(s)},u._ssrRegister=c):o&&(c=i?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(u.functional){u._injectStyles=c;var d=u.render;u.render=function(r,e){return c.call(e),d(r,e)}}else{var p=u.beforeCreate;u.beforeCreate=p?[].concat(p,c):[c]}return{exports:r,options:u}}t.d(e,{Z:()=>n})}},e={};function t(n){var o=e[n];if(void 0!==o)return o.exports;var a=e[n]={id:n,exports:{}};return r[n](a,a.exports,t),a.exports}t.n=r=>{var e=r&&r.__esModule?()=>r.default:()=>r;return t.d(e,{a:e}),e},t.d=(r,e)=>{for(var n in e)t.o(e,n)&&!t.o(r,n)&&Object.defineProperty(r,n,{enumerable:!0,get:e[n]})},t.o=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),t.r=r=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(r,\"__esModule\",{value:!0})},t.nc=void 0;var n={};return(()=>{\"use strict\";t.r(n),t.d(n,{default:()=>y});const r={name:\"NcProgressBar\",props:{value:{type:Number,default:0,validator:function(r){return r>=0&&r<=100}},size:{type:String,default:\"small\",validator:function(r){return-1!==[\"small\",\"medium\"].indexOf(r)}},error:{type:Boolean,default:!1}},computed:{height:function(){return\"small\"===this.size?\"4px\":\"6px\"}}};var e=t(3379),o=t.n(e),a=t(7795),s=t.n(a),i=t(569),c=t.n(i),u=t(3565),d=t.n(u),p=t(9216),l=t.n(p),f=t(4589),g=t.n(f),v=t(3002),A={};A.styleTagTransform=g(),A.setAttributes=d(),A.insert=c().bind(null,\"head\"),A.domAPI=s(),A.insertStyleElement=l();o()(v.Z,A);v.Z&&v.Z.locals&&v.Z.locals;var b=t(1900),h=t(8070),m=t.n(h),C=(0,b.Z)(r,(function(){var r=this;return(0,r._self._c)(\"progress\",{staticClass:\"progress-bar vue\",class:{\"progress-bar--error\":r.error},style:{\"--progress-bar-height\":r.height},attrs:{max:\"100\"},domProps:{value:r.value}})}),[],!1,null,\"117c6513\",null);\"function\"==typeof m()&&m()(C);const y=C.exports})(),n})()));\n//# sourceMappingURL=NcProgressBar.js.map","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\n\nexport const getRootPath = function() {\n\tif (getCurrentUser()) {\n\t\treturn generateRemoteUrl(`dav/files/${getCurrentUser().uid}`)\n\t} else {\n\t\treturn generateRemoteUrl('webdav').replace('/remote.php', '/public.php')\n\t}\n}\n\nexport const isPublic = function() {\n\treturn !getCurrentUser()\n}\n\nexport const getToken = function() {\n\treturn document.getElementById('sharingToken') && document.getElementById('sharingToken').value\n}\n\n/**\n * Return the current directory, fallback to root\n *\n * @return {string}\n */\nexport const getCurrentDirectory = function() {\n\tconst currentDirInfo = OCA?.Files?.App?.currentFileList?.dirInfo\n\t\t|| { path: '/', name: '' }\n\n\t// Make sure we don't have double slashes\n\treturn `${currentDirInfo.path}/${currentDirInfo.name}`.replace(/\\/\\//gi, '/')\n}\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst encodeFilePath = function(path) {\n\tconst pathSections = (path.startsWith('/') ? path : `/${path}`).split('/')\n\tlet relativePath = ''\n\tpathSections.forEach((section) => {\n\t\tif (section !== '') {\n\t\t\trelativePath += '/' + encodeURIComponent(section)\n\t\t}\n\t})\n\treturn relativePath\n}\n\n/**\n * Extract dir and name from file path\n *\n * @param {string} path the full path\n * @return {string[]} [dirPath, fileName]\n */\nconst extractFilePaths = function(path) {\n\tconst pathSections = path.split('/')\n\tconst fileName = pathSections[pathSections.length - 1]\n\tconst dirPath = pathSections.slice(0, pathSections.length - 1).join('/')\n\treturn [dirPath, fileName]\n}\n\nexport { encodeFilePath, extractFilePaths }\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.vue?vue&type=style&index=0&id=5b09ec60&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.vue?vue&type=style&index=0&id=5b09ec60&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TemplatePreview.vue?vue&type=template&id=5b09ec60&scoped=true&\"\nimport script from \"./TemplatePreview.vue?vue&type=script&lang=js&\"\nexport * from \"./TemplatePreview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TemplatePreview.vue?vue&type=style&index=0&id=5b09ec60&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5b09ec60\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"template-picker__item\"},[_c('input',{staticClass:\"radio\",attrs:{\"id\":_vm.id,\"type\":\"radio\",\"name\":\"template-picker\"},domProps:{\"checked\":_vm.checked},on:{\"change\":_vm.onCheck}}),_vm._v(\" \"),_c('label',{staticClass:\"template-picker__label\",attrs:{\"for\":_vm.id}},[_c('div',{staticClass:\"template-picker__preview\",class:_vm.failedPreview ? 'template-picker__preview--failed' : ''},[_c('img',{staticClass:\"template-picker__image\",attrs:{\"src\":_vm.realPreviewUrl,\"alt\":\"\",\"draggable\":\"false\"},on:{\"error\":_vm.onFailure}})]),_vm._v(\" \"),_c('span',{staticClass:\"template-picker__title\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.nameWithoutExt)+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.vue?vue&type=script&lang=js&\"","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\n\nexport const getTemplates = async function() {\n\tconst response = await axios.get(generateOcsUrl('apps/files/api/v1/templates'))\n\treturn response.data.ocs.data\n}\n\n/**\n * Create a new file from a specified template\n *\n * @param {string} filePath The new file destination path\n * @param {string} templatePath The template source path\n * @param {string} templateType The template type e.g 'user'\n */\nexport const createFromTemplate = async function(filePath, templatePath, templateType) {\n\tconst response = await axios.post(generateOcsUrl('apps/files/api/v1/templates/create'), {\n\t\tfilePath,\n\t\ttemplatePath,\n\t\ttemplateType,\n\t})\n\treturn response.data.ocs.data\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.vue?vue&type=style&index=0&id=d46f1dc6&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.vue?vue&type=style&index=0&id=d46f1dc6&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TemplatePicker.vue?vue&type=template&id=d46f1dc6&scoped=true&\"\nimport script from \"./TemplatePicker.vue?vue&type=script&lang=js&\"\nexport * from \"./TemplatePicker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TemplatePicker.vue?vue&type=style&index=0&id=d46f1dc6&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d46f1dc6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.opened)?_c('NcModal',{staticClass:\"templates-picker\",attrs:{\"clear-view-delay\":-1,\"size\":\"large\"},on:{\"close\":_vm.close}},[_c('form',{staticClass:\"templates-picker__form\",style:(_vm.style),on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onSubmit.apply(null, arguments)}}},[_c('h2',[_vm._v(_vm._s(_vm.t('files', 'Pick a template for {name}', { name: _vm.nameWithoutExt })))]),_vm._v(\" \"),_c('ul',{staticClass:\"templates-picker__list\"},[_c('TemplatePreview',_vm._b({attrs:{\"checked\":_vm.checked === _vm.emptyTemplate.fileid},on:{\"check\":_vm.onCheck}},'TemplatePreview',_vm.emptyTemplate,false)),_vm._v(\" \"),_vm._l((_vm.provider.templates),function(template){return _c('TemplatePreview',_vm._b({key:template.fileid,attrs:{\"checked\":_vm.checked === template.fileid,\"ratio\":_vm.provider.ratio},on:{\"check\":_vm.onCheck}},'TemplatePreview',template,false))})],2),_vm._v(\" \"),_c('div',{staticClass:\"templates-picker__buttons\"},[_c('input',{staticClass:\"primary\",attrs:{\"type\":\"submit\",\"aria-label\":_vm.t('files', 'Create a new file with the selected template')},domProps:{\"value\":_vm.t('files', 'Create')}})])]),_vm._v(\" \"),(_vm.loading)?_c('NcEmptyContent',{staticClass:\"templates-picker__loading\",attrs:{\"icon\":\"icon-loading\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files', 'Creating file'))+\"\\n\\t\")]):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Julius Härtl \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCurrentDirectory } from './utils/davUtils.js'\nimport axios from '@nextcloud/axios'\nimport Vue from 'vue'\n\nimport TemplatePickerView from './views/TemplatePicker.vue'\nimport { showError } from '@nextcloud/dialogs'\n\n// Set up logger\nconst logger = getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n\n// Add translates functions\nVue.mixin({\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\n// Create document root\nconst TemplatePickerRoot = document.createElement('div')\nTemplatePickerRoot.id = 'template-picker'\ndocument.body.appendChild(TemplatePickerRoot)\n\n// Retrieve and init templates\nlet templates = loadState('files', 'templates', [])\nlet templatesPath = loadState('files', 'templates_path', false)\nlogger.debug('Templates providers', templates)\nlogger.debug('Templates folder', { templatesPath })\n\n// Init vue app\nconst View = Vue.extend(TemplatePickerView)\nconst TemplatePicker = new View({\n\tname: 'TemplatePicker',\n\tpropsData: {\n\t\tlogger,\n\t},\n})\nTemplatePicker.$mount('#template-picker')\n\n// Init template engine after load to make sure it's the last injected entry\nwindow.addEventListener('DOMContentLoaded', function() {\n\tif (!templatesPath) {\n\t\tlogger.debug('Templates folder not initialized')\n\t\tconst initTemplatesPlugin = {\n\t\t\tattach(menu) {\n\t\t\t\t// register the new menu entry\n\t\t\t\tmenu.addMenuEntry({\n\t\t\t\t\tid: 'template-init',\n\t\t\t\t\tdisplayName: t('files', 'Set up templates folder'),\n\t\t\t\t\ttemplateName: t('files', 'Templates'),\n\t\t\t\t\ticonClass: 'icon-template-add',\n\t\t\t\t\tfileType: 'file',\n\t\t\t\t\tactionLabel: t('files', 'Create new templates folder'),\n\t\t\t\t\tactionHandler(name) {\n\t\t\t\t\t\tinitTemplatesFolder(name)\n\t\t\t\t\t\tmenu.removeMenuEntry('template-init')\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t\tOC.Plugins.register('OCA.Files.NewFileMenu', initTemplatesPlugin)\n\t}\n})\n\n// Init template files menu\ntemplates.forEach((provider, index) => {\n\tconst newTemplatePlugin = {\n\t\tattach(menu) {\n\t\t\tconst fileList = menu.fileList\n\n\t\t\t// only attach to main file list, public view is not supported yet\n\t\t\tif (fileList.id !== 'files' && fileList.id !== 'files.public') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// register the new menu entry\n\t\t\tmenu.addMenuEntry({\n\t\t\t\tid: `template-new-${provider.app}-${index}`,\n\t\t\t\tdisplayName: provider.label,\n\t\t\t\ttemplateName: provider.label + provider.extension,\n\t\t\t\ticonClass: provider.iconClass || 'icon-file',\n\t\t\t\tfileType: 'file',\n\t\t\t\tactionLabel: provider.actionLabel,\n\t\t\t\tactionHandler(name) {\n\t\t\t\t\tTemplatePicker.open(name, provider)\n\t\t\t\t},\n\t\t\t})\n\t\t},\n\t}\n\tOC.Plugins.register('OCA.Files.NewFileMenu', newTemplatePlugin)\n})\n\n/**\n * Init the template directory\n *\n * @param {string} name the templates folder name\n */\nconst initTemplatesFolder = async function(name) {\n\tconst templatePath = (getCurrentDirectory() + `/${name}`).replace('//', '/')\n\ttry {\n\t\tlogger.debug('Initializing the templates directory', { templatePath })\n\t\tconst response = await axios.post(generateOcsUrl('apps/files/api/v1/templates/path'), {\n\t\t\ttemplatePath,\n\t\t\tcopySystemTemplates: true,\n\t\t})\n\n\t\t// Go to template directory\n\t\tOCA.Files.App.currentFileList.changeDirectory(templatePath, true, true)\n\n\t\ttemplates = response.data.ocs.data.templates\n\t\ttemplatesPath = response.data.ocs.data.template_path\n\t} catch (error) {\n\t\tlogger.error('Unable to initialize the templates directory')\n\t\tshowError(t('files', 'Unable to initialize the templates directory'))\n\t}\n}\n","/*\n * @copyright Copyright (c) 2021 Julius Härtl \n *\n * @author Julius Härtl \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { subscribe } from '@nextcloud/event-bus'\n\n(function() {\n\n\tconst FilesPlugin = {\n\t\tattach(fileList) {\n\t\t\tsubscribe('nextcloud:unified-search.search', ({ query }) => {\n\t\t\t\tfileList.setFilter(query)\n\t\t\t})\n\t\t\tsubscribe('nextcloud:unified-search.reset', () => {\n\t\t\t\tthis.query = null\n\t\t\t\tfileList.setFilter('')\n\t\t\t})\n\n\t\t},\n\t}\n\n\twindow.OC.Plugins.register('OCA.Files.FileList', FilesPlugin)\n\n})()\n","import { getCanonicalLocale } from '@nextcloud/l10n';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { getLoggerBuilder } from '@nextcloud/logger';\nimport { join, basename, extname, dirname } from 'path';\n\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst humanList = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];\nconst humanListBinary = ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB'];\n/**\n * Format a file size in a human-like format. e.g. 42GB\n *\n * @param size in bytes\n * @param skipSmallSizes avoid rendering tiny sizes and return '< 1 KB' instead\n */\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false) {\n if (typeof size === 'string') {\n size = Number(size);\n }\n /*\n * @note This block previously used Log base 1024, per IEC 80000-13;\n * however, the wrong prefix was used. Now we use decimal calculation\n * with base 1000 per the SI. Base 1024 calculation with binary\n * prefixes is optional, but has yet to be added to the UI.\n */\n // Calculate Log with base 1024 or 1000: size = base ** order\n let order = size > 0 ? Math.floor(Math.log(size) / Math.log(binaryPrefixes ? 1024 : 1000)) : 0;\n // Stay in range of the byte sizes that are defined\n order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n let relativeSize = (size / Math.pow(binaryPrefixes ? 1024 : 1000, order)).toFixed(1);\n if (skipSmallSizes === true && order === 0) {\n return (relativeSize !== '0.0' ? '< 1 ' : '0 ') + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n }\n if (order < 2) {\n relativeSize = parseFloat(relativeSize).toFixed(0);\n }\n else {\n relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n }\n return relativeSize + ' ' + readableFormat;\n}\n\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst getLogger = user => {\n if (user === null) {\n return getLoggerBuilder()\n .setApp('files')\n .build();\n }\n return getLoggerBuilder()\n .setApp('files')\n .setUid(user.uid)\n .build();\n};\nvar logger = getLogger(getCurrentUser());\n\n/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass NewFileMenu {\n _entries = [];\n registerEntry(entry) {\n this.validateEntry(entry);\n this._entries.push(entry);\n }\n unregisterEntry(entry) {\n const entryIndex = typeof entry === 'string'\n ? this.getEntryIndex(entry)\n : this.getEntryIndex(entry.id);\n if (entryIndex === -1) {\n logger.warn('Entry not found, nothing removed', { entry, entries: this.getEntries() });\n return;\n }\n this._entries.splice(entryIndex, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {FileInfo} context the creation context. Usually the current folder FileInfo\n */\n getEntries(context) {\n if (context) {\n return this._entries\n .filter(entry => typeof entry.if === 'function' ? entry.if(context) : true);\n }\n return this._entries;\n }\n getEntryIndex(id) {\n return this._entries.findIndex(entry => entry.id === id);\n }\n validateEntry(entry) {\n if (!entry.id || !entry.displayName || !(entry.iconSvgInline || entry.iconClass)) {\n throw new Error('Invalid entry');\n }\n if (typeof entry.id !== 'string'\n || typeof entry.displayName !== 'string') {\n throw new Error('Invalid id or displayName property');\n }\n if ((entry.iconClass && typeof entry.iconClass !== 'string')\n || (entry.iconSvgInline && typeof entry.iconSvgInline !== 'string')) {\n throw new Error('Invalid icon provided');\n }\n if (entry.if !== undefined && typeof entry.if !== 'function') {\n throw new Error('Invalid if property');\n }\n if (entry.templateName && typeof entry.templateName !== 'string') {\n throw new Error('Invalid templateName property');\n }\n if (entry.handler && typeof entry.handler !== 'function') {\n throw new Error('Invalid handler property');\n }\n if (!entry.templateName && !entry.handler) {\n throw new Error('At least a templateName or a handler must be provided');\n }\n if (this.getEntryIndex(entry.id) !== -1) {\n throw new Error('Duplicate entry');\n }\n }\n}\nconst getNewFileMenu = function () {\n if (typeof window._nc_newfilemenu === 'undefined') {\n window._nc_newfilemenu = new NewFileMenu();\n logger.debug('NewFileMenu initialized');\n }\n return window._nc_newfilemenu;\n};\n\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar FileType;\n(function (FileType) {\n FileType[\"Folder\"] = \"folder\";\n FileType[\"File\"] = \"file\";\n})(FileType || (FileType = {}));\n\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar Permission;\n(function (Permission) {\n Permission[Permission[\"NONE\"] = 0] = \"NONE\";\n Permission[Permission[\"CREATE\"] = 4] = \"CREATE\";\n Permission[Permission[\"READ\"] = 1] = \"READ\";\n Permission[Permission[\"UPDATE\"] = 2] = \"UPDATE\";\n Permission[Permission[\"DELETE\"] = 8] = \"DELETE\";\n Permission[Permission[\"SHARE\"] = 16] = \"SHARE\";\n Permission[Permission[\"ALL\"] = 31] = \"ALL\";\n})(Permission || (Permission = {}));\n/**\n * Parse the webdav permission string to a permission enum\n * @see https://github.com/nextcloud/server/blob/71f698649f578db19a22457cb9d420fb62c10382/lib/public/Files/DavUtil.php#L58-L88\n */\nconst parseWebdavPermissions = function (permString = '') {\n let permissions = Permission.NONE;\n if (!permString)\n return permissions;\n if (permString.includes('C') || permString.includes('K'))\n permissions |= Permission.CREATE;\n if (permString.includes('G'))\n permissions |= Permission.READ;\n if (permString.includes('W') || permString.includes('N') || permString.includes('V'))\n permissions |= Permission.UPDATE;\n if (permString.includes('D'))\n permissions |= Permission.DELETE;\n if (permString.includes('R'))\n permissions |= Permission.SHARE;\n return permissions;\n};\n\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst isDavRessource = function (source, davService) {\n return source.match(davService) !== null;\n};\n/**\n * Validate Node construct data\n */\nconst validateData = (data, davService) => {\n if ('id' in data && (typeof data.id !== 'number' || data.id < 0)) {\n throw new Error('Invalid id type of value');\n }\n if (!data.source) {\n throw new Error('Missing mandatory source');\n }\n try {\n new URL(data.source);\n }\n catch (e) {\n throw new Error('Invalid source format, source must be a valid URL');\n }\n if (!data.source.startsWith('http')) {\n throw new Error('Invalid source format, only http(s) is supported');\n }\n if ('mtime' in data && !(data.mtime instanceof Date)) {\n throw new Error('Invalid mtime type');\n }\n if ('crtime' in data && !(data.crtime instanceof Date)) {\n throw new Error('Invalid crtime type');\n }\n if (!data.mime || typeof data.mime !== 'string'\n || !data.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi)) {\n throw new Error('Missing or invalid mandatory mime');\n }\n if ('size' in data && typeof data.size !== 'number') {\n throw new Error('Invalid size type');\n }\n if ('permissions' in data && !(typeof data.permissions === 'number'\n && data.permissions >= Permission.NONE\n && data.permissions <= Permission.ALL)) {\n throw new Error('Invalid permissions');\n }\n if ('owner' in data\n && data.owner !== null\n && typeof data.owner !== 'string') {\n throw new Error('Invalid owner type');\n }\n if ('attributes' in data && typeof data.attributes !== 'object') {\n throw new Error('Invalid attributes format');\n }\n if ('root' in data && typeof data.root !== 'string') {\n throw new Error('Invalid root format');\n }\n if (data.root && !data.root.startsWith('/')) {\n throw new Error('Root must start with a leading slash');\n }\n if (data.root && !data.source.includes(data.root)) {\n throw new Error('Root must be part of the source');\n }\n if (data.root && isDavRessource(data.source, davService)) {\n const service = data.source.match(davService)[0];\n if (!data.source.includes(join(service, data.root))) {\n throw new Error('The root must be relative to the service. e.g /files/emma');\n }\n }\n};\n\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass Node {\n _data;\n _attributes;\n _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n constructor(data, davService) {\n // Validate data\n validateData(data, davService || this._knownDavService);\n this._data = data;\n const handler = {\n set: (target, prop, value) => {\n // Edit modification time\n this._data['mtime'] = new Date();\n // Apply original changes\n return Reflect.set(target, prop, value);\n },\n deleteProperty: (target, prop) => {\n // Edit modification time\n this._data['mtime'] = new Date();\n // Apply original changes\n return Reflect.deleteProperty(target, prop);\n },\n };\n // Proxy the attributes to update the mtime on change\n this._attributes = new Proxy(data.attributes || {}, handler);\n delete this._data.attributes;\n if (davService) {\n this._knownDavService = davService;\n }\n }\n /**\n * Get the source url to this object\n */\n get source() {\n // strip any ending slash\n return this._data.source.replace(/\\/$/i, '');\n }\n /**\n * Get this object name\n */\n get basename() {\n return basename(this.source);\n }\n /**\n * Get this object's extension\n */\n get extension() {\n return extname(this.source);\n }\n /**\n * Get the directory path leading to this object\n * Will use the relative path to root if available\n */\n get dirname() {\n if (this.root) {\n // Using replace would remove all part matching root\n const firstMatch = this.source.indexOf(this.root);\n return dirname(this.source.slice(firstMatch + this.root.length) || '/');\n }\n // This should always be a valid URL\n // as this is tested in the constructor\n const url = new URL(this.source);\n return dirname(url.pathname);\n }\n /**\n * Get the file mime\n */\n get mime() {\n return this._data.mime;\n }\n /**\n * Get the file modification time\n */\n get mtime() {\n return this._data.mtime;\n }\n /**\n * Get the file creation time\n */\n get crtime() {\n return this._data.crtime;\n }\n /**\n * Get the file size\n */\n get size() {\n return this._data.size;\n }\n /**\n * Get the file attribute\n */\n get attributes() {\n return this._attributes;\n }\n /**\n * Get the file permissions\n */\n get permissions() {\n // If this is not a dav ressource, we can only read it\n if (this.owner === null && !this.isDavRessource) {\n return Permission.READ;\n }\n // If the permissions are not defined, we have none\n return this._data.permissions !== undefined\n ? this._data.permissions\n : Permission.NONE;\n }\n /**\n * Get the file owner\n */\n get owner() {\n // Remote ressources have no owner\n if (!this.isDavRessource) {\n return null;\n }\n return this._data.owner;\n }\n /**\n * Is this a dav-related ressource ?\n */\n get isDavRessource() {\n return isDavRessource(this.source, this._knownDavService);\n }\n /**\n * Get the dav root of this object\n */\n get root() {\n // If provided (recommended), use the root and strip away the ending slash\n if (this._data.root) {\n return this._data.root.replace(/^(.+)\\/$/, '$1');\n }\n // Use the source to get the root from the dav service\n if (this.isDavRessource) {\n const root = dirname(this.source);\n return root.split(this._knownDavService).pop() || null;\n }\n return null;\n }\n /**\n * Get the absolute path of this object relative to the root\n */\n get path() {\n if (this.root) {\n // Using replace would remove all part matching root\n const firstMatch = this.source.indexOf(this.root);\n return this.source.slice(firstMatch + this.root.length) || '/';\n }\n return (this.dirname + '/' + this.basename).replace(/\\/\\//g, '/');\n }\n /**\n * Get the file id if defined in attributes\n */\n get fileid() {\n return this.attributes?.fileid;\n }\n /**\n * Move the node to a new destination\n *\n * @param {string} destination the new source.\n * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg\n */\n move(destination) {\n validateData({ ...this._data, source: destination }, this._knownDavService);\n this._data.source = destination;\n this._data.mtime = new Date();\n }\n /**\n * Rename the node\n * This aliases the move method for easier usage\n */\n rename(basename) {\n if (basename.includes('/')) {\n throw new Error('Invalid basename');\n }\n this.move(dirname(this.source) + '/' + basename);\n }\n}\n\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass File extends Node {\n get type() {\n return FileType.File;\n }\n}\n\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass Folder extends Node {\n constructor(data) {\n // enforcing mimes\n super({\n ...data,\n mime: 'httpd/unix-directory'\n });\n }\n get type() {\n return FileType.Folder;\n }\n get extension() {\n return null;\n }\n get mime() {\n return 'httpd/unix-directory';\n }\n}\n\n/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass FileAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get default() {\n return this._action.default;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== 'string') {\n throw new Error('Invalid id');\n }\n if (!action.displayName || typeof action.displayName !== 'function') {\n throw new Error('Invalid displayName function');\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== 'function') {\n throw new Error('Invalid iconSvgInline function');\n }\n if (!action.exec || typeof action.exec !== 'function') {\n throw new Error('Invalid exec function');\n }\n // Optional properties --------------------------------------------\n if ('enabled' in action && typeof action.enabled !== 'function') {\n throw new Error('Invalid enabled function');\n }\n if ('execBatch' in action && typeof action.execBatch !== 'function') {\n throw new Error('Invalid execBatch function');\n }\n if ('order' in action && typeof action.order !== 'number') {\n throw new Error('Invalid order');\n }\n if ('default' in action && typeof action.default !== 'boolean') {\n throw new Error('Invalid default');\n }\n if ('inline' in action && typeof action.inline !== 'function') {\n throw new Error('Invalid inline function');\n }\n if ('renderInline' in action && typeof action.renderInline !== 'function') {\n throw new Error('Invalid renderInline function');\n }\n }\n}\nconst registerFileAction = function (action) {\n if (typeof window._nc_fileactions === 'undefined') {\n window._nc_fileactions = [];\n logger.debug('FileActions initialized');\n }\n // Check duplicates\n if (window._nc_fileactions.find(search => search.id === action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n window._nc_fileactions.push(action);\n};\nconst getFileActions = function () {\n return window._nc_fileactions || [];\n};\n\n/**\n * @copyright 2019 Christoph Wurst \n *\n * @author Christoph Wurst \n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * Add a new menu entry to the upload manager menu\n */\nconst addNewFileMenuEntry = function (entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.registerEntry(entry);\n};\n/**\n * Remove a previously registered entry from the upload menu\n */\nconst removeNewFileMenuEntry = function (entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.unregisterEntry(entry);\n};\n/**\n * Get the list of registered entries from the upload menu\n *\n * @param {FileInfo} context the creation context. Usually the current folder FileInfo\n */\nconst getNewFileMenuEntries = function (context) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.getEntries(context);\n};\n\nexport { File, FileAction, FileType, Folder, Node, Permission, addNewFileMenuEntry, formatFileSize, getFileActions, getNewFileMenuEntries, parseWebdavPermissions, registerFileAction, removeNewFileMenuEntry };\n//# sourceMappingURL=index.esm.js.map\n","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport logger from '../logger';\nexport class FileAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get default() {\n return this._action.default;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== 'string') {\n throw new Error('Invalid id');\n }\n if (!action.displayName || typeof action.displayName !== 'function') {\n throw new Error('Invalid displayName function');\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== 'function') {\n throw new Error('Invalid iconSvgInline function');\n }\n if (!action.exec || typeof action.exec !== 'function') {\n throw new Error('Invalid exec function');\n }\n // Optional properties --------------------------------------------\n if ('enabled' in action && typeof action.enabled !== 'function') {\n throw new Error('Invalid enabled function');\n }\n if ('execBatch' in action && typeof action.execBatch !== 'function') {\n throw new Error('Invalid execBatch function');\n }\n if ('order' in action && typeof action.order !== 'number') {\n throw new Error('Invalid order');\n }\n if ('default' in action && typeof action.default !== 'boolean') {\n throw new Error('Invalid default');\n }\n if ('inline' in action && typeof action.inline !== 'function') {\n throw new Error('Invalid inline function');\n }\n if ('renderInline' in action && typeof action.renderInline !== 'function') {\n throw new Error('Invalid renderInline function');\n }\n }\n}\nexport const registerFileAction = function (action) {\n if (typeof window._nc_fileactions === 'undefined') {\n window._nc_fileactions = [];\n logger.debug('FileActions initialized');\n }\n // Check duplicates\n if (window._nc_fileactions.find(search => search.id === action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n window._nc_fileactions.push(action);\n};\nexport const getFileActions = function () {\n return window._nc_fileactions || [];\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { emit } from '@nextcloud/event-bus';\nimport { Permission, Node } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport TrashCan from '@mdi/svg/svg/trash-can.svg?raw';\nimport { registerFileAction, FileAction } from '../services/FileAction';\nimport logger from '../logger.js';\nexport const action = new FileAction({\n id: 'delete',\n displayName(nodes, view) {\n return view.id === 'trashbin'\n ? t('files_trashbin', 'Delete permanently')\n : t('files', 'Delete');\n },\n iconSvgInline: () => TrashCan,\n enabled(nodes) {\n return nodes.length > 0 && nodes\n .map(node => node.permissions)\n .every(permission => (permission & Permission.DELETE) !== 0);\n },\n async exec(node) {\n try {\n await axios.delete(node.source);\n // Let's delete even if it's moved to the trashbin\n // since it has been removed from the current view\n // and changing the view will trigger a reload anyway.\n emit('files:node:deleted', node);\n return true;\n }\n catch (error) {\n logger.error('Error while deleting a file', { error, source: node.source, node });\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n return Promise.all(nodes.map(node => this.exec(node, view, dir)));\n },\n order: 100,\n});\nregisterFileAction(action);\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { Permission, Node, FileType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport Folder from '@mdi/svg/svg/folder.svg?raw';\nimport { join } from 'path';\nimport { registerFileAction, FileAction } from '../services/FileAction';\nexport const action = new FileAction({\n id: 'open-folder',\n displayName(files) {\n // Only works on single node\n const displayName = files[0].attributes.displayName || files[0].basename;\n return t('files', 'Open folder {displayName}', { displayName });\n },\n iconSvgInline: () => Folder,\n enabled(nodes) {\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n const node = nodes[0];\n if (!node.isDavRessource) {\n return false;\n }\n return node.type === FileType.Folder\n && (node.permissions & Permission.READ) !== 0;\n },\n async exec(node, view, dir) {\n if (!node || node.type !== FileType.Folder) {\n return false;\n }\n window.OCP.Files.Router.goToRoute(null, null, { dir: join(dir, node.basename) });\n return null;\n },\n // Main action if enabled, meaning folders only\n default: true,\n order: -100,\n});\nregisterFileAction(action);\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { translate as t } from '@nextcloud/l10n';\nimport InformationSvg from '@mdi/svg/svg/information-variant.svg?raw';\nimport { registerFileAction, FileAction } from '../services/FileAction';\nimport logger from '../logger.js';\nexport const ACTION_DETAILS = 'details';\nexport const action = new FileAction({\n id: ACTION_DETAILS,\n displayName: () => t('files', 'Details'),\n iconSvgInline: () => InformationSvg,\n // Sidebar currently supports user folder only, /files/USER\n enabled: (nodes) => {\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n // Only work if the sidebar is available\n if (!window?.OCA?.Files?.Sidebar) {\n return false;\n }\n return nodes[0].root?.startsWith('/files/') ?? false;\n },\n async exec(node) {\n try {\n // TODO: migrate Sidebar to use a Node instead\n window?.OCA?.Files?.Sidebar?.open?.(node.path);\n return null;\n }\n catch (error) {\n logger.error('Error while opening sidebar', { error });\n return false;\n }\n },\n default: true,\n order: -50,\n});\nregisterFileAction(action);\n","import Vue from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n var vm\n var provide = {}\n var app = {\n config: Vue.config,\n use: Vue.use.bind(Vue),\n mixin: Vue.mixin.bind(Vue),\n component: Vue.component.bind(Vue),\n provide: function (key, value) {\n provide[key] = value\n return this\n },\n directive: function (name, dir) {\n if (dir) {\n Vue.directive(name, dir)\n return app\n } else {\n return Vue.directive(name)\n }\n },\n mount: function (el, hydrating) {\n if (!vm) {\n vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n vm.$mount(el, hydrating)\n return vm\n } else {\n return vm\n }\n },\n unmount: function () {\n if (vm) {\n vm.$destroy()\n vm = undefined\n }\n },\n }\n return app\n}\n\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n return {\n setup() {\n throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n }\n }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n","export function getDevtoolsGlobalHook() {\n return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;\n}\nexport function getTarget() {\n // @ts-ignore\n return (typeof navigator !== 'undefined' && typeof window !== 'undefined')\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n}\nexport const isProxyAvailable = typeof Proxy === 'function';\n","export const HOOK_SETUP = 'devtools-plugin:setup';\nexport const HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';\n","let supported;\nlet perf;\nexport function isPerformanceSupported() {\n var _a;\n if (supported !== undefined) {\n return supported;\n }\n if (typeof window !== 'undefined' && window.performance) {\n supported = true;\n perf = window.performance;\n }\n else if (typeof global !== 'undefined' && ((_a = global.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {\n supported = true;\n perf = global.perf_hooks.performance;\n }\n else {\n supported = false;\n }\n return supported;\n}\nexport function now() {\n return isPerformanceSupported() ? perf.now() : Date.now();\n}\n","import { HOOK_PLUGIN_SETTINGS_SET } from './const.js';\nimport { now } from './time.js';\nexport class ApiProxy {\n constructor(plugin, hook) {\n this.target = null;\n this.targetQueue = [];\n this.onQueue = [];\n this.plugin = plugin;\n this.hook = hook;\n const defaultSettings = {};\n if (plugin.settings) {\n for (const id in plugin.settings) {\n const item = plugin.settings[id];\n defaultSettings[id] = item.defaultValue;\n }\n }\n const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;\n let currentSettings = Object.assign({}, defaultSettings);\n try {\n const raw = localStorage.getItem(localSettingsSaveId);\n const data = JSON.parse(raw);\n Object.assign(currentSettings, data);\n }\n catch (e) {\n // noop\n }\n this.fallbacks = {\n getSettings() {\n return currentSettings;\n },\n setSettings(value) {\n try {\n localStorage.setItem(localSettingsSaveId, JSON.stringify(value));\n }\n catch (e) {\n // noop\n }\n currentSettings = value;\n },\n now() {\n return now();\n },\n };\n if (hook) {\n hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\n }\n });\n }\n this.proxiedOn = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target.on[prop];\n }\n else {\n return (...args) => {\n this.onQueue.push({\n method: prop,\n args,\n });\n };\n }\n },\n });\n this.proxiedTarget = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target[prop];\n }\n else if (prop === 'on') {\n return this.proxiedOn;\n }\n else if (Object.keys(this.fallbacks).includes(prop)) {\n return (...args) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve: () => { },\n });\n return this.fallbacks[prop](...args);\n };\n }\n else {\n return (...args) => {\n return new Promise(resolve => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve,\n });\n });\n };\n }\n },\n });\n }\n async setRealTarget(target) {\n this.target = target;\n for (const item of this.onQueue) {\n this.target.on[item.method](...item.args);\n }\n for (const item of this.targetQueue) {\n item.resolve(await this.target[item.method](...item.args));\n }\n }\n}\n","import { getTarget, getDevtoolsGlobalHook, isProxyAvailable } from './env.js';\nimport { HOOK_SETUP } from './const.js';\nimport { ApiProxy } from './proxy.js';\nexport * from './api/index.js';\nexport * from './plugin.js';\nexport * from './time.js';\nexport function setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);\n }\n else {\n const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy,\n });\n if (proxy)\n setupFn(proxy.proxiedTarget);\n }\n}\n","/*!\n * pinia v2.0.35\n * (c) 2023 Eduardo San Martin Morote\n * @license MIT\n */\nimport { getCurrentInstance, inject, toRaw, watch, unref, markRaw, effectScope, ref, isVue2, isRef, isReactive, set, getCurrentScope, onScopeDispose, reactive, toRef, del, nextTick, computed, toRefs } from 'vue-demi';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * setActivePinia must be called to handle SSR at the top of functions like\n * `fetch`, `setup`, `serverPrefetch` and others\n */\nlet activePinia;\n/**\n * Sets or unsets the active pinia. Used in SSR and internally when calling\n * actions and getters\n *\n * @param pinia - Pinia instance\n */\n// @ts-expect-error: cannot constrain the type of the return\nconst setActivePinia = (pinia) => (activePinia = pinia);\n/**\n * Get the currently active pinia if there is any.\n */\nconst getActivePinia = () => (getCurrentInstance() && inject(piniaSymbol)) || activePinia;\nconst piniaSymbol = ((process.env.NODE_ENV !== 'production') ? Symbol('pinia') : /* istanbul ignore next */ Symbol());\n\nfunction isPlainObject(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\no) {\n return (o &&\n typeof o === 'object' &&\n Object.prototype.toString.call(o) === '[object Object]' &&\n typeof o.toJSON !== 'function');\n}\n// type DeepReadonly = { readonly [P in keyof T]: DeepReadonly }\n// TODO: can we change these to numbers?\n/**\n * Possible types for SubscriptionCallback\n */\nvar MutationType;\n(function (MutationType) {\n /**\n * Direct mutation of the state:\n *\n * - `store.name = 'new name'`\n * - `store.$state.name = 'new name'`\n * - `store.list.push('new item')`\n */\n MutationType[\"direct\"] = \"direct\";\n /**\n * Mutated the state with `$patch` and an object\n *\n * - `store.$patch({ name: 'newName' })`\n */\n MutationType[\"patchObject\"] = \"patch object\";\n /**\n * Mutated the state with `$patch` and a function\n *\n * - `store.$patch(state => state.name = 'newName')`\n */\n MutationType[\"patchFunction\"] = \"patch function\";\n // maybe reset? for $state = {} and $reset\n})(MutationType || (MutationType = {}));\n\nconst IS_CLIENT = typeof window !== 'undefined';\n/**\n * Should we add the devtools plugins.\n * - only if dev mode or forced through the prod devtools flag\n * - not in test\n * - only if window exists (could change in the future)\n */\nconst USE_DEVTOOLS = ((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test') && IS_CLIENT;\n\n/*\n * FileSaver.js A saveAs() FileSaver implementation.\n *\n * Originally by Eli Grey, adapted as an ESM module by Eduardo San Martin\n * Morote.\n *\n * License : MIT\n */\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nconst _global = /*#__PURE__*/ (() => typeof window === 'object' && window.window === window\n ? window\n : typeof self === 'object' && self.self === self\n ? self\n : typeof global === 'object' && global.global === global\n ? global\n : typeof globalThis === 'object'\n ? globalThis\n : { HTMLElement: null })();\nfunction bom(blob, { autoBom = false } = {}) {\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (autoBom &&\n /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xfeff), blob], { type: blob.type });\n }\n return blob;\n}\nfunction download(url, name, opts) {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.onload = function () {\n saveAs(xhr.response, name, opts);\n };\n xhr.onerror = function () {\n console.error('could not download file');\n };\n xhr.send();\n}\nfunction corsEnabled(url) {\n const xhr = new XMLHttpRequest();\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false);\n try {\n xhr.send();\n }\n catch (e) { }\n return xhr.status >= 200 && xhr.status <= 299;\n}\n// `a.click()` doesn't work for all browsers (#465)\nfunction click(node) {\n try {\n node.dispatchEvent(new MouseEvent('click'));\n }\n catch (e) {\n const evt = document.createEvent('MouseEvents');\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);\n node.dispatchEvent(evt);\n }\n}\nconst _navigator = \n typeof navigator === 'object' ? navigator : { userAgent: '' };\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nconst isMacOSWebView = /*#__PURE__*/ (() => /Macintosh/.test(_navigator.userAgent) &&\n /AppleWebKit/.test(_navigator.userAgent) &&\n !/Safari/.test(_navigator.userAgent))();\nconst saveAs = !IS_CLIENT\n ? () => { } // noop\n : // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView or mini program\n typeof HTMLAnchorElement !== 'undefined' &&\n 'download' in HTMLAnchorElement.prototype &&\n !isMacOSWebView\n ? downloadSaveAs\n : // Use msSaveOrOpenBlob as a second approach\n 'msSaveOrOpenBlob' in _navigator\n ? msSaveAs\n : // Fallback to using FileReader and a popup\n fileSaverSaveAs;\nfunction downloadSaveAs(blob, name = 'download', opts) {\n const a = document.createElement('a');\n a.download = name;\n a.rel = 'noopener'; // tabnabbing\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob;\n if (a.origin !== location.origin) {\n if (corsEnabled(a.href)) {\n download(blob, name, opts);\n }\n else {\n a.target = '_blank';\n click(a);\n }\n }\n else {\n click(a);\n }\n }\n else {\n // Support blobs\n a.href = URL.createObjectURL(blob);\n setTimeout(function () {\n URL.revokeObjectURL(a.href);\n }, 4e4); // 40s\n setTimeout(function () {\n click(a);\n }, 0);\n }\n}\nfunction msSaveAs(blob, name = 'download', opts) {\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts);\n }\n else {\n const a = document.createElement('a');\n a.href = blob;\n a.target = '_blank';\n setTimeout(function () {\n click(a);\n });\n }\n }\n else {\n // @ts-ignore: works on windows\n navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n }\n}\nfunction fileSaverSaveAs(blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank');\n if (popup) {\n popup.document.title = popup.document.body.innerText = 'downloading...';\n }\n if (typeof blob === 'string')\n return download(blob, name, opts);\n const force = blob.type === 'application/octet-stream';\n const isSafari = /constructor/i.test(String(_global.HTMLElement)) || 'safari' in _global;\n const isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) &&\n typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n const reader = new FileReader();\n reader.onloadend = function () {\n let url = reader.result;\n if (typeof url !== 'string') {\n popup = null;\n throw new Error('Wrong reader.result type');\n }\n url = isChromeIOS\n ? url\n : url.replace(/^data:[^;]*;/, 'data:attachment/file;');\n if (popup) {\n popup.location.href = url;\n }\n else {\n location.assign(url);\n }\n popup = null; // reverse-tabnabbing #460\n };\n reader.readAsDataURL(blob);\n }\n else {\n const url = URL.createObjectURL(blob);\n if (popup)\n popup.location.assign(url);\n else\n location.href = url;\n popup = null; // reverse-tabnabbing #460\n setTimeout(function () {\n URL.revokeObjectURL(url);\n }, 4e4); // 40s\n }\n}\n\n/**\n * Shows a toast or console.log\n *\n * @param message - message to log\n * @param type - different color of the tooltip\n */\nfunction toastMessage(message, type) {\n const piniaMessage = '🍍 ' + message;\n if (typeof __VUE_DEVTOOLS_TOAST__ === 'function') {\n __VUE_DEVTOOLS_TOAST__(piniaMessage, type);\n }\n else if (type === 'error') {\n console.error(piniaMessage);\n }\n else if (type === 'warn') {\n console.warn(piniaMessage);\n }\n else {\n console.log(piniaMessage);\n }\n}\nfunction isPinia(o) {\n return '_a' in o && 'install' in o;\n}\n\nfunction checkClipboardAccess() {\n if (!('clipboard' in navigator)) {\n toastMessage(`Your browser doesn't support the Clipboard API`, 'error');\n return true;\n }\n}\nfunction checkNotFocusedError(error) {\n if (error instanceof Error &&\n error.message.toLowerCase().includes('document is not focused')) {\n toastMessage('You need to activate the \"Emulate a focused page\" setting in the \"Rendering\" panel of devtools.', 'warn');\n return true;\n }\n return false;\n}\nasync function actionGlobalCopyState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n await navigator.clipboard.writeText(JSON.stringify(pinia.state.value));\n toastMessage('Global state copied to clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to serialize the state. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalPasteState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n pinia.state.value = JSON.parse(await navigator.clipboard.readText());\n toastMessage('Global state pasted from clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to deserialize the state from clipboard. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalSaveState(pinia) {\n try {\n saveAs(new Blob([JSON.stringify(pinia.state.value)], {\n type: 'text/plain;charset=utf-8',\n }), 'pinia-state.json');\n }\n catch (error) {\n toastMessage(`Failed to export the state as JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nlet fileInput;\nfunction getFileOpener() {\n if (!fileInput) {\n fileInput = document.createElement('input');\n fileInput.type = 'file';\n fileInput.accept = '.json';\n }\n function openFile() {\n return new Promise((resolve, reject) => {\n fileInput.onchange = async () => {\n const files = fileInput.files;\n if (!files)\n return resolve(null);\n const file = files.item(0);\n if (!file)\n return resolve(null);\n return resolve({ text: await file.text(), file });\n };\n // @ts-ignore: TODO: changed from 4.3 to 4.4\n fileInput.oncancel = () => resolve(null);\n fileInput.onerror = reject;\n fileInput.click();\n });\n }\n return openFile;\n}\nasync function actionGlobalOpenStateFile(pinia) {\n try {\n const open = await getFileOpener();\n const result = await open();\n if (!result)\n return;\n const { text, file } = result;\n pinia.state.value = JSON.parse(text);\n toastMessage(`Global state imported from \"${file.name}\".`);\n }\n catch (error) {\n toastMessage(`Failed to export the state as JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\n\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\nconst PINIA_ROOT_LABEL = '🍍 Pinia (root)';\nconst PINIA_ROOT_ID = '_root';\nfunction formatStoreForInspectorTree(store) {\n return isPinia(store)\n ? {\n id: PINIA_ROOT_ID,\n label: PINIA_ROOT_LABEL,\n }\n : {\n id: store.$id,\n label: store.$id,\n };\n}\nfunction formatStoreForInspectorState(store) {\n if (isPinia(store)) {\n const storeNames = Array.from(store._s.keys());\n const storeMap = store._s;\n const state = {\n state: storeNames.map((storeId) => ({\n editable: true,\n key: storeId,\n value: store.state.value[storeId],\n })),\n getters: storeNames\n .filter((id) => storeMap.get(id)._getters)\n .map((id) => {\n const store = storeMap.get(id);\n return {\n editable: false,\n key: id,\n value: store._getters.reduce((getters, key) => {\n getters[key] = store[key];\n return getters;\n }, {}),\n };\n }),\n };\n return state;\n }\n const state = {\n state: Object.keys(store.$state).map((key) => ({\n editable: true,\n key,\n value: store.$state[key],\n })),\n };\n // avoid adding empty getters\n if (store._getters && store._getters.length) {\n state.getters = store._getters.map((getterName) => ({\n editable: false,\n key: getterName,\n value: store[getterName],\n }));\n }\n if (store._customProperties.size) {\n state.customProperties = Array.from(store._customProperties).map((key) => ({\n editable: true,\n key,\n value: store[key],\n }));\n }\n return state;\n}\nfunction formatEventData(events) {\n if (!events)\n return {};\n if (Array.isArray(events)) {\n // TODO: handle add and delete for arrays and objects\n return events.reduce((data, event) => {\n data.keys.push(event.key);\n data.operations.push(event.type);\n data.oldValue[event.key] = event.oldValue;\n data.newValue[event.key] = event.newValue;\n return data;\n }, {\n oldValue: {},\n keys: [],\n operations: [],\n newValue: {},\n });\n }\n else {\n return {\n operation: formatDisplay(events.type),\n key: formatDisplay(events.key),\n oldValue: events.oldValue,\n newValue: events.newValue,\n };\n }\n}\nfunction formatMutationType(type) {\n switch (type) {\n case MutationType.direct:\n return 'mutation';\n case MutationType.patchFunction:\n return '$patch';\n case MutationType.patchObject:\n return '$patch';\n default:\n return 'unknown';\n }\n}\n\n// timeline can be paused when directly changing the state\nlet isTimelineActive = true;\nconst componentStateTypes = [];\nconst MUTATIONS_LAYER_ID = 'pinia:mutations';\nconst INSPECTOR_ID = 'pinia';\nconst { assign: assign$1 } = Object;\n/**\n * Gets the displayed name of a store in devtools\n *\n * @param id - id of the store\n * @returns a formatted string\n */\nconst getStoreType = (id) => '🍍 ' + id;\n/**\n * Add the pinia plugin without any store. Allows displaying a Pinia plugin tab\n * as soon as it is added to the application.\n *\n * @param app - Vue application\n * @param pinia - pinia instance\n */\nfunction registerPiniaDevtools(app, pinia) {\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n }, (api) => {\n if (typeof api.now !== 'function') {\n toastMessage('You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n api.addTimelineLayer({\n id: MUTATIONS_LAYER_ID,\n label: `Pinia 🍍`,\n color: 0xe5df88,\n });\n api.addInspector({\n id: INSPECTOR_ID,\n label: 'Pinia 🍍',\n icon: 'storage',\n treeFilterPlaceholder: 'Search stores',\n actions: [\n {\n icon: 'content_copy',\n action: () => {\n actionGlobalCopyState(pinia);\n },\n tooltip: 'Serialize and copy the state',\n },\n {\n icon: 'content_paste',\n action: async () => {\n await actionGlobalPasteState(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Replace the state with the content of your clipboard',\n },\n {\n icon: 'save',\n action: () => {\n actionGlobalSaveState(pinia);\n },\n tooltip: 'Save the state as a JSON file',\n },\n {\n icon: 'folder_open',\n action: async () => {\n await actionGlobalOpenStateFile(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Import the state from a JSON file',\n },\n ],\n nodeActions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state (option store only)',\n action: (nodeId) => {\n const store = pinia._s.get(nodeId);\n if (!store) {\n toastMessage(`Cannot reset \"${nodeId}\" store because it wasn't found.`, 'warn');\n }\n else if (!store._isOptionsAPI) {\n toastMessage(`Cannot reset \"${nodeId}\" store because it's a setup store.`, 'warn');\n }\n else {\n store.$reset();\n toastMessage(`Store \"${nodeId}\" reset.`);\n }\n },\n },\n ],\n });\n api.on.inspectComponent((payload, ctx) => {\n const proxy = (payload.componentInstance &&\n payload.componentInstance.proxy);\n if (proxy && proxy._pStores) {\n const piniaStores = payload.componentInstance.proxy._pStores;\n Object.values(piniaStores).forEach((store) => {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'state',\n editable: true,\n value: store._isOptionsAPI\n ? {\n _custom: {\n value: toRaw(store.$state),\n actions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state of this store',\n action: () => store.$reset(),\n },\n ],\n },\n }\n : // NOTE: workaround to unwrap transferred refs\n Object.keys(store.$state).reduce((state, key) => {\n state[key] = store.$state[key];\n return state;\n }, {}),\n });\n if (store._getters && store._getters.length) {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'getters',\n editable: false,\n value: store._getters.reduce((getters, key) => {\n try {\n getters[key] = store[key];\n }\n catch (error) {\n // @ts-expect-error: we just want to show it in devtools\n getters[key] = error;\n }\n return getters;\n }, {}),\n });\n }\n });\n }\n });\n api.on.getInspectorTree((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n let stores = [pinia];\n stores = stores.concat(Array.from(pinia._s.values()));\n payload.rootNodes = (payload.filter\n ? stores.filter((store) => '$id' in store\n ? store.$id\n .toLowerCase()\n .includes(payload.filter.toLowerCase())\n : PINIA_ROOT_LABEL.toLowerCase().includes(payload.filter.toLowerCase()))\n : stores).map(formatStoreForInspectorTree);\n }\n });\n api.on.getInspectorState((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n // this could be the selected store restored for a different project\n // so it's better not to say anything here\n return;\n }\n if (inspectedStore) {\n payload.state = formatStoreForInspectorState(inspectedStore);\n }\n }\n });\n api.on.editInspectorState((payload, ctx) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n return toastMessage(`store \"${payload.nodeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (!isPinia(inspectedStore)) {\n // access only the state\n if (path.length !== 1 ||\n !inspectedStore._customProperties.has(path[0]) ||\n path[0] in inspectedStore.$state) {\n path.unshift('$state');\n }\n }\n else {\n // Root access, we can omit the `.value` because the devtools API does it for us\n path.unshift('state');\n }\n isTimelineActive = false;\n payload.set(inspectedStore, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n api.on.editComponentState((payload) => {\n if (payload.type.startsWith('🍍')) {\n const storeId = payload.type.replace(/^🍍\\s*/, '');\n const store = pinia._s.get(storeId);\n if (!store) {\n return toastMessage(`store \"${storeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (path[0] !== 'state') {\n return toastMessage(`Invalid path for store \"${storeId}\":\\n${path}\\nOnly state can be modified.`);\n }\n // rewrite the first entry to be able to directly set the state as\n // well as any other path\n path[0] = '$state';\n isTimelineActive = false;\n payload.set(store, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n });\n}\nfunction addStoreToDevtools(app, store) {\n if (!componentStateTypes.includes(getStoreType(store.$id))) {\n componentStateTypes.push(getStoreType(store.$id));\n }\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n settings: {\n logStoreChanges: {\n label: 'Notify about new/deleted stores',\n type: 'boolean',\n defaultValue: true,\n },\n // useEmojis: {\n // label: 'Use emojis in messages ⚡️',\n // type: 'boolean',\n // defaultValue: true,\n // },\n },\n }, (api) => {\n // gracefully handle errors\n const now = typeof api.now === 'function' ? api.now.bind(api) : Date.now;\n store.$onAction(({ after, onError, name, args }) => {\n const groupId = runningActionId++;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛫 ' + name,\n subtitle: 'start',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n },\n groupId,\n },\n });\n after((result) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛬 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n result,\n },\n groupId,\n },\n });\n });\n onError((error) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n logType: 'error',\n title: '💥 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n error,\n },\n groupId,\n },\n });\n });\n }, true);\n store._customProperties.forEach((name) => {\n watch(() => unref(store[name]), (newValue, oldValue) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (isTimelineActive) {\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: 'Change',\n subtitle: name,\n data: {\n newValue,\n oldValue,\n },\n groupId: activeAction,\n },\n });\n }\n }, { deep: true });\n });\n store.$subscribe(({ events, type }, state) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (!isTimelineActive)\n return;\n // rootStore.state[store.id] = state\n const eventData = {\n time: now(),\n title: formatMutationType(type),\n data: assign$1({ store: formatDisplay(store.$id) }, formatEventData(events)),\n groupId: activeAction,\n };\n // reset for the next mutation\n activeAction = undefined;\n if (type === MutationType.patchFunction) {\n eventData.subtitle = '⤵️';\n }\n else if (type === MutationType.patchObject) {\n eventData.subtitle = '🧩';\n }\n else if (events && !Array.isArray(events)) {\n eventData.subtitle = events.type;\n }\n if (events) {\n eventData.data['rawEvent(s)'] = {\n _custom: {\n display: 'DebuggerEvent',\n type: 'object',\n tooltip: 'raw DebuggerEvent[]',\n value: events,\n },\n };\n }\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: eventData,\n });\n }, { detached: true, flush: 'sync' });\n const hotUpdate = store._hotUpdate;\n store._hotUpdate = markRaw((newStore) => {\n hotUpdate(newStore);\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🔥 ' + store.$id,\n subtitle: 'HMR update',\n data: {\n store: formatDisplay(store.$id),\n info: formatDisplay(`HMR update`),\n },\n },\n });\n // update the devtools too\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n });\n const { $dispose } = store;\n store.$dispose = () => {\n $dispose();\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`Disposed \"${store.$id}\" store 🗑`);\n };\n // trigger an update so it can display new registered stores\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`\"${store.$id}\" store installed 🆕`);\n });\n}\nlet runningActionId = 0;\nlet activeAction;\n/**\n * Patches a store to enable action grouping in devtools by wrapping the store with a Proxy that is passed as the\n * context of all actions, allowing us to set `runningAction` on each access and effectively associating any state\n * mutation to the action.\n *\n * @param store - store to patch\n * @param actionNames - list of actionst to patch\n */\nfunction patchActionForGrouping(store, actionNames) {\n // original actions of the store as they are given by pinia. We are going to override them\n const actions = actionNames.reduce((storeActions, actionName) => {\n // use toRaw to avoid tracking #541\n storeActions[actionName] = toRaw(store)[actionName];\n return storeActions;\n }, {});\n for (const actionName in actions) {\n store[actionName] = function () {\n // setActivePinia(store._p)\n // the running action id is incremented in a before action hook\n const _actionId = runningActionId;\n const trackedStore = new Proxy(store, {\n get(...args) {\n activeAction = _actionId;\n return Reflect.get(...args);\n },\n set(...args) {\n activeAction = _actionId;\n return Reflect.set(...args);\n },\n });\n return actions[actionName].apply(trackedStore, arguments);\n };\n }\n}\n/**\n * pinia.use(devtoolsPlugin)\n */\nfunction devtoolsPlugin({ app, store, options }) {\n // HMR module\n if (store.$id.startsWith('__hot:')) {\n return;\n }\n // detect option api vs setup api\n if (options.state) {\n store._isOptionsAPI = true;\n }\n // only wrap actions in option-defined stores as this technique relies on\n // wrapping the context of the action with a proxy\n if (typeof options.state === 'function') {\n patchActionForGrouping(\n // @ts-expect-error: can cast the store...\n store, Object.keys(options.actions));\n const originalHotUpdate = store._hotUpdate;\n // Upgrade the HMR to also update the new actions\n toRaw(store)._hotUpdate = function (newStore) {\n originalHotUpdate.apply(this, arguments);\n patchActionForGrouping(store, Object.keys(newStore._hmrPayload.actions));\n };\n }\n addStoreToDevtools(app, \n // FIXME: is there a way to allow the assignment from Store to StoreGeneric?\n store);\n}\n\n/**\n * Creates a Pinia instance to be used by the application\n */\nfunction createPinia() {\n const scope = effectScope(true);\n // NOTE: here we could check the window object for a state and directly set it\n // if there is anything like it with Vue 3 SSR\n const state = scope.run(() => ref({}));\n let _p = [];\n // plugins added before calling app.use(pinia)\n let toBeInstalled = [];\n const pinia = markRaw({\n install(app) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n if (!isVue2) {\n pinia._a = app;\n app.provide(piniaSymbol, pinia);\n app.config.globalProperties.$pinia = pinia;\n /* istanbul ignore else */\n if (USE_DEVTOOLS) {\n registerPiniaDevtools(app, pinia);\n }\n toBeInstalled.forEach((plugin) => _p.push(plugin));\n toBeInstalled = [];\n }\n },\n use(plugin) {\n if (!this._a && !isVue2) {\n toBeInstalled.push(plugin);\n }\n else {\n _p.push(plugin);\n }\n return this;\n },\n _p,\n // it's actually undefined here\n // @ts-expect-error\n _a: null,\n _e: scope,\n _s: new Map(),\n state,\n });\n // pinia devtools rely on dev only features so they cannot be forced unless\n // the dev build of Vue is used. Avoid old browsers like IE11.\n if (USE_DEVTOOLS && typeof Proxy !== 'undefined') {\n pinia.use(devtoolsPlugin);\n }\n return pinia;\n}\n\n/**\n * Checks if a function is a `StoreDefinition`.\n *\n * @param fn - object to test\n * @returns true if `fn` is a StoreDefinition\n */\nconst isUseStore = (fn) => {\n return typeof fn === 'function' && typeof fn.$id === 'string';\n};\n/**\n * Mutates in place `newState` with `oldState` to _hot update_ it. It will\n * remove any key not existing in `newState` and recursively merge plain\n * objects.\n *\n * @param newState - new state object to be patched\n * @param oldState - old state that should be used to patch newState\n * @returns - newState\n */\nfunction patchObject(newState, oldState) {\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in oldState) {\n const subPatch = oldState[key];\n // skip the whole sub tree\n if (!(key in newState)) {\n continue;\n }\n const targetValue = newState[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n newState[key] = patchObject(targetValue, subPatch);\n }\n else {\n // objects are either a bit more complex (e.g. refs) or primitives, so we\n // just set the whole thing\n if (isVue2) {\n set(newState, key, subPatch);\n }\n else {\n newState[key] = subPatch;\n }\n }\n }\n return newState;\n}\n/**\n * Creates an _accept_ function to pass to `import.meta.hot` in Vite applications.\n *\n * @example\n * ```js\n * const useUser = defineStore(...)\n * if (import.meta.hot) {\n * import.meta.hot.accept(acceptHMRUpdate(useUser, import.meta.hot))\n * }\n * ```\n *\n * @param initialUseStore - return of the defineStore to hot update\n * @param hot - `import.meta.hot`\n */\nfunction acceptHMRUpdate(initialUseStore, hot) {\n // strip as much as possible from iife.prod\n if (!(process.env.NODE_ENV !== 'production')) {\n return () => { };\n }\n return (newModule) => {\n const pinia = hot.data.pinia || initialUseStore._pinia;\n if (!pinia) {\n // this store is still not used\n return;\n }\n // preserve the pinia instance across loads\n hot.data.pinia = pinia;\n // console.log('got data', newStore)\n for (const exportName in newModule) {\n const useStore = newModule[exportName];\n // console.log('checking for', exportName)\n if (isUseStore(useStore) && pinia._s.has(useStore.$id)) {\n // console.log('Accepting update for', useStore.$id)\n const id = useStore.$id;\n if (id !== initialUseStore.$id) {\n console.warn(`The id of the store changed from \"${initialUseStore.$id}\" to \"${id}\". Reloading.`);\n // return import.meta.hot.invalidate()\n return hot.invalidate();\n }\n const existingStore = pinia._s.get(id);\n if (!existingStore) {\n console.log(`[Pinia]: skipping hmr because store doesn't exist yet`);\n return;\n }\n useStore(pinia, existingStore);\n }\n }\n };\n}\n\nconst noop = () => { };\nfunction addSubscription(subscriptions, callback, detached, onCleanup = noop) {\n subscriptions.push(callback);\n const removeSubscription = () => {\n const idx = subscriptions.indexOf(callback);\n if (idx > -1) {\n subscriptions.splice(idx, 1);\n onCleanup();\n }\n };\n if (!detached && getCurrentScope()) {\n onScopeDispose(removeSubscription);\n }\n return removeSubscription;\n}\nfunction triggerSubscriptions(subscriptions, ...args) {\n subscriptions.slice().forEach((callback) => {\n callback(...args);\n });\n}\n\nfunction mergeReactiveObjects(target, patchToApply) {\n // Handle Map instances\n if (target instanceof Map && patchToApply instanceof Map) {\n patchToApply.forEach((value, key) => target.set(key, value));\n }\n // Handle Set instances\n if (target instanceof Set && patchToApply instanceof Set) {\n patchToApply.forEach(target.add, target);\n }\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in patchToApply) {\n if (!patchToApply.hasOwnProperty(key))\n continue;\n const subPatch = patchToApply[key];\n const targetValue = target[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n target.hasOwnProperty(key) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n // NOTE: here I wanted to warn about inconsistent types but it's not possible because in setup stores one might\n // start the value of a property as a certain type e.g. a Map, and then for some reason, during SSR, change that\n // to `undefined`. When trying to hydrate, we want to override the Map with `undefined`.\n target[key] = mergeReactiveObjects(targetValue, subPatch);\n }\n else {\n // @ts-expect-error: subPatch is a valid value\n target[key] = subPatch;\n }\n }\n return target;\n}\nconst skipHydrateSymbol = (process.env.NODE_ENV !== 'production')\n ? Symbol('pinia:skipHydration')\n : /* istanbul ignore next */ Symbol();\nconst skipHydrateMap = /*#__PURE__*/ new WeakMap();\n/**\n * Tells Pinia to skip the hydration process of a given object. This is useful in setup stores (only) when you return a\n * stateful object in the store but it isn't really state. e.g. returning a router instance in a setup store.\n *\n * @param obj - target object\n * @returns obj\n */\nfunction skipHydrate(obj) {\n return isVue2\n ? // in @vue/composition-api, the refs are sealed so defineProperty doesn't work...\n /* istanbul ignore next */ skipHydrateMap.set(obj, 1) && obj\n : Object.defineProperty(obj, skipHydrateSymbol, {});\n}\n/**\n * Returns whether a value should be hydrated\n *\n * @param obj - target variable\n * @returns true if `obj` should be hydrated\n */\nfunction shouldHydrate(obj) {\n return isVue2\n ? /* istanbul ignore next */ !skipHydrateMap.has(obj)\n : !isPlainObject(obj) || !obj.hasOwnProperty(skipHydrateSymbol);\n}\nconst { assign } = Object;\nfunction isComputed(o) {\n return !!(isRef(o) && o.effect);\n}\nfunction createOptionsStore(id, options, pinia, hot) {\n const { state, actions, getters } = options;\n const initialState = pinia.state.value[id];\n let store;\n function setup() {\n if (!initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value, id, state ? state() : {});\n }\n else {\n pinia.state.value[id] = state ? state() : {};\n }\n }\n // avoid creating a state in pinia.state.value\n const localState = (process.env.NODE_ENV !== 'production') && hot\n ? // use ref() to unwrap refs inside state TODO: check if this is still necessary\n toRefs(ref(state ? state() : {}).value)\n : toRefs(pinia.state.value[id]);\n return assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => {\n if ((process.env.NODE_ENV !== 'production') && name in localState) {\n console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with \"${name}\" in store \"${id}\".`);\n }\n computedGetters[name] = markRaw(computed(() => {\n setActivePinia(pinia);\n // it was created just before\n const store = pinia._s.get(id);\n // allow cross using stores\n /* istanbul ignore next */\n if (isVue2 && !store._r)\n return;\n // @ts-expect-error\n // return getters![name].call(context, context)\n // TODO: avoid reading the getter while assigning with a global variable\n return getters[name].call(store, store);\n }));\n return computedGetters;\n }, {}));\n }\n store = createSetupStore(id, setup, options, pinia, hot, true);\n return store;\n}\nfunction createSetupStore($id, setup, options = {}, pinia, hot, isOptionsStore) {\n let scope;\n const optionsForPlugin = assign({ actions: {} }, options);\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && !pinia._e.active) {\n throw new Error('Pinia destroyed');\n }\n // watcher options for $subscribe\n const $subscribeOptions = {\n deep: true,\n // flush: 'post',\n };\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production') && !isVue2) {\n $subscribeOptions.onTrigger = (event) => {\n /* istanbul ignore else */\n if (isListening) {\n debuggerEvents = event;\n // avoid triggering this while the store is being built and the state is being set in pinia\n }\n else if (isListening == false && !store._hotUpdating) {\n // let patch send all the events together later\n /* istanbul ignore else */\n if (Array.isArray(debuggerEvents)) {\n debuggerEvents.push(event);\n }\n else {\n console.error('🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.');\n }\n }\n };\n }\n // internal state\n let isListening; // set to true at the end\n let isSyncListening; // set to true at the end\n let subscriptions = markRaw([]);\n let actionSubscriptions = markRaw([]);\n let debuggerEvents;\n const initialState = pinia.state.value[$id];\n // avoid setting the state for option stores if it is set\n // by the setup\n if (!isOptionsStore && !initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value, $id, {});\n }\n else {\n pinia.state.value[$id] = {};\n }\n }\n const hotState = ref({});\n // avoid triggering too many listeners\n // https://github.com/vuejs/pinia/issues/1129\n let activeListener;\n function $patch(partialStateOrMutator) {\n let subscriptionMutation;\n isListening = isSyncListening = false;\n // reset the debugger events since patches are sync\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n debuggerEvents = [];\n }\n if (typeof partialStateOrMutator === 'function') {\n partialStateOrMutator(pinia.state.value[$id]);\n subscriptionMutation = {\n type: MutationType.patchFunction,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n else {\n mergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator);\n subscriptionMutation = {\n type: MutationType.patchObject,\n payload: partialStateOrMutator,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n const myListenerId = (activeListener = Symbol());\n nextTick().then(() => {\n if (activeListener === myListenerId) {\n isListening = true;\n }\n });\n isSyncListening = true;\n // because we paused the watcher, we need to manually call the subscriptions\n triggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]);\n }\n const $reset = isOptionsStore\n ? function $reset() {\n const { state } = options;\n const newState = state ? state() : {};\n // we use a patch to group all changes into one single subscription\n this.$patch(($state) => {\n assign($state, newState);\n });\n }\n : /* istanbul ignore next */\n (process.env.NODE_ENV !== 'production')\n ? () => {\n throw new Error(`🍍: Store \"${$id}\" is built using the setup syntax and does not implement $reset().`);\n }\n : noop;\n function $dispose() {\n scope.stop();\n subscriptions = [];\n actionSubscriptions = [];\n pinia._s.delete($id);\n }\n /**\n * Wraps an action to handle subscriptions.\n *\n * @param name - name of the action\n * @param action - action to wrap\n * @returns a wrapped action to handle subscriptions\n */\n function wrapAction(name, action) {\n return function () {\n setActivePinia(pinia);\n const args = Array.from(arguments);\n const afterCallbackList = [];\n const onErrorCallbackList = [];\n function after(callback) {\n afterCallbackList.push(callback);\n }\n function onError(callback) {\n onErrorCallbackList.push(callback);\n }\n // @ts-expect-error\n triggerSubscriptions(actionSubscriptions, {\n args,\n name,\n store,\n after,\n onError,\n });\n let ret;\n try {\n ret = action.apply(this && this.$id === $id ? this : store, args);\n // handle sync errors\n }\n catch (error) {\n triggerSubscriptions(onErrorCallbackList, error);\n throw error;\n }\n if (ret instanceof Promise) {\n return ret\n .then((value) => {\n triggerSubscriptions(afterCallbackList, value);\n return value;\n })\n .catch((error) => {\n triggerSubscriptions(onErrorCallbackList, error);\n return Promise.reject(error);\n });\n }\n // trigger after callbacks\n triggerSubscriptions(afterCallbackList, ret);\n return ret;\n };\n }\n const _hmrPayload = /*#__PURE__*/ markRaw({\n actions: {},\n getters: {},\n state: [],\n hotState,\n });\n const partialStore = {\n _p: pinia,\n // _s: scope,\n $id,\n $onAction: addSubscription.bind(null, actionSubscriptions),\n $patch,\n $reset,\n $subscribe(callback, options = {}) {\n const removeSubscription = addSubscription(subscriptions, callback, options.detached, () => stopWatcher());\n const stopWatcher = scope.run(() => watch(() => pinia.state.value[$id], (state) => {\n if (options.flush === 'sync' ? isSyncListening : isListening) {\n callback({\n storeId: $id,\n type: MutationType.direct,\n events: debuggerEvents,\n }, state);\n }\n }, assign({}, $subscribeOptions, options)));\n return removeSubscription;\n },\n $dispose,\n };\n /* istanbul ignore if */\n if (isVue2) {\n // start as non ready\n partialStore._r = false;\n }\n const store = reactive((process.env.NODE_ENV !== 'production') || USE_DEVTOOLS\n ? assign({\n _hmrPayload,\n _customProperties: markRaw(new Set()), // devtools custom properties\n }, partialStore\n // must be added later\n // setupStore\n )\n : partialStore);\n // store the partial store now so the setup of stores can instantiate each other before they are finished without\n // creating infinite loops.\n pinia._s.set($id, store);\n // TODO: idea create skipSerialize that marks properties as non serializable and they are skipped\n const setupStore = pinia._e.run(() => {\n scope = effectScope();\n return scope.run(() => setup());\n });\n // overwrite existing actions to support $onAction\n for (const key in setupStore) {\n const prop = setupStore[key];\n if ((isRef(prop) && !isComputed(prop)) || isReactive(prop)) {\n // mark it as a piece of state to be serialized\n if ((process.env.NODE_ENV !== 'production') && hot) {\n set(hotState.value, key, toRef(setupStore, key));\n // createOptionStore directly sets the state in pinia.state.value so we\n // can just skip that\n }\n else if (!isOptionsStore) {\n // in setup stores we must hydrate the state and sync pinia state tree with the refs the user just created\n if (initialState && shouldHydrate(prop)) {\n if (isRef(prop)) {\n prop.value = initialState[key];\n }\n else {\n // probably a reactive object, lets recursively assign\n // @ts-expect-error: prop is unknown\n mergeReactiveObjects(prop, initialState[key]);\n }\n }\n // transfer the ref to the pinia state to keep everything in sync\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value[$id], key, prop);\n }\n else {\n pinia.state.value[$id][key] = prop;\n }\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.state.push(key);\n }\n // action\n }\n else if (typeof prop === 'function') {\n // @ts-expect-error: we are overriding the function we avoid wrapping if\n const actionValue = (process.env.NODE_ENV !== 'production') && hot ? prop : wrapAction(key, prop);\n // this a hot module replacement store because the hotUpdate method needs\n // to do it with the right context\n /* istanbul ignore if */\n if (isVue2) {\n set(setupStore, key, actionValue);\n }\n else {\n // @ts-expect-error\n setupStore[key] = actionValue;\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.actions[key] = prop;\n }\n // list actions so they can be used in plugins\n // @ts-expect-error\n optionsForPlugin.actions[key] = prop;\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n // add getters for devtools\n if (isComputed(prop)) {\n _hmrPayload.getters[key] = isOptionsStore\n ? // @ts-expect-error\n options.getters[key]\n : prop;\n if (IS_CLIENT) {\n const getters = setupStore._getters ||\n // @ts-expect-error: same\n (setupStore._getters = markRaw([]));\n getters.push(key);\n }\n }\n }\n }\n // add the state, getters, and action properties\n /* istanbul ignore if */\n if (isVue2) {\n Object.keys(setupStore).forEach((key) => {\n set(store, key, setupStore[key]);\n });\n }\n else {\n assign(store, setupStore);\n // allows retrieving reactive objects with `storeToRefs()`. Must be called after assigning to the reactive object.\n // Make `storeToRefs()` work with `reactive()` #799\n assign(toRaw(store), setupStore);\n }\n // use this instead of a computed with setter to be able to create it anywhere\n // without linking the computed lifespan to wherever the store is first\n // created.\n Object.defineProperty(store, '$state', {\n get: () => ((process.env.NODE_ENV !== 'production') && hot ? hotState.value : pinia.state.value[$id]),\n set: (state) => {\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && hot) {\n throw new Error('cannot set hotState');\n }\n $patch(($state) => {\n assign($state, state);\n });\n },\n });\n // add the hotUpdate before plugins to allow them to override it\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n store._hotUpdate = markRaw((newStore) => {\n store._hotUpdating = true;\n newStore._hmrPayload.state.forEach((stateKey) => {\n if (stateKey in store.$state) {\n const newStateTarget = newStore.$state[stateKey];\n const oldStateSource = store.$state[stateKey];\n if (typeof newStateTarget === 'object' &&\n isPlainObject(newStateTarget) &&\n isPlainObject(oldStateSource)) {\n patchObject(newStateTarget, oldStateSource);\n }\n else {\n // transfer the ref\n newStore.$state[stateKey] = oldStateSource;\n }\n }\n // patch direct access properties to allow store.stateProperty to work as\n // store.$state.stateProperty\n set(store, stateKey, toRef(newStore.$state, stateKey));\n });\n // remove deleted state properties\n Object.keys(store.$state).forEach((stateKey) => {\n if (!(stateKey in newStore.$state)) {\n del(store, stateKey);\n }\n });\n // avoid devtools logging this as a mutation\n isListening = false;\n isSyncListening = false;\n pinia.state.value[$id] = toRef(newStore._hmrPayload, 'hotState');\n isSyncListening = true;\n nextTick().then(() => {\n isListening = true;\n });\n for (const actionName in newStore._hmrPayload.actions) {\n const action = newStore[actionName];\n set(store, actionName, wrapAction(actionName, action));\n }\n // TODO: does this work in both setup and option store?\n for (const getterName in newStore._hmrPayload.getters) {\n const getter = newStore._hmrPayload.getters[getterName];\n const getterValue = isOptionsStore\n ? // special handling of options api\n computed(() => {\n setActivePinia(pinia);\n return getter.call(store, store);\n })\n : getter;\n set(store, getterName, getterValue);\n }\n // remove deleted getters\n Object.keys(store._hmrPayload.getters).forEach((key) => {\n if (!(key in newStore._hmrPayload.getters)) {\n del(store, key);\n }\n });\n // remove old actions\n Object.keys(store._hmrPayload.actions).forEach((key) => {\n if (!(key in newStore._hmrPayload.actions)) {\n del(store, key);\n }\n });\n // update the values used in devtools and to allow deleting new properties later on\n store._hmrPayload = newStore._hmrPayload;\n store._getters = newStore._getters;\n store._hotUpdating = false;\n });\n }\n if (USE_DEVTOOLS) {\n const nonEnumerable = {\n writable: true,\n configurable: true,\n // avoid warning on devtools trying to display this property\n enumerable: false,\n };\n ['_p', '_hmrPayload', '_getters', '_customProperties'].forEach((p) => {\n Object.defineProperty(store, p, assign({ value: store[p] }, nonEnumerable));\n });\n }\n /* istanbul ignore if */\n if (isVue2) {\n // mark the store as ready before plugins\n store._r = true;\n }\n // apply all plugins\n pinia._p.forEach((extender) => {\n /* istanbul ignore else */\n if (USE_DEVTOOLS) {\n const extensions = scope.run(() => extender({\n store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n }));\n Object.keys(extensions || {}).forEach((key) => store._customProperties.add(key));\n assign(store, extensions);\n }\n else {\n assign(store, scope.run(() => extender({\n store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n })));\n }\n });\n if ((process.env.NODE_ENV !== 'production') &&\n store.$state &&\n typeof store.$state === 'object' &&\n typeof store.$state.constructor === 'function' &&\n !store.$state.constructor.toString().includes('[native code]')) {\n console.warn(`[🍍]: The \"state\" must be a plain object. It cannot be\\n` +\n `\\tstate: () => new MyClass()\\n` +\n `Found in store \"${store.$id}\".`);\n }\n // only apply hydrate to option stores with an initial state in pinia\n if (initialState &&\n isOptionsStore &&\n options.hydrate) {\n options.hydrate(store.$state, initialState);\n }\n isListening = true;\n isSyncListening = true;\n return store;\n}\nfunction defineStore(\n// TODO: add proper types from above\nidOrOptions, setup, setupOptions) {\n let id;\n let options;\n const isSetupStore = typeof setup === 'function';\n if (typeof idOrOptions === 'string') {\n id = idOrOptions;\n // the option store setup will contain the actual options in this case\n options = isSetupStore ? setupOptions : setup;\n }\n else {\n options = idOrOptions;\n id = idOrOptions.id;\n }\n function useStore(pinia, hot) {\n const currentInstance = getCurrentInstance();\n pinia =\n // in test mode, ignore the argument provided as we can always retrieve a\n // pinia instance with getActivePinia()\n ((process.env.NODE_ENV === 'test') && activePinia && activePinia._testing ? null : pinia) ||\n (currentInstance && inject(piniaSymbol, null));\n if (pinia)\n setActivePinia(pinia);\n if ((process.env.NODE_ENV !== 'production') && !activePinia) {\n throw new Error(`[🍍]: getActivePinia was called with no active Pinia. Did you forget to install pinia?\\n` +\n `\\tconst pinia = createPinia()\\n` +\n `\\tapp.use(pinia)\\n` +\n `This will fail in production.`);\n }\n pinia = activePinia;\n if (!pinia._s.has(id)) {\n // creating the store registers it in `pinia._s`\n if (isSetupStore) {\n createSetupStore(id, setup, options, pinia);\n }\n else {\n createOptionsStore(id, options, pinia);\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n // @ts-expect-error: not the right inferred type\n useStore._pinia = pinia;\n }\n }\n const store = pinia._s.get(id);\n if ((process.env.NODE_ENV !== 'production') && hot) {\n const hotId = '__hot:' + id;\n const newStore = isSetupStore\n ? createSetupStore(hotId, setup, options, pinia, true)\n : createOptionsStore(hotId, assign({}, options), pinia, true);\n hot._hotUpdate(newStore);\n // cleanup the state properties and the store from the cache\n delete pinia.state.value[hotId];\n pinia._s.delete(hotId);\n }\n // save stores in instances to access them devtools\n if ((process.env.NODE_ENV !== 'production') &&\n IS_CLIENT &&\n currentInstance &&\n currentInstance.proxy &&\n // avoid adding stores that are just built for hot module replacement\n !hot) {\n const vm = currentInstance.proxy;\n const cache = '_pStores' in vm ? vm._pStores : (vm._pStores = {});\n cache[id] = store;\n }\n // StoreGeneric cannot be casted towards Store\n return store;\n }\n useStore.$id = id;\n return useStore;\n}\n\nlet mapStoreSuffix = 'Store';\n/**\n * Changes the suffix added by `mapStores()`. Can be set to an empty string.\n * Defaults to `\"Store\"`. Make sure to extend the MapStoresCustomization\n * interface if you are using TypeScript.\n *\n * @param suffix - new suffix\n */\nfunction setMapStoreSuffix(suffix // could be 'Store' but that would be annoying for JS\n) {\n mapStoreSuffix = suffix;\n}\n/**\n * Allows using stores without the composition API (`setup()`) by generating an\n * object to be spread in the `computed` field of a component. It accepts a list\n * of store definitions.\n *\n * @example\n * ```js\n * export default {\n * computed: {\n * // other computed properties\n * ...mapStores(useUserStore, useCartStore)\n * },\n *\n * created() {\n * this.userStore // store with id \"user\"\n * this.cartStore // store with id \"cart\"\n * }\n * }\n * ```\n *\n * @param stores - list of stores to map to an object\n */\nfunction mapStores(...stores) {\n if ((process.env.NODE_ENV !== 'production') && Array.isArray(stores[0])) {\n console.warn(`[🍍]: Directly pass all stores to \"mapStores()\" without putting them in an array:\\n` +\n `Replace\\n` +\n `\\tmapStores([useAuthStore, useCartStore])\\n` +\n `with\\n` +\n `\\tmapStores(useAuthStore, useCartStore)\\n` +\n `This will fail in production if not fixed.`);\n stores = stores[0];\n }\n return stores.reduce((reduced, useStore) => {\n // @ts-expect-error: $id is added by defineStore\n reduced[useStore.$id + mapStoreSuffix] = function () {\n return useStore(this.$pinia);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n reduced[key] = function () {\n return useStore(this.$pinia)[key];\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function () {\n const store = useStore(this.$pinia);\n const storeKey = keysOrMapper[key];\n // for some reason TS is unable to infer the type of storeKey to be a\n // function\n return typeof storeKey === 'function'\n ? storeKey.call(this, store)\n : store[storeKey];\n };\n return reduced;\n }, {});\n}\n/**\n * Alias for `mapState()`. You should use `mapState()` instead.\n * @deprecated use `mapState()` instead.\n */\nconst mapGetters = mapState;\n/**\n * Allows directly using actions from your store without using the composition\n * API (`setup()`) by generating an object to be spread in the `methods` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapActions(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n return useStore(this.$pinia)[key](...args);\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n return useStore(this.$pinia)[keysOrMapper[key]](...args);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapWritableState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n // @ts-ignore\n reduced[key] = {\n get() {\n return useStore(this.$pinia)[key];\n },\n set(value) {\n // it's easier to type it here as any\n return (useStore(this.$pinia)[key] = value);\n },\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-ignore\n reduced[key] = {\n get() {\n return useStore(this.$pinia)[keysOrMapper[key]];\n },\n set(value) {\n // it's easier to type it here as any\n return (useStore(this.$pinia)[keysOrMapper[key]] = value);\n },\n };\n return reduced;\n }, {});\n}\n\n/**\n * Creates an object of references with all the state, getters, and plugin-added\n * state properties of the store. Similar to `toRefs()` but specifically\n * designed for Pinia stores so methods and non reactive properties are\n * completely ignored.\n *\n * @param store - store to extract the refs from\n */\nfunction storeToRefs(store) {\n // See https://github.com/vuejs/pinia/issues/852\n // It's easier to just use toRefs() even if it includes more stuff\n if (isVue2) {\n // @ts-expect-error: toRefs include methods and others\n return toRefs(store);\n }\n else {\n store = toRaw(store);\n const refs = {};\n for (const key in store) {\n const value = store[key];\n if (isRef(value) || isReactive(value)) {\n // @ts-expect-error: the key is state or getter\n refs[key] =\n // ---\n toRef(store, key);\n }\n }\n return refs;\n }\n}\n\n/**\n * Vue 2 Plugin that must be installed for pinia to work. Note **you don't need\n * this plugin if you are using Nuxt.js**. Use the `buildModule` instead:\n * https://pinia.vuejs.org/ssr/nuxt.html.\n *\n * @example\n * ```js\n * import Vue from 'vue'\n * import { PiniaVuePlugin, createPinia } from 'pinia'\n *\n * Vue.use(PiniaVuePlugin)\n * const pinia = createPinia()\n *\n * new Vue({\n * el: '#app',\n * // ...\n * pinia,\n * })\n * ```\n *\n * @param _Vue - `Vue` imported from 'vue'.\n */\nconst PiniaVuePlugin = function (_Vue) {\n // Equivalent of\n // app.config.globalProperties.$pinia = pinia\n _Vue.mixin({\n beforeCreate() {\n const options = this.$options;\n if (options.pinia) {\n const pinia = options.pinia;\n // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/main/src/apis/inject.ts#L31\n /* istanbul ignore else */\n if (!this._provided) {\n const provideCache = {};\n Object.defineProperty(this, '_provided', {\n get: () => provideCache,\n set: (v) => Object.assign(provideCache, v),\n });\n }\n this._provided[piniaSymbol] = pinia;\n // propagate the pinia instance in an SSR friendly way\n // avoid adding it to nuxt twice\n /* istanbul ignore else */\n if (!this.$pinia) {\n this.$pinia = pinia;\n }\n pinia._a = this;\n if (IS_CLIENT) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n }\n if (USE_DEVTOOLS) {\n registerPiniaDevtools(pinia._a, pinia);\n }\n }\n else if (!this.$pinia && options.parent && options.parent.$pinia) {\n this.$pinia = options.parent.$pinia;\n }\n },\n destroyed() {\n delete this._pStores;\n },\n });\n};\n\nexport { MutationType, PiniaVuePlugin, acceptHMRUpdate, createPinia, defineStore, getActivePinia, mapActions, mapGetters, mapState, mapStores, mapWritableState, setActivePinia, setMapStoreSuffix, skipHydrate, storeToRefs };\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcAppContent',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.currentView?.legacy),expression:\"!currentView?.legacy\"}],class:{'app-content--hidden': _vm.currentView?.legacy},attrs:{\"data-cy-files-content\":\"\"}},[_c('div',{staticClass:\"files-list__header\"},[_c('BreadCrumbs',{attrs:{\"path\":_vm.dir},on:{\"reload\":_vm.fetchContent}}),_vm._v(\" \"),(_vm.isRefreshing)?_c('NcLoadingIcon',{staticClass:\"files-list__refresh-icon\"}):_vm._e()],1),_vm._v(\" \"),(_vm.loading && !_vm.isRefreshing)?_c('NcLoadingIcon',{staticClass:\"files-list__loading-icon\",attrs:{\"size\":38,\"title\":_vm.t('files', 'Loading current folder')}}):(!_vm.loading && _vm.isEmptyDir)?_c('NcEmptyContent',{attrs:{\"title\":_vm.t('files', 'No files in here'),\"description\":_vm.t('files', 'No files or folders have been deleted yet'),\"data-cy-files-content-empty\":\"\"},scopedSlots:_vm._u([{key:\"action\",fn:function(){return [(_vm.dir !== '/')?_c('NcButton',{attrs:{\"aria-label\":\"t('files', 'Go to the previous folder')\",\"type\":\"primary\",\"to\":_vm.toPreviousDir}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Go back'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true},{key:\"icon\",fn:function(){return [_c('TrashCan')]},proxy:true}])}):_c('FilesListVirtual',{ref:\"filesListVirtual\",attrs:{\"current-view\":_vm.currentView,\"nodes\":_vm.dirContents}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * natural-orderby v3.0.2\n *\n * Copyright (c) Olaf Ennen\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nvar compareNumbers = function compareNumbers(numberA, numberB) {\n if (numberA < numberB) {\n return -1;\n }\n if (numberA > numberB) {\n return 1;\n }\n return 0;\n};\n\nvar compareUnicode = function compareUnicode(stringA, stringB) {\n var result = stringA.localeCompare(stringB);\n return result ? result / Math.abs(result) : 0;\n};\n\nvar RE_NUMBERS = /(^0x[\\da-fA-F]+$|^([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?(?!\\.\\d+)(?=\\D|\\s|$))|\\d+)/g;\nvar RE_LEADING_OR_TRAILING_WHITESPACES = /^\\s+|\\s+$/g; // trim pre-post whitespace\nvar RE_WHITESPACES = /\\s+/g; // normalize all whitespace to single ' ' character\nvar RE_INT_OR_FLOAT = /^[+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?$/; // identify integers and floats\nvar RE_DATE = /(^([\\w ]+,?[\\w ]+)?[\\w ]+,?[\\w ]+\\d+:\\d+(:\\d+)?[\\w ]?|^\\d{1,4}[/-]\\d{1,4}[/-]\\d{1,4}|^\\w+, \\w+ \\d+, \\d{4})/; // identify date strings\nvar RE_LEADING_ZERO = /^0+[1-9]{1}[0-9]*$/;\n// eslint-disable-next-line no-control-regex\nvar RE_UNICODE_CHARACTERS = /[^\\x00-\\x80]/;\n\nvar stringCompare = function stringCompare(stringA, stringB) {\n if (stringA < stringB) {\n return -1;\n }\n if (stringA > stringB) {\n return 1;\n }\n return 0;\n};\n\nvar compareChunks = function compareChunks(chunksA, chunksB) {\n var lengthA = chunksA.length;\n var lengthB = chunksB.length;\n var size = Math.min(lengthA, lengthB);\n for (var i = 0; i < size; i++) {\n var chunkA = chunksA[i];\n var chunkB = chunksB[i];\n if (chunkA.normalizedString !== chunkB.normalizedString) {\n if (chunkA.normalizedString === '' !== (chunkB.normalizedString === '')) {\n // empty strings have lowest value\n return chunkA.normalizedString === '' ? -1 : 1;\n }\n if (chunkA.parsedNumber !== undefined && chunkB.parsedNumber !== undefined) {\n // compare numbers\n var result = compareNumbers(chunkA.parsedNumber, chunkB.parsedNumber);\n if (result === 0) {\n // compare string value, if parsed numbers are equal\n // Example:\n // chunkA = { parsedNumber: 1, normalizedString: \"001\" }\n // chunkB = { parsedNumber: 1, normalizedString: \"01\" }\n // chunkA.parsedNumber === chunkB.parsedNumber\n // chunkA.normalizedString < chunkB.normalizedString\n return stringCompare(chunkA.normalizedString, chunkB.normalizedString);\n }\n return result;\n } else if (chunkA.parsedNumber !== undefined || chunkB.parsedNumber !== undefined) {\n // number < string\n return chunkA.parsedNumber !== undefined ? -1 : 1;\n } else if (RE_UNICODE_CHARACTERS.test(chunkA.normalizedString + chunkB.normalizedString)) {\n // use locale comparison only if one of the chunks contains unicode characters\n return compareUnicode(chunkA.normalizedString, chunkB.normalizedString);\n } else {\n // use common string comparison for performance reason\n return stringCompare(chunkA.normalizedString, chunkB.normalizedString);\n }\n }\n }\n // if the chunks are equal so far, the one which has more chunks is greater than the other one\n if (lengthA > size || lengthB > size) {\n return lengthA <= size ? -1 : 1;\n }\n return 0;\n};\n\nvar compareOtherTypes = function compareOtherTypes(valueA, valueB) {\n if (!valueA.chunks ? valueB.chunks : !valueB.chunks) {\n return !valueA.chunks ? 1 : -1;\n }\n if (valueA.isNaN ? !valueB.isNaN : valueB.isNaN) {\n return valueA.isNaN ? -1 : 1;\n }\n if (valueA.isSymbol ? !valueB.isSymbol : valueB.isSymbol) {\n return valueA.isSymbol ? -1 : 1;\n }\n if (valueA.isObject ? !valueB.isObject : valueB.isObject) {\n return valueA.isObject ? -1 : 1;\n }\n if (valueA.isArray ? !valueB.isArray : valueB.isArray) {\n return valueA.isArray ? -1 : 1;\n }\n if (valueA.isFunction ? !valueB.isFunction : valueB.isFunction) {\n return valueA.isFunction ? -1 : 1;\n }\n if (valueA.isNull ? !valueB.isNull : valueB.isNull) {\n return valueA.isNull ? -1 : 1;\n }\n return 0;\n};\n\nvar compareValues = function compareValues(valueA, valueB) {\n if (valueA.value === valueB.value) {\n return 0;\n }\n if (valueA.parsedNumber !== undefined && valueB.parsedNumber !== undefined) {\n return compareNumbers(valueA.parsedNumber, valueB.parsedNumber);\n }\n if (valueA.chunks && valueB.chunks) {\n return compareChunks(valueA.chunks, valueB.chunks);\n }\n return compareOtherTypes(valueA, valueB);\n};\n\nvar normalizeAlphaChunk = function normalizeAlphaChunk(chunk) {\n return chunk.replace(RE_WHITESPACES, ' ').replace(RE_LEADING_OR_TRAILING_WHITESPACES, '');\n};\n\nvar parseNumber = function parseNumber(value) {\n if (value.length !== 0) {\n var parsedNumber = Number(value);\n if (!Number.isNaN(parsedNumber)) {\n return parsedNumber;\n }\n }\n return undefined;\n};\n\nvar normalizeNumericChunk = function normalizeNumericChunk(chunk, index, chunks) {\n if (RE_INT_OR_FLOAT.test(chunk)) {\n // don´t parse a number, if there´s a preceding decimal point\n // to keep significance\n // e.g. 1.0020, 1.020\n if (!RE_LEADING_ZERO.test(chunk) || index === 0 || chunks[index - 1] !== '.') {\n return parseNumber(chunk) || 0;\n }\n }\n return undefined;\n};\n\nvar createChunkMap = function createChunkMap(chunk, index, chunks) {\n return {\n parsedNumber: normalizeNumericChunk(chunk, index, chunks),\n normalizedString: normalizeAlphaChunk(chunk)\n };\n};\n\nvar createChunks = function createChunks(value) {\n return value.replace(RE_NUMBERS, '\\0$1\\0').replace(/\\0$/, '').replace(/^\\0/, '').split('\\0');\n};\n\nvar createChunkMaps = function createChunkMaps(value) {\n var chunksMaps = createChunks(value).map(createChunkMap);\n return chunksMaps;\n};\n\nvar isFunction = function isFunction(value) {\n return typeof value === 'function';\n};\n\nvar isNaN = function isNaN(value) {\n return Number.isNaN(value) || value instanceof Number && Number.isNaN(value.valueOf());\n};\n\nvar isNull = function isNull(value) {\n return value === null;\n};\n\nvar isObject = function isObject(value) {\n return value !== null && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Number) && !(value instanceof String) && !(value instanceof Boolean) && !(value instanceof Date);\n};\n\nvar isSymbol = function isSymbol(value) {\n return typeof value === 'symbol';\n};\n\nvar isUndefined = function isUndefined(value) {\n return value === undefined;\n};\n\nvar parseDate = function parseDate(value) {\n try {\n var parsedDate = Date.parse(value);\n if (!Number.isNaN(parsedDate)) {\n if (RE_DATE.test(value)) {\n return parsedDate;\n }\n }\n return undefined;\n } catch (_unused) {\n return undefined;\n }\n};\n\nvar numberify = function numberify(value) {\n var parsedNumber = parseNumber(value);\n if (parsedNumber !== undefined) {\n return parsedNumber;\n }\n return parseDate(value);\n};\n\nvar stringify = function stringify(value) {\n if (typeof value === 'boolean' || value instanceof Boolean) {\n return Number(value).toString();\n }\n if (typeof value === 'number' || value instanceof Number) {\n return value.toString();\n }\n if (value instanceof Date) {\n return value.getTime().toString();\n }\n if (typeof value === 'string' || value instanceof String) {\n return value.toLowerCase().replace(RE_LEADING_OR_TRAILING_WHITESPACES, '');\n }\n return '';\n};\n\nvar getMappedValueRecord = function getMappedValueRecord(value) {\n if (typeof value === 'string' || value instanceof String || (typeof value === 'number' || value instanceof Number) && !isNaN(value) || typeof value === 'boolean' || value instanceof Boolean || value instanceof Date) {\n var stringValue = stringify(value);\n var parsedNumber = numberify(stringValue);\n var chunks = createChunkMaps(parsedNumber ? \"\" + parsedNumber : stringValue);\n return {\n parsedNumber: parsedNumber,\n chunks: chunks,\n value: value\n };\n }\n return {\n isArray: Array.isArray(value),\n isFunction: isFunction(value),\n isNaN: isNaN(value),\n isNull: isNull(value),\n isObject: isObject(value),\n isSymbol: isSymbol(value),\n isUndefined: isUndefined(value),\n value: value\n };\n};\n\nvar baseCompare = function baseCompare(options) {\n return function (valueA, valueB) {\n var a = getMappedValueRecord(valueA);\n var b = getMappedValueRecord(valueB);\n var result = compareValues(a, b);\n return result * (options.order === 'desc' ? -1 : 1);\n };\n};\n\nvar isValidOrder = function isValidOrder(value) {\n return typeof value === 'string' && (value === 'asc' || value === 'desc');\n};\nvar getOptions = function getOptions(customOptions) {\n var order = 'asc';\n if (typeof customOptions === 'string' && isValidOrder(customOptions)) {\n order = customOptions;\n } else if (customOptions && typeof customOptions === 'object' && customOptions.order && isValidOrder(customOptions.order)) {\n order = customOptions.order;\n }\n return {\n order: order\n };\n};\n\n/**\n * Creates a compare function that defines the natural sort order considering\n * the given `options` which may be passed to [`Array.prototype.sort()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort).\n */\nfunction compare(options) {\n var validatedOptions = getOptions(options);\n return baseCompare(validatedOptions);\n}\n\nvar compareMultiple = function compareMultiple(recordA, recordB, orders) {\n var indexA = recordA.index,\n valuesA = recordA.values;\n var indexB = recordB.index,\n valuesB = recordB.values;\n var length = valuesA.length;\n var ordersLength = orders.length;\n for (var i = 0; i < length; i++) {\n var order = i < ordersLength ? orders[i] : null;\n if (order && typeof order === 'function') {\n var result = order(valuesA[i].value, valuesB[i].value);\n if (result) {\n return result;\n }\n } else {\n var _result = compareValues(valuesA[i], valuesB[i]);\n if (_result) {\n return _result * (order === 'desc' ? -1 : 1);\n }\n }\n }\n return indexA - indexB;\n};\n\nvar createIdentifierFn = function createIdentifierFn(identifier) {\n if (typeof identifier === 'function') {\n // identifier is already a lookup function\n return identifier;\n }\n return function (value) {\n if (Array.isArray(value)) {\n var index = Number(identifier);\n if (Number.isInteger(index)) {\n return value[index];\n }\n } else if (value && typeof value === 'object') {\n var result = Object.getOwnPropertyDescriptor(value, identifier);\n return result == null ? void 0 : result.value;\n }\n return value;\n };\n};\n\nvar getElementByIndex = function getElementByIndex(collection, index) {\n return collection[index];\n};\n\nvar getValueByIdentifier = function getValueByIdentifier(value, getValue) {\n return getValue(value);\n};\n\nvar baseOrderBy = function baseOrderBy(collection, identifiers, orders) {\n var identifierFns = identifiers.length ? identifiers.map(createIdentifierFn) : [function (value) {\n return value;\n }];\n\n // temporary array holds elements with position and sort-values\n var mappedCollection = collection.map(function (element, index) {\n var values = identifierFns.map(function (identifier) {\n return getValueByIdentifier(element, identifier);\n }).map(getMappedValueRecord);\n return {\n index: index,\n values: values\n };\n });\n\n // iterate over values and compare values until a != b or last value reached\n mappedCollection.sort(function (recordA, recordB) {\n return compareMultiple(recordA, recordB, orders);\n });\n return mappedCollection.map(function (element) {\n return getElementByIndex(collection, element.index);\n });\n};\n\nvar getIdentifiers = function getIdentifiers(identifiers) {\n if (!identifiers) {\n return [];\n }\n var identifierList = !Array.isArray(identifiers) ? [identifiers] : [].concat(identifiers);\n if (identifierList.some(function (identifier) {\n return typeof identifier !== 'string' && typeof identifier !== 'number' && typeof identifier !== 'function';\n })) {\n return [];\n }\n return identifierList;\n};\n\nvar getOrders = function getOrders(orders) {\n if (!orders) {\n return [];\n }\n var orderList = !Array.isArray(orders) ? [orders] : [].concat(orders);\n if (orderList.some(function (order) {\n return order !== 'asc' && order !== 'desc' && typeof order !== 'function';\n })) {\n return [];\n }\n return orderList;\n};\n\n/**\n * Creates an array of elements, natural sorted by specified identifiers and\n * the corresponding sort orders. This method implements a stable sort\n * algorithm, which means the original sort order of equal elements is\n * preserved.\n */\nfunction orderBy(collection, identifiers, orders) {\n if (!collection || !Array.isArray(collection)) {\n return [];\n }\n var validatedIdentifiers = getIdentifiers(identifiers);\n var validatedOrders = getOrders(orders);\n return baseOrderBy(collection, validatedIdentifiers, validatedOrders);\n}\n\nexport { compare, orderBy };\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrashCan.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrashCan.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TrashCan.vue?vue&type=template&id=b4e837d6&\"\nimport script from \"./TrashCan.vue?vue&type=script&lang=js&\"\nexport * from \"./TrashCan.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon trash-can-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M9,8H11V17H9V8M13,8H15V17H13V8Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineStore } from 'pinia';\nimport { subscribe } from '@nextcloud/event-bus';\nimport logger from '../logger';\nimport Vue from 'vue';\nexport const useFilesStore = function () {\n const store = defineStore('files', {\n state: () => ({\n files: {},\n roots: {},\n }),\n getters: {\n /**\n * Get a file or folder by id\n */\n getNode: (state) => (id) => state.files[id],\n /**\n * Get a list of files or folders by their IDs\n * Does not return undefined values\n */\n getNodes: (state) => (ids) => ids\n .map(id => state.files[id])\n .filter(Boolean),\n /**\n * Get a file or folder by id\n */\n getRoot: (state) => (service) => state.roots[service],\n },\n actions: {\n updateNodes(nodes) {\n // Update the store all at once\n const files = nodes.reduce((acc, node) => {\n if (!node.fileid) {\n logger.warn('Trying to update/set a node without fileid', node);\n return acc;\n }\n acc[node.fileid] = node;\n return acc;\n }, {});\n Vue.set(this, 'files', { ...this.files, ...files });\n },\n deleteNodes(nodes) {\n nodes.forEach(node => {\n if (node.fileid) {\n Vue.delete(this.files, node.fileid);\n }\n });\n },\n setRoot({ service, root }) {\n Vue.set(this.roots, service, root);\n },\n onDeletedNode(node) {\n this.deleteNodes([node]);\n },\n }\n });\n const fileStore = store(...arguments);\n // Make sure we only register the listeners once\n if (!fileStore._initialized) {\n // subscribe('files:node:created', fileStore.onCreatedNode)\n subscribe('files:node:deleted', fileStore.onDeletedNode);\n // subscribe('files:node:moved', fileStore.onMovedNode)\n // subscribe('files:node:updated', fileStore.onUpdatedNode)\n fileStore._initialized = true;\n }\n return fileStore;\n};\n","import { defineStore } from 'pinia';\nimport { subscribe } from '@nextcloud/event-bus';\nimport Vue from 'vue';\nexport const usePathsStore = function () {\n const store = defineStore('paths', {\n state: () => ({\n paths: {}\n }),\n getters: {\n getPath: (state) => {\n return (service, path) => {\n if (!state.paths[service]) {\n return undefined;\n }\n return state.paths[service][path];\n };\n },\n },\n actions: {\n addPath(payload) {\n // If it doesn't exists, init the service state\n if (!this.paths[payload.service]) {\n Vue.set(this.paths, payload.service, {});\n }\n // Now we can set the provided path\n Vue.set(this.paths[payload.service], payload.path, payload.fileid);\n },\n }\n });\n const pathsStore = store(...arguments);\n // Make sure we only register the listeners once\n if (!pathsStore._initialized) {\n // TODO: watch folders to update paths?\n // subscribe('files:node:created', pathsStore.onCreatedNode)\n // subscribe('files:node:deleted', pathsStore.onDeletedNode)\n // subscribe('files:node:moved', pathsStore.onMovedNode)\n pathsStore._initialized = true;\n }\n return pathsStore;\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/* eslint-disable */\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\nimport { FileId, SelectionStore } from '../types';\nexport const useSelectionStore = defineStore('selection', {\n state: () => ({\n selected: [],\n lastSelection: [],\n lastSelectedIndex: null,\n }),\n actions: {\n /**\n * Set the selection of fileIds\n */\n set(selection = []) {\n Vue.set(this, 'selected', selection);\n },\n /**\n * Set the last selected index\n */\n setLastIndex(lastSelectedIndex = null) {\n // Update the last selection if we provided a new selection starting point\n Vue.set(this, 'lastSelection', lastSelectedIndex ? this.selected : []);\n Vue.set(this, 'lastSelectedIndex', lastSelectedIndex);\n },\n /**\n * Reset the selection\n */\n reset() {\n Vue.set(this, 'selected', []);\n Vue.set(this, 'lastSelection', []);\n Vue.set(this, 'lastSelectedIndex', null);\n }\n }\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/* eslint-disable */\nimport { defineStore } from 'pinia';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\nimport { loadState } from '@nextcloud/initial-state';\nimport axios from '@nextcloud/axios';\nimport Vue from 'vue';\nconst viewConfig = loadState('files', 'viewConfigs', {});\nexport const useViewConfigStore = function () {\n const store = defineStore('viewconfig', {\n state: () => ({\n viewConfig,\n }),\n getters: {\n getConfig: (state) => (view) => state.viewConfig[view] || {},\n },\n actions: {\n /**\n * Update the view config local store\n */\n onUpdate(view, key, value) {\n if (!this.viewConfig[view]) {\n Vue.set(this.viewConfig, view, {});\n }\n Vue.set(this.viewConfig[view], key, value);\n },\n /**\n * Update the view config local store AND on server side\n */\n async update(view, key, value) {\n axios.put(generateUrl(`/apps/files/api/v1/views/${view}/${key}`), {\n value,\n });\n emit('files:viewconfig:updated', { view, key, value });\n },\n /**\n * Set the sorting key AND sort by ASC\n * The key param must be a valid key of a File object\n * If not found, will be searched within the File attributes\n */\n setSortingBy(key = 'basename', view = 'files') {\n // Save new config\n this.update(view, 'sorting_mode', key);\n this.update(view, 'sorting_direction', 'asc');\n },\n /**\n * Toggle the sorting direction\n */\n toggleSortingDirection(view = 'files') {\n const config = this.getConfig(view) || { 'sorting_direction': 'asc' };\n const newDirection = config.sorting_direction === 'asc' ? 'desc' : 'asc';\n // Save new config\n this.update(view, 'sorting_direction', newDirection);\n }\n }\n });\n const viewConfigStore = store(...arguments);\n // Make sure we only register the listeners once\n if (!viewConfigStore._initialized) {\n subscribe('files:viewconfig:updated', function ({ view, key, value }) {\n viewConfigStore.onUpdate(view, key, value);\n });\n viewConfigStore._initialized = true;\n }\n return viewConfigStore;\n};\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","\n\n","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=69a49b0f&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon home-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=style&index=0&id=68b3b20b&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=style&index=0&id=68b3b20b&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./BreadCrumbs.vue?vue&type=template&id=68b3b20b&scoped=true&\"\nimport script from \"./BreadCrumbs.vue?vue&type=script&lang=js&\"\nexport * from \"./BreadCrumbs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BreadCrumbs.vue?vue&type=style&index=0&id=68b3b20b&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"68b3b20b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcBreadcrumbs',{attrs:{\"data-cy-files-content-breadcrumbs\":\"\"}},_vm._l((_vm.sections),function(section,index){return _c('NcBreadcrumb',_vm._b({key:section.dir,attrs:{\"aria-label\":_vm.ariaLabel(section),\"title\":_vm.ariaLabel(section)},nativeOn:{\"click\":function($event){return _vm.onClick(section.to)}},scopedSlots:_vm._u([(index === 0)?{key:\"icon\",fn:function(){return [_c('Home',{attrs:{\"size\":20}})]},proxy:true}:null],null,true)},'NcBreadcrumb',section,false))}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","function getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tcompareAndNotify: function compareAndNotify() {\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis._w = this.$el.offsetWidth;\n\t\t\t\tthis._h = this.$el.offsetHeight;\n\t\t\t\tthis.$emit('notify');\n\t\t\t}\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\t\t\tthis.compareAndNotify();\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\tVue.component('ResizeObserver', ResizeObserver);\n}\n\n// Plugin\nvar plugin = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.5\",\n\tinstall: install\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, ResizeObserver };\nexport default plugin;\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","import { ResizeObserver as ResizeObserver$1 } from 'vue-resize';\nimport { ObserveVisibility } from 'vue-observe-visibility';\nimport ScrollParent from 'scrollparent';\nimport Vue from 'vue';\n\nvar config = {\n itemsLimit: 1000\n};\n\nconst props = {\n items: {\n type: Array,\n required: true\n },\n keyField: {\n type: String,\n default: 'id'\n },\n direction: {\n type: String,\n default: 'vertical',\n validator: value => ['vertical', 'horizontal'].includes(value)\n },\n listTag: {\n type: String,\n default: 'div'\n },\n itemTag: {\n type: String,\n default: 'div'\n }\n};\nfunction simpleArray() {\n return this.items.length && typeof this.items[0] !== 'object';\n}\n\nlet supportsPassive = false;\nif (typeof window !== 'undefined') {\n supportsPassive = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n}\n\n//\nlet uid = 0;\nvar script$2 = {\n name: 'RecycleScroller',\n components: {\n ResizeObserver: ResizeObserver$1\n },\n directives: {\n ObserveVisibility\n },\n props: {\n ...props,\n itemSize: {\n type: Number,\n default: null\n },\n gridItems: {\n type: Number,\n default: undefined\n },\n itemSecondarySize: {\n type: Number,\n default: undefined\n },\n minItemSize: {\n type: [Number, String],\n default: null\n },\n sizeField: {\n type: String,\n default: 'size'\n },\n typeField: {\n type: String,\n default: 'type'\n },\n buffer: {\n type: Number,\n default: 200\n },\n pageMode: {\n type: Boolean,\n default: false\n },\n prerender: {\n type: Number,\n default: 0\n },\n emitUpdate: {\n type: Boolean,\n default: false\n },\n skipHover: {\n type: Boolean,\n default: false\n },\n listTag: {\n type: String,\n default: 'div'\n },\n itemTag: {\n type: String,\n default: 'div'\n },\n listClass: {\n type: [String, Object, Array],\n default: ''\n },\n itemClass: {\n type: [String, Object, Array],\n default: ''\n }\n },\n data() {\n return {\n pool: [],\n totalSize: 0,\n ready: false,\n hoverKey: null\n };\n },\n computed: {\n sizes() {\n if (this.itemSize === null) {\n const sizes = {\n '-1': {\n accumulator: 0\n }\n };\n const items = this.items;\n const field = this.sizeField;\n const minItemSize = this.minItemSize;\n let computedMinSize = 10000;\n let accumulator = 0;\n let current;\n for (let i = 0, l = items.length; i < l; i++) {\n current = items[i][field] || minItemSize;\n if (current < computedMinSize) {\n computedMinSize = current;\n }\n accumulator += current;\n sizes[i] = {\n accumulator,\n size: current\n };\n }\n // eslint-disable-next-line\n this.$_computedMinItemSize = computedMinSize;\n return sizes;\n }\n return [];\n },\n simpleArray\n },\n watch: {\n items() {\n this.updateVisibleItems(true);\n },\n pageMode() {\n this.applyPageMode();\n this.updateVisibleItems(false);\n },\n sizes: {\n handler() {\n this.updateVisibleItems(false);\n },\n deep: true\n },\n gridItems() {\n this.updateVisibleItems(true);\n },\n itemSecondarySize() {\n this.updateVisibleItems(true);\n }\n },\n created() {\n this.$_startIndex = 0;\n this.$_endIndex = 0;\n this.$_views = new Map();\n this.$_unusedViews = new Map();\n this.$_scrollDirty = false;\n this.$_lastUpdateScrollPosition = 0;\n\n // In SSR mode, we also prerender the same number of item for the first render\n // to avoir mismatch between server and client templates\n if (this.prerender) {\n this.$_prerender = true;\n this.updateVisibleItems(false);\n }\n if (this.gridItems && !this.itemSize) {\n console.error('[vue-recycle-scroller] You must provide an itemSize when using gridItems');\n }\n },\n mounted() {\n this.applyPageMode();\n this.$nextTick(() => {\n // In SSR mode, render the real number of visible items\n this.$_prerender = false;\n this.updateVisibleItems(true);\n this.ready = true;\n });\n },\n activated() {\n const lastPosition = this.$_lastUpdateScrollPosition;\n if (typeof lastPosition === 'number') {\n this.$nextTick(() => {\n this.scrollToPosition(lastPosition);\n });\n }\n },\n beforeDestroy() {\n this.removeListeners();\n },\n methods: {\n addView(pool, index, item, key, type) {\n const view = {\n item,\n position: 0\n };\n const nonReactive = {\n id: uid++,\n index,\n used: true,\n key,\n type\n };\n Object.defineProperty(view, 'nr', {\n configurable: false,\n value: nonReactive\n });\n pool.push(view);\n return view;\n },\n unuseView(view, fake = false) {\n const unusedViews = this.$_unusedViews;\n const type = view.nr.type;\n let unusedPool = unusedViews.get(type);\n if (!unusedPool) {\n unusedPool = [];\n unusedViews.set(type, unusedPool);\n }\n unusedPool.push(view);\n if (!fake) {\n view.nr.used = false;\n view.position = -9999;\n this.$_views.delete(view.nr.key);\n }\n },\n handleResize() {\n this.$emit('resize');\n if (this.ready) this.updateVisibleItems(false);\n },\n handleScroll(event) {\n if (!this.$_scrollDirty) {\n this.$_scrollDirty = true;\n requestAnimationFrame(() => {\n this.$_scrollDirty = false;\n const {\n continuous\n } = this.updateVisibleItems(false, true);\n\n // It seems sometimes chrome doesn't fire scroll event :/\n // When non continous scrolling is ending, we force a refresh\n if (!continuous) {\n clearTimeout(this.$_refreshTimout);\n this.$_refreshTimout = setTimeout(this.handleScroll, 100);\n }\n });\n }\n },\n handleVisibilityChange(isVisible, entry) {\n if (this.ready) {\n if (isVisible || entry.boundingClientRect.width !== 0 || entry.boundingClientRect.height !== 0) {\n this.$emit('visible');\n requestAnimationFrame(() => {\n this.updateVisibleItems(false);\n });\n } else {\n this.$emit('hidden');\n }\n }\n },\n updateVisibleItems(checkItem, checkPositionDiff = false) {\n const itemSize = this.itemSize;\n const gridItems = this.gridItems || 1;\n const itemSecondarySize = this.itemSecondarySize || itemSize;\n const minItemSize = this.$_computedMinItemSize;\n const typeField = this.typeField;\n const keyField = this.simpleArray ? null : this.keyField;\n const items = this.items;\n const count = items.length;\n const sizes = this.sizes;\n const views = this.$_views;\n const unusedViews = this.$_unusedViews;\n const pool = this.pool;\n let startIndex, endIndex;\n let totalSize;\n let visibleStartIndex, visibleEndIndex;\n if (!count) {\n startIndex = endIndex = visibleStartIndex = visibleEndIndex = totalSize = 0;\n } else if (this.$_prerender) {\n startIndex = visibleStartIndex = 0;\n endIndex = visibleEndIndex = Math.min(this.prerender, items.length);\n totalSize = null;\n } else {\n const scroll = this.getScroll();\n\n // Skip update if use hasn't scrolled enough\n if (checkPositionDiff) {\n let positionDiff = scroll.start - this.$_lastUpdateScrollPosition;\n if (positionDiff < 0) positionDiff = -positionDiff;\n if (itemSize === null && positionDiff < minItemSize || positionDiff < itemSize) {\n return {\n continuous: true\n };\n }\n }\n this.$_lastUpdateScrollPosition = scroll.start;\n const buffer = this.buffer;\n scroll.start -= buffer;\n scroll.end += buffer;\n\n // account for leading slot\n let beforeSize = 0;\n if (this.$refs.before) {\n beforeSize = this.$refs.before.scrollHeight;\n scroll.start -= beforeSize;\n }\n\n // account for trailing slot\n if (this.$refs.after) {\n const afterSize = this.$refs.after.scrollHeight;\n scroll.end += afterSize;\n }\n\n // Variable size mode\n if (itemSize === null) {\n let h;\n let a = 0;\n let b = count - 1;\n let i = ~~(count / 2);\n let oldI;\n\n // Searching for startIndex\n do {\n oldI = i;\n h = sizes[i].accumulator;\n if (h < scroll.start) {\n a = i;\n } else if (i < count - 1 && sizes[i + 1].accumulator > scroll.start) {\n b = i;\n }\n i = ~~((a + b) / 2);\n } while (i !== oldI);\n i < 0 && (i = 0);\n startIndex = i;\n\n // For container style\n totalSize = sizes[count - 1].accumulator;\n\n // Searching for endIndex\n for (endIndex = i; endIndex < count && sizes[endIndex].accumulator < scroll.end; endIndex++);\n if (endIndex === -1) {\n endIndex = items.length - 1;\n } else {\n endIndex++;\n // Bounds\n endIndex > count && (endIndex = count);\n }\n\n // search visible startIndex\n for (visibleStartIndex = startIndex; visibleStartIndex < count && beforeSize + sizes[visibleStartIndex].accumulator < scroll.start; visibleStartIndex++);\n\n // search visible endIndex\n for (visibleEndIndex = visibleStartIndex; visibleEndIndex < count && beforeSize + sizes[visibleEndIndex].accumulator < scroll.end; visibleEndIndex++);\n } else {\n // Fixed size mode\n startIndex = ~~(scroll.start / itemSize * gridItems);\n const remainer = startIndex % gridItems;\n startIndex -= remainer;\n endIndex = Math.ceil(scroll.end / itemSize * gridItems);\n visibleStartIndex = Math.max(0, Math.floor((scroll.start - beforeSize) / itemSize * gridItems));\n visibleEndIndex = Math.floor((scroll.end - beforeSize) / itemSize * gridItems);\n\n // Bounds\n startIndex < 0 && (startIndex = 0);\n endIndex > count && (endIndex = count);\n visibleStartIndex < 0 && (visibleStartIndex = 0);\n visibleEndIndex > count && (visibleEndIndex = count);\n totalSize = Math.ceil(count / gridItems) * itemSize;\n }\n }\n if (endIndex - startIndex > config.itemsLimit) {\n this.itemsLimitError();\n }\n this.totalSize = totalSize;\n let view;\n const continuous = startIndex <= this.$_endIndex && endIndex >= this.$_startIndex;\n if (this.$_continuous !== continuous) {\n if (continuous) {\n views.clear();\n unusedViews.clear();\n for (let i = 0, l = pool.length; i < l; i++) {\n view = pool[i];\n this.unuseView(view);\n }\n }\n this.$_continuous = continuous;\n } else if (continuous) {\n for (let i = 0, l = pool.length; i < l; i++) {\n view = pool[i];\n if (view.nr.used) {\n // Update view item index\n if (checkItem) {\n view.nr.index = items.indexOf(view.item);\n }\n\n // Check if index is still in visible range\n if (view.nr.index === -1 || view.nr.index < startIndex || view.nr.index >= endIndex) {\n this.unuseView(view);\n }\n }\n }\n }\n const unusedIndex = continuous ? null : new Map();\n let item, type, unusedPool;\n let v;\n for (let i = startIndex; i < endIndex; i++) {\n item = items[i];\n const key = keyField ? item[keyField] : item;\n if (key == null) {\n throw new Error(`Key is ${key} on item (keyField is '${keyField}')`);\n }\n view = views.get(key);\n if (!itemSize && !sizes[i].size) {\n if (view) this.unuseView(view);\n continue;\n }\n\n // No view assigned to item\n if (!view) {\n if (i === items.length - 1) this.$emit('scroll-end');\n if (i === 0) this.$emit('scroll-start');\n type = item[typeField];\n unusedPool = unusedViews.get(type);\n if (continuous) {\n // Reuse existing view\n if (unusedPool && unusedPool.length) {\n view = unusedPool.pop();\n view.item = item;\n view.nr.used = true;\n view.nr.index = i;\n view.nr.key = key;\n view.nr.type = type;\n } else {\n view = this.addView(pool, i, item, key, type);\n }\n } else {\n // Use existing view\n // We don't care if they are already used\n // because we are not in continous scrolling\n v = unusedIndex.get(type) || 0;\n if (!unusedPool || v >= unusedPool.length) {\n view = this.addView(pool, i, item, key, type);\n this.unuseView(view, true);\n unusedPool = unusedViews.get(type);\n }\n view = unusedPool[v];\n view.item = item;\n view.nr.used = true;\n view.nr.index = i;\n view.nr.key = key;\n view.nr.type = type;\n unusedIndex.set(type, v + 1);\n v++;\n }\n views.set(key, view);\n } else {\n view.nr.used = true;\n view.item = item;\n }\n\n // Update position\n if (itemSize === null) {\n view.position = sizes[i - 1].accumulator;\n view.offset = 0;\n } else {\n view.position = Math.floor(i / gridItems) * itemSize;\n view.offset = i % gridItems * itemSecondarySize;\n }\n }\n this.$_startIndex = startIndex;\n this.$_endIndex = endIndex;\n if (this.emitUpdate) this.$emit('update', startIndex, endIndex, visibleStartIndex, visibleEndIndex);\n\n // After the user has finished scrolling\n // Sort views so text selection is correct\n clearTimeout(this.$_sortTimer);\n this.$_sortTimer = setTimeout(this.sortViews, 300);\n return {\n continuous\n };\n },\n getListenerTarget() {\n let target = ScrollParent(this.$el);\n // Fix global scroll target for Chrome and Safari\n if (window.document && (target === window.document.documentElement || target === window.document.body)) {\n target = window;\n }\n return target;\n },\n getScroll() {\n const {\n $el: el,\n direction\n } = this;\n const isVertical = direction === 'vertical';\n let scrollState;\n if (this.pageMode) {\n const bounds = el.getBoundingClientRect();\n const boundsSize = isVertical ? bounds.height : bounds.width;\n let start = -(isVertical ? bounds.top : bounds.left);\n let size = isVertical ? window.innerHeight : window.innerWidth;\n if (start < 0) {\n size += start;\n start = 0;\n }\n if (start + size > boundsSize) {\n size = boundsSize - start;\n }\n scrollState = {\n start,\n end: start + size\n };\n } else if (isVertical) {\n scrollState = {\n start: el.scrollTop,\n end: el.scrollTop + el.clientHeight\n };\n } else {\n scrollState = {\n start: el.scrollLeft,\n end: el.scrollLeft + el.clientWidth\n };\n }\n return scrollState;\n },\n applyPageMode() {\n if (this.pageMode) {\n this.addListeners();\n } else {\n this.removeListeners();\n }\n },\n addListeners() {\n this.listenerTarget = this.getListenerTarget();\n this.listenerTarget.addEventListener('scroll', this.handleScroll, supportsPassive ? {\n passive: true\n } : false);\n this.listenerTarget.addEventListener('resize', this.handleResize);\n },\n removeListeners() {\n if (!this.listenerTarget) {\n return;\n }\n this.listenerTarget.removeEventListener('scroll', this.handleScroll);\n this.listenerTarget.removeEventListener('resize', this.handleResize);\n this.listenerTarget = null;\n },\n scrollToItem(index) {\n let scroll;\n if (this.itemSize === null) {\n scroll = index > 0 ? this.sizes[index - 1].accumulator : 0;\n } else {\n scroll = Math.floor(index / this.gridItems) * this.itemSize;\n }\n this.scrollToPosition(scroll);\n },\n scrollToPosition(position) {\n const direction = this.direction === 'vertical' ? {\n scroll: 'scrollTop',\n start: 'top'\n } : {\n scroll: 'scrollLeft',\n start: 'left'\n };\n let viewport;\n let scrollDirection;\n let scrollDistance;\n if (this.pageMode) {\n const viewportEl = ScrollParent(this.$el);\n // HTML doesn't overflow like other elements\n const scrollTop = viewportEl.tagName === 'HTML' ? 0 : viewportEl[direction.scroll];\n const bounds = viewportEl.getBoundingClientRect();\n const scroller = this.$el.getBoundingClientRect();\n const scrollerPosition = scroller[direction.start] - bounds[direction.start];\n viewport = viewportEl;\n scrollDirection = direction.scroll;\n scrollDistance = position + scrollTop + scrollerPosition;\n } else {\n viewport = this.$el;\n scrollDirection = direction.scroll;\n scrollDistance = position;\n }\n viewport[scrollDirection] = scrollDistance;\n },\n itemsLimitError() {\n setTimeout(() => {\n console.log('It seems the scroller element isn\\'t scrolling, so it tries to render all the items at once.', 'Scroller:', this.$el);\n console.log('Make sure the scroller has a fixed height (or width) and \\'overflow-y\\' (or \\'overflow-x\\') set to \\'auto\\' so it can scroll correctly and only render the items visible in the scroll viewport.');\n });\n throw new Error('Rendered items limit reached');\n },\n sortViews() {\n this.pool.sort((viewA, viewB) => viewA.nr.index - viewB.nr.index);\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n }\n // Vue.extend constructor export interop.\n const options = typeof script === 'function' ? script.options : script;\n // render functions\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true;\n // functional template\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n }\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId;\n }\n let hook;\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context = context ||\n // cached call\n this.$vnode && this.$vnode.ssrContext ||\n // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n }\n // inject component styles\n if (style) {\n style.call(this, createInjectorSSR(context));\n }\n // register component module identifier for async chunk inference\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n const originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n const existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return script;\n}\n\n/* script */\nconst __vue_script__$2 = script$2;\n/* template */\nvar __vue_render__$1 = function () {\n var _obj, _obj$1;\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"observe-visibility\",\n rawName: \"v-observe-visibility\",\n value: _vm.handleVisibilityChange,\n expression: \"handleVisibilityChange\",\n },\n ],\n staticClass: \"vue-recycle-scroller\",\n class:\n ((_obj = {\n ready: _vm.ready,\n \"page-mode\": _vm.pageMode,\n }),\n (_obj[\"direction-\" + _vm.direction] = true),\n _obj),\n on: {\n \"&scroll\": function ($event) {\n return _vm.handleScroll.apply(null, arguments)\n },\n },\n },\n [\n _vm.$slots.before\n ? _c(\n \"div\",\n { ref: \"before\", staticClass: \"vue-recycle-scroller__slot\" },\n [_vm._t(\"before\")],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n _vm.listTag,\n {\n ref: \"wrapper\",\n tag: \"component\",\n staticClass: \"vue-recycle-scroller__item-wrapper\",\n class: _vm.listClass,\n style:\n ((_obj$1 = {}),\n (_obj$1[_vm.direction === \"vertical\" ? \"minHeight\" : \"minWidth\"] =\n _vm.totalSize + \"px\"),\n _obj$1),\n },\n [\n _vm._l(_vm.pool, function (view) {\n return _c(\n _vm.itemTag,\n _vm._g(\n {\n key: view.nr.id,\n tag: \"component\",\n staticClass: \"vue-recycle-scroller__item-view\",\n class: [\n _vm.itemClass,\n {\n hover: !_vm.skipHover && _vm.hoverKey === view.nr.key,\n },\n ],\n style: _vm.ready\n ? {\n transform:\n \"translate\" +\n (_vm.direction === \"vertical\" ? \"Y\" : \"X\") +\n \"(\" +\n view.position +\n \"px) translate\" +\n (_vm.direction === \"vertical\" ? \"X\" : \"Y\") +\n \"(\" +\n view.offset +\n \"px)\",\n width: _vm.gridItems\n ? (_vm.direction === \"vertical\"\n ? _vm.itemSecondarySize || _vm.itemSize\n : _vm.itemSize) + \"px\"\n : undefined,\n height: _vm.gridItems\n ? (_vm.direction === \"horizontal\"\n ? _vm.itemSecondarySize || _vm.itemSize\n : _vm.itemSize) + \"px\"\n : undefined,\n }\n : null,\n },\n _vm.skipHover\n ? {}\n : {\n mouseenter: function () {\n _vm.hoverKey = view.nr.key;\n },\n mouseleave: function () {\n _vm.hoverKey = null;\n },\n }\n ),\n [\n _vm._t(\"default\", null, {\n item: view.item,\n index: view.nr.index,\n active: view.nr.used,\n }),\n ],\n 2\n )\n }),\n _vm._v(\" \"),\n _vm._t(\"empty\"),\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm.$slots.after\n ? _c(\n \"div\",\n { ref: \"after\", staticClass: \"vue-recycle-scroller__slot\" },\n [_vm._t(\"after\")],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"ResizeObserver\", { on: { notify: _vm.handleResize } }),\n ],\n 1\n )\n};\nvar __vue_staticRenderFns__$1 = [];\n__vue_render__$1._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$2 = undefined;\n /* scoped */\n const __vue_scope_id__$2 = undefined;\n /* module identifier */\n const __vue_module_identifier__$2 = undefined;\n /* functional template */\n const __vue_is_functional_template__$2 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$2 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 },\n __vue_inject_styles__$2,\n __vue_script__$2,\n __vue_scope_id__$2,\n __vue_is_functional_template__$2,\n __vue_module_identifier__$2,\n false,\n undefined,\n undefined,\n undefined\n );\n\n//\nvar script$1 = {\n name: 'DynamicScroller',\n components: {\n RecycleScroller: __vue_component__$2\n },\n provide() {\n if (typeof ResizeObserver !== 'undefined') {\n this.$_resizeObserver = new ResizeObserver(entries => {\n requestAnimationFrame(() => {\n if (!Array.isArray(entries)) {\n return;\n }\n for (const entry of entries) {\n if (entry.target) {\n const event = new CustomEvent('resize', {\n detail: {\n contentRect: entry.contentRect\n }\n });\n entry.target.dispatchEvent(event);\n }\n }\n });\n });\n }\n return {\n vscrollData: this.vscrollData,\n vscrollParent: this,\n vscrollResizeObserver: this.$_resizeObserver\n };\n },\n inheritAttrs: false,\n props: {\n ...props,\n minItemSize: {\n type: [Number, String],\n required: true\n }\n },\n data() {\n return {\n vscrollData: {\n active: true,\n sizes: {},\n validSizes: {},\n keyField: this.keyField,\n simpleArray: false\n }\n };\n },\n computed: {\n simpleArray,\n itemsWithSize() {\n const result = [];\n const {\n items,\n keyField,\n simpleArray\n } = this;\n const sizes = this.vscrollData.sizes;\n const l = items.length;\n for (let i = 0; i < l; i++) {\n const item = items[i];\n const id = simpleArray ? i : item[keyField];\n let size = sizes[id];\n if (typeof size === 'undefined' && !this.$_undefinedMap[id]) {\n size = 0;\n }\n result.push({\n item,\n id,\n size\n });\n }\n return result;\n },\n listeners() {\n const listeners = {};\n for (const key in this.$listeners) {\n if (key !== 'resize' && key !== 'visible') {\n listeners[key] = this.$listeners[key];\n }\n }\n return listeners;\n }\n },\n watch: {\n items() {\n this.forceUpdate(false);\n },\n simpleArray: {\n handler(value) {\n this.vscrollData.simpleArray = value;\n },\n immediate: true\n },\n direction(value) {\n this.forceUpdate(true);\n },\n itemsWithSize(next, prev) {\n const scrollTop = this.$el.scrollTop;\n\n // Calculate total diff between prev and next sizes\n // over current scroll top. Then add it to scrollTop to\n // avoid jumping the contents that the user is seeing.\n let prevActiveTop = 0;\n let activeTop = 0;\n const length = Math.min(next.length, prev.length);\n for (let i = 0; i < length; i++) {\n if (prevActiveTop >= scrollTop) {\n break;\n }\n prevActiveTop += prev[i].size || this.minItemSize;\n activeTop += next[i].size || this.minItemSize;\n }\n const offset = activeTop - prevActiveTop;\n if (offset === 0) {\n return;\n }\n this.$el.scrollTop += offset;\n }\n },\n beforeCreate() {\n this.$_updates = [];\n this.$_undefinedSizes = 0;\n this.$_undefinedMap = {};\n },\n activated() {\n this.vscrollData.active = true;\n },\n deactivated() {\n this.vscrollData.active = false;\n },\n methods: {\n onScrollerResize() {\n const scroller = this.$refs.scroller;\n if (scroller) {\n this.forceUpdate();\n }\n this.$emit('resize');\n },\n onScrollerVisible() {\n this.$emit('vscroll:update', {\n force: false\n });\n this.$emit('visible');\n },\n forceUpdate(clear = true) {\n if (clear || this.simpleArray) {\n this.vscrollData.validSizes = {};\n }\n this.$emit('vscroll:update', {\n force: true\n });\n },\n scrollToItem(index) {\n const scroller = this.$refs.scroller;\n if (scroller) scroller.scrollToItem(index);\n },\n getItemSize(item, index = undefined) {\n const id = this.simpleArray ? index != null ? index : this.items.indexOf(item) : item[this.keyField];\n return this.vscrollData.sizes[id] || 0;\n },\n scrollToBottom() {\n if (this.$_scrollingToBottom) return;\n this.$_scrollingToBottom = true;\n const el = this.$el;\n // Item is inserted to the DOM\n this.$nextTick(() => {\n el.scrollTop = el.scrollHeight + 5000;\n // Item sizes are computed\n const cb = () => {\n el.scrollTop = el.scrollHeight + 5000;\n requestAnimationFrame(() => {\n el.scrollTop = el.scrollHeight + 5000;\n if (this.$_undefinedSizes === 0) {\n this.$_scrollingToBottom = false;\n } else {\n requestAnimationFrame(cb);\n }\n });\n };\n requestAnimationFrame(cb);\n });\n }\n }\n};\n\n/* script */\nconst __vue_script__$1 = script$1;\n\n/* template */\nvar __vue_render__ = function () {\n var _vm = this;\n var _h = _vm.$createElement;\n var _c = _vm._self._c || _h;\n return _c(\n \"RecycleScroller\",\n _vm._g(\n _vm._b(\n {\n ref: \"scroller\",\n attrs: {\n items: _vm.itemsWithSize,\n \"min-item-size\": _vm.minItemSize,\n direction: _vm.direction,\n \"key-field\": \"id\",\n \"list-tag\": _vm.listTag,\n \"item-tag\": _vm.itemTag,\n },\n on: { resize: _vm.onScrollerResize, visible: _vm.onScrollerVisible },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var itemWithSize = ref.item;\n var index = ref.index;\n var active = ref.active;\n return [\n _vm._t(\"default\", null, null, {\n item: itemWithSize.item,\n index: index,\n active: active,\n itemWithSize: itemWithSize,\n }),\n ]\n },\n },\n ],\n null,\n true\n ),\n },\n \"RecycleScroller\",\n _vm.$attrs,\n false\n ),\n _vm.listeners\n ),\n [\n _vm._v(\" \"),\n _c(\"template\", { slot: \"before\" }, [_vm._t(\"before\")], 2),\n _vm._v(\" \"),\n _c(\"template\", { slot: \"after\" }, [_vm._t(\"after\")], 2),\n _vm._v(\" \"),\n _c(\"template\", { slot: \"empty\" }, [_vm._t(\"empty\")], 2),\n ],\n 2\n )\n};\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n\n /* style */\n const __vue_inject_styles__$1 = undefined;\n /* scoped */\n const __vue_scope_id__$1 = undefined;\n /* module identifier */\n const __vue_module_identifier__$1 = undefined;\n /* functional template */\n const __vue_is_functional_template__$1 = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__$1 = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__$1,\n __vue_script__$1,\n __vue_scope_id__$1,\n __vue_is_functional_template__$1,\n __vue_module_identifier__$1,\n false,\n undefined,\n undefined,\n undefined\n );\n\nvar script = {\n name: 'DynamicScrollerItem',\n inject: ['vscrollData', 'vscrollParent', 'vscrollResizeObserver'],\n props: {\n // eslint-disable-next-line vue/require-prop-types\n item: {\n required: true\n },\n watchData: {\n type: Boolean,\n default: false\n },\n /**\n * Indicates if the view is actively used to display an item.\n */\n active: {\n type: Boolean,\n required: true\n },\n index: {\n type: Number,\n default: undefined\n },\n sizeDependencies: {\n type: [Array, Object],\n default: null\n },\n emitResize: {\n type: Boolean,\n default: false\n },\n tag: {\n type: String,\n default: 'div'\n }\n },\n computed: {\n id() {\n if (this.vscrollData.simpleArray) return this.index;\n // eslint-disable-next-line no-prototype-builtins\n if (this.item.hasOwnProperty(this.vscrollData.keyField)) return this.item[this.vscrollData.keyField];\n throw new Error(`keyField '${this.vscrollData.keyField}' not found in your item. You should set a valid keyField prop on your Scroller`);\n },\n size() {\n return this.vscrollData.validSizes[this.id] && this.vscrollData.sizes[this.id] || 0;\n },\n finalActive() {\n return this.active && this.vscrollData.active;\n }\n },\n watch: {\n watchData: 'updateWatchData',\n id() {\n if (!this.size) {\n this.onDataUpdate();\n }\n },\n finalActive(value) {\n if (!this.size) {\n if (value) {\n if (!this.vscrollParent.$_undefinedMap[this.id]) {\n this.vscrollParent.$_undefinedSizes++;\n this.vscrollParent.$_undefinedMap[this.id] = true;\n }\n } else {\n if (this.vscrollParent.$_undefinedMap[this.id]) {\n this.vscrollParent.$_undefinedSizes--;\n this.vscrollParent.$_undefinedMap[this.id] = false;\n }\n }\n }\n if (this.vscrollResizeObserver) {\n if (value) {\n this.observeSize();\n } else {\n this.unobserveSize();\n }\n } else if (value && this.$_pendingVScrollUpdate === this.id) {\n this.updateSize();\n }\n }\n },\n created() {\n if (this.$isServer) return;\n this.$_forceNextVScrollUpdate = null;\n this.updateWatchData();\n if (!this.vscrollResizeObserver) {\n for (const k in this.sizeDependencies) {\n this.$watch(() => this.sizeDependencies[k], this.onDataUpdate);\n }\n this.vscrollParent.$on('vscroll:update', this.onVscrollUpdate);\n this.vscrollParent.$on('vscroll:update-size', this.onVscrollUpdateSize);\n }\n },\n mounted() {\n if (this.vscrollData.active) {\n this.updateSize();\n this.observeSize();\n }\n },\n beforeDestroy() {\n this.vscrollParent.$off('vscroll:update', this.onVscrollUpdate);\n this.vscrollParent.$off('vscroll:update-size', this.onVscrollUpdateSize);\n this.unobserveSize();\n },\n methods: {\n updateSize() {\n if (this.finalActive) {\n if (this.$_pendingSizeUpdate !== this.id) {\n this.$_pendingSizeUpdate = this.id;\n this.$_forceNextVScrollUpdate = null;\n this.$_pendingVScrollUpdate = null;\n this.computeSize(this.id);\n }\n } else {\n this.$_forceNextVScrollUpdate = this.id;\n }\n },\n updateWatchData() {\n if (this.watchData && !this.vscrollResizeObserver) {\n this.$_watchData = this.$watch('item', () => {\n this.onDataUpdate();\n }, {\n deep: true\n });\n } else if (this.$_watchData) {\n this.$_watchData();\n this.$_watchData = null;\n }\n },\n onVscrollUpdate({\n force\n }) {\n // If not active, sechedule a size update when it becomes active\n if (!this.finalActive && force) {\n this.$_pendingVScrollUpdate = this.id;\n }\n if (this.$_forceNextVScrollUpdate === this.id || force || !this.size) {\n this.updateSize();\n }\n },\n onDataUpdate() {\n this.updateSize();\n },\n computeSize(id) {\n this.$nextTick(() => {\n if (this.id === id) {\n const width = this.$el.offsetWidth;\n const height = this.$el.offsetHeight;\n this.applySize(width, height);\n }\n this.$_pendingSizeUpdate = null;\n });\n },\n applySize(width, height) {\n const size = ~~(this.vscrollParent.direction === 'vertical' ? height : width);\n if (size && this.size !== size) {\n if (this.vscrollParent.$_undefinedMap[this.id]) {\n this.vscrollParent.$_undefinedSizes--;\n this.vscrollParent.$_undefinedMap[this.id] = undefined;\n }\n this.$set(this.vscrollData.sizes, this.id, size);\n this.$set(this.vscrollData.validSizes, this.id, true);\n if (this.emitResize) this.$emit('resize', this.id);\n }\n },\n observeSize() {\n if (!this.vscrollResizeObserver || !this.$el.parentNode) return;\n this.vscrollResizeObserver.observe(this.$el.parentNode);\n this.$el.parentNode.addEventListener('resize', this.onResize);\n },\n unobserveSize() {\n if (!this.vscrollResizeObserver) return;\n this.vscrollResizeObserver.unobserve(this.$el.parentNode);\n this.$el.parentNode.removeEventListener('resize', this.onResize);\n },\n onResize(event) {\n const {\n width,\n height\n } = event.detail.contentRect;\n this.applySize(width, height);\n }\n },\n render(h) {\n return h(this.tag, this.$slots.default);\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = undefined;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = /*#__PURE__*/normalizeComponent(\n {},\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nfunction IdState ({\n idProp = vm => vm.item.id\n} = {}) {\n const store = {};\n const vm = new Vue({\n data() {\n return {\n store\n };\n }\n });\n\n // @vue/component\n return {\n data() {\n return {\n idState: null\n };\n },\n created() {\n this.$_id = null;\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this);\n } else {\n this.$_getId = () => this[idProp];\n }\n this.$watch(this.$_getId, {\n handler(value) {\n this.$nextTick(() => {\n this.$_id = value;\n });\n },\n immediate: true\n });\n this.$_updateIdState();\n },\n beforeUpdate() {\n this.$_updateIdState();\n },\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit(id) {\n const factory = this.$options.idState;\n if (typeof factory === 'function') {\n const data = factory.call(this, this);\n vm.$set(store, id, data);\n this.$_id = id;\n return data;\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.');\n }\n },\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState() {\n const id = this.$_getId();\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`);\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id);\n }\n this.idState = store[id];\n }\n }\n }\n };\n}\n\nfunction registerComponents(Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, __vue_component__$2);\n Vue.component(`${prefix}RecycleScroller`, __vue_component__$2);\n Vue.component(`${prefix}dynamic-scroller`, __vue_component__$1);\n Vue.component(`${prefix}DynamicScroller`, __vue_component__$1);\n Vue.component(`${prefix}dynamic-scroller-item`, __vue_component__);\n Vue.component(`${prefix}DynamicScrollerItem`, __vue_component__);\n}\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: \"1.1.2\",\n install(Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: ''\n }, options);\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key];\n }\n }\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix);\n }\n }\n};\n\n// Auto-install\nlet GlobalVue = null;\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport { __vue_component__$1 as DynamicScroller, __vue_component__ as DynamicScrollerItem, IdState, __vue_component__$2 as RecycleScroller, plugin as default };\n//# sourceMappingURL=vue-virtual-scroller.esm.js.map\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('Fragment',[_c('td',{staticClass:\"files-list__row-checkbox\"},[(_vm.active)?_c('NcCheckboxRadioSwitch',{attrs:{\"aria-label\":_vm.t('files', 'Select the row for {displayName}', { displayName: _vm.displayName }),\"checked\":_vm.selectedFiles,\"value\":_vm.fileid,\"name\":\"selectedFiles\"},on:{\"update:checked\":_vm.onSelectionChange}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\"},[_c('a',_vm._b({ref:\"name\",on:{\"click\":_vm.execDefaultAction}},'a',_vm.linkAttrs,false),[_c('span',{staticClass:\"files-list__row-icon\"},[(_vm.source.type === 'folder')?_c('FolderIcon'):(_vm.previewUrl && !_vm.backgroundFailed)?_c('span',{ref:\"previewImg\",staticClass:\"files-list__row-icon-preview\",style:({ backgroundImage: _vm.backgroundImage })}):(_vm.mimeIconUrl)?_c('span',{staticClass:\"files-list__row-icon-preview files-list__row-icon-preview--mime\",style:({ backgroundImage: _vm.mimeIconUrl })}):_c('FileIcon'),_vm._v(\" \"),(_vm.isFavorite)?_c('span',{staticClass:\"files-list__row-icon-favorite\",attrs:{\"aria-label\":_vm.t('files', 'Favorite')}},[_c('StarIcon',{attrs:{\"aria-hidden\":\"true\",\"size\":20}})],1):_vm._e()],1),_vm._v(\" \"),_c('span',{staticClass:\"files-list__row-name-text\"},[_vm._v(_vm._s(_vm.displayName))])])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-actions\",class:`files-list__row-actions-${_vm.uniqueId}`},[(_vm.active)?_c('NcActions',{ref:\"actionsMenu\",attrs:{\"boundaries-element\":_vm.boundariesElement,\"container\":_vm.boundariesElement,\"disabled\":_vm.source._loading,\"force-title\":true,\"force-menu\":true,\"inline\":_vm.enabledInlineActions.length,\"open\":_vm.openedMenu},on:{\"update:open\":function($event){_vm.openedMenu=$event}}},_vm._l((_vm.enabledMenuActions),function(action){return _c('NcActionButton',{key:action.id,class:'files-list__row-action-' + action.id,on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('CustomSvgIconRender',{attrs:{\"svg\":action.iconSvgInline([_vm.source], _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(action.displayName([_vm.source], _vm.currentView))+\"\\n\\t\\t\\t\")])}),1):_vm._e()],1),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('td',{staticClass:\"files-list__row-size\",style:({ opacity: _vm.sizeOpacity }),on:{\"click\":_vm.openDetailsIfAvailable}},[_c('span',[_vm._v(_vm._s(_vm.size))])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('td',{key:column.id,staticClass:\"files-list__row-column-custom\",class:`files-list__row-${_vm.currentView?.id}-${column.id}`,on:{\"click\":_vm.openDetailsIfAvailable}},[(_vm.active)?_c('CustomElementRender',{attrs:{\"current-view\":_vm.currentView,\"render\":column.render,\"source\":_vm.source}}):_vm._e()],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var $placeholder = Symbol();\n\nvar $fakeParent = Symbol();\n\nvar nextSiblingPatched = Symbol();\n\nvar childNodesPatched = Symbol();\n\nvar isFrag = function isFrag(node) {\n return \"frag\" in node;\n};\n\nfunction patchParentNode(node, fakeParent) {\n if ($fakeParent in node) {\n return;\n }\n node[$fakeParent] = fakeParent;\n Object.defineProperty(node, \"parentNode\", {\n get: function get() {\n return this[$fakeParent] || this.parentElement;\n }\n });\n}\n\nfunction patchNextSibling(node) {\n if (nextSiblingPatched in node) {\n return;\n }\n node[nextSiblingPatched] = true;\n Object.defineProperty(node, \"nextSibling\", {\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n var index = childNodes.indexOf(this);\n if (index > -1) {\n return childNodes[index + 1] || null;\n }\n return null;\n }\n });\n}\n\nfunction getTopFragment(node, fromParent) {\n while (node.parentNode !== fromParent) {\n var _node = node, parentNode = _node.parentNode;\n if (parentNode) {\n node = parentNode;\n }\n }\n return node;\n}\n\nvar getChildNodes;\n\nfunction getChildNodesWithFragments(node) {\n if (!getChildNodes) {\n var childNodesDescriptor = Object.getOwnPropertyDescriptor(Node.prototype, \"childNodes\");\n getChildNodes = childNodesDescriptor.get;\n }\n var realChildNodes = getChildNodes.apply(node);\n var childNodes = Array.from(realChildNodes).map((function(childNode) {\n return getTopFragment(childNode, node);\n }));\n return childNodes.filter((function(childNode, index) {\n return childNode !== childNodes[index - 1];\n }));\n}\n\nfunction patchChildNodes(node) {\n if (childNodesPatched in node) {\n return;\n }\n node[childNodesPatched] = true;\n Object.defineProperties(node, {\n childNodes: {\n get: function get() {\n return this.frag || getChildNodesWithFragments(this);\n }\n },\n firstChild: {\n get: function get() {\n return this.childNodes[0] || null;\n }\n }\n });\n node.hasChildNodes = function() {\n return this.childNodes.length > 0;\n };\n}\n\nfunction before() {\n var _this$frag$;\n (_this$frag$ = this.frag[0]).before.apply(_this$frag$, arguments);\n}\n\nfunction remove() {\n var frag = this.frag;\n var removed = frag.splice(0, frag.length);\n removed.forEach((function(node) {\n node.remove();\n }));\n}\n\nvar getFragmentLeafNodes = function getFragmentLeafNodes(children) {\n var _Array$prototype;\n return (_Array$prototype = Array.prototype).concat.apply(_Array$prototype, children.map((function(childNode) {\n return isFrag(childNode) ? getFragmentLeafNodes(childNode.frag) : childNode;\n })));\n};\n\nfunction addPlaceholder(node, insertBeforeNode) {\n var placeholder = node[$placeholder];\n insertBeforeNode.before(placeholder);\n patchParentNode(placeholder, node);\n node.frag.unshift(placeholder);\n}\n\nfunction removeChild(node) {\n if (isFrag(this)) {\n var hasChildInFragment = this.frag.indexOf(node);\n if (hasChildInFragment > -1) {\n var _this$frag$splice = this.frag.splice(hasChildInFragment, 1), removedNode = _this$frag$splice[0];\n if (this.frag.length === 0) {\n addPlaceholder(this, removedNode);\n }\n node.remove();\n }\n } else {\n var children = getChildNodesWithFragments(this);\n var hasChild = children.indexOf(node);\n if (hasChild > -1) {\n node.remove();\n }\n }\n return node;\n}\n\nfunction insertBefore(insertNode, insertBeforeNode) {\n var _this = this;\n var insertNodes = insertNode.frag || [ insertNode ];\n if (isFrag(this)) {\n var _frag = this.frag;\n if (insertBeforeNode) {\n var index = _frag.indexOf(insertBeforeNode);\n if (index > -1) {\n _frag.splice.apply(_frag, [ index, 0 ].concat(insertNodes));\n insertBeforeNode.before.apply(insertBeforeNode, insertNodes);\n }\n } else {\n var _lastNode = _frag[_frag.length - 1];\n _frag.push.apply(_frag, insertNodes);\n _lastNode.after.apply(_lastNode, insertNodes);\n }\n removePlaceholder(this);\n } else if (insertBeforeNode) {\n if (this.childNodes.includes(insertBeforeNode)) {\n insertBeforeNode.before.apply(insertBeforeNode, insertNodes);\n }\n } else {\n this.append.apply(this, insertNodes);\n }\n insertNodes.forEach((function(node) {\n patchParentNode(node, _this);\n }));\n var lastNode = insertNodes[insertNodes.length - 1];\n patchNextSibling(lastNode);\n return insertNode;\n}\n\nfunction appendChild(node) {\n var frag = this.frag;\n var lastChild = frag[frag.length - 1];\n lastChild.after(node);\n patchParentNode(node, this);\n removePlaceholder(this);\n frag.push(node);\n return node;\n}\n\nfunction removePlaceholder(node) {\n var placeholder = node[$placeholder];\n if (node.frag[0] === placeholder) {\n node.frag.shift();\n placeholder.remove();\n }\n}\n\nvar frag = {\n inserted: function inserted(element) {\n var parentNode = element.parentNode, nextSibling = element.nextSibling, previousSibling = element.previousSibling;\n var childNodes = Array.from(element.childNodes);\n var placeholder = document.createComment(\"\");\n if (childNodes.length === 0) {\n childNodes.push(placeholder);\n }\n element.frag = childNodes;\n element[$placeholder] = placeholder;\n var fragment = document.createDocumentFragment();\n fragment.append.apply(fragment, getFragmentLeafNodes(childNodes));\n element.replaceWith(fragment);\n childNodes.forEach((function(node) {\n patchParentNode(node, element);\n patchNextSibling(node);\n }));\n patchChildNodes(element);\n Object.assign(element, {\n remove: remove,\n appendChild: appendChild,\n insertBefore: insertBefore,\n removeChild: removeChild,\n before: before\n });\n Object.defineProperty(element, \"innerHTML\", {\n set: function set(htmlString) {\n var _this2 = this;\n if (this.frag[0] !== placeholder) {\n this.frag.slice().forEach((function(child) {\n return _this2.removeChild(child);\n }));\n }\n if (htmlString) {\n var domify = document.createElement(\"div\");\n domify.innerHTML = htmlString;\n Array.from(domify.childNodes).forEach((function(node) {\n _this2.appendChild(node);\n }));\n }\n },\n get: function get() {\n return \"\";\n }\n });\n if (parentNode) {\n Object.assign(parentNode, {\n removeChild: removeChild,\n insertBefore: insertBefore\n });\n patchParentNode(element, parentNode);\n patchChildNodes(parentNode);\n }\n if (nextSibling) {\n patchNextSibling(element);\n }\n if (previousSibling) {\n patchNextSibling(previousSibling);\n }\n },\n unbind: function unbind(element) {\n element.remove();\n }\n};\n\nvar fragment = {\n name: \"Fragment\",\n directives: {\n frag: frag\n },\n render: function render(h) {\n return h(\"div\", {\n directives: [ {\n name: \"frag\"\n } ]\n }, this.$slots[\"default\"]);\n }\n};\n\nexport { fragment as Fragment, frag as default };\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./File.vue?vue&type=template&id=5c8d96c6&\"\nimport script from \"./File.vue?vue&type=script&lang=js&\"\nexport * from \"./File.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon file-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nexport const hashCode = function (str) {\n return str.split('').reduce(function (a, b) {\n a = ((a << 5) - a) + b.charCodeAt(0);\n return a & a;\n }, 0);\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/* eslint-disable */\nimport { defineStore } from 'pinia';\nexport const useActionsMenuStore = defineStore('actionsmenu', {\n state: () => ({\n opened: null,\n }),\n});\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/* eslint-disable */\nimport { loadState } from '@nextcloud/initial-state';\nimport { generateUrl } from '@nextcloud/router';\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\nimport axios from '@nextcloud/axios';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nconst userConfig = loadState('files', 'config', {\n show_hidden: false,\n crop_image_previews: true,\n});\nexport const useUserConfigStore = function () {\n const store = defineStore('userconfig', {\n state: () => ({\n userConfig,\n }),\n actions: {\n /**\n * Update the user config local store\n */\n onUpdate(key, value) {\n Vue.set(this.userConfig, key, value);\n },\n /**\n * Update the user config local store AND on server side\n */\n async update(key, value) {\n await axios.put(generateUrl('/apps/files/api/v1/config/' + key), {\n value,\n });\n emit('files:config:updated', { key, value });\n }\n }\n });\n const userConfigStore = store(...arguments);\n // Make sure we only register the listeners once\n if (!userConfigStore._initialized) {\n subscribe('files:config:updated', function ({ key, value }) {\n userConfigStore.onUpdate(key, value);\n });\n userConfigStore._initialized = true;\n }\n return userConfigStore;\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomElementRender.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomElementRender.vue?vue&type=script&lang=js&\"","\n\n\n\n","import { render, staticRenderFns } from \"./CustomElementRender.vue?vue&type=template&id=a261c93e&\"\nimport script from \"./CustomElementRender.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomElementRender.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"custom-svg-icon\"})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomSvgIconRender.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomSvgIconRender.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomSvgIconRender.vue?vue&type=style&index=0&id=93e9b2f4&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomSvgIconRender.vue?vue&type=style&index=0&id=93e9b2f4&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./CustomSvgIconRender.vue?vue&type=template&id=93e9b2f4&scoped=true&\"\nimport script from \"./CustomSvgIconRender.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomSvgIconRender.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CustomSvgIconRender.vue?vue&type=style&index=0&id=93e9b2f4&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"93e9b2f4\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/* eslint-disable */\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\n/**\n * Observe various events and save the current\n * special keys states. Useful for checking the\n * current status of a key when executing a method.\n */\nexport const useKeyboardStore = function () {\n const store = defineStore('keyboard', {\n state: () => ({\n altKey: false,\n ctrlKey: false,\n metaKey: false,\n shiftKey: false,\n }),\n actions: {\n onEvent(event) {\n if (!event) {\n event = window.event;\n }\n Vue.set(this, 'altKey', !!event.altKey);\n Vue.set(this, 'ctrlKey', !!event.ctrlKey);\n Vue.set(this, 'metaKey', !!event.metaKey);\n Vue.set(this, 'shiftKey', !!event.shiftKey);\n },\n }\n });\n const keyboardStore = store(...arguments);\n // Make sure we only register the listeners once\n if (!keyboardStore._initialized) {\n window.addEventListener('keydown', keyboardStore.onEvent);\n window.addEventListener('keyup', keyboardStore.onEvent);\n window.addEventListener('mousemove', keyboardStore.onEvent);\n keyboardStore._initialized = true;\n }\n return keyboardStore;\n};\n","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n// The preview service worker cache name (see webpack config)\nconst SWCacheName = 'previews';\n/**\n * Check if the preview is already cached by the service worker\n */\nexport const isCachedPreview = function (previewUrl) {\n return caches.open(SWCacheName)\n .then(function (cache) {\n return cache.match(previewUrl)\n .then(function (response) {\n return !!response;\n });\n });\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=script&lang=ts&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=style&index=0&id=e5a368d6&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=style&index=0&id=e5a368d6&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=style&index=1&id=e5a368d6&prod&lang=css&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=style&index=1&id=e5a368d6&prod&lang=css&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileEntry.vue?vue&type=template&id=e5a368d6&scoped=true&\"\nimport script from \"./FileEntry.vue?vue&type=script&lang=ts&\"\nexport * from \"./FileEntry.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FileEntry.vue?vue&type=style&index=0&id=e5a368d6&prod&scoped=true&lang=scss&\"\nimport style1 from \"./FileEntry.vue?vue&type=style&index=1&id=e5a368d6&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e5a368d6\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListFooter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListFooter.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',[_c('th',{staticClass:\"files-list__row-checkbox\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('files', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\"},[_c('span',{staticClass:\"files-list__row-icon\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.summary))])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-actions\"}),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('td',{staticClass:\"files-list__column files-list__row-size\"},[_c('span',[_vm._v(_vm._s(_vm.totalSize))])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('th',{key:column.id,class:_vm.classForColumn(column)},[_c('span',[_vm._v(_vm._s(column.summary?.(_vm.nodes, _vm.currentView)))])])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListFooter.vue?vue&type=style&index=0&id=e6a083be&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListFooter.vue?vue&type=style&index=0&id=e6a083be&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListFooter.vue?vue&type=template&id=e6a083be&scoped=true&\"\nimport script from \"./FilesListFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesListFooter.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesListFooter.vue?vue&type=style&index=0&id=e6a083be&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e6a083be\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue';\nexport default Vue.extend({\n data() {\n return {\n filesListWidth: null,\n };\n },\n created() {\n const fileListEl = document.querySelector('#app-content-vue');\n this.$resizeObserver = new ResizeObserver((entries) => {\n if (entries.length > 0 && entries[0].target === fileListEl) {\n this.filesListWidth = entries[0].contentRect.width;\n }\n });\n this.$resizeObserver.observe(fileListEl);\n },\n beforeDestroy() {\n this.$resizeObserver.disconnect();\n },\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('th',{staticClass:\"files-list__column files-list__row-actions-batch\",attrs:{\"colspan\":\"2\"}},[_c('NcActions',{ref:\"actionsMenu\",attrs:{\"disabled\":!!_vm.loading || _vm.areSomeNodesLoading,\"force-title\":true,\"inline\":_vm.inlineActions,\"menu-title\":_vm.inlineActions <= 1 ? _vm.t('files', 'Actions') : null,\"open\":_vm.openedMenu},on:{\"update:open\":function($event){_vm.openedMenu=$event}}},_vm._l((_vm.enabledActions),function(action){return _c('NcActionButton',{key:action.id,class:'files-list__row-actions-batch-' + action.id,on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('CustomSvgIconRender',{attrs:{\"svg\":action.iconSvgInline(_vm.nodes, _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(action.displayName(_vm.nodes, _vm.currentView))+\"\\n\\t\\t\")])}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderActions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderActions.vue?vue&type=script&lang=ts&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderActions.vue?vue&type=style&index=0&id=03e57b1e&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderActions.vue?vue&type=style&index=0&id=03e57b1e&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListHeaderActions.vue?vue&type=template&id=03e57b1e&scoped=true&\"\nimport script from \"./FilesListHeaderActions.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesListHeaderActions.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesListHeaderActions.vue?vue&type=style&index=0&id=03e57b1e&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"03e57b1e\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuDown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuDown.vue?vue&type=script&lang=js&\"","\n\n","import { render, staticRenderFns } from \"./MenuDown.vue?vue&type=template&id=49c08fbe&\"\nimport script from \"./MenuDown.vue?vue&type=script&lang=js&\"\nexport * from \"./MenuDown.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon menu-down-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7,10L12,15L17,10H7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuUp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MenuUp.vue?vue&type=script&lang=js&\"","\n\n","import { render, staticRenderFns } from \"./MenuUp.vue?vue&type=template&id=52b567ec&\"\nimport script from \"./MenuUp.vue?vue&type=script&lang=js&\"\nexport * from \"./MenuUp.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon menu-up-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7,15L12,10L17,15H7Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2023 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue';\nimport { mapState } from 'pinia';\nimport { useViewConfigStore } from '../store/viewConfig';\nexport default Vue.extend({\n computed: {\n ...mapState(useViewConfigStore, ['getConfig', 'setSortingBy', 'toggleSortingDirection']),\n currentView() {\n return this.$navigation.active;\n },\n /**\n * Get the sorting mode for the current view\n */\n sortingMode() {\n return this.getConfig(this.currentView.id)?.sorting_mode\n || this.currentView?.defaultSortKey\n || 'basename';\n },\n /**\n * Get the sorting direction for the current view\n */\n isAscSorting() {\n const sortingDirection = this.getConfig(this.currentView.id)?.sorting_direction;\n return sortingDirection === 'asc';\n },\n },\n methods: {\n toggleSortBy(key) {\n // If we're already sorting by this key, flip the direction\n if (this.sortingMode === key) {\n this.toggleSortingDirection(this.currentView.id);\n return;\n }\n // else sort ASC by this new key\n this.setSortingBy(key, this.currentView.id);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderButton.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcButton',{staticClass:\"files-list__column-sort-button\",class:{'files-list__column-sort-button--active': _vm.sortingMode === _vm.mode},attrs:{\"aria-label\":_vm.sortAriaLabel(_vm.name),\"type\":\"tertiary\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.toggleSortBy(_vm.mode)}}},[(_vm.sortingMode !== _vm.mode || _vm.isAscSorting)?_c('MenuUp',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}):_c('MenuDown',{attrs:{\"slot\":\"icon\"},slot:\"icon\"}),_vm._v(\"\\n\\t\"+_vm._s(_vm.name)+\"\\n\")],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderButton.vue?vue&type=style&index=0&id=e85a09d2&prod&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeaderButton.vue?vue&type=style&index=0&id=e85a09d2&prod&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListHeaderButton.vue?vue&type=template&id=e85a09d2&\"\nimport script from \"./FilesListHeaderButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesListHeaderButton.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesListHeaderButton.vue?vue&type=style&index=0&id=e85a09d2&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',[_c('th',{staticClass:\"files-list__column files-list__row-checkbox\"},[_c('NcCheckboxRadioSwitch',_vm._b({on:{\"update:checked\":_vm.onToggleAll}},'NcCheckboxRadioSwitch',_vm.selectAllBind,false))],1),_vm._v(\" \"),(!_vm.isNoneSelected)?_c('FilesListHeaderActions',{attrs:{\"current-view\":_vm.currentView,\"selected-nodes\":_vm.selectedNodes}}):[_c('th',{staticClass:\"files-list__column files-list__row-name files-list__column--sortable\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.toggleSortBy('basename')}}},[_c('span',{staticClass:\"files-list__row-icon\"}),_vm._v(\" \"),_c('FilesListHeaderButton',{attrs:{\"name\":_vm.t('files', 'Name'),\"mode\":\"basename\"}})],1),_vm._v(\" \"),_c('th',{staticClass:\"files-list__row-actions\"}),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('th',{staticClass:\"files-list__column files-list__row-size\",class:{'files-list__column--sortable': _vm.isSizeAvailable}},[_c('FilesListHeaderButton',{attrs:{\"name\":_vm.t('files', 'Size'),\"mode\":\"size\"}})],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('th',{key:column.id,class:_vm.classForColumn(column)},[(!!column.sort)?_c('FilesListHeaderButton',{attrs:{\"name\":column.title,\"mode\":column.id}}):_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(column.title)+\"\\n\\t\\t\\t\")])],1)})]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=style&index=0&id=76b6186a&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=style&index=0&id=76b6186a&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListHeader.vue?vue&type=template&id=76b6186a&scoped=true&\"\nimport script from \"./FilesListHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesListHeader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesListHeader.vue?vue&type=style&index=0&id=76b6186a&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"76b6186a\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('RecycleScroller',{ref:\"recycleScroller\",staticClass:\"files-list\",attrs:{\"key-field\":\"source\",\"items\":_vm.nodes,\"item-size\":55,\"table-mode\":true,\"item-class\":\"files-list__row\",\"item-tag\":\"tr\",\"list-class\":\"files-list__body\",\"list-tag\":\"tbody\",\"role\":\"table\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ item, active, index }){return [_c('FileEntry',{attrs:{\"active\":active,\"index\":index,\"is-size-available\":_vm.isSizeAvailable,\"files-list-width\":_vm.filesListWidth,\"nodes\":_vm.nodes,\"source\":item}})]}},{key:\"before\",fn:function(){return [_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.currentView.caption || '')+\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'This list is not fully rendered for performances reasons. The files will be rendered as you navigate through the list.'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('FilesListHeader',{attrs:{\"files-list-width\":_vm.filesListWidth,\"is-size-available\":_vm.isSizeAvailable,\"nodes\":_vm.nodes}})]},proxy:true},{key:\"after\",fn:function(){return [_c('FilesListFooter',{attrs:{\"files-list-width\":_vm.filesListWidth,\"is-size-available\":_vm.isSizeAvailable,\"nodes\":_vm.nodes,\"summary\":_vm.summary}})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=0&id=640a8bb8&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=0&id=640a8bb8&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListVirtual.vue?vue&type=template&id=640a8bb8&scoped=true&\"\nimport script from \"./FilesListVirtual.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesListVirtual.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesListVirtual.vue?vue&type=style&index=0&id=640a8bb8&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"640a8bb8\",\n null\n \n)\n\nexport default component.exports","import isSvg from 'is-svg';\nimport logger from '../logger.js';\nexport default class {\n _views = [];\n _currentView = null;\n constructor() {\n logger.debug('Navigation service initialized');\n }\n register(view) {\n try {\n isValidNavigation(view);\n isUniqueNavigation(view, this._views);\n }\n catch (e) {\n if (e instanceof Error) {\n logger.error(e.message, { view });\n }\n throw e;\n }\n if (view.legacy) {\n logger.warn('Legacy view detected, please migrate to Vue');\n }\n if (view.iconClass) {\n view.legacy = true;\n }\n this._views.push(view);\n }\n remove(id) {\n const index = this._views.findIndex(view => view.id === id);\n if (index !== -1) {\n this._views.splice(index, 1);\n }\n }\n get views() {\n return this._views;\n }\n setActive(view) {\n this._currentView = view;\n }\n get active() {\n return this._currentView;\n }\n}\n/**\n * Make sure the given view is unique\n * and not already registered.\n */\nconst isUniqueNavigation = function (view, views) {\n if (views.find(search => search.id === view.id)) {\n throw new Error(`Navigation id ${view.id} is already registered`);\n }\n return true;\n};\n/**\n * Typescript cannot validate an interface.\n * Please keep in sync with the Navigation interface requirements.\n */\nconst isValidNavigation = function (view) {\n if (!view.id || typeof view.id !== 'string') {\n throw new Error('Navigation id is required and must be a string');\n }\n if (!view.name || typeof view.name !== 'string') {\n throw new Error('Navigation name is required and must be a string');\n }\n /**\n * Legacy handle their content and icon differently\n * TODO: remove when support for legacy views is removed\n */\n if (!view.legacy) {\n if (!view.getContents || typeof view.getContents !== 'function') {\n throw new Error('Navigation getContents is required and must be a function');\n }\n if (!view.icon || typeof view.icon !== 'string' || !isSvg(view.icon)) {\n throw new Error('Navigation icon is required and must be a valid svg string');\n }\n }\n if (!('order' in view) || typeof view.order !== 'number') {\n throw new Error('Navigation order is required and must be a number');\n }\n // Optional properties\n if (view.columns) {\n view.columns.forEach(isValidColumn);\n }\n if (view.emptyView && typeof view.emptyView !== 'function') {\n throw new Error('Navigation emptyView must be a function');\n }\n if (view.parent && typeof view.parent !== 'string') {\n throw new Error('Navigation parent must be a string');\n }\n if ('sticky' in view && typeof view.sticky !== 'boolean') {\n throw new Error('Navigation sticky must be a boolean');\n }\n if ('expanded' in view && typeof view.expanded !== 'boolean') {\n throw new Error('Navigation expanded must be a boolean');\n }\n if (view.defaultSortKey && typeof view.defaultSortKey !== 'string') {\n throw new Error('Navigation defaultSortKey must be a string');\n }\n return true;\n};\n/**\n * Typescript cannot validate an interface.\n * Please keep in sync with the Column interface requirements.\n */\nconst isValidColumn = function (column) {\n if (!column.id || typeof column.id !== 'string') {\n throw new Error('A column id is required');\n }\n if (!column.title || typeof column.title !== 'string') {\n throw new Error('A column title is required');\n }\n if (!column.render || typeof column.render !== 'function') {\n throw new Error('A render function is required');\n }\n // Optional properties\n if (column.sort && typeof column.sort !== 'function') {\n throw new Error('Column sortFunction must be a function');\n }\n if (column.summary && typeof column.summary !== 'function') {\n throw new Error('Column summary must be a function');\n }\n return true;\n};\n","import {XMLParser, XMLValidator} from 'fast-xml-parser';\n\nexport default function isSvg(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\tstring = string.trim();\n\n\tif (string.length === 0) {\n\t\treturn false;\n\t}\n\n\t// Has to be `!==` as it can also return an object with error info.\n\tif (XMLValidator.validate(string) !== true) {\n\t\treturn false;\n\t}\n\n\tlet jsonObject;\n\tconst parser = new XMLParser();\n\n\ttry {\n\t\tjsonObject = parser.parse(string);\n\t} catch {\n\t\treturn false;\n\t}\n\n\tif (!jsonObject) {\n\t\treturn false;\n\t}\n\n\tif (!('svg' in jsonObject)) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=script&lang=ts&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=style&index=0&id=66068cbb&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=style&index=0&id=66068cbb&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesList.vue?vue&type=template&id=66068cbb&scoped=true&\"\nimport script from \"./FilesList.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilesList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilesList.vue?vue&type=style&index=0&id=66068cbb&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"66068cbb\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppNavigation',{attrs:{\"data-cy-files-navigation\":\"\"},scopedSlots:_vm._u([{key:\"list\",fn:function(){return _vm._l((_vm.parentViews),function(view){return _c('NcAppNavigationItem',{key:view.id,attrs:{\"allow-collapse\":true,\"data-cy-files-navigation-item\":view.id,\"icon\":view.iconClass,\"open\":_vm.isExpanded(view),\"pinned\":view.sticky,\"title\":view.name,\"to\":_vm.generateToNavigation(view)},on:{\"update:open\":function($event){return _vm.onToggleExpand(view)}}},[(view.icon)?_c('NcIconSvgWrapper',{attrs:{\"slot\":\"icon\",\"svg\":view.icon},slot:\"icon\"}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.childViews[view.id]),function(child){return _c('NcAppNavigationItem',{key:child.id,attrs:{\"data-cy-files-navigation-item\":child.id,\"exact\":true,\"icon\":child.iconClass,\"title\":child.name,\"to\":_vm.generateToNavigation(child)}},[(child.icon)?_c('NcIconSvgWrapper',{attrs:{\"slot\":\"icon\",\"svg\":child.icon},slot:\"icon\"}):_vm._e()],1)})],2)})},proxy:true},{key:\"footer\",fn:function(){return [_c('ul',{staticClass:\"app-navigation-entry__settings\"},[_c('NavigationQuota'),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"aria-label\":_vm.t('files', 'Open the files app settings'),\"title\":_vm.t('files', 'Files settings'),\"data-cy-files-navigation-settings-button\":\"\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.openSettings.apply(null, arguments)}}},[_c('Cog',{attrs:{\"slot\":\"icon\",\"size\":20},slot:\"icon\"})],1)],1)]},proxy:true}])},[_vm._v(\" \"),_vm._v(\" \"),_c('SettingsModal',{attrs:{\"open\":_vm.settingsOpened,\"data-cy-files-navigation-settings\":\"\"},on:{\"close\":_vm.onSettingsClose}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Cog.vue?vue&type=template&id=bcf30078&\"\nimport script from \"./Cog.vue?vue&type=script&lang=js&\"\nexport * from \"./Cog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)\n * are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,\n * as-is, to `callback` when the throttled-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds\n * while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed\n * one final time after the last throttled-function call. (After the throttled-function has not been called for\n * `delay` milliseconds, the internal counter is reset).\n * @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback\n * immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that\n * callback will never executed if both noLeading = true and noTrailing = true.\n * @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is\n * false (at end), schedule `callback` to execute after `delay` ms.\n *\n * @returns {Function} A new, throttled, function.\n */\nfunction throttle (delay, callback, options) {\n var _ref = options || {},\n _ref$noTrailing = _ref.noTrailing,\n noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing,\n _ref$noLeading = _ref.noLeading,\n noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading,\n _ref$debounceMode = _ref.debounceMode,\n debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode;\n /*\n * After wrapper has stopped being called, this timeout ensures that\n * `callback` is executed at the proper times in `throttle` and `end`\n * debounce modes.\n */\n\n\n var timeoutID;\n var cancelled = false; // Keep track of the last time `callback` was executed.\n\n var lastExec = 0; // Function to clear existing timeout\n\n function clearExistingTimeout() {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n } // Function to cancel next exec\n\n\n function cancel(options) {\n var _ref2 = options || {},\n _ref2$upcomingOnly = _ref2.upcomingOnly,\n upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly;\n\n clearExistingTimeout();\n cancelled = !upcomingOnly;\n }\n /*\n * The `wrapper` function encapsulates all of the throttling / debouncing\n * functionality and when executed will limit the rate at which `callback`\n * is executed.\n */\n\n\n function wrapper() {\n for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {\n arguments_[_key] = arguments[_key];\n }\n\n var self = this;\n var elapsed = Date.now() - lastExec;\n\n if (cancelled) {\n return;\n } // Execute `callback` and update the `lastExec` timestamp.\n\n\n function exec() {\n lastExec = Date.now();\n callback.apply(self, arguments_);\n }\n /*\n * If `debounceMode` is true (at begin) this is used to clear the flag\n * to allow future `callback` executions.\n */\n\n\n function clear() {\n timeoutID = undefined;\n }\n\n if (!noLeading && debounceMode && !timeoutID) {\n /*\n * Since `wrapper` is being called for the first time and\n * `debounceMode` is true (at begin), execute `callback`\n * and noLeading != true.\n */\n exec();\n }\n\n clearExistingTimeout();\n\n if (debounceMode === undefined && elapsed > delay) {\n if (noLeading) {\n /*\n * In throttle mode with noLeading, if `delay` time has\n * been exceeded, update `lastExec` and schedule `callback`\n * to execute after `delay` ms.\n */\n lastExec = Date.now();\n\n if (!noTrailing) {\n timeoutID = setTimeout(debounceMode ? clear : exec, delay);\n }\n } else {\n /*\n * In throttle mode without noLeading, if `delay` time has been exceeded, execute\n * `callback`.\n */\n exec();\n }\n } else if (noTrailing !== true) {\n /*\n * In trailing throttle mode, since `delay` time has not been\n * exceeded, schedule `callback` to execute `delay` ms after most\n * recent execution.\n *\n * If `debounceMode` is true (at begin), schedule `clear` to execute\n * after `delay` ms.\n *\n * If `debounceMode` is false (at end), schedule `callback` to\n * execute after `delay` ms.\n */\n timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n }\n }\n\n wrapper.cancel = cancel; // Return the wrapper function.\n\n return wrapper;\n}\n\n/* eslint-disable no-undefined */\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n *\n * @returns {Function} A new, debounced function.\n */\n\nfunction debounce (delay, callback, options) {\n var _ref = options || {},\n _ref$atBegin = _ref.atBegin,\n atBegin = _ref$atBegin === void 0 ? false : _ref$atBegin;\n\n return throttle(delay, callback, {\n debounceMode: atBegin !== false\n });\n}\n\nexport { debounce, throttle };\n//# sourceMappingURL=index.js.map\n","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChartPie.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChartPie.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChartPie.vue?vue&type=template&id=44de6464&\"\nimport script from \"./ChartPie.vue?vue&type=script&lang=js&\"\nexport * from \"./ChartPie.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon chart-pie-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M11,2V22C5.9,21.5 2,17.2 2,12C2,6.8 5.9,2.5 11,2M13,2V11H22C21.5,6.2 17.8,2.5 13,2M13,13V22C17.7,21.5 21.5,17.8 22,13H13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=style&index=0&id=918797b2&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=style&index=0&id=918797b2&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NavigationQuota.vue?vue&type=template&id=918797b2&scoped=true&\"\nimport script from \"./NavigationQuota.vue?vue&type=script&lang=js&\"\nexport * from \"./NavigationQuota.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavigationQuota.vue?vue&type=style&index=0&id=918797b2&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"918797b2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.storageStats)?_c('NcAppNavigationItem',{staticClass:\"app-navigation-entry__settings-quota\",class:{ 'app-navigation-entry__settings-quota--not-unlimited': _vm.storageStats.quota >= 0},attrs:{\"aria-label\":_vm.t('files', 'Storage informations'),\"loading\":_vm.loadingStorageStats,\"name\":_vm.storageStatsTitle,\"title\":_vm.storageStatsTooltip,\"data-cy-files-navigation-settings-quota\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.debounceUpdateStorageStats.apply(null, arguments)}}},[_c('ChartPie',{attrs:{\"slot\":\"icon\",\"size\":20},slot:\"icon\"}),_vm._v(\" \"),(_vm.storageStats.quota >= 0)?_c('NcProgressBar',{attrs:{\"slot\":\"extra\",\"error\":_vm.storageStats.relative > 80,\"value\":Math.min(_vm.storageStats.relative, 100)},slot:\"extra\"}):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.open,\"show-navigation\":true,\"title\":_vm.t('files', 'Files settings')},on:{\"update:open\":_vm.onClose}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"settings\",\"title\":_vm.t('files', 'Files settings')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.userConfig.show_hidden},on:{\"update:checked\":function($event){return _vm.setConfig('show_hidden', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Show hidden files'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.userConfig.crop_image_previews},on:{\"update:checked\":function($event){return _vm.setConfig('crop_image_previews', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Crop image previews'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),(_vm.settings.length !== 0)?_c('NcAppSettingsSection',{attrs:{\"id\":\"more-settings\",\"title\":_vm.t('files', 'Additional settings')}},[_vm._l((_vm.settings),function(setting){return [_c('Setting',{key:setting.name,attrs:{\"el\":setting.el}})]})],2):_vm._e(),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"webdav\",\"title\":_vm.t('files', 'WebDAV')}},[_c('NcInputField',{attrs:{\"id\":\"webdav-url-input\",\"show-trailing-button\":true,\"success\":_vm.webdavUrlCopied,\"trailing-button-label\":_vm.t('files', 'Copy to clipboard'),\"value\":_vm.webdavUrl,\"readonly\":\"readonly\",\"type\":\"url\"},on:{\"focus\":function($event){return $event.target.select()},\"trailing-button-click\":_vm.copyCloudId},scopedSlots:_vm._u([{key:\"trailing-button-icon\",fn:function(){return [_c('Clipboard',{attrs:{\"size\":20}})]},proxy:true}])}),_vm._v(\" \"),_c('em',[_c('a',{staticClass:\"setting-link\",attrs:{\"href\":_vm.webdavDocs,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Use this address to access your Files via WebDAV'))+\" ↗\\n\\t\\t\\t\")])]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('em',[_c('a',{staticClass:\"setting-link\",attrs:{\"href\":_vm.appPasswordUrl}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'If you have enabled 2FA, you must create and use a new app password by clicking here.'))+\" ↗\\n\\t\\t\\t\")])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Clipboard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Clipboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Clipboard.vue?vue&type=template&id=0e008e34&\"\nimport script from \"./Clipboard.vue?vue&type=script&lang=js&\"\nexport * from \"./Clipboard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon clipboard-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Setting.vue?vue&type=template&id=61d69eae&\"\nimport script from \"./Setting.vue?vue&type=script&lang=js&\"\nexport * from \"./Setting.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=style&index=0&id=76ca5d1f&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=style&index=0&id=76ca5d1f&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=76ca5d1f&scoped=true&\"\nimport script from \"./Settings.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Settings.vue?vue&type=style&index=0&id=76ca5d1f&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"76ca5d1f\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n","/**\n * @copyright Copyright (c) 2022 Joas Schilling \n *\n * @author Joas Schilling \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\n/**\n * Set the page heading\n *\n * @param {string} heading page title from the history api\n * @since 27.0.0\n */\nexport function setPageHeading(heading) {\n\tconst headingEl = document.getElementById('page-heading-level-1')\n\tif (headingEl) {\n\t\theadingEl.textContent = heading\n\t}\n}\nexport default {\n\t/**\n\t * @return {boolean} Whether the user opted-out of shortcuts so that they should not be registered\n\t */\n\tdisableKeyboardShortcuts() {\n\t\treturn loadState('theming', 'shortcutsDisabled', false)\n\t},\n\tsetPageHeading,\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=657a978e&prod&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=657a978e&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=657a978e&scoped=true&\"\nimport script from \"./Navigation.vue?vue&type=script&lang=js&\"\nexport * from \"./Navigation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Navigation.vue?vue&type=style&index=0&id=657a978e&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"657a978e\",\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\nimport logger from '../logger.js'\n\n/**\n * Fetch and register the legacy files views\n */\nexport default function() {\n\tconst legacyViews = Object.values(loadState('files', 'navigation', {}))\n\n\tif (legacyViews.length > 0) {\n\t\tlogger.debug('Legacy files views detected. Processing...', legacyViews)\n\t\tlegacyViews.forEach(view => {\n\t\t\tregisterLegacyView(view)\n\t\t\tif (view.sublist) {\n\t\t\t\tview.sublist.forEach(subview => registerLegacyView({ ...subview, parent: view.id }))\n\t\t\t}\n\t\t})\n\t}\n}\n\nconst registerLegacyView = function({ id, name, order, icon, parent, classes = '', expanded, params }) {\n\tOCP.Files.Navigation.register({\n\t\tid,\n\t\tname,\n\t\torder,\n\t\tparams,\n\t\tparent,\n\t\texpanded: expanded === true,\n\t\ticonClass: icon ? `icon-${icon}` : 'nav-icon-' + id,\n\t\tlegacy: true,\n\t\tsticky: classes.includes('pinned'),\n\t})\n}\n","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (!condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nfunction decode (str) {\n try {\n return decodeURIComponent(str)\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"Error decoding \\\"\" + str + \"\\\". Leaving it intact.\"));\n }\n }\n return str\n}\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n var value = extraQuery[key];\n parsedQuery[key] = Array.isArray(value)\n ? value.map(castQueryParamValue)\n : castQueryParamValue(value);\n }\n return parsedQuery\n}\n\nvar castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0 ? decode(parts.join('=')) : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj\n ? Object.keys(obj)\n .map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n })\n .filter(function (x) { return x.length > 0; })\n .join('&')\n : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b, onlyPath) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') && (onlyPath ||\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query))\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n (onlyPath || (\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params))\n )\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a).sort();\n var bKeys = Object.keys(b).sort();\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key, i) {\n var aVal = a[key];\n var bKey = bKeys[i];\n if (bKey !== key) { return false }\n var bVal = b[key];\n // query values can be null and undefined\n if (aVal == null || bVal == null) { return aVal === bVal }\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\nfunction handleRouteEntered (route) {\n for (var i = 0; i < route.matched.length; i++) {\n var record = route.matched[i];\n for (var name in record.instances) {\n var instance = record.instances[name];\n var cbs = record.enteredCbs[name];\n if (!instance || !cbs) { continue }\n delete record.enteredCbs[name];\n for (var i$1 = 0; i$1 < cbs.length; i$1++) {\n if (!instance._isBeingDestroyed) { cbs[i$1](instance); }\n }\n }\n }\n}\n\nvar View = {\n name: 'RouterView',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n // used by devtools to display a router-view badge\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n var cachedData = cache[name];\n var cachedComponent = cachedData && cachedData.component;\n if (cachedComponent) {\n // #2301\n // pass props\n if (cachedData.configProps) {\n fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n }\n return h(cachedComponent, data, children)\n } else {\n // render previous empty view\n return h()\n }\n }\n\n var matched = route.matched[depth];\n var component = matched && matched.components[name];\n\n // render empty node if no matched route or no config component\n if (!matched || !component) {\n cache[name] = null;\n return h()\n }\n\n // cache component\n cache[name] = { component: component };\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n\n // if the route transition has already been confirmed then we weren't\n // able to call the cbs during confirmation as the component was not\n // registered yet, so we call it here.\n handleRouteEntered(route);\n };\n\n var configProps = matched.props && matched.props[name];\n // save route and configProps in cache\n if (configProps) {\n extend(cache[name], {\n route: route,\n configProps: configProps\n });\n fillPropsinData(component, data, route, configProps);\n }\n\n return h(component, data, children)\n }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n // resolve props\n var propsToPass = data.props = resolveProps(route, configProps);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n}\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/(?:\\s*\\/)+/g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n // Fix #3072 no warn if `pathMatch` is string\n warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n\n/* */\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next._normalized) {\n return next\n } else if (next.name) {\n next = extend({}, raw);\n var params = next.params;\n if (params && typeof params === 'object') {\n next.params = extend({}, params);\n }\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params$1 = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params$1;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params$1, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar warnedCustomSlot;\nvar warnedTagProp;\nvar warnedEventProp;\n\nvar Link = {\n name: 'RouterLink',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n custom: Boolean,\n exact: Boolean,\n exactPath: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n ariaCurrentValue: {\n type: String,\n default: 'page'\n },\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(\n this.to,\n current,\n this.append\n );\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget, this.exactPath);\n classes[activeClass] = this.exact || this.exactPath\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (process.env.NODE_ENV !== 'production' && !this.custom) {\n !warnedCustomSlot && warn(false, 'In Vue Router 4, the v-slot API will by default wrap its content with an
element. Use the custom prop to remove this warning:\\n\\n');\n warnedCustomSlot = true;\n }\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\" with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if ('tag' in this.$options.propsData && !warnedTagProp) {\n warn(\n false,\n \"'s tag prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedTagProp = true;\n }\n if ('event' in this.$options.propsData && !warnedEventProp) {\n warn(\n false,\n \"'s event prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedEventProp = true;\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href, 'aria-current': ariaCurrentValue };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\n var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n aAttrs.href = href;\n aAttrs['aria-current'] = ariaCurrentValue;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap,\n parentRoute\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route, parentRoute);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n\n warn(\n // eslint-disable-next-line no-control-regex\n !/[^\\u0000-\\u007F]+/.test(path),\n \"Route with path \\\"\" + path + \"\\\" contains unencoded characters, make sure \" +\n \"your path is correctly encoded before passing it to the router. Use \" +\n \"encodeURI to encode static segments of your path.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n alias: route.alias\n ? typeof route.alias === 'string'\n ? [route.alias]\n : route.alias\n : [],\n instances: {},\n enteredCbs: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props:\n route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'}\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n }\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (\n path,\n pathToRegexpOptions\n) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function addRoute (parentOrRoute, route) {\n var parent = (typeof parentOrRoute !== 'object') ? nameMap[parentOrRoute] : undefined;\n // $flow-disable-line\n createRouteMap([route || parentOrRoute], pathList, pathMap, nameMap, parent);\n\n // add aliases of parent\n if (parent && parent.alias.length) {\n createRouteMap(\n // $flow-disable-line route is defined if parent is\n parent.alias.map(function (alias) { return ({ path: alias, children: [route] }); }),\n pathList,\n pathMap,\n nameMap,\n parent\n );\n }\n }\n\n function getRoutes () {\n return pathList.map(function (path) { return pathMap[path]; })\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoute: addRoute,\n getRoutes: getRoutes,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = typeof m[i] === 'string' ? decode(m[i]) : m[i];\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Prevent browser scroll behavior on History popstate\n if ('scrollRestoration' in window.history) {\n window.history.scrollRestoration = 'manual';\n }\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, window.history.state);\n stateCopy.key = getStateKey();\n window.history.replaceState(stateCopy, '', absolutePath);\n window.addEventListener('popstate', handlePopState);\n return function () {\n window.removeEventListener('popstate', handlePopState);\n }\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\n .catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction handlePopState (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n // $flow-disable-line\n if ('scrollBehavior' in document.documentElement.style) {\n window.scrollTo({\n left: position.x,\n top: position.y,\n // $flow-disable-line\n behavior: shouldScroll.behavior\n });\n } else {\n window.scrollTo(position.x, position.y);\n }\n }\n}\n\n/* */\n\nvar supportsPushState =\n inBrowser &&\n (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && typeof window.history.pushState === 'function'\n })();\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, history.state);\n stateCopy.key = getStateKey();\n history.replaceState(stateCopy, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n// When changing thing, also edit router.d.ts\nvar NavigationFailureType = {\n redirected: 2,\n aborted: 4,\n cancelled: 8,\n duplicated: 16\n};\n\nfunction createNavigationRedirectedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.redirected,\n (\"Redirected when going from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (stringifyRoute(\n to\n )) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createNavigationDuplicatedError (from, to) {\n var error = createRouterError(\n from,\n to,\n NavigationFailureType.duplicated,\n (\"Avoided redundant navigation to current location: \\\"\" + (from.fullPath) + \"\\\".\")\n );\n // backwards compatible with the first introduction of Errors\n error.name = 'NavigationDuplicated';\n return error\n}\n\nfunction createNavigationCancelledError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.cancelled,\n (\"Navigation cancelled from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" with a new navigation.\")\n )\n}\n\nfunction createNavigationAbortedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.aborted,\n (\"Navigation aborted from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createRouterError (from, to, type, message) {\n var error = new Error(message);\n error._isRouter = true;\n error.from = from;\n error.to = to;\n error.type = type;\n\n return error\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute (to) {\n if (typeof to === 'string') { return to }\n if ('path' in to) { return to.path }\n var location = {};\n propertiesToLog.forEach(function (key) {\n if (key in to) { location[key] = to[key]; }\n });\n return JSON.stringify(location, null, 2)\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isNavigationFailure (err, errorType) {\n return (\n isError(err) &&\n err._isRouter &&\n (errorType == null || err.type === errorType)\n )\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n this.listeners = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n location,\n onComplete,\n onAbort\n) {\n var this$1$1 = this;\n\n var route;\n // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n try {\n route = this.router.match(location, this.current);\n } catch (e) {\n this.errorCbs.forEach(function (cb) {\n cb(e);\n });\n // Exception should still be thrown\n throw e\n }\n var prev = this.current;\n this.confirmTransition(\n route,\n function () {\n this$1$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1$1.ensureURL();\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n\n // fire ready cbs once\n if (!this$1$1.ready) {\n this$1$1.ready = true;\n this$1$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n },\n function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1$1.ready) {\n // Initial redirection should not mark the history as ready yet\n // because it's triggered by the redirection instead\n // https://github.com/vuejs/vue-router/issues/3225\n // https://github.com/vuejs/vue-router/issues/3331\n if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {\n this$1$1.ready = true;\n this$1$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n }\n }\n }\n );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1$1 = this;\n\n var current = this.current;\n this.pending = route;\n var abort = function (err) {\n // changed after adding errors with\n // https://github.com/vuejs/vue-router/pull/3047 before that change,\n // redirect and aborted navigation would produce an err == null\n if (!isNavigationFailure(err) && isError(err)) {\n if (this$1$1.errorCbs.length) {\n this$1$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'uncaught error during route navigation:');\n }\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n var lastRouteIndex = route.matched.length - 1;\n var lastCurrentIndex = current.matched.length - 1;\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n lastRouteIndex === lastCurrentIndex &&\n route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]\n ) {\n this.ensureURL();\n if (route.hash) {\n handleScroll(this.router, current, route, false);\n }\n return abort(createNavigationDuplicatedError(current, route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n var iterator = function (hook, next) {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n try {\n hook(route, current, function (to) {\n if (to === false) {\n // next(false) -> abort navigation, ensure current URL\n this$1$1.ensureURL(true);\n abort(createNavigationAbortedError(current, route));\n } else if (isError(to)) {\n this$1$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' &&\n (typeof to.path === 'string' || typeof to.name === 'string'))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort(createNavigationRedirectedError(current, route));\n if (typeof to === 'object' && to.replace) {\n this$1$1.replace(to);\n } else {\n this$1$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated);\n var queue = enterGuards.concat(this$1$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n this$1$1.pending = null;\n onComplete(route);\n if (this$1$1.router.app) {\n this$1$1.router.app.$nextTick(function () {\n handleRouteEntered(route);\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n this.current = route;\n this.cb && this.cb(route);\n};\n\nHistory.prototype.setupListeners = function setupListeners () {\n // Default implementation is empty\n};\n\nHistory.prototype.teardown = function teardown () {\n // clean up event listeners\n // https://github.com/vuejs/vue-router/issues/2341\n this.listeners.forEach(function (cleanupListener) {\n cleanupListener();\n });\n this.listeners = [];\n\n // reset current history route\n // https://github.com/vuejs/vue-router/issues/3294\n this.current = START;\n this.pending = null;\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated\n) {\n return extractGuards(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key)\n }\n )\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n if (!match.enteredCbs[key]) {\n match.enteredCbs[key] = [];\n }\n match.enteredCbs[key].push(cb);\n }\n next(cb);\n })\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n History.call(this, router, base);\n\n this._startLocation = getLocation(this.base);\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1$1.base);\n if (this$1$1.current === START && location === this$1$1._startLocation) {\n return\n }\n\n this$1$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n };\n window.addEventListener('popstate', handleRoutingEvent);\n this.listeners.push(function () {\n window.removeEventListener('popstate', handleRoutingEvent);\n });\n };\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n var pathLowerCase = path.toLowerCase();\n var baseLowerCase = base.toLowerCase();\n // base=\"/a\" shouldn't turn path=\"/app\" into \"/a/pp\"\n // https://github.com/vuejs/vue-router/issues/3555\n // so we ensure the trailing slash in the base\n if (base && ((pathLowerCase === baseLowerCase) ||\n (pathLowerCase.indexOf(cleanPath(baseLowerCase + '/')) === 0))) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n };\n var eventType = supportsPushState ? 'popstate' : 'hashchange';\n window.addEventListener(\n eventType,\n handleRoutingEvent\n );\n this.listeners.push(function () {\n window.removeEventListener(eventType, handleRoutingEvent);\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(cleanPath(base + '/#' + location));\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n\n return href\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index + 1).concat(route);\n this$1$1.index++;\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(\n route,\n function () {\n var prev = this$1$1.current;\n this$1$1.index = targetIndex;\n this$1$1.updateRoute(route);\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n },\n function (err) {\n if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\n this$1$1.index = targetIndex;\n }\n }\n );\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\n\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n if (process.env.NODE_ENV !== 'production') {\n warn(this instanceof VueRouter, \"Router must be called with the new operator.\");\n }\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback =\n mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (raw, current, redirectedFrom) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1$1 = this;\n\n process.env.NODE_ENV !== 'production' &&\n assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1$1.apps.indexOf(app);\n if (index > -1) { this$1$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1$1.app === app) { this$1$1.app = this$1$1.apps[0] || null; }\n\n if (!this$1$1.app) { this$1$1.history.teardown(); }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History || history instanceof HashHistory) {\n var handleInitialScroll = function (routeOrError) {\n var from = history.current;\n var expectScroll = this$1$1.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll && 'fullPath' in routeOrError) {\n handleScroll(this$1$1, routeOrError, from, false);\n }\n };\n var setupListeners = function (routeOrError) {\n history.setupListeners();\n handleInitialScroll(routeOrError);\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupListeners,\n setupListeners\n );\n }\n\n history.listen(function (route) {\n this$1$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply(\n [],\n route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n })\n )\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(to, current, append, this);\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.getRoutes = function getRoutes () {\n return this.matcher.getRoutes()\n};\n\nVueRouter.prototype.addRoute = function addRoute (parentOrRoute, route) {\n this.matcher.addRoute(parentOrRoute, route);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'router.addRoutes() is deprecated and has been removed in Vue Router 4. Use router.addRoute() instead.');\n }\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nvar VueRouter$1 = VueRouter;\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\n// We cannot remove this as it would be a breaking change\nVueRouter.install = install;\nVueRouter.version = '3.6.5';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\nVueRouter.START_LOCATION = START;\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nvar version = '3.6.5';\n\nexport { NavigationFailureType, Link as RouterLink, View as RouterView, START as START_LOCATION, VueRouter$1 as default, isNavigationFailure, version };\n","const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n","export default function splitOnFirst(string, separator) {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (string === '' || separator === '') {\n\t\treturn [];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n}\n","export function includeKeys(object, predicate) {\n\tconst result = {};\n\n\tif (Array.isArray(predicate)) {\n\t\tfor (const key of predicate) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor?.enumerable) {\n\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// `Reflect.ownKeys()` is required to retrieve symbol properties\n\t\tfor (const key of Reflect.ownKeys(object)) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor.enumerable) {\n\t\t\t\tconst value = object[key];\n\t\t\t\tif (predicate(key, value, object)) {\n\t\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function excludeKeys(object, predicate) {\n\tif (Array.isArray(predicate)) {\n\t\tconst set = new Set(predicate);\n\t\treturn includeKeys(object, key => !set.has(key));\n\t}\n\n\treturn includeKeys(object, (key, value, object) => !predicate(key, value, object));\n}\n","import decodeComponent from 'decode-uri-component';\nimport splitOnFirst from 'split-on-first';\nimport {includeKeys} from 'filter-obj';\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\n// eslint-disable-next-line unicorn/prefer-code-point\nconst strictUriEncode = string => encodeURIComponent(string).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result, [encode(key, options), '[', index, ']'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), '[]'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[]=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), ':list='].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), ':list=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator'\n\t\t\t\t? '[]='\n\t\t\t\t: '=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\tencode(key, options),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : (value === null ? value : decode(value, options));\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null\n\t\t\t\t\t? []\n\t\t\t\t\t: value.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], ...arrayValue];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...[accumulator[key]].flat(), value];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nexport function extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nexport function parse(query, options) {\n\toptions = {\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false,\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst returnValue = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn returnValue;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn returnValue;\n\t}\n\n\tfor (const parameter of query.split('&')) {\n\t\tif (parameter === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst parameter_ = options.decode ? parameter.replace(/\\+/g, ' ') : parameter;\n\n\t\tlet [key, value] = splitOnFirst(parameter_, '=');\n\n\t\tif (key === undefined) {\n\t\t\tkey = parameter_;\n\t\t}\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : (['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options));\n\t\tformatter(decode(key, options), value, returnValue);\n\t}\n\n\tfor (const [key, value] of Object.entries(returnValue)) {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const [key2, value2] of Object.entries(value)) {\n\t\t\t\tvalue[key2] = parseValue(value2, options);\n\t\t\t}\n\t\t} else {\n\t\t\treturnValue[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn returnValue;\n\t}\n\n\t// TODO: Remove the use of `reduce`.\n\t// eslint-disable-next-line unicorn/no-array-reduce\n\treturn (options.sort === true ? Object.keys(returnValue).sort() : Object.keys(returnValue).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = returnValue[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexport function stringify(object, options) {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = {encode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',', ...options};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key]))\n\t\t|| (options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = value;\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n}\n\nexport function parseUrl(url, options) {\n\toptions = {\n\t\tdecode: true,\n\t\t...options,\n\t};\n\n\tlet [url_, hash] = splitOnFirst(url, '#');\n\n\tif (url_ === undefined) {\n\t\turl_ = url;\n\t}\n\n\treturn {\n\t\turl: url_?.split('?')?.[0] ?? '',\n\t\tquery: parse(extract(url), options),\n\t\t...(options && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}),\n\t};\n}\n\nexport function stringifyUrl(object, options) {\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true,\n\t\t...options,\n\t};\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = extract(object.url);\n\n\tconst query = {\n\t\t...parse(queryFromUrl, {sort: false}),\n\t\t...object.query,\n\t};\n\n\tlet queryString = stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\tconst urlObjectForFragmentEncode = new URL(url);\n\t\turlObjectForFragmentEncode.hash = object.fragmentIdentifier;\n\t\thash = options[encodeFragmentIdentifier] ? urlObjectForFragmentEncode.hash : `#${object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n}\n\nexport function pick(input, filter, options) {\n\toptions = {\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false,\n\t\t...options,\n\t};\n\n\tconst {url, query, fragmentIdentifier} = parseUrl(input, options);\n\n\treturn stringifyUrl({\n\t\turl,\n\t\tquery: includeKeys(query, filter),\n\t\tfragmentIdentifier,\n\t}, options);\n}\n\nexport function exclude(input, filter, options) {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn pick(input, exclusionFilter, options);\n}\n","import * as queryString from './base.js';\n\nexport default queryString;\n","/**\n * @copyright Copyright (c) 2022 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport Vue from 'vue'\nimport Router from 'vue-router'\nimport { generateUrl } from '@nextcloud/router'\nimport queryString from 'query-string'\n\nVue.use(Router)\n\nconst router = new Router({\n\tmode: 'history',\n\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: generateUrl('/apps/files', ''),\n\tlinkActiveClass: 'active',\n\n\troutes: [\n\t\t{\n\t\t\tpath: '/',\n\t\t\t// Pretending we're using the default view\n\t\t\talias: '/files',\n\t\t},\n\t\t{\n\t\t\tpath: '/:view/:fileid?',\n\t\t\tname: 'filelist',\n\t\t\tprops: true,\n\t\t},\n\t],\n\n\t// Custom stringifyQuery to prevent encoding of slashes in the url\n\tstringifyQuery(query) {\n\t\tconst result = queryString.stringify(query).replace(/%2F/gmi, '/')\n\t\treturn result ? ('?' + result) : ''\n\t},\n})\n\nexport default router\n","import './templates.js';\nimport './legacy/filelistSearch.js';\nimport './actions/deleteAction';\nimport './actions/openFolderAction';\nimport './actions/sidebarAction';\nimport Vue from 'vue';\nimport { createPinia, PiniaVuePlugin } from 'pinia';\nimport FilesListView from './views/FilesList.vue';\nimport NavigationService from './services/Navigation';\nimport NavigationView from './views/Navigation.vue';\nimport processLegacyFilesViews from './legacy/navigationMapper.js';\nimport registerPreviewServiceWorker from './services/ServiceWorker.js';\nimport router from './router/router.js';\nimport RouterService from './services/RouterService';\nimport SettingsModel from './models/Setting.js';\nimport SettingsService from './services/Settings.js';\n// Init private and public Files namespace\nwindow.OCA.Files = window.OCA.Files ?? {};\nwindow.OCP.Files = window.OCP.Files ?? {};\n// Expose router\nconst Router = new RouterService(router);\nObject.assign(window.OCP.Files, { Router });\n// Init Pinia store\nVue.use(PiniaVuePlugin);\nconst pinia = createPinia();\n// Init Navigation Service\nconst Navigation = new NavigationService();\nObject.assign(window.OCP.Files, { Navigation });\nVue.prototype.$navigation = Navigation;\n// Init Files App Settings Service\nconst Settings = new SettingsService();\nObject.assign(window.OCA.Files, { Settings });\nObject.assign(window.OCA.Files.Settings, { Setting: SettingsModel });\n// Init Navigation View\nconst View = Vue.extend(NavigationView);\nconst FilesNavigationRoot = new View({\n name: 'FilesNavigationRoot',\n propsData: {\n Navigation,\n },\n router,\n pinia,\n});\nFilesNavigationRoot.$mount('#app-navigation-files');\n// Init content list view\nconst ListView = Vue.extend(FilesListView);\nconst FilesList = new ListView({\n name: 'FilesListRoot',\n router,\n pinia,\n});\nFilesList.$mount('#app-content-vue');\n// Init legacy and new files views\nprocessLegacyFilesViews();\n// Register preview service worker\nregisterPreviewServiceWorker();\n","export default class RouterService {\n _router;\n constructor(router) {\n this._router = router;\n }\n /**\n * Trigger a route change on the files app\n *\n * @param path the url path, eg: '/trashbin?dir=/Deleted'\n * @param replace replace the current history\n * @see https://router.vuejs.org/guide/essentials/navigation.html#navigate-to-a-different-location\n */\n goTo(path, replace = false) {\n return this._router.push({\n path,\n replace,\n });\n }\n /**\n * Trigger a route change on the files App\n *\n * @param name the route name\n * @param params the route parameters\n * @param query the url query parameters\n * @param replace replace the current history\n * @see https://router.vuejs.org/guide/essentials/navigation.html#navigate-to-a-different-location\n */\n goToRoute(name, params, query, replace) {\n return this._router.push({\n name,\n query,\n params,\n replace,\n });\n }\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Settings {\n\n\t_settings\n\n\tconstructor() {\n\t\tthis._settings = []\n\t\tconsole.debug('OCA.Files.Settings initialized')\n\t}\n\n\t/**\n\t * Register a new setting\n\t *\n\t * @since 19.0.0\n\t * @param {OCA.Files.Settings.Setting} view element to add to settings\n\t * @return {boolean} whether registering was successful\n\t */\n\tregister(view) {\n\t\tif (this._settings.filter(e => e.name === view.name).length > 0) {\n\t\t\tconsole.error('A setting with the same name is already registered')\n\t\t\treturn false\n\t\t}\n\t\tthis._settings.push(view)\n\t\treturn true\n\t}\n\n\t/**\n\t * All settings elements\n\t *\n\t * @return {OCA.Files.Settings.Setting[]} All currently registered settings\n\t */\n\tget settings() {\n\t\treturn this._settings\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Setting {\n\n\t_close\n\t_el\n\t_name\n\t_open\n\n\t/**\n\t * Create a new files app setting\n\t *\n\t * @since 19.0.0\n\t * @param {string} name the name of this setting\n\t * @param {object} component the component\n\t * @param {Function} component.el function that returns an unmounted dom element to be added\n\t * @param {Function} [component.open] callback for when setting is added\n\t * @param {Function} [component.close] callback for when setting is closed\n\t */\n\tconstructor(name, { el, open, close }) {\n\t\tthis._name = name\n\t\tthis._el = el\n\t\tthis._open = open\n\t\tthis._close = close\n\n\t\tif (typeof this._open !== 'function') {\n\t\t\tthis._open = () => {}\n\t\t}\n\n\t\tif (typeof this._close !== 'function') {\n\t\t\tthis._close = () => {}\n\t\t}\n\t}\n\n\tget name() {\n\t\treturn this._name\n\t}\n\n\tget el() {\n\t\treturn this._el\n\t}\n\n\tget open() {\n\t\treturn this._open\n\t}\n\n\tget close() {\n\t\treturn this._close\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nimport { generateUrl } from '@nextcloud/router'\nimport logger from '../logger.js'\n\nexport default () => {\n\tif ('serviceWorker' in navigator) {\n\t\t// Use the window load event to keep the page load performant\n\t\twindow.addEventListener('load', async () => {\n\t\t\ttry {\n\t\t\t\tconst url = generateUrl('/apps/files/preview-service-worker.js', {}, { noRewrite: true })\n\t\t\t\tconst registration = await navigator.serviceWorker.register(url, { scope: '/' })\n\t\t\t\tlogger.debug('SW registered: ', { registration })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('SW registration failed: ', { error })\n\t\t\t}\n\t\t})\n\t} else {\n\t\tlogger.debug('Service Worker is not enabled on this browser.')\n\t}\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([\"exports\"], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports);\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports);\n global.CancelablePromise = mod.exports;\n }\n})(typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : this, function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.CancelablePromise = void 0;\n _exports.cancelable = cancelable;\n _exports.default = void 0;\n _exports.isCancelablePromise = isCancelablePromise;\n\n function _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\n function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\n function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\n function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\n function _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\n function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }\n\n function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); } }\n\n function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\"); return _classApplyDescriptorGet(receiver, descriptor); }\n\n function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }\n\n function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }\n\n function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError(\"attempted to \" + action + \" private field on non-instance\"); } return privateMap.get(receiver); }\n\n function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError(\"attempted to set read only private field\"); } descriptor.value = value; } }\n\n var toStringTag = typeof Symbol !== 'undefined' ? Symbol.toStringTag : '@@toStringTag';\n\n var _internals = /*#__PURE__*/new WeakMap();\n\n var _promise = /*#__PURE__*/new WeakMap();\n\n var CancelablePromiseInternal = /*#__PURE__*/function () {\n function CancelablePromiseInternal(_ref) {\n var _ref$executor = _ref.executor,\n executor = _ref$executor === void 0 ? function () {} : _ref$executor,\n _ref$internals = _ref.internals,\n internals = _ref$internals === void 0 ? defaultInternals() : _ref$internals,\n _ref$promise = _ref.promise,\n promise = _ref$promise === void 0 ? new Promise(function (resolve, reject) {\n return executor(resolve, reject, function (onCancel) {\n internals.onCancelList.push(onCancel);\n });\n }) : _ref$promise;\n\n _classCallCheck(this, CancelablePromiseInternal);\n\n _classPrivateFieldInitSpec(this, _internals, {\n writable: true,\n value: void 0\n });\n\n _classPrivateFieldInitSpec(this, _promise, {\n writable: true,\n value: void 0\n });\n\n _defineProperty(this, toStringTag, 'CancelablePromise');\n\n this.cancel = this.cancel.bind(this);\n\n _classPrivateFieldSet(this, _internals, internals);\n\n _classPrivateFieldSet(this, _promise, promise || new Promise(function (resolve, reject) {\n return executor(resolve, reject, function (onCancel) {\n internals.onCancelList.push(onCancel);\n });\n }));\n }\n\n _createClass(CancelablePromiseInternal, [{\n key: \"then\",\n value: function then(onfulfilled, onrejected) {\n return makeCancelable(_classPrivateFieldGet(this, _promise).then(createCallback(onfulfilled, _classPrivateFieldGet(this, _internals)), createCallback(onrejected, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals));\n }\n }, {\n key: \"catch\",\n value: function _catch(onrejected) {\n return makeCancelable(_classPrivateFieldGet(this, _promise).catch(createCallback(onrejected, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals));\n }\n }, {\n key: \"finally\",\n value: function _finally(onfinally, runWhenCanceled) {\n var _this = this;\n\n if (runWhenCanceled) {\n _classPrivateFieldGet(this, _internals).onCancelList.push(onfinally);\n }\n\n return makeCancelable(_classPrivateFieldGet(this, _promise).finally(createCallback(function () {\n if (onfinally) {\n if (runWhenCanceled) {\n _classPrivateFieldGet(_this, _internals).onCancelList = _classPrivateFieldGet(_this, _internals).onCancelList.filter(function (callback) {\n return callback !== onfinally;\n });\n }\n\n return onfinally();\n }\n }, _classPrivateFieldGet(this, _internals))), _classPrivateFieldGet(this, _internals));\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n _classPrivateFieldGet(this, _internals).isCanceled = true;\n\n var callbacks = _classPrivateFieldGet(this, _internals).onCancelList;\n\n _classPrivateFieldGet(this, _internals).onCancelList = [];\n\n var _iterator = _createForOfIteratorHelper(callbacks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var callback = _step.value;\n\n if (typeof callback === 'function') {\n try {\n callback();\n } catch (err) {\n console.error(err);\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"isCanceled\",\n value: function isCanceled() {\n return _classPrivateFieldGet(this, _internals).isCanceled === true;\n }\n }]);\n\n return CancelablePromiseInternal;\n }();\n\n var CancelablePromise = /*#__PURE__*/function (_CancelablePromiseInt) {\n _inherits(CancelablePromise, _CancelablePromiseInt);\n\n var _super = _createSuper(CancelablePromise);\n\n function CancelablePromise(executor) {\n _classCallCheck(this, CancelablePromise);\n\n return _super.call(this, {\n executor: executor\n });\n }\n\n return _createClass(CancelablePromise);\n }(CancelablePromiseInternal);\n\n _exports.CancelablePromise = CancelablePromise;\n\n _defineProperty(CancelablePromise, \"all\", function all(iterable) {\n return makeAllCancelable(iterable, Promise.all(iterable));\n });\n\n _defineProperty(CancelablePromise, \"allSettled\", function allSettled(iterable) {\n return makeAllCancelable(iterable, Promise.allSettled(iterable));\n });\n\n _defineProperty(CancelablePromise, \"any\", function any(iterable) {\n return makeAllCancelable(iterable, Promise.any(iterable));\n });\n\n _defineProperty(CancelablePromise, \"race\", function race(iterable) {\n return makeAllCancelable(iterable, Promise.race(iterable));\n });\n\n _defineProperty(CancelablePromise, \"resolve\", function resolve(value) {\n return cancelable(Promise.resolve(value));\n });\n\n _defineProperty(CancelablePromise, \"reject\", function reject(reason) {\n return cancelable(Promise.reject(reason));\n });\n\n _defineProperty(CancelablePromise, \"isCancelable\", isCancelablePromise);\n\n var _default = CancelablePromise;\n _exports.default = _default;\n\n function cancelable(promise) {\n return makeCancelable(promise, defaultInternals());\n }\n\n function isCancelablePromise(promise) {\n return promise instanceof CancelablePromise || promise instanceof CancelablePromiseInternal;\n }\n\n function createCallback(onResult, internals) {\n if (onResult) {\n return function (arg) {\n if (!internals.isCanceled) {\n var result = onResult(arg);\n\n if (isCancelablePromise(result)) {\n internals.onCancelList.push(result.cancel);\n }\n\n return result;\n }\n\n return arg;\n };\n }\n }\n\n function makeCancelable(promise, internals) {\n return new CancelablePromiseInternal({\n internals: internals,\n promise: promise\n });\n }\n\n function makeAllCancelable(iterable, promise) {\n var internals = defaultInternals();\n internals.onCancelList.push(function () {\n var _iterator2 = _createForOfIteratorHelper(iterable),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var resolvable = _step2.value;\n\n if (isCancelablePromise(resolvable)) {\n resolvable.cancel();\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n });\n return new CancelablePromiseInternal({\n internals: internals,\n promise: promise\n });\n }\n\n function defaultInternals() {\n return {\n isCanceled: false,\n onCancelList: []\n };\n }\n});\n//# sourceMappingURL=CancelablePromise.js.map","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".breadcrumb[data-v-68b3b20b]{flex:1 1 100% !important;width:100%}.breadcrumb[data-v-68b3b20b] a{cursor:pointer !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/BreadCrumbs.vue\"],\"names\":[],\"mappings\":\"AACA,6BAEC,wBAAA,CACA,UAAA,CAEA,+BACC,yBAAA\",\"sourcesContent\":[\"\\n.breadcrumb {\\n\\t// Take as much space as possible\\n\\tflex: 1 1 100% !important;\\n\\twidth: 100%;\\n\\n\\t::v-deep a {\\n\\t\\tcursor: pointer !important;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-svg-icon[data-v-93e9b2f4]{display:flex;align-items:center;align-self:center;justify-content:center;justify-self:center;width:44px;height:44px;opacity:1}.custom-svg-icon[data-v-93e9b2f4] svg{height:22px;width:22px;fill:currentColor}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/CustomSvgIconRender.vue\"],\"names\":[],\"mappings\":\"AACA,kCACC,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,sBAAA,CACA,mBAAA,CACA,UAAA,CACA,WAAA,CACA,SAAA,CAEA,sCAGC,WAAA,CACA,UAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n.custom-svg-icon {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\talign-self: center;\\n\\tjustify-content: center;\\n\\tjustify-self: center;\\n\\twidth: 44px;\\n\\theight: 44px;\\n\\topacity: 1;\\n\\n\\t::v-deep svg {\\n\\t\\t// mdi icons have a size of 24px\\n\\t\\t// 22px results in roughly 16px inner size\\n\\t\\theight: 22px;\\n\\t\\twidth: 22px;\\n\\t\\tfill: currentColor;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"tr[data-v-e5a368d6]:hover,tr[data-v-e5a368d6]:focus,tr[data-v-e5a368d6]:active{background-color:var(--color-background-dark)}.files-list__row-icon-preview[data-v-e5a368d6]:not([style*=background]){background:var(--color-loading-dark)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry.vue\"],\"names\":[],\"mappings\":\"AAGC,+EAGC,6CAAA,CAKF,wEACI,oCAAA\",\"sourcesContent\":[\"\\n/* Hover effect on tbody lines only */\\ntr {\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n}\\n\\n/* Preview not loaded animation effect */\\n.files-list__row-icon-preview:not([style*='background']) {\\n background: var(--color-loading-dark);\\n\\t// animation: preview-gradient-fade 1.2s ease-in-out infinite;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"tr[data-v-e6a083be]{padding-bottom:300px;border-top:1px solid var(--color-border);background-color:rgba(0,0,0,0) !important;border-bottom:none !important}td[data-v-e6a083be]{user-select:none;color:var(--color-text-maxcontrast) !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListFooter.vue\"],\"names\":[],\"mappings\":\"AAEA,oBACC,oBAAA,CACA,wCAAA,CAEA,yCAAA,CACA,6BAAA,CAGD,oBACC,gBAAA,CAEA,8CAAA\",\"sourcesContent\":[\"\\n// Scoped row\\ntr {\\n\\tpadding-bottom: 300px;\\n\\tborder-top: 1px solid var(--color-border);\\n\\t// Prevent hover effect on the whole row\\n\\tbackground-color: transparent !important;\\n\\tborder-bottom: none !important;\\n}\\n\\ntd {\\n\\tuser-select: none;\\n\\t// Make sure the cell colors don't apply to column headers\\n\\tcolor: var(--color-text-maxcontrast) !important;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".files-list__column[data-v-76b6186a]{user-select:none;color:var(--color-text-maxcontrast) !important}.files-list__column--sortable[data-v-76b6186a]{cursor:pointer}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListHeader.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,gBAAA,CAEA,8CAAA,CAEA,+CACC,cAAA\",\"sourcesContent\":[\"\\n.files-list__column {\\n\\tuser-select: none;\\n\\t// Make sure the cell colors don't apply to column headers\\n\\tcolor: var(--color-text-maxcontrast) !important;\\n\\n\\t&--sortable {\\n\\t\\tcursor: pointer;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".files-list__row-actions-batch[data-v-03e57b1e]{flex:1 1 100% !important}.files-list__row-actions-batch[data-v-03e57b1e] .button-vue__wrapper{width:100%}.files-list__row-actions-batch[data-v-03e57b1e] .button-vue__wrapper span.button-vue__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListHeaderActions.vue\"],\"names\":[],\"mappings\":\"AACA,gDACC,wBAAA,CAGA,qEACC,UAAA,CACA,2FACC,eAAA,CACA,sBAAA,CACA,kBAAA\",\"sourcesContent\":[\"\\n.files-list__row-actions-batch {\\n\\tflex: 1 1 100% !important;\\n\\n\\t// Remove when https://github.com/nextcloud/nextcloud-vue/pull/3936 is merged\\n\\t::v-deep .button-vue__wrapper {\\n\\t\\twidth: 100%;\\n\\t\\tspan.button-vue__text {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".files-list__column-sort-button{margin:0 calc(var(--cell-margin)*-1);padding:0 4px 0 16px !important}.files-list__column-sort-button .button-vue__wrapper{flex-direction:row-reverse;width:100%}.files-list__column-sort-button .button-vue__icon{transition-timing-function:linear;transition-duration:.1s;transition-property:opacity;opacity:0}.files-list__column-sort-button .button-vue__text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list__column-sort-button--active .button-vue__icon,.files-list__column-sort-button:hover .button-vue__icon,.files-list__column-sort-button:focus .button-vue__icon,.files-list__column-sort-button:active .button-vue__icon{opacity:1 !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListHeaderButton.vue\"],\"names\":[],\"mappings\":\"AACA,gCAEC,oCAAA,CAEA,+BAAA,CAGA,qDACC,0BAAA,CAGA,UAAA,CAGD,kDACC,iCAAA,CACA,uBAAA,CACA,2BAAA,CACA,SAAA,CAID,kDACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAOA,mOACC,oBAAA\",\"sourcesContent\":[\"\\n.files-list__column-sort-button {\\n\\t// Compensate for cells margin\\n\\tmargin: 0 calc(var(--cell-margin) * -1);\\n\\t// Reverse padding\\n\\tpadding: 0 4px 0 16px !important;\\n\\n\\t// Icon after text\\n\\t.button-vue__wrapper {\\n\\t\\tflex-direction: row-reverse;\\n\\t\\t// Take max inner width for text overflow ellipsis\\n\\t\\t// Remove when https://github.com/nextcloud/nextcloud-vue/pull/3936 is merged\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t.button-vue__icon {\\n\\t\\ttransition-timing-function: linear;\\n\\t\\ttransition-duration: .1s;\\n\\t\\ttransition-property: opacity;\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t// Remove when https://github.com/nextcloud/nextcloud-vue/pull/3936 is merged\\n\\t.button-vue__text {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&--active,\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\t.button-vue__icon {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".files-list[data-v-640a8bb8]{--row-height: 55px;--cell-margin: 14px;--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);--checkbox-size: 24px;--clickable-area: 44px;--icon-preview-size: 32px;display:block;overflow:auto;height:100%}.files-list[data-v-640a8bb8] tbody,.files-list[data-v-640a8bb8] .vue-recycle-scroller__slot{display:flex;flex-direction:column;width:100%;position:relative}.files-list[data-v-640a8bb8] .vue-recycle-scroller__slot[role=thead]{position:sticky;z-index:10;top:0;height:var(--row-height);background-color:var(--color-main-background)}.files-list[data-v-640a8bb8] tr{position:absolute;display:flex;align-items:center;width:100%;border-bottom:1px solid var(--color-border)}.files-list[data-v-640a8bb8] td,.files-list[data-v-640a8bb8] th{display:flex;align-items:center;flex:0 0 auto;justify-content:left;width:var(--row-height);height:var(--row-height);margin:0;padding:0;color:var(--color-text-maxcontrast);border:none}.files-list[data-v-640a8bb8] td span,.files-list[data-v-640a8bb8] th span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list[data-v-640a8bb8] .files-list__row-checkbox{justify-content:center}.files-list[data-v-640a8bb8] .files-list__row-checkbox .checkbox-radio-switch{display:flex;justify-content:center;--icon-size: var(--checkbox-size)}.files-list[data-v-640a8bb8] .files-list__row-checkbox .checkbox-radio-switch label.checkbox-radio-switch__label{width:var(--clickable-area);height:var(--clickable-area);margin:0;padding:calc((var(--clickable-area) - var(--checkbox-size))/2)}.files-list[data-v-640a8bb8] .files-list__row-checkbox .checkbox-radio-switch .checkbox-radio-switch__icon{margin:0 !important}.files-list[data-v-640a8bb8] .files-list__row-icon{position:relative;display:flex;overflow:visible;align-items:center;flex:0 0 var(--icon-preview-size);justify-content:center;width:var(--icon-preview-size);height:100%;margin-right:var(--checkbox-padding);color:var(--color-primary-element)}.files-list[data-v-640a8bb8] .files-list__row-icon>span{justify-content:flex-start}.files-list[data-v-640a8bb8] .files-list__row-icon>span:not(.files-list__row-icon-favorite) svg{width:var(--icon-preview-size);height:var(--icon-preview-size)}.files-list[data-v-640a8bb8] .files-list__row-icon-preview{overflow:hidden;width:var(--icon-preview-size);height:var(--icon-preview-size);border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center;background-size:contain}.files-list[data-v-640a8bb8] .files-list__row-icon-favorite{position:absolute;top:4px;right:-8px;color:#fc0}.files-list[data-v-640a8bb8] .files-list__row-name{overflow:hidden;flex:1 1 auto}.files-list[data-v-640a8bb8] .files-list__row-name a{display:flex;align-items:center;width:100%;height:100%}.files-list[data-v-640a8bb8] .files-list__row-name a:focus .files-list__row-name-text,.files-list[data-v-640a8bb8] .files-list__row-name a:focus-visible .files-list__row-name-text{outline:2px solid var(--color-main-text) !important;border-radius:20px}.files-list[data-v-640a8bb8] .files-list__row-name .files-list__row-name-text{padding:5px 10px;margin-left:-10px}.files-list[data-v-640a8bb8] .files-list__row-actions{width:auto}.files-list[data-v-640a8bb8] .files-list__row-actions~td,.files-list[data-v-640a8bb8] .files-list__row-actions~th{margin:0 var(--cell-margin)}.files-list[data-v-640a8bb8] .files-list__row-actions button .button-vue__text{font-weight:normal}.files-list[data-v-640a8bb8] .files-list__row-actions button:not(:hover,:focus,:active) .button-vue__wrapper{color:var(--color-text-maxcontrast)}.files-list[data-v-640a8bb8] .files-list__row-size{justify-content:flex-end;width:calc(var(--row-height)*1.5);color:var(--color-main-text)}.files-list[data-v-640a8bb8] .files-list__row-size .files-list__column-sort-button{padding:0 16px 0 4px !important}.files-list[data-v-640a8bb8] .files-list__row-size .files-list__column-sort-button .button-vue__wrapper{flex-direction:row}.files-list[data-v-640a8bb8] .files-list__row-column-custom{width:calc(var(--row-height)*2)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListVirtual.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,kBAAA,CACA,mBAAA,CAEA,wEAAA,CACA,qBAAA,CACA,sBAAA,CACA,yBAAA,CAEA,aAAA,CACA,aAAA,CACA,WAAA,CAIC,4FACC,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,iBAAA,CAID,qEAEC,eAAA,CACA,UAAA,CACA,KAAA,CACA,wBAAA,CACA,6CAAA,CAGD,gCACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,UAAA,CACA,2CAAA,CAGD,gEACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,oBAAA,CACA,uBAAA,CACA,wBAAA,CACA,QAAA,CACA,SAAA,CACA,mCAAA,CACA,WAAA,CAKA,0EACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAIF,uDACC,sBAAA,CACA,8EACC,YAAA,CACA,sBAAA,CAEA,iCAAA,CAEA,iHACC,2BAAA,CACA,4BAAA,CACA,QAAA,CACA,8DAAA,CAGD,2GACC,mBAAA,CAKH,mDACC,iBAAA,CACA,YAAA,CACA,gBAAA,CACA,kBAAA,CAEA,iCAAA,CACA,sBAAA,CACA,8BAAA,CACA,WAAA,CAEA,oCAAA,CACA,kCAAA,CAEA,wDACC,0BAAA,CAGD,gGACC,8BAAA,CACA,+BAAA,CAGD,2DACC,eAAA,CACA,8BAAA,CACA,+BAAA,CACA,kCAAA,CACA,2BAAA,CAEA,0BAAA,CACA,uBAAA,CAGD,4DACC,iBAAA,CACA,OAAA,CACA,UAAA,CACA,UAAA,CAIF,mDAEC,eAAA,CAEA,aAAA,CAEA,qDACC,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,WAAA,CAGA,oLAEC,mDAAA,CACA,kBAAA,CAIF,8EAEC,gBAAA,CACA,iBAAA,CAIF,sDACC,UAAA,CAGA,kHAEC,2BAAA,CAIA,+EAEC,kBAAA,CAED,6GAEC,mCAAA,CAKH,mDAEC,wBAAA,CACA,iCAAA,CAEA,4BAAA,CAGA,mFACC,+BAAA,CACA,wGACC,kBAAA,CAKH,4DACC,+BAAA\",\"sourcesContent\":[\"\\n.files-list {\\n\\t--row-height: 55px;\\n\\t--cell-margin: 14px;\\n\\n\\t--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);\\n\\t--checkbox-size: 24px;\\n\\t--clickable-area: 44px;\\n\\t--icon-preview-size: 32px;\\n\\n\\tdisplay: block;\\n\\toverflow: auto;\\n\\theight: 100%;\\n\\n\\t&::v-deep {\\n\\t\\t// Table head, body and footer\\n\\t\\ttbody, .vue-recycle-scroller__slot {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\t// Necessary for virtual scrolling absolute\\n\\t\\t\\tposition: relative;\\n\\t\\t}\\n\\n\\t\\t// Table header\\n\\t\\t.vue-recycle-scroller__slot[role='thead'] {\\n\\t\\t\\t// Pinned on top when scrolling\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tz-index: 10;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\ttr {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\ttd, th {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\tjustify-content: left;\\n\\t\\t\\twidth: var(--row-height);\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\tborder: none;\\n\\n\\t\\t\\t// Columns should try to add any text\\n\\t\\t\\t// node wrapped in a span. That should help\\n\\t\\t\\t// with the ellipsis on overflow.\\n\\t\\t\\tspan {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-checkbox {\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\t.checkbox-radio-switch {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t\\t--icon-size: var(--checkbox-size);\\n\\n\\t\\t\\t\\tlabel.checkbox-radio-switch__label {\\n\\t\\t\\t\\t\\twidth: var(--clickable-area);\\n\\t\\t\\t\\t\\theight: var(--clickable-area);\\n\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\tpadding: calc((var(--clickable-area) - var(--checkbox-size)) / 2);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.checkbox-radio-switch__icon {\\n\\t\\t\\t\\t\\tmargin: 0 !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-icon {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\toverflow: visible;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\t// No shrinking or growing allowed\\n\\t\\t\\tflex: 0 0 var(--icon-preview-size);\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\theight: 100%;\\n\\t\\t\\t// Show same padding as the checkbox right padding for visual balance\\n\\t\\t\\tmargin-right: var(--checkbox-padding);\\n\\t\\t\\tcolor: var(--color-primary-element);\\n\\n\\t\\t\\t& > span {\\n\\t\\t\\t\\tjustify-content: flex-start;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&> span:not(.files-list__row-icon-favorite) svg {\\n\\t\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-preview {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t// Center and contain the preview\\n\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\tbackground-size: contain;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-favorite {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 4px;\\n\\t\\t\\t\\tright: -8px;\\n\\t\\t\\t\\tcolor: #ffcc00;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-name {\\n\\t\\t\\t// Prevent link from overflowing\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\t// Take as much space as possible\\n\\t\\t\\tflex: 1 1 auto;\\n\\n\\t\\t\\ta {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t// Fill cell height and width\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\theight: 100%;\\n\\n\\t\\t\\t\\t// Keyboard indicator a11y\\n\\t\\t\\t\\t&:focus .files-list__row-name-text,\\n\\t\\t\\t\\t&:focus-visible .files-list__row-name-text {\\n\\t\\t\\t\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t\\t\\t\\t\\tborder-radius: 20px;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t.files-list__row-name-text {\\n\\t\\t\\t\\t// Make some space for the outline\\n\\t\\t\\t\\tpadding: 5px 10px;\\n\\t\\t\\t\\tmargin-left: -10px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-actions {\\n\\t\\t\\twidth: auto;\\n\\n\\t\\t\\t// Add margin to all cells after the actions\\n\\t\\t\\t& ~ td,\\n\\t\\t\\t& ~ th {\\n\\t\\t\\t\\tmargin: 0 var(--cell-margin);\\n\\t\\t\\t}\\n\\n\\t\\t\\tbutton {\\n\\t\\t\\t\\t.button-vue__text {\\n\\t\\t\\t\\t\\t// Remove bold from default button styling\\n\\t\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:hover, :focus, :active) .button-vue__wrapper {\\n\\t\\t\\t\\t\\t// Also apply color-text-maxcontrast to non-active button\\n\\t\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-size {\\n\\t\\t\\t// Right align text\\n\\t\\t\\tjustify-content: flex-end;\\n\\t\\t\\twidth: calc(var(--row-height) * 1.5);\\n\\t\\t\\t// opacity varies with the size\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\t\\t// Icon is before text since size is right aligned\\n\\t\\t\\t.files-list__column-sort-button {\\n\\t\\t\\t\\tpadding: 0 16px 0 4px !important;\\n\\t\\t\\t\\t.button-vue__wrapper {\\n\\t\\t\\t\\t\\tflex-direction: row;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-column-custom {\\n\\t\\t\\twidth: calc(var(--row-height) * 2);\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-navigation-entry__settings-quota--not-unlimited[data-v-918797b2] .app-navigation-entry__title{margin-top:-4px}.app-navigation-entry__settings-quota progress[data-v-918797b2]{position:absolute;bottom:10px;margin-left:44px;width:calc(100% - 44px - 22px)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/NavigationQuota.vue\"],\"names\":[],\"mappings\":\"AAIC,mGACC,eAAA,CAGD,gEACC,iBAAA,CACA,WAAA,CACA,gBAAA,CACA,8BAAA\",\"sourcesContent\":[\"\\n// User storage stats display\\n.app-navigation-entry__settings-quota {\\n\\t// Align title with progress and icon\\n\\t&--not-unlimited::v-deep .app-navigation-entry__title {\\n\\t\\tmargin-top: -4px;\\n\\t}\\n\\n\\tprogress {\\n\\t\\tposition: absolute;\\n\\t\\tbottom: 10px;\\n\\t\\tmargin-left: 44px;\\n\\t\\twidth: calc(100% - 44px - 22px);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".template-picker__item[data-v-5b09ec60]{display:flex}.template-picker__label[data-v-5b09ec60]{display:flex;align-items:center;flex:1 1;flex-direction:column}.template-picker__label[data-v-5b09ec60],.template-picker__label *[data-v-5b09ec60]{cursor:pointer;user-select:none}.template-picker__label[data-v-5b09ec60]::before{display:none !important}.template-picker__preview[data-v-5b09ec60]{display:block;overflow:hidden;flex:1 1;width:var(--width);min-height:var(--height);max-height:var(--height);padding:0;border:var(--border) solid var(--color-border);border-radius:var(--border-radius-large)}input:checked+label>.template-picker__preview[data-v-5b09ec60]{border-color:var(--color-primary-element)}.template-picker__preview--failed[data-v-5b09ec60]{display:flex}.template-picker__image[data-v-5b09ec60]{max-width:100%;background-color:var(--color-main-background);object-fit:cover}.template-picker__preview--failed .template-picker__image[data-v-5b09ec60]{width:calc(var(--margin)*8);margin:auto;background-color:rgba(0,0,0,0) !important;object-fit:initial}.template-picker__title[data-v-5b09ec60]{overflow:hidden;max-width:calc(var(--width) + 4px);padding:var(--margin);white-space:nowrap;text-overflow:ellipsis}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/TemplatePreview.vue\"],\"names\":[],\"mappings\":\"AAGC,wCACC,YAAA,CAGD,yCACC,YAAA,CAEA,kBAAA,CACA,QAAA,CACA,qBAAA,CAEA,oFACC,cAAA,CACA,gBAAA,CAGD,iDACC,uBAAA,CAIF,2CACC,aAAA,CACA,eAAA,CAEA,QAAA,CACA,kBAAA,CACA,wBAAA,CACA,wBAAA,CACA,SAAA,CACA,8CAAA,CACA,wCAAA,CAEA,+DACC,yCAAA,CAGD,mDAEC,YAAA,CAIF,yCACC,cAAA,CACA,6CAAA,CAEA,gBAAA,CAID,2EACC,2BAAA,CAEA,WAAA,CACA,yCAAA,CAEA,kBAAA,CAGD,yCACC,eAAA,CAEA,kCAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n\\n.template-picker {\\n\\t&__item {\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\t// Align in the middle of the grid\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tdisplay: none !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&__preview {\\n\\t\\tdisplay: block;\\n\\t\\toverflow: hidden;\\n\\t\\t// Stretch so all entries are the same width\\n\\t\\tflex: 1 1;\\n\\t\\twidth: var(--width);\\n\\t\\tmin-height: var(--height);\\n\\t\\tmax-height: var(--height);\\n\\t\\tpadding: 0;\\n\\t\\tborder: var(--border) solid var(--color-border);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\n\\t\\tinput:checked + label > & {\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t}\\n\\n\\t\\t&--failed {\\n\\t\\t\\t// Make sure to properly center fallback icon\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\t}\\n\\n\\t&__image {\\n\\t\\tmax-width: 100%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t// Failed preview, fallback to mime icon\\n\\t&__preview--failed &__image {\\n\\t\\twidth: calc(var(--margin) * 8);\\n\\t\\t// Center mime icon\\n\\t\\tmargin: auto;\\n\\t\\tbackground-color: transparent !important;\\n\\n\\t\\tobject-fit: initial;\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\t// also count preview border\\n\\t\\tmax-width: calc(var(--width) + 2*2px);\\n\\t\\tpadding: var(--margin);\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-content[data-v-66068cbb]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}.app-content[data-v-66068cbb]:not(.app-content--hidden)+#app-content{display:none}.files-list__header[data-v-66068cbb]{display:flex;align-content:center;flex:0 0;margin:4px 4px 4px 50px}.files-list__header>*[data-v-66068cbb]{flex:0 0}.files-list__refresh-icon[data-v-66068cbb]{flex:0 0 44px;width:44px;height:44px}.files-list__loading-icon[data-v-66068cbb]{margin:auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/FilesList.vue\"],\"names\":[],\"mappings\":\"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CAIA,qEACC,YAAA,CAQD,qCACC,YAAA,CACA,oBAAA,CAEA,QAAA,CAEA,uBAAA,CACA,uCAGC,QAAA,CAGF,2CACC,aAAA,CACA,UAAA,CACA,WAAA,CAED,2CACC,WAAA\",\"sourcesContent\":[\"\\n.app-content {\\n\\t// Virtual list needs to be full height and is scrollable\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\tflex-direction: column;\\n\\tmax-height: 100%;\\n\\n\\t// TODO: remove after all legacy views are migrated\\n\\t// Hides the legacy app-content if shown view is not legacy\\n\\t&:not(&--hidden)::v-deep + #app-content {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n$margin: 4px;\\n$navigationToggleSize: 50px;\\n\\n.files-list {\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-content: center;\\n\\t\\t// Do not grow or shrink (vertically)\\n\\t\\tflex: 0 0;\\n\\t\\t// Align with the navigation toggle icon\\n\\t\\tmargin: $margin $margin $margin $navigationToggleSize;\\n\\t\\t> * {\\n\\t\\t\\t// Do not grow or shrink (horizontally)\\n\\t\\t\\t// Only the breadcrumbs shrinks\\n\\t\\t\\tflex: 0 0;\\n\\t\\t}\\n\\t}\\n\\t&__refresh-icon {\\n\\t\\tflex: 0 0 44px;\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t}\\n\\t&__loading-icon {\\n\\t\\tmargin: auto;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-navigation[data-v-657a978e] .app-navigation-entry-icon{background-repeat:no-repeat;background-position:center}.app-navigation>ul.app-navigation__list[data-v-657a978e]{padding-bottom:var(--default-grid-baseline, 4px)}.app-navigation-entry__settings[data-v-657a978e]{height:auto !important;overflow:hidden !important;padding-top:0 !important;flex:0 0 auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Navigation.vue\"],\"names\":[],\"mappings\":\"AAEA,4DACC,2BAAA,CACA,0BAAA,CAGD,yDAEC,gDAAA,CAGD,iDACC,sBAAA,CACA,0BAAA,CACA,wBAAA,CAEA,aAAA\",\"sourcesContent\":[\"\\n// TODO: remove when https://github.com/nextcloud/nextcloud-vue/pull/3539 is in\\n.app-navigation::v-deep .app-navigation-entry-icon {\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-position: center;\\n}\\n\\n.app-navigation > ul.app-navigation__list {\\n\\t// Use flex gap value for more elegant spacing\\n\\tpadding-bottom: var(--default-grid-baseline, 4px);\\n}\\n\\n.app-navigation-entry__settings {\\n\\theight: auto !important;\\n\\toverflow: hidden !important;\\n\\tpadding-top: 0 !important;\\n\\t// Prevent shrinking or growing\\n\\tflex: 0 0 auto;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".setting-link[data-v-76ca5d1f]:hover{text-decoration:underline}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Settings.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,yBAAA\",\"sourcesContent\":[\"\\n.setting-link:hover {\\n\\ttext-decoration: underline;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".templates-picker__form[data-v-d46f1dc6]{padding:calc(var(--margin)*2);padding-bottom:0}.templates-picker__form h2[data-v-d46f1dc6]{text-align:center;font-weight:bold;margin:var(--margin) 0 calc(var(--margin)*2)}.templates-picker__list[data-v-d46f1dc6]{display:grid;grid-gap:calc(var(--margin)*2);grid-auto-columns:1fr;max-width:calc(var(--fullwidth)*6);grid-template-columns:repeat(auto-fit, var(--fullwidth));grid-auto-rows:1fr;justify-content:center}.templates-picker__buttons[data-v-d46f1dc6]{display:flex;justify-content:end;padding:calc(var(--margin)*2) var(--margin);position:sticky;bottom:0;background-image:linear-gradient(0, var(--gradient-main-background))}.templates-picker__buttons button[data-v-d46f1dc6],.templates-picker__buttons input[type=submit][data-v-d46f1dc6]{height:44px}.templates-picker[data-v-d46f1dc6] .modal-container{position:relative}.templates-picker__loading[data-v-d46f1dc6]{position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;margin:0;background-color:var(--color-main-background-translucent)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/TemplatePicker.vue\"],\"names\":[],\"mappings\":\"AAEC,yCACC,6BAAA,CAEA,gBAAA,CAEA,4CACC,iBAAA,CACA,gBAAA,CACA,4CAAA,CAIF,yCACC,YAAA,CACA,8BAAA,CACA,qBAAA,CAEA,kCAAA,CACA,wDAAA,CAEA,kBAAA,CAEA,sBAAA,CAGD,4CACC,YAAA,CACA,mBAAA,CACA,2CAAA,CACA,eAAA,CACA,QAAA,CACA,oEAAA,CAEA,kHACC,WAAA,CAKF,oDACC,iBAAA,CAGD,4CACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,QAAA,CACA,yDAAA\",\"sourcesContent\":[\"\\n.templates-picker {\\n\\t&__form {\\n\\t\\tpadding: calc(var(--margin) * 2);\\n\\t\\t// Will be handled by the buttons\\n\\t\\tpadding-bottom: 0;\\n\\n\\t\\th2 {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin: var(--margin) 0 calc(var(--margin) * 2);\\n\\t\\t}\\n\\t}\\n\\n\\t&__list {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-gap: calc(var(--margin) * 2);\\n\\t\\tgrid-auto-columns: 1fr;\\n\\t\\t// We want maximum 5 columns. Putting 6 as we don't count the grid gap. So it will always be lower than 6\\n\\t\\tmax-width: calc(var(--fullwidth) * 6);\\n\\t\\tgrid-template-columns: repeat(auto-fit, var(--fullwidth));\\n\\t\\t// Make sure all rows are the same height\\n\\t\\tgrid-auto-rows: 1fr;\\n\\t\\t// Center the columns set\\n\\t\\tjustify-content: center;\\n\\t}\\n\\n\\t&__buttons {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: end;\\n\\t\\tpadding: calc(var(--margin) * 2) var(--margin);\\n\\t\\tposition: sticky;\\n\\t\\tbottom: 0;\\n\\t\\tbackground-image: linear-gradient(0, var(--gradient-main-background));\\n\\n\\t\\tbutton, input[type='submit'] {\\n\\t\\t\\theight: 44px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Make sure we're relative for the loading emptycontent on top\\n\\t::v-deep .modal-container {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__loading {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\tmargin: 0;\\n\\t\\tbackground-color: var(--color-main-background-translucent);\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n/* @keyframes preview-gradient-fade {\\n 0% {\\n opacity: 1;\\n }\\n 50% {\\n opacity: 0.5;\\n }\\n 100% {\\n opacity: 1;\\n }\\n} */\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry.vue\"],\"names\":[],\"mappings\":\";AA8mBA;;;;;;;;;;GAUA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","import { render, staticRenderFns } from \"./Folder.vue?vue&type=template&id=5c04f969&\"\nimport script from \"./Folder.vue?vue&type=script&lang=js&\"\nexport * from \"./Folder.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 2181;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2181: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(92460)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","e","t","module","exports","self","o","d","default","$","n","a","i","r","s","l","c","u","Symbol","iterator","constructor","prototype","p","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","m","arguments","length","forEach","A","getOwnPropertyDescriptors","defineProperties","defineProperty","toPrimitive","call","TypeError","String","value","configurable","writable","h","Array","isArray","g","from","toString","slice","name","test","v","f","components","NcButton","DotsHorizontal","NcPopover","props","open","type","Boolean","forceMenu","forceTitle","menuTitle","primary","validator","indexOf","defaultIcon","ariaLabel","ariaHidden","placement","boundariesElement","Element","document","querySelector","container","disabled","inline","Number","emits","data","opened","this","focusIndex","randomId","concat","Z","computed","triggerBtnType","watch","methods","isValidSingleAction","componentOptions","Ctor","extendOptions","tag","includes","openMenu","$emit","closeMenu","$refs","popover","clearFocusTrap","returnFocus","menuButton","$el","focus","onOpen","$nextTick","focusFirstAction","onMouseFocusAction","activeElement","target","closest","menu","querySelectorAll","focusAction","onKeydown","keyCode","shiftKey","focusPreviousAction","focusNextAction","focusLastAction","preventDefault","removeCurrentActive","classList","remove","add","preventIfEvent","stopPropagation","onFocus","onBlur","render","$slots","every","propsData","href","startsWith","window","location","origin","util","warn","b","C","y","k","w","S","x","j","scopedSlots","icon","class","N","listeners","click","z","children","text","trim","P","E","B","title","staticClass","attrs","ref","on","blur","slot","size","delay","handleResize","shown","boundary","popoverBaseClass","setReturnFocus","show","hide","tabindex","keydown","mousemove","id","role","map","_","styleTagTransform","setAttributes","insert","bind","domAPI","insertStyleElement","locals","T","O","D","F","G","I","undefined","nativeType","wide","to","exact","console","navigate","isActive","isExactActive","$attrs","$listeners","custom","Y","start","Date","setTimeout","pause","clearTimeout","clear","getTimeLeft","getStateRunning","hasOwnProperty","asyncIterator","toStringTag","create","arg","wrap","getPrototypeOf","_invoke","resolve","__await","then","Error","done","method","delegate","sent","_sent","dispatchException","abrupt","return","resultName","next","nextLoc","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","completion","reset","isNaN","displayName","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","AsyncIterator","async","Promise","reverse","pop","values","prev","charAt","stop","rval","complete","finish","catch","delegateYield","NcActions","ChevronLeft","ChevronRight","Close","Pause","Play","directives","tooltip","mixins","hasPrevious","hasNext","outTransition","enableSlideshow","slideshowDelay","slideshowPaused","enableSwipe","spreadNavigation","canClose","dark","closeButtonContained","additionalTrapElements","inlineActions","mc","playing","slideshowTimeout","iconSize","focusTrap","randId","internalShow","showModal","modalTransitionName","playPauseTitle","cssVariables","closeButtonAriaLabel","prevButtonAriaLabel","nextButtonAriaLabel","mask","updateContainerElements","beforeMount","addEventListener","handleKeydown","beforeDestroy","removeEventListener","off","destroy","mounted","useFocusTrap","handleSwipe","body","insertBefore","lastChild","appendChild","destroyed","previous","resetSlideshow","close","togglePlayPause","handleSlideshow","clearSlideshowTimeout","createFocusTrap","allowOutsideClick","trapStack","L","activate","deactivate","M","U","R","q","W","V","H","_self","_c","appear","rawName","expression","style","_v","_s","_e","modifiers","auto","height","width","stroke","fill","cx","cy","_t","_u","key","fn","proxy","mousedown","currentTarget","invisible","K","Dropdown","inheritAttrs","HTMLElement","SVGElement","popperContent","$focusTrap","escapeDeactivates","afterShow","afterHide","_g","_b","distance","options","themes","html","VTooltip","getGettextBuilder","detectLocale","locale","translations","Actions","Activities","Choose","Custom","Favorite","Flags","Global","Next","Objects","Open","Previous","Search","Settings","Submit","Symbols","items","pluralId","msgid","msgid_plural","msgstr","addTranslation","build","ngettext","gettext","isMobile","created","handleWindowResize","documentElement","clientWidth","$on","onIsMobileChanged","$off","Math","random","replace","setAttribute","assign","_nc_focus_trap","version","sources","names","mappings","sourcesContent","sourceRoot","join","btoa","unescape","encodeURIComponent","JSON","stringify","identifier","base","css","media","sourceMap","supports","layer","references","updater","byIndex","splice","update","HTMLIFrameElement","contentDocument","head","createElement","attributes","nc","parentNode","removeChild","styleSheet","cssText","firstChild","createTextNode","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","__esModule","get","NcModal","required","showNavigation","selectedSection","linkClicked","addedScrollListener","scroller","hasNavigation","settingsNavigationAriaLabel","updated","settingsScroller","handleScroll","getSettingsNavigation","handleSettingsNavigationClick","getElementById","scrollIntoView","behavior","handleCloseModal","scrollTop","unfocusNavigationItem","className","handleLinkKeydown","code","event","htmlId","disableDrop","hovering","crumbId","nameTitleFallback","linkAttributes","onOpenChange","dropped","$parent","dragEnter","dragLeave","contains","relatedTarget","crumb","draggable","dragstart","drop","dragover","dragenter","dragleave","_d","URL","download","rel","onClick","isIconUrl","backgroundImage","domProps","textContent","isLongText","nativeOn","before","$destroy","beforeUpdate","getText","closeAfterClick","NcActionRouter","NcActionLink","NcBreadcrumb","IconFolder","rootIcon","hiddenCrumbs","hiddenIndices","menuBreadcrumbProps","subscribe","delayedResize","delayedHideCrumbs","unsubscribe","hideCrumbs","closeActions","actionsBreadcrumb","offsetWidth","getTotalWidth","breadcrumb__actions","floor","pow","getWidth","elm","arraysEqual","sort","reduce","minWidth","dragStart","dragOver","set","round","actions","svg","cleanSvg","sanitizeSVG","innerHTML","AlertCircle","Check","label","labelOutside","labelVisible","placeholder","showTrailingButton","trailingButtonLabel","success","error","helperText","inputClass","computedId","inputName","hasLeadingIcon","hasTrailingIcon","hasPlaceholder","computedPlaceholder","isValidLabel","handleInput","handleTrailingButtonClick","for","input","max","getCurrentDirectory","_OCA","_OCA$Files","_OCA$Files$App","_OCA$Files$App$curren","currentDirInfo","OCA","Files","App","currentFileList","dirInfo","path","previewWidth","basename","checked","fileid","filename","previewUrl","hasPreview","mime","ratio","failedPreview","nameWithoutExt","split","realPreviewUrl","mimeIcon","getCurrentUser","generateUrl","pathSections","relativePath","section","encodeFilePath","OC","MimeType","getIconUrl","onCheck","onFailure","_vm","NcEmptyContent","TemplatePreview","logger","loading","provider","emptyTemplate","_this$provider","_this$provider2","mimetypes","selectedTemplate","templates","find","template","margin","border","fetchedProvider","axios","generateOcsUrl","ocs","getTemplates","app","onSubmit","currentDirectory","fileList","_this$provider3","_this$provider4","debug","extension","_this$selectedTemplat","_this$selectedTemplat2","fileInfo","filePath","templatePath","templateType","createFromTemplate","normalize","addAndFetchFileInfo","status","model","FileInfoModel","filesClient","fileAction","fileActions","getDefaultFileAction","PERMISSION_ALL","action","$file","findFileEl","dir","fileInfoModel","showError","$event","_l","getLoggerBuilder","setApp","detectUser","Vue","TemplatePickerRoot","loadState","templatesPath","TemplatePicker","TemplatePickerView","$mount","initTemplatesPlugin","attach","addMenuEntry","templateName","iconClass","fileType","actionLabel","actionHandler","initTemplatesFolder","removeMenuEntry","Plugins","register","index","newTemplatePlugin","response","copySystemTemplates","changeDirectory","template_path","FilesPlugin","_ref","query","setFilter","humanList","humanListBinary","formatFileSize","skipSmallSizes","binaryPrefixes","order","log","min","readableFormat","relativeSize","toFixed","parseFloat","toLocaleString","user","FileType","Permission","setUid","uid","FileAction","validateAction","_action","iconSvgInline","enabled","exec","execBatch","renderInline","registerFileAction","_nc_fileactions","search","getFileActions","nodes","view","node","permissions","permission","DELETE","source","emit","all","files","isDavRessource","Folder","READ","OCP","Router","goToRoute","ACTION_DETAILS","_window","_window$OCA","_window$OCA$Files","_nodes$0$root$startsW","_nodes$0$root","Sidebar","root","_window2","_window2$OCA","_window2$OCA$Files","_window2$OCA$Files$Si","_window2$OCA$Files$Si2","getTarget","navigator","isProxyAvailable","Proxy","HOOK_SETUP","supported","perf","ApiProxy","plugin","hook","targetQueue","onQueue","defaultSettings","settings","item","defaultValue","localSettingsSaveId","currentSettings","raw","localStorage","getItem","parse","fallbacks","getSettings","setSettings","setItem","now","performance","_a","perf_hooks","pluginId","proxiedOn","_target","prop","args","proxiedTarget","setupDevtoolsPlugin","pluginDescriptor","setupFn","descriptor","__VUE_DEVTOOLS_GLOBAL_HOOK__","enableProxy","enableEarlyProxy","__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__","__VUE_DEVTOOLS_PLUGINS__","activePinia","setActivePinia","pinia","piniaSymbol","isPlainObject","toJSON","MutationType","IS_CLIENT","USE_DEVTOOLS","__VUE_PROD_DEVTOOLS__","_global","global","globalThis","url","opts","xhr","XMLHttpRequest","responseType","onload","saveAs","onerror","send","corsEnabled","dispatchEvent","MouseEvent","evt","createEvent","initMouseEvent","_navigator","userAgent","isMacOSWebView","HTMLAnchorElement","blob","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","Blob","fromCharCode","bom","popup","innerText","force","isSafari","isChromeIOS","FileReader","reader","onloadend","result","readAsDataURL","toastMessage","message","piniaMessage","__VUE_DEVTOOLS_TOAST__","isPinia","checkClipboardAccess","checkNotFocusedError","toLowerCase","fileInput","formatDisplay","display","_custom","PINIA_ROOT_LABEL","PINIA_ROOT_ID","formatStoreForInspectorTree","store","$id","formatEventData","events","operations","oldValue","newValue","operation","formatMutationType","direct","patchFunction","patchObject","isTimelineActive","componentStateTypes","MUTATIONS_LAYER_ID","INSPECTOR_ID","assign$1","getStoreType","registerPiniaDevtools","logo","packageName","homepage","api","addTimelineLayer","color","addInspector","treeFilterPlaceholder","clipboard","writeText","state","actionGlobalCopyState","readText","actionGlobalPasteState","sendInspectorTree","sendInspectorState","actionGlobalSaveState","accept","reject","onchange","file","oncancel","actionGlobalOpenStateFile","nodeActions","nodeId","_isOptionsAPI","$reset","inspectComponent","payload","ctx","componentInstance","_pStores","piniaStores","instanceData","editable","toRaw","$state","_getters","getters","getInspectorTree","inspectorId","stores","rootNodes","getInspectorState","inspectedStore","storeNames","storeMap","storeId","getterName","_customProperties","customProperties","formatStoreForInspectorState","editInspectorState","unshift","has","editComponentState","activeAction","runningActionId","patchActionForGrouping","actionNames","storeActions","actionName","_actionId","trackedStore","Reflect","devtoolsPlugin","originalHotUpdate","_hotUpdate","newStore","_hmrPayload","logStoreChanges","$onAction","after","onError","groupId","addTimelineEvent","layerId","time","subtitle","logType","unref","notifyComponentUpdate","deep","$subscribe","eventData","detached","flush","hotUpdate","markRaw","info","$dispose","addStoreToDevtools","noop","addSubscription","subscriptions","callback","onCleanup","removeSubscription","idx","getCurrentScope","onScopeDispose","triggerSubscriptions","mergeReactiveObjects","patchToApply","Map","Set","subPatch","targetValue","isRef","isReactive","skipHydrateSymbol","skipHydrateMap","WeakMap","createSetupStore","setup","hot","isOptionsStore","scope","optionsForPlugin","$subscribeOptions","isListening","isSyncListening","debuggerEvents","actionSubscriptions","initialState","hotState","activeListener","$patch","partialStateOrMutator","subscriptionMutation","myListenerId","nextTick","newState","wrapAction","afterCallbackList","onErrorCallbackList","ret","partialStore","_p","stopWatcher","run","delete","_r","reactive","setupStore","effectScope","effect","obj","actionValue","nonEnumerable","extender","extensions","hydrate","defineStore","idOrOptions","setupOptions","isSetupStore","useStore","currentInstance","getCurrentInstance","inject","localState","toRefs","computedGetters","createOptionsStore","compareNumbers","numberA","numberB","compareUnicode","stringA","stringB","localeCompare","abs","RE_NUMBERS","RE_LEADING_OR_TRAILING_WHITESPACES","RE_WHITESPACES","RE_INT_OR_FLOAT","RE_DATE","RE_LEADING_ZERO","RE_UNICODE_CHARACTERS","stringCompare","normalizeAlphaChunk","chunk","parseNumber","parsedNumber","normalizeNumericChunk","chunks","createChunkMap","normalizedString","createChunkMaps","chunksMaps","createChunks","isFunction","valueOf","isNull","isObject","isSymbol","isUndefined","getMappedValueRecord","stringValue","getTime","parsedDate","_unused","parseDate","numberify","createIdentifierFn","isInteger","orderBy","collection","identifiers","orders","validatedIdentifiers","identifierList","some","getIdentifiers","validatedOrders","orderList","getOrders","identifierFns","mappedCollection","element","recordA","recordB","indexA","valuesA","indexB","valuesB","ordersLength","_result","valueA","valueB","chunksA","chunksB","lengthA","lengthB","chunkA","chunkB","compareChunks","compareOtherTypes","compareMultiple","getElementByIndex","baseOrderBy","fillColor","useFilesStore","fileStore","roots","getNode","getNodes","ids","getRoot","service","updateNodes","acc","deleteNodes","setRoot","onDeletedNode","_initialized","usePathsStore","pathsStore","paths","getPath","addPath","useSelectionStore","selected","lastSelection","lastSelectedIndex","selection","setLastIndex","viewConfig","useViewConfigStore","getConfig","onUpdate","setSortingBy","toggleSortingDirection","newDirection","sorting_direction","viewConfigStore","Home","NcBreadcrumbs","filesStore","currentView","$navigation","active","dirs","sections","$route","getDirDisplayName","getNodeFromId","getFileIdFromPath","_this$currentView","_node$attributes","fileId","_to$query","_section$to","_section$to$query","_setupProxy","isIE","initCompat","init","ua","msie","parseInt","substring","rv","edge","getInternetExplorerVersion","_h","$createElement","compareAndNotify","_w","offsetHeight","addResizeHandlers","_resizeObject","defaultView","removeResizeHandlers","_this","object","install","component","GlobalVue","use","_typeof","_defineProperties","_toConsumableArray","arr","arr2","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","deepEqual","val1","val2","VisibilityState","el","vnode","instance","Constructor","_classCallCheck","observer","frozen","createObserver","protoProps","destroyObserver","entry","once","throttle","_leading","throttleOptions","leading","timeout","lastState","currentArgs","throttled","_len","_key","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","isIntersecting","intersectionRatio","threshold","intersection","context","observe","disconnect","_ref2","_vue_visibilityState","unbind","ObserveVisibility","_ref3","directive","config","itemsLimit","keyField","direction","listTag","itemTag","simpleArray","supportsPassive","normalizeComponent","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","originalRender","existing","__vue_script__$2","ResizeObserver","itemSize","gridItems","itemSecondarySize","minItemSize","sizeField","typeField","buffer","pageMode","prerender","emitUpdate","skipHover","listClass","itemClass","pool","totalSize","ready","hoverKey","sizes","accumulator","field","current","computedMinSize","$_computedMinItemSize","updateVisibleItems","applyPageMode","handler","$_startIndex","$_endIndex","$_views","$_unusedViews","$_scrollDirty","$_lastUpdateScrollPosition","$_prerender","activated","lastPosition","scrollToPosition","removeListeners","addView","position","nonReactive","used","unuseView","fake","unusedViews","nr","unusedPool","requestAnimationFrame","continuous","$_refreshTimout","handleVisibilityChange","isVisible","boundingClientRect","checkItem","checkPositionDiff","count","views","startIndex","endIndex","visibleStartIndex","visibleEndIndex","scroll","getScroll","positionDiff","end","beforeSize","scrollHeight","afterSize","oldI","ceil","itemsLimitError","$_continuous","unusedIndex","offset","$_sortTimer","sortViews","getListenerTarget","isVertical","scrollState","bounds","getBoundingClientRect","boundsSize","top","left","innerHeight","innerWidth","clientHeight","scrollLeft","addListeners","listenerTarget","passive","scrollToItem","viewport","scrollDirection","scrollDistance","viewportEl","tagName","scrollerPosition","viewA","viewB","__vue_render__$1","_obj","_obj$1","hover","transform","mouseenter","mouseleave","notify","_withStripped","__vue_component__$2","script$1","RecycleScroller","provide","$_resizeObserver","CustomEvent","detail","contentRect","vscrollData","vscrollParent","vscrollResizeObserver","validSizes","itemsWithSize","$_undefinedMap","forceUpdate","immediate","prevActiveTop","activeTop","$_updates","$_undefinedSizes","deactivated","onScrollerResize","onScrollerVisible","getItemSize","scrollToBottom","$_scrollingToBottom","cb","__vue_script__$1","__vue_render__","resize","visible","itemWithSize","__vue_component__$1","__vue_component__","watchData","sizeDependencies","emitResize","finalActive","onDataUpdate","observeSize","unobserveSize","$_pendingVScrollUpdate","updateSize","$isServer","$_forceNextVScrollUpdate","updateWatchData","$watch","onVscrollUpdate","onVscrollUpdateSize","$_pendingSizeUpdate","computeSize","$_watchData","applySize","$set","onResize","unobserve","finalOptions","installComponents","componentsPrefix","prefix","registerComponents","getChildNodes","$placeholder","$fakeParent","nextSiblingPatched","childNodesPatched","isFrag","patchParentNode","fakeParent","parentElement","patchNextSibling","childNodes","getChildNodesWithFragments","childNodesDescriptor","Node","realChildNodes","childNode","fromParent","getTopFragment","patchChildNodes","frag","hasChildNodes","_this$frag$","getFragmentLeafNodes","_Array$prototype","hasChildInFragment","removedNode","insertBeforeNode","addPlaceholder","insertNode","insertNodes","_frag","_lastNode","removePlaceholder","append","shift","inserted","nextSibling","previousSibling","createComment","fragment","createDocumentFragment","replaceWith","htmlString","_this2","child","domify","useActionsMenuStore","userConfig","show_hidden","crop_image_previews","useUserConfigStore","userConfigStore","Function","sanitize","CustomElementRender","CustomSvgIconRender","FileIcon","FolderIcon","Fragment","NcActionButton","NcCheckboxRadioSwitch","NcLoadingIcon","StarIcon","isSizeAvailable","filesListWidth","actionsMenuStore","keyboardStore","altKey","ctrlKey","metaKey","onEvent","useKeyboardStore","selectionStore","backgroundFailed","columns","_this$$route","_this$$route$query","_this$source","_this$source$fileid","_this$source$fileid$t","sizeOpacity","linkAttrs","enabledDefaultActions","is","selectedFiles","isSelected","_this$source2","_this$source2$fileid","_this$source2$fileid$","cropPreviews","searchParams","mimeIconUrl","_window$OC","_window$OC$MimeType","_window$OC$MimeType$g","mimeType","enabledActions","enabledInlineActions","_action$inline","enabledMenuActions","openedMenu","uniqueId","charCodeAt","isFavorite","favorite","resetState","clearImg","debounceIfNotCached","_this$$el$parentNode","_this$$el$parentNode$","debounceGetPreview","debounce","fetchAndApplyPreview","onRightClick","caches","cache","match","previewPromise","CancelablePromise","onCancel","img","Image","fetchpriority","src","cancel","showSuccess","execDefaultAction","openDetailsIfAvailable","detailsAction","onSelectionChange","_this$keyboardStore","newSelectedIndex","isAlreadySelected","filesToSelect","_file$fileid","_file$fileid$toString","isMoreThanOneSelected","translate","_loading","onActionClick","opacity","column","_vm$currentView","summary","currentFolder","_this$currentView2","_this$currentFolder","total","classForColumn","_column$summary","fileListEl","$resizeObserver","filesListWidthMixin","selectedNodes","areSomeNodesLoading","selectionIds","results","failedIds","keysOrMapper","reduced","$pinia","storeKey","sortingMode","_this$getConfig","sorting_mode","defaultSortKey","isAscSorting","_this$getConfig2","toggleSortBy","MenuDown","MenuUp","filesSortingMixin","mode","sortAriaLabel","FilesListHeaderButton","FilesListHeaderActions","selectAllBind","isNoneSelected","isSomeSelected","isAllSelected","indeterminate","onToggleAll","FileEntry","FilesListHeader","FilesListFooter","summaryFile","translatePlural","summaryFolder","slots","getFileId","caption","_defineProperty","isValidNavigation","isUniqueNavigation","_views","legacy","findIndex","setActive","_currentView","getContents","string","XMLValidator","jsonObject","parser","XMLParser","isSvg","isValidColumn","emptyView","sticky","expanded","BreadCrumbs","FilesListVirtual","NcAppContent","TrashCan","promise","dirContents","_this$currentFolder2","customColumn","_children","isEmptyDir","isRefreshing","toPreviousDir","newView","oldView","fetchContent","newDir","oldDir","_this$$refs","_this$$refs$filesList","filesListVirtual","_this$currentView3","_this$promise","folder","contents","_vm$currentView2","timeoutID","_ref$noTrailing","noTrailing","_ref$noLeading","noLeading","_ref$debounceMode","debounceMode","cancelled","lastExec","clearExistingTimeout","wrapper","arguments_","elapsed","_ref2$upcomingOnly","upcomingOnly","ChartPie","NcAppNavigationItem","NcProgressBar","loadingStorageStats","storageStats","storageStatsTitle","_this$storageStats","_this$storageStats2","_this$storageStats3","usedQuotaByte","quotaByte","quota","storageStatsTooltip","relative","setInterval","throttleUpdateStorageStats","debounceUpdateStorageStats","_ref$atBegin","atBegin","updateStorageStats","_response$data","Clipboard","NcAppSettingsDialog","NcAppSettingsSection","NcInputField","Setting","_window$OCA$Files$Set","_getCurrentUser","webdavUrl","generateRemoteUrl","webdavDocs","appPasswordUrl","webdavUrlCopied","setting","onClose","setConfig","select","copyCloudId","Cog","NavigationQuota","NcAppNavigation","NcIconSvgWrapper","SettingsModal","Navigation","settingsOpened","currentViewId","_this$$route$params","params","parentViews","childViews","list","showView","onLegacyNavigationChanged","_window$OCA$Files$Sid","_window$OCA$Files$Sid2","newAppContent","Util","History","parseUrlQuery","itemId","jQuery","trigger","Event","heading","headingEl","setPageHeading","$router","onToggleExpand","isExpanded","_this$viewConfigStore","generateToNavigation","openSettings","onSettingsClose","registerLegacyView","classes","extend","encodeReserveRE","encodeReserveReplacer","commaRE","encode","str","decode","decodeURIComponent","err","castQueryParamValue","parseQuery","res","param","parts","val","stringifyQuery","trailingSlashRE","createRoute","record","redirectedFrom","router","clone","route","meta","hash","fullPath","getFullPath","matched","formatMatch","freeze","START","_stringifyQuery","isSameRoute","onlyPath","isObjectEqual","aKeys","bKeys","aVal","bVal","handleRouteEntered","instances","cbs","enteredCbs","i$1","_isBeingDestroyed","routerView","_routerViewCache","depth","inactive","_routerRoot","vnodeData","keepAlive","_directInactive","_inactive","routerViewDepth","cachedData","cachedComponent","configProps","fillPropsinData","registerRouteInstance","vm","prepatch","propsToPass","resolveProps","resolvePath","firstChar","stack","segments","segment","cleanPath","isarray","pathToRegexp_1","pathToRegexp","RegExp","groups","delimiter","optional","repeat","partial","asterisk","pattern","attachKeys","regexpToRegexp","flags","arrayToRegexp","tokensToRegExp","stringToRegexp","parse_1","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","PATH_REGEXP","tokens","defaultDelimiter","escaped","capture","group","modifier","escapeGroup","escapeString","substr","encodeURIComponentPretty","encodeURI","toUpperCase","matches","pretty","token","re","sensitive","strict","endsWithDelimiter","compile","regexpCompileCache","fillParams","routeMsg","filler","pathMatch","normalizeLocation","_normalized","params$1","rawPath","parsedPath","hashIndex","queryIndex","parsePath","basePath","extraQuery","_parseQuery","parsedQuery","resolveQuery","_Vue","Link","exactPath","activeClass","exactActiveClass","ariaCurrentValue","this$1$1","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","queryIncludes","isIncludedRoute","guardEvent","scopedSlot","$scopedSlots","$hasNormal","findAnchor","isStatic","aData","handler$1","event$1","aAttrs","defaultPrevented","button","getAttribute","inBrowser","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","parentRoute","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","alias","redirect","beforeEnter","childMatchAs","aliases","aliasRoute","createMatcher","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","aliasedMatch","aliasedRecord","addRoute","parentOrRoute","getRoutes","addRoutes","len","Time","genStateKey","getStateKey","setStateKey","positionStore","setupScroll","history","scrollRestoration","protocolAndPath","protocol","host","absolutePath","stateCopy","replaceState","handlePopState","isPop","scrollBehavior","getScrollPosition","shouldScroll","saveScrollPosition","pageXOffset","pageYOffset","isValidPosition","isNumber","normalizePosition","hashStartsWithNumberRE","selector","docRect","elRect","getElementPosition","scrollTo","supportsPushState","pushState","NavigationFailureType","redirected","aborted","duplicated","createNavigationCancelledError","createRouterError","_isRouter","propertiesToLog","isError","isNavigationFailure","errorType","runQueue","queue","step","flatMapComponents","flatten","hasSymbol","called","baseEl","normalizeBase","pending","readyCbs","readyErrorCbs","errorCbs","extractGuards","records","guards","def","guard","extractGuard","bindGuard","listen","onReady","errorCb","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","afterHooks","abort","lastRouteIndex","lastCurrentIndex","resolveQueue","extractLeaveGuards","beforeHooks","extractUpdateHooks","hasAsync","cid","resolvedDef","resolved","reason","msg","comp","createNavigationAbortedError","createNavigationRedirectedError","enterGuards","bindEnterGuard","extractEnterGuards","resolveHooks","setupListeners","teardown","cleanupListener","HTML5History","_startLocation","getLocation","expectScroll","supportsScroll","handleRoutingEvent","go","fromRoute","getCurrentLocation","pathname","pathLowerCase","baseLowerCase","HashHistory","fallback","checkFallback","ensureSlash","getHash","replaceHash","eventType","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","prototypeAccessors","$once","routeOrError","handleInitialScroll","_route","beforeEach","registerHook","beforeResolve","afterEach","back","forward","getMatchedComponents","createHref","normalizedTo","VueRouter$1","installed","isDef","registerInstance","callVal","_parentVnode","mixin","_router","defineReactive","strats","optionMergeStrategies","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","START_LOCATION","singleMatcher","multiMatcher","decodeComponents","right","splitOnFirst","separator","separatorIndex","includeKeys","predicate","ownKeys","isNullOrUndefined","strictUriEncode","encodeFragmentIdentifier","validateArrayFormatSeparator","encodedURI","replaceMap","customDecodeURIComponent","keysSorter","removeHash","hashStart","parseValue","parseNumbers","parseBooleans","extract","queryStart","arrayFormat","arrayFormatSeparator","formatter","isEncodedArray","arrayValue","flat","parserForArrayFormat","returnValue","parameter","parameter_","key2","value2","shouldFilter","skipNull","skipEmptyString","keyValueSep","encoderForArrayFormat","objectCopy","parseUrl","url_","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryString","urlObjectForFragmentEncode","pick","exclude","_window$OCP$Files","goTo","_provided","provideCache","toBeInstalled","globalProperties","createPinia","NavigationService","_settings","_name","_el","_open","_close","NavigationView","FilesListView","legacyViews","sublist","subview","processLegacyFilesViews","noRewrite","registration","serviceWorker","_exports","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","construct","sham","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_createForOfIteratorHelper","allowArrayLike","it","minLen","_arrayLikeToArray","_unsupportedIterableToArray","normalCompletion","didErr","_e2","_createClass","staticProps","_classPrivateFieldInitSpec","privateMap","privateCollection","_checkPrivateRedeclaration","_classPrivateFieldGet","receiver","_classApplyDescriptorGet","_classExtractFieldDescriptor","_classPrivateFieldSet","_classApplyDescriptorSet","cancelable","isCancelablePromise","_internals","_promise","CancelablePromiseInternal","_ref$executor","executor","_ref$internals","internals","isCanceled","onCancelList","_ref$promise","onfulfilled","onrejected","makeCancelable","createCallback","onfinally","runWhenCanceled","finally","callbacks","_step","_iterator","_CancelablePromiseInt","subClass","superClass","_inherits","_super","iterable","makeAllCancelable","allSettled","any","race","_default","onResult","_step2","_iterator2","resolvable","___CSS_LOADER_EXPORT___","parents","ps","getComputedStyle","getPropertyValue","overflow","scrollingElement","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","chunkIds","priority","notFulfilled","Infinity","fulfilled","getter","definition","nmd","baseURI","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/jest.config.js b/jest.config.ts similarity index 69% rename from jest.config.js rename to jest.config.ts index 054ea7184d157..4a3816d9da6a5 100644 --- a/jest.config.js +++ b/jest.config.ts @@ -1,4 +1,4 @@ -/* +/** * @copyright Copyright (c) 2020 Marco Ambrosini * * @author Marco Ambrosini @@ -19,42 +19,55 @@ * along with this program. If not, see . * */ +import type { Config } from 'jest' // TODO: find a way to consolidate this in one place, with webpack.common.js const ignorePatterns = [ - 'vue-material-design-icons', '@juliushaertl', - 'tributejs', + '@mdi/svg', '@nextcloud/vue', + 'ansi-regex', + 'char-regex', 'splitpanes', 'string-length', 'strip-ansi', - 'ansi-regex', - 'char-regex', + 'tributejs', + 'vue-material-design-icons', ] -module.exports = { - testMatch: ['/apps/*/src/**/*.(spec|test).(ts|js)'], - modulePathIgnorePatterns: ["/apps-extra/"], - transformIgnorePatterns: [ - 'node_modules/(?!(' + ignorePatterns.join('|') + ')/)', - ], - setupFilesAfterEnv: ['/tests/jestSetup.js'], - resetMocks: false, - collectCoverageFrom: [ - '/apps/*/src/**/*.{js,vue}', - ], +const config: Config = { + testMatch: ['/**/*.(spec|test).(ts|js)'], + + clearMocks: true, + setupFilesAfterEnv: ['/__tests__/jest-setup.ts'], testEnvironment: 'jest-environment-jsdom', + preset: 'ts-jest/presets/js-with-ts', - moduleFileExtensions: [ - 'js', - 'vue', + roots: [ + '/__mocks__', + '/__tests__', + '/apps', + '/core', ], transform: { // process `*.js` files with `babel-jest` - '.*\\.(js)$': 'babel-jest', + '^.+\\.js$': 'babel-jest', '^.+\\.vue$': '@vue/vue2-jest', }, + transformIgnorePatterns: [ + 'node_modules/(?!(' + ignorePatterns.join('|') + ')/)', + ], + + // Allow mocking svg files + moduleNameMapper: { + '^.+\\.svg(\\?raw)?$': '/__mocks__/svg.js', + }, + modulePathIgnorePatterns: [ + '/apps2/', + '/apps-extra/', + ], } + +export default config diff --git a/package-lock.json b/package-lock.json index 413174b1e53cb..4631d185b967b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -105,6 +105,7 @@ "@testing-library/user-event": "^14.4.3", "@testing-library/vue": "^5.8.3", "@types/dockerode": "^3.3.17", + "@types/jest": "^29.5.2", "@typescript-eslint/eslint-plugin": "^5.59.2", "@typescript-eslint/parser": "^5.59.5", "@vue/test-utils": "^1.3.5", @@ -128,7 +129,6 @@ "jest": "^29.0.3", "jest-environment-jsdom": "^29.5.0", "jsdoc": "^4.0.2", - "jsdom": "^22.0.0", "karma": "^6.4.2", "karma-chrome-launcher": "^3.1.1", "karma-coverage": "2.2.0", @@ -144,6 +144,7 @@ "sinon": "<= 5.0.7", "style-loader": "^3.3.1", "tar": "^6.1.15", + "ts-jest": "^29.1.0", "ts-loader": "^9.4.2", "ts-node": "^10.9.1", "tslib": "^2.5.3", @@ -4638,9 +4639,10 @@ } }, "node_modules/@types/jest": { - "version": "29.5.1", + "version": "29.5.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.2.tgz", + "integrity": "sha512-mSoZVJF5YzGVCk+FsDxzDuH7s+SCkzrgKZzf0Z0T2WudhBUPoF6ktoTPC4R0ZoCPCV5xUvuU6ias5NvxcBcMMg==", "dev": true, - "license": "MIT", "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" @@ -7039,6 +7041,18 @@ "version": "1.0.0", "license": "ISC" }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/bser": { "version": "2.1.1", "dev": true, @@ -8201,17 +8215,6 @@ "dev": true, "license": "MIT" }, - "node_modules/cssstyle": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "rrweb-cssom": "^0.6.0" - }, - "engines": { - "node": ">=14" - } - }, "node_modules/csstype": { "version": "3.1.2", "license": "MIT" @@ -8452,19 +8455,6 @@ "node": ">= 12" } }, - "node_modules/data-urls": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^12.0.0" - }, - "engines": { - "node": ">=14" - } - }, "node_modules/date-format": { "version": "4.0.14", "dev": true, @@ -15301,77 +15291,6 @@ "node": ">= 12" } }, - "node_modules/jsdom": { - "version": "22.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "abab": "^2.0.6", - "cssstyle": "^3.0.0", - "data-urls": "^4.0.0", - "decimal.js": "^10.4.3", - "domexception": "^4.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.4", - "parse5": "^7.1.2", - "rrweb-cssom": "^0.6.0", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^12.0.1", - "ws": "^8.13.0", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom/node_modules/punycode": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/jsdom/node_modules/tough-cookie": { - "version": "4.1.2", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsdom/node_modules/universalify": { - "version": "0.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/jsesc": { "version": "2.5.2", "dev": true, @@ -19863,11 +19782,6 @@ "node": ">=8" } }, - "node_modules/rrweb-cssom": { - "version": "0.6.0", - "dev": true, - "license": "MIT" - }, "node_modules/run-parallel": { "version": "1.2.0", "dev": true, @@ -21993,25 +21907,6 @@ "node": ">=6" } }, - "node_modules/tr46": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.3.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/tr46/node_modules/punycode": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/tributejs": { "version": "5.1.3", "license": "MIT" @@ -22041,6 +21936,97 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/ts-jest": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.0.tgz", + "integrity": "sha512-ZhNr7Z4PcYa+JjMl62ir+zPiNJfXJN6E8hSLnaUKhOgqcn8vb3e537cpkd0FuAfRK3sR1LSqM1MOhliXNgOFPA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/ts-jest/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/ts-loader": { "version": "9.4.2", "dev": true, @@ -23914,18 +23900,6 @@ "node": ">=12" } }, - "node_modules/whatwg-url": { - "version": "12.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "^4.1.1", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=14" - } - }, "node_modules/which": { "version": "2.0.2", "dev": true, @@ -27456,7 +27430,9 @@ } }, "@types/jest": { - "version": "29.5.1", + "version": "29.5.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.2.tgz", + "integrity": "sha512-mSoZVJF5YzGVCk+FsDxzDuH7s+SCkzrgKZzf0Z0T2WudhBUPoF6ktoTPC4R0ZoCPCV5xUvuU6ias5NvxcBcMMg==", "dev": true, "requires": { "expect": "^29.0.0", @@ -29016,6 +28992,15 @@ } } }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, "bser": { "version": "2.1.1", "dev": true, @@ -29766,13 +29751,6 @@ "version": "0.5.0", "dev": true }, - "cssstyle": { - "version": "3.0.0", - "dev": true, - "requires": { - "rrweb-cssom": "^0.6.0" - } - }, "csstype": { "version": "3.1.2" }, @@ -29933,15 +29911,6 @@ "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", "optional": true }, - "data-urls": { - "version": "4.0.0", - "dev": true, - "requires": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^12.0.0" - } - }, "date-format": { "version": "4.0.14", "dev": true @@ -34346,55 +34315,6 @@ "dev": true, "peer": true }, - "jsdom": { - "version": "22.0.0", - "dev": true, - "requires": { - "abab": "^2.0.6", - "cssstyle": "^3.0.0", - "data-urls": "^4.0.0", - "decimal.js": "^10.4.3", - "domexception": "^4.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.4", - "parse5": "^7.1.2", - "rrweb-cssom": "^0.6.0", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^12.0.1", - "ws": "^8.13.0", - "xml-name-validator": "^4.0.0" - }, - "dependencies": { - "punycode": { - "version": "2.3.0", - "dev": true - }, - "tough-cookie": { - "version": "4.1.2", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - } - }, - "universalify": { - "version": "0.2.0", - "dev": true - } - } - }, "jsesc": { "version": "2.5.2", "dev": true @@ -37253,10 +37173,6 @@ } } }, - "rrweb-cssom": { - "version": "0.6.0", - "dev": true - }, "run-parallel": { "version": "1.2.0", "dev": true, @@ -38647,19 +38563,6 @@ } } }, - "tr46": { - "version": "4.1.1", - "dev": true, - "requires": { - "punycode": "^2.3.0" - }, - "dependencies": { - "punycode": { - "version": "2.3.0", - "dev": true - } - } - }, "tributejs": { "version": "5.1.3" }, @@ -38674,6 +38577,60 @@ "trough": { "version": "2.1.0" }, + "ts-jest": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.0.tgz", + "integrity": "sha512-ZhNr7Z4PcYa+JjMl62ir+zPiNJfXJN6E8hSLnaUKhOgqcn8vb3e537cpkd0FuAfRK3sR1LSqM1MOhliXNgOFPA==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "dependencies": { + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, "ts-loader": { "version": "9.4.2", "dev": true, @@ -39873,14 +39830,6 @@ "version": "3.0.0", "dev": true }, - "whatwg-url": { - "version": "12.0.1", - "dev": true, - "requires": { - "tr46": "^4.1.1", - "webidl-conversions": "^7.0.0" - } - }, "which": { "version": "2.0.2", "dev": true, diff --git a/package.json b/package.json index e96e0fba95c1d..78367496da875 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "lint:fix": "eslint 'apps/*/src/**/*.{vue,js}' 'core/src/**/*.{vue,js}' --fix", "test": "jest", "test:watch": "jest --watch", + "test:coverage": "jest --coverage", "test:jsunit": "karma start tests/karma.config.js --single-run", "sass": "sass --style compressed --load-path core/css core/css/ $(for cssdir in $(find apps -mindepth 2 -maxdepth 2 -name \"css\"); do if ! $(git check-ignore -q $cssdir); then echo -n \"$cssdir \"; fi; done)", "sass:watch": "sass --watch --load-path core/css core/css/ $(for cssdir in $(find apps -mindepth 2 -maxdepth 2 -name \"css\"); do if ! $(git check-ignore -q $cssdir); then echo -n \"$cssdir \"; fi; done)", @@ -130,6 +131,7 @@ "@testing-library/user-event": "^14.4.3", "@testing-library/vue": "^5.8.3", "@types/dockerode": "^3.3.17", + "@types/jest": "^29.5.2", "@typescript-eslint/eslint-plugin": "^5.59.2", "@typescript-eslint/parser": "^5.59.5", "@vue/test-utils": "^1.3.5", @@ -153,7 +155,6 @@ "jest": "^29.0.3", "jest-environment-jsdom": "^29.5.0", "jsdoc": "^4.0.2", - "jsdom": "^22.0.0", "karma": "^6.4.2", "karma-chrome-launcher": "^3.1.1", "karma-coverage": "2.2.0", @@ -169,6 +170,7 @@ "sinon": "<= 5.0.7", "style-loader": "^3.3.1", "tar": "^6.1.15", + "ts-jest": "^29.1.0", "ts-loader": "^9.4.2", "ts-node": "^10.9.1", "tslib": "^2.5.3", diff --git a/tsconfig.json b/tsconfig.json index d8f4257afe497..b49d327b1a0fa 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,7 @@ "extends": "@vue/tsconfig/tsconfig.json", "include": ["./apps/**/*.ts", "./core/**/*.ts", "./*.d.ts"], "compilerOptions": { - "types": ["cypress", "node", "vue"], + "types": ["cypress", "jest", "node", "vue"], "outDir": "./dist/", "target": "ESNext", "module": "esnext",