1
|
{"version":3,"file":"settings-users-3239.js?v=ba9bd0339e56dfb2db11","mappings":"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","sources":["webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcActionButtonGroup-BND4GQdv.css","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue?vue&type=style&index=0&id=9f7a355c&prod&scoped=true&lang=scss","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcHeaderButton-Dr6MgPDQ.css","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationCaption-B-5VHm-a.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/emoji-BY_D0V5K.mjs","webpack:///nextcloud/apps/settings/src/views/UserManagementNavigation.vue?vue&type=style&index=0&id=a52e1068&prod&scoped=true&lang=scss","webpack://nextcloud/./apps/settings/src/views/UserManagement.vue?4b28","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/settings/src/components/Users/VirtualList.vue?7ade","webpack://nextcloud/./apps/settings/src/components/Users/VirtualList.vue?1915","webpack://nextcloud/./apps/settings/src/components/Users/NewUserDialog.vue?dc2d","webpack:///nextcloud/apps/settings/src/components/Users/NewUserDialog.vue","webpack:///nextcloud/apps/settings/src/components/Users/NewUserDialog.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/NewUserDialog.vue?d723","webpack://nextcloud/./apps/settings/src/components/Users/NewUserDialog.vue?64c6","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserListFooter.vue?b1db","webpack://nextcloud/./apps/settings/src/components/Users/UserListFooter.vue?b843","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserListHeader.vue?e7ff","webpack://nextcloud/./apps/settings/src/components/Users/UserListHeader.vue?758a","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?5434","webpack:///nextcloud/node_modules/@file-type/xml/lib/index.js","webpack:///nextcloud/apps/settings/src/components/Users/UserRowActions.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserRowActions.vue?vue&type=script&lang=ts","webpack:///nextcloud/node_modules/is-svg/index.js","webpack://nextcloud/./apps/settings/src/components/Users/UserRowActions.vue?3c2a","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcActionButtonGroup-BND4GQdv.css?8d5f","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcActionButtonGroup-BkU5oOmB.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcActionRadio-CodyhP86.css?a1e2","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcActionRadio-yAm71xxU.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcActionTextEditable-BflqGcjc.css?a6b9","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcActionTextEditable-a_607PST.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcAppContentDetails.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcAppContentList.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationIconBullet-CeBYVy6t.css?51a1","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcAppNavigationIconBullet.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNewItem-PE-w8y-g.css?5710","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationNewItem-DgTuysCV.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationSettings-vd47rlNY.css?c692","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationSettings-CS36ibjM.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcBlurHash-7aGtE-_T.css?9538","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Functions/preloadImage.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcBlurHash-do2wxY-0.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcCollectionList-yjTCAR46.css?52df","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcCollectionList-CdqFiw6Z.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcGuestContent-B0ivUQHg.css?0e9c","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcGuestContent.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcHeaderButton-Dr6MgPDQ.css?0c75","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcHeaderButton.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcRelatedResourcesPanel-DhStLIO2.css?1484","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcRelatedResourcesPanel-w0cVgK_u.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcSavingIndicatorIcon-nv1147dk.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcSelectUsers-BOwQNNMf.css?c520","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcSelectUsers-BYynRS17.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcSettingsInputText-Bsp_6DjJ.css?387e","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcSettingsInputText-BXbSSC7N.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Functions/isDarkTheme.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Composables/useIsDarkTheme.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/index.mjs","webpack:///nextcloud/apps/settings/src/mixins/UserRowMixin.js","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?2128","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?eb6e","webpack:///nextcloud/apps/settings/src/components/UserList.vue","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/UserList.vue?86cc","webpack://nextcloud/./apps/settings/src/components/UserList.vue?02a4","webpack://nextcloud/./apps/settings/src/components/UserList.vue?c96e","webpack:///nextcloud/apps/settings/src/views/UserManagement.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/settings/src/views/UserManagement.vue","webpack://nextcloud/./apps/settings/src/views/UserManagement.vue?c771","webpack://nextcloud/./apps/settings/src/views/UserManagement.vue?fd5a","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=54280d98&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=style&index=0&id=95190948&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcCollectionList-yjTCAR46.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcSelectUsers-BOwQNNMf.css","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcRelatedResourcesPanel-DhStLIO2.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNew-Dbo2rvXH.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationIconBullet-CeBYVy6t.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcActionRadio-CodyhP86.css","webpack:///nextcloud/apps/settings/src/service/groups.ts","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationSettings-vd47rlNY.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcSettingsInputText-Bsp_6DjJ.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcActionTextEditable-BflqGcjc.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/referencePickerModal-sscttPbK.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationCaption-DU9PxTvu.css?cd91","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcAppNavigationNew.mjs","webpack:///nextcloud/node_modules/sax/lib/sax.js","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcRichText-BWY0OxW9.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcBlurHash-7aGtE-_T.css","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNew-Dbo2rvXH.css?7340","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNewItem-PE-w8y-g.css","webpack:///nextcloud/apps/settings/src/views/UserManagementNavigation.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?da91","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?f361","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?824e","webpack:///nextcloud/apps/settings/src/components/AppNavigationGroupList.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountGroupOutline.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountGroupOutline.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/AccountGroupOutline.vue?5281","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountGroupOutline.vue?vue&type=template&id=6ffd195e","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?c689","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?7b19","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?9f48","webpack:///nextcloud/apps/settings/src/composables/useGroupsNavigation.ts","webpack:///nextcloud/apps/settings/src/components/AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppNavigationGroupList.vue?c74f","webpack:///nextcloud/apps/settings/src/views/UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/UserManagementNavigation.vue?8662","webpack://nextcloud/./apps/settings/src/views/UserManagementNavigation.vue?28b6","webpack:///nextcloud/apps/settings/src/views/UserManagement.vue?vue&type=style&index=0&id=253f9eec&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationCaption-DU9PxTvu.css","webpack:///nextcloud/apps/settings/src/components/Users/NewUserDialog.vue?vue&type=style&index=0&id=1195b9bc&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue?vue&type=style&index=0&id=34669961&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue?vue&type=style&index=0&id=db2a7c4e&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/utils/userUtils.ts","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcGuestContent-B0ivUQHg.css"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../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 * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.nc-button-group-base > div {\n text-align: center;\n color: var(--color-text-maxcontrast);\n}\n.nc-button-group-base ul.nc-button-group-content {\n display: flex;\n gap: 4px;\n justify-content: space-between;\n}\n.nc-button-group-base ul.nc-button-group-content li {\n flex: 1 1;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button {\n padding: 0 !important;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active {\n background-color: var(--color-primary-element);\n border-radius: var(--border-radius-large);\n color: var(--color-primary-element-text);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:hover, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus-within {\n background-color: var(--color-primary-element-hover);\n}\n.nc-button-group-base ul.nc-button-group-content .action-button .action-button__pressed-icon {\n display: none;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionButtonGroup-BND4GQdv.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,oCAAoC;AACtC;AACA;EACE,aAAa;EACb,QAAQ;EACR,8BAA8B;AAChC;AACA;EACE,SAAS;AACX;AACA;EACE,qBAAqB;EACrB,WAAW;EACX,aAAa;EACb,uBAAuB;AACzB;AACA;EACE,8CAA8C;EAC9C,yCAAyC;EACzC,wCAAwC;AAC1C;AACA;EACE,oDAAoD;AACtD;AACA;EACE,aAAa;AACf\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.nc-button-group-base > div {\\n text-align: center;\\n color: var(--color-text-maxcontrast);\\n}\\n.nc-button-group-base ul.nc-button-group-content {\\n display: flex;\\n gap: 4px;\\n justify-content: space-between;\\n}\\n.nc-button-group-base ul.nc-button-group-content li {\\n flex: 1 1;\\n}\\n.nc-button-group-base ul.nc-button-group-content .action-button {\\n padding: 0 !important;\\n width: 100%;\\n display: flex;\\n justify-content: center;\\n}\\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active {\\n background-color: var(--color-primary-element);\\n border-radius: var(--border-radius-large);\\n color: var(--color-primary-element-text);\\n}\\n.nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:hover, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus, .nc-button-group-base ul.nc-button-group-content .action-button.action-button--active:focus-within {\\n background-color: var(--color-primary-element-hover);\\n}\\n.nc-button-group-base ul.nc-button-group-content .action-button .action-button__pressed-icon {\\n display: none;\\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, `.dialog__note[data-v-9f7a355c]{font-weight:normal}fieldset[data-v-9f7a355c]{font-weight:bold}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserSettingsDialog.vue\"],\"names\":[],\"mappings\":\"AAEC,+BACC,kBAAA,CAIF,0BACC,gBAAA\",\"sourcesContent\":[\"\\n.dialog {\\n\\t&__note {\\n\\t\\tfont-weight: normal;\\n\\t}\\n}\\n\\nfieldset {\\n\\tfont-weight: bold;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../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 * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-20fd51f9] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n.header-menu[data-v-20fd51f9] {\n position: relative;\n width: var(--header-height);\n height: var(--header-height);\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\n --button-size: var(--header-height) !important;\n height: var(--header-height);\n opacity: 0.85;\n filter: none !important;\n color: var(--color-background-plain-text, var(--color-primary-text)) !important;\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9]:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n}\n.header-menu--opened .header-menu__trigger[data-v-20fd51f9], .header-menu__trigger[data-v-20fd51f9]:hover, .header-menu__trigger[data-v-20fd51f9]:focus, .header-menu__trigger[data-v-20fd51f9]:active {\n opacity: 1;\n}\n@media only screen and (max-width: 512px) {\n.header-menu[data-v-20fd51f9] {\n width: var(--default-clickable-area);\n}\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\n --button-size: var(--default-clickable-area) !important;\n}\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcHeaderButton-Dr6MgPDQ.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,2BAA2B;EAC3B,4BAA4B;AAC9B;AACA;EACE,8CAA8C;EAC9C,4BAA4B;EAC5B,aAAa;EACb,uBAAuB;EACvB,+EAA+E;AACjF;AACA;EACE,wBAAwB;EACxB,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;AACA;IACI,oCAAoC;AACxC;AACA;IACI,uDAAuD;AAC3D;AACA\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-20fd51f9] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n/*!\\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n.header-menu[data-v-20fd51f9] {\\n position: relative;\\n width: var(--header-height);\\n height: var(--header-height);\\n}\\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\\n --button-size: var(--header-height) !important;\\n height: var(--header-height);\\n opacity: 0.85;\\n filter: none !important;\\n color: var(--color-background-plain-text, var(--color-primary-text)) !important;\\n}\\n.header-menu .header-menu__trigger[data-v-20fd51f9]:focus-visible {\\n outline: none !important;\\n box-shadow: none !important;\\n}\\n.header-menu--opened .header-menu__trigger[data-v-20fd51f9], .header-menu__trigger[data-v-20fd51f9]:hover, .header-menu__trigger[data-v-20fd51f9]:focus, .header-menu__trigger[data-v-20fd51f9]:active {\\n opacity: 1;\\n}\\n@media only screen and (max-width: 512px) {\\n.header-menu[data-v-20fd51f9] {\\n width: var(--default-clickable-area);\\n}\\n.header-menu .header-menu__trigger[data-v-20fd51f9] {\\n --button-size: var(--default-clickable-area) !important;\\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, `.user-list[data-v-21942da5]{--avatar-cell-width: 48px;--cell-padding: 7px;--cell-width: 200px;--cell-width-large: 300px;--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1);display:block;overflow:auto;height:100%;will-change:scroll-position}.user-list__header[data-v-21942da5],.user-list__footer[data-v-21942da5]{position:sticky;display:block}.user-list__header[data-v-21942da5]{top:0;z-index:calc(var(--sticky-column-z-index) + 1)}.user-list__footer[data-v-21942da5]{inset-inline-start:0}.user-list__body[data-v-21942da5]{display:flex;flex-direction:column;width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/VirtualList.vue\"],\"names\":[],\"mappings\":\"AACA,4BACC,yBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,qEAAA,CACA,6DAAA,CAGA,aAAA,CACA,aAAA,CACA,WAAA,CACA,2BAAA,CAEA,wEAEC,eAAA,CAEA,aAAA,CAGD,oCACC,KAAA,CACA,8CAAA,CAGD,oCACC,oBAAA,CAGD,kCACC,YAAA,CACA,qBAAA,CACA,UAAA\",\"sourcesContent\":[\"\\n.user-list {\\n\\t--avatar-cell-width: 48px;\\n\\t--cell-padding: 7px;\\n\\t--cell-width: 200px;\\n\\t--cell-width-large: 300px;\\n\\t--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));\\n\\t--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1); // Keep the sticky column on top of the select dropdown\\n\\n\\t// Necessary for virtual scroll optimized rendering\\n\\tdisplay: block;\\n\\toverflow: auto;\\n\\theight: 100%;\\n\\twill-change: scroll-position;\\n\\n\\t&__header,\\n\\t&__footer {\\n\\t\\tposition: sticky;\\n\\t\\t// Fix sticky positioning in Firefox\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t&__header {\\n\\t\\ttop: 0;\\n\\t\\tz-index: calc(var(--sticky-column-z-index) + 1);\\n\\t}\\n\\n\\t&__footer {\\n\\t\\tinset-inline-start: 0;\\n\\t}\\n\\n\\t&__body {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import '../assets/NcAppNavigationCaption-DU9PxTvu.css';\nimport { N as NcActions } from \"./NcActions-CzpbMJoY.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationCaption\",\n components: {\n NcActions\n },\n inheritAttrs: false,\n props: {\n name: {\n type: String,\n required: true\n },\n /**\n * `id` to set on the inner caption\n * Can be used for connecting the `NcActionCaption` with `NcActionList` using `aria-labelledby`.\n */\n headingId: {\n type: String,\n default: null\n },\n /**\n * Enable when used as a heading\n * e.g. Before NcAppNavigationList\n */\n isHeading: {\n type: Boolean,\n default: false\n },\n /**\n * If `isHeading` is set, this defines the heading level that should be used\n */\n headingLevel: {\n type: Number,\n default: 2\n },\n /**\n * Any [NcActions](#/Components/NcActions?id=ncactions-1) prop\n */\n // Not an actual prop but needed to show in vue-styleguidist docs\n // eslint-disable-next-line\n \" \": {}\n },\n computed: {\n wrapperTag() {\n return this.isHeading ? \"div\" : \"li\";\n },\n captionTag() {\n const headingLevel = Math.max(2, this.headingLevel);\n return this.isHeading ? `h${headingLevel}` : \"span\";\n },\n // Check if the actions slot is populated\n hasActions() {\n return !!this.$slots.actions;\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(_vm.wrapperTag, { tag: \"component\", staticClass: \"app-navigation-caption\", class: { \"app-navigation-caption--heading\": _vm.isHeading } }, [_c(_vm.captionTag, { tag: \"component\", staticClass: \"app-navigation-caption__name\", attrs: { \"id\": _vm.headingId } }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]), _vm.hasActions ? _c(\"div\", { staticClass: \"app-navigation-caption__actions\" }, [_c(\"NcActions\", _vm._g(_vm._b({ scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"actionsTriggerIcon\")];\n }, proxy: true }], null, true) }, \"NcActions\", _vm.$attrs, false), _vm.$listeners), [_vm._t(\"actions\")], 2)], 1) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"1133b4da\"\n);\nconst NcAppNavigationCaption = __component__.exports;\nexport {\n NcAppNavigationCaption as N\n};\n//# sourceMappingURL=NcAppNavigationCaption-B-5VHm-a.mjs.map\n","import { getBuilder } from \"@nextcloud/browser-storage\";\nimport { EmojiIndex, frequently } from \"emoji-mart-vue-fast\";\nimport data from \"emoji-mart-vue-fast/data/all.json\";\nconst storage = getBuilder(\"nextcloud-vue\").persist(true).build();\nlet emojiIndex;\nvar EmojiSkinTone = /* @__PURE__ */ ((EmojiSkinTone2) => {\n EmojiSkinTone2[EmojiSkinTone2[\"Neutral\"] = 1] = \"Neutral\";\n EmojiSkinTone2[EmojiSkinTone2[\"Light\"] = 2] = \"Light\";\n EmojiSkinTone2[EmojiSkinTone2[\"MediumLight\"] = 3] = \"MediumLight\";\n EmojiSkinTone2[EmojiSkinTone2[\"Medium\"] = 4] = \"Medium\";\n EmojiSkinTone2[EmojiSkinTone2[\"MediumDark\"] = 5] = \"MediumDark\";\n EmojiSkinTone2[EmojiSkinTone2[\"Dark\"] = 6] = \"Dark\";\n return EmojiSkinTone2;\n})(EmojiSkinTone || {});\nfunction emojiSearch(query, maxResults = 10) {\n if (!emojiIndex) {\n emojiIndex = new EmojiIndex(data);\n }\n const currentSkinTone = getCurrentSkinTone();\n let results;\n if (query) {\n results = emojiIndex.search(`:${query}`, maxResults);\n if (results.length < maxResults) {\n results = results.concat(emojiIndex.search(query, maxResults - results.length));\n }\n } else {\n results = frequently.get(maxResults).map((id) => emojiIndex.emoji(id)) || [];\n }\n return results.map((emoji) => emoji.getSkin(currentSkinTone));\n}\nfunction emojiAddRecent(emojiData) {\n frequently.add(emojiData);\n}\nfunction getCurrentSkinTone() {\n const skinTone = Number.parseInt(storage.getItem(\"NcEmojiPicker::currentSkinTone\") ?? \"1\");\n return Math.min(\n Math.max(\n skinTone,\n 1\n /* Neutral */\n ),\n 6\n /* Dark */\n );\n}\nfunction setCurrentSkinTone(skinTone) {\n skinTone = Math.min(\n Math.max(\n skinTone,\n 1\n /* Neutral */\n ),\n 6\n /* Dark */\n );\n storage.setItem(\"NcEmojiPicker::currentSkinTone\", skinTone.toString());\n}\nexport {\n EmojiSkinTone as E,\n emojiAddRecent as a,\n emojiSearch as e,\n getCurrentSkinTone as g,\n setCurrentSkinTone as s\n};\n//# sourceMappingURL=emoji-BY_D0V5K.mjs.map\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, `.account-management__navigation[data-v-a52e1068] .app-navigation__body{will-change:scroll-position}.account-management__system-list[data-v-a52e1068]{height:auto !important;overflow:visible !important}.account-management__group-list[data-v-a52e1068]{height:100% !important}.account-management__settings-toggle[data-v-a52e1068]{margin-bottom:12px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/UserManagementNavigation.vue\"],\"names\":[],\"mappings\":\"AAGE,uEACC,2BAAA,CAGF,kDACC,sBAAA,CACA,2BAAA,CAGD,iDACC,sBAAA,CAGD,sDACC,kBAAA\",\"sourcesContent\":[\"\\n.account-management {\\n\\t&__navigation {\\n\\t\\t:deep(.app-navigation__body) {\\n\\t\\t\\twill-change: scroll-position;\\n\\t\\t}\\n\\t}\\n\\t&__system-list {\\n\\t\\theight: auto !important;\\n\\t\\toverflow: visible !important;\\n\\t}\\n\\n\\t&__group-list {\\n\\t\\theight: 100% !important;\\n\\t}\\n\\n\\t&__settings-toggle {\\n\\t\\tmargin-bottom: 12px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcAppContent',{attrs:{\"page-heading\":_vm.pageHeading}},[_c('UserList',{attrs:{\"selected-group\":_vm.selectedGroupDecoded,\"external-actions\":_vm.externalActions}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('table',{staticClass:\"user-list\"},[_vm._t(\"before\"),_vm._v(\" \"),_c('thead',{ref:\"thead\",staticClass:\"user-list__header\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"header\")],2),_vm._v(\" \"),_c('tbody',{staticClass:\"user-list__body\",style:(_vm.tbodyStyle)},_vm._l((_vm.renderedItems),function(item,i){return _c(_vm.dataComponent,_vm._b({key:item[_vm.dataKey],tag:\"component\",attrs:{\"user\":item,\"visible\":(i >= _vm.bufferItems || _vm.index <= _vm.bufferItems) && (i < _vm.shownItems - _vm.bufferItems)}},'component',_vm.extraProps,false))}),1),_vm._v(\" \"),_c('tfoot',{directives:[{name:\"element-visibility\",rawName:\"v-element-visibility\",value:(_vm.handleFooterVisibility),expression:\"handleFooterVisibility\"}],ref:\"tfoot\",staticClass:\"user-list__footer\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"footer\")],2)],2)\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!./VirtualList.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!./VirtualList.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!./VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./VirtualList.vue?vue&type=template&id=21942da5&scoped=true\"\nimport script from \"./VirtualList.vue?vue&type=script&lang=ts\"\nexport * from \"./VirtualList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./VirtualList.vue?vue&type=style&index=0&id=21942da5&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 \"21942da5\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcDialog',_vm._g({staticClass:\"dialog\",attrs:{\"size\":\"small\",\"name\":_vm.t('settings', 'New account'),\"out-transition\":\"\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('NcButton',{staticClass:\"dialog__submit\",attrs:{\"data-test\":\"submit\",\"form\":\"new-user-form\",\"type\":\"primary\",\"native-type\":\"submit\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add new account'))+\"\\n\\t\\t\")])]},proxy:true}])},_vm.$listeners),[_c('form',{staticClass:\"dialog__form\",attrs:{\"id\":\"new-user-form\",\"data-test\":\"form\",\"disabled\":_vm.loading.all},on:{\"submit\":function($event){$event.preventDefault();return _vm.createUser.apply(null, arguments)}}},[_c('NcTextField',{ref:\"username\",staticClass:\"dialog__item\",attrs:{\"data-test\":\"username\",\"value\":_vm.newUser.id,\"disabled\":_vm.settings.newUserGenerateUserID,\"label\":_vm.usernameLabel,\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\",\"pattern\":\"[a-zA-Z0-9 _\\\\.@\\\\-']+\",\"required\":\"\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"id\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"dialog__item\",attrs:{\"data-test\":\"displayName\",\"value\":_vm.newUser.displayName,\"label\":_vm.t('settings', 'Display name'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"displayName\", $event)}}}),_vm._v(\" \"),(!_vm.settings.newUserRequireEmail)?_c('span',{staticClass:\"dialog__hint\",attrs:{\"id\":\"password-email-hint\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Either password or email is required'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcPasswordField',{ref:\"password\",staticClass:\"dialog__item\",attrs:{\"data-test\":\"password\",\"value\":_vm.newUser.password,\"minlength\":_vm.minPasswordLength,\"maxlength\":469,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.mailAddress === '' ? _vm.t('settings', 'Password (required)') : _vm.t('settings', 'Password'),\"autocapitalize\":\"none\",\"autocomplete\":\"new-password\",\"spellcheck\":\"false\",\"required\":_vm.newUser.mailAddress === ''},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"password\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"dialog__item\",attrs:{\"data-test\":\"email\",\"type\":\"email\",\"value\":_vm.newUser.mailAddress,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail ? _vm.t('settings', 'Email (required)') : _vm.t('settings', 'Email'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\",\"required\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"mailAddress\", $event)}}}),_vm._v(\" \"),_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"data-test\":\"groups\",\"input-label\":!_vm.settings.isAdmin && !_vm.settings.isDelegatedAdmin ? _vm.t('settings', 'Member of the following groups (required)') : _vm.t('settings', 'Member of the following groups'),\"placeholder\":_vm.t('settings', 'Set account groups'),\"disabled\":_vm.loading.groups || _vm.loading.all,\"options\":_vm.availableGroups,\"value\":_vm.newUser.groups,\"label\":\"name\",\"close-on-select\":false,\"multiple\":true,\"taggable\":_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin,\"required\":!_vm.settings.isAdmin && !_vm.settings.isDelegatedAdmin,\"create-option\":(value) => ({ id: value, name: value, isCreating: true })},on:{\"search\":_vm.searchGroups,\"option:created\":_vm.createGroup,\"option:selected\":options => _vm.addGroup(options.at(-1))}})],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.t('settings', 'Admin of the following groups'),\"placeholder\":_vm.t('settings', 'Set account as admin for …'),\"disabled\":_vm.loading.groups || _vm.loading.all,\"options\":_vm.availableGroups,\"close-on-select\":false,\"multiple\":true,\"label\":\"name\"},on:{\"search\":_vm.searchGroups},model:{value:(_vm.newUser.subAdminsGroups),callback:function ($$v) {_vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)},expression:\"newUser.subAdminsGroups\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.t('settings', 'Quota'),\"placeholder\":_vm.t('settings', 'Set account quota'),\"options\":_vm.quotaOptions,\"clearable\":false,\"taggable\":true,\"create-option\":_vm.validateQuota},model:{value:(_vm.newUser.quota),callback:function ($$v) {_vm.$set(_vm.newUser, \"quota\", $$v)},expression:\"newUser.quota\"}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.t('settings', 'Language'),\"placeholder\":_vm.t('settings', 'Set default language'),\"clearable\":false,\"selectable\":option => !option.languages,\"filter-by\":_vm.languageFilterBy,\"options\":_vm.languages,\"label\":\"name\"},model:{value:(_vm.newUser.language),callback:function ($$v) {_vm.$set(_vm.newUser, \"language\", $$v)},expression:\"newUser.language\"}})],1):_vm._e(),_vm._v(\" \"),_c('div',{class:['dialog__item dialog__managers', { 'icon-loading-small': _vm.loading.manager }]},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.managerInputLabel,\"placeholder\":_vm.managerLabel,\"options\":_vm.possibleManagers,\"user-select\":true,\"label\":\"displayname\"},on:{\"search\":_vm.searchUserManager},model:{value:(_vm.newUser.manager),callback:function ($$v) {_vm.$set(_vm.newUser, \"manager\", $$v)},expression:\"newUser.manager\"}})],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<NcDialog class=\"dialog\"\n\t\tsize=\"small\"\n\t\t:name=\"t('settings', 'New account')\"\n\t\tout-transition\n\t\tv-on=\"$listeners\">\n\t\t<form id=\"new-user-form\"\n\t\t\tclass=\"dialog__form\"\n\t\t\tdata-test=\"form\"\n\t\t\t:disabled=\"loading.all\"\n\t\t\t@submit.prevent=\"createUser\">\n\t\t\t<NcTextField ref=\"username\"\n\t\t\t\tclass=\"dialog__item\"\n\t\t\t\tdata-test=\"username\"\n\t\t\t\t:value.sync=\"newUser.id\"\n\t\t\t\t:disabled=\"settings.newUserGenerateUserID\"\n\t\t\t\t:label=\"usernameLabel\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\tpattern=\"[a-zA-Z0-9 _\\.@\\-']+\"\n\t\t\t\trequired />\n\t\t\t<NcTextField class=\"dialog__item\"\n\t\t\t\tdata-test=\"displayName\"\n\t\t\t\t:value.sync=\"newUser.displayName\"\n\t\t\t\t:label=\"t('settings', 'Display name')\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tspellcheck=\"false\" />\n\t\t\t<span v-if=\"!settings.newUserRequireEmail\"\n\t\t\t\tid=\"password-email-hint\"\n\t\t\t\tclass=\"dialog__hint\">\n\t\t\t\t{{ t('settings', 'Either password or email is required') }}\n\t\t\t</span>\n\t\t\t<NcPasswordField ref=\"password\"\n\t\t\t\tclass=\"dialog__item\"\n\t\t\t\tdata-test=\"password\"\n\t\t\t\t:value.sync=\"newUser.password\"\n\t\t\t\t:minlength=\"minPasswordLength\"\n\t\t\t\t:maxlength=\"469\"\n\t\t\t\taria-describedby=\"password-email-hint\"\n\t\t\t\t:label=\"newUser.mailAddress === '' ? t('settings', 'Password (required)') : t('settings', 'Password')\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\t:required=\"newUser.mailAddress === ''\" />\n\t\t\t<NcTextField class=\"dialog__item\"\n\t\t\t\tdata-test=\"email\"\n\t\t\t\ttype=\"email\"\n\t\t\t\t:value.sync=\"newUser.mailAddress\"\n\t\t\t\taria-describedby=\"password-email-hint\"\n\t\t\t\t:label=\"newUser.password === '' || settings.newUserRequireEmail ? t('settings', 'Email (required)') : t('settings', 'Email')\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\t:required=\"newUser.password === '' || settings.newUserRequireEmail\" />\n\t\t\t<div class=\"dialog__item\">\n\t\t\t\t<NcSelect class=\"dialog__select\"\n\t\t\t\t\tdata-test=\"groups\"\n\t\t\t\t\t:input-label=\"!settings.isAdmin && !settings.isDelegatedAdmin ? t('settings', 'Member of the following groups (required)') : t('settings', 'Member of the following groups')\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set account groups')\"\n\t\t\t\t\t:disabled=\"loading.groups || loading.all\"\n\t\t\t\t\t:options=\"availableGroups\"\n\t\t\t\t\t:value=\"newUser.groups\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t:taggable=\"settings.isAdmin || settings.isDelegatedAdmin\"\n\t\t\t\t\t:required=\"!settings.isAdmin && !settings.isDelegatedAdmin\"\n\t\t\t\t\t:create-option=\"(value) => ({ id: value, name: value, isCreating: true })\"\n\t\t\t\t\t@search=\"searchGroups\"\n\t\t\t\t\t@option:created=\"createGroup\"\n\t\t\t\t\t@option:selected=\"options => addGroup(options.at(-1))\" />\n\t\t\t\t\t<!-- If user is not admin, they are a subadmin.\n\t\t\t\t\t\tSubadmins can't create users outside their groups\n\t\t\t\t\t\tTherefore, empty select is forbidden -->\n\t\t\t</div>\n\t\t\t<div class=\"dialog__item\">\n\t\t\t\t<NcSelect v-model=\"newUser.subAdminsGroups\"\n\t\t\t\t\tclass=\"dialog__select\"\n\t\t\t\t\t:input-label=\"t('settings', 'Admin of the following groups')\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set account as admin for …')\"\n\t\t\t\t\t:disabled=\"loading.groups || loading.all\"\n\t\t\t\t\t:options=\"availableGroups\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t@search=\"searchGroups\" />\n\t\t\t</div>\n\t\t\t<div class=\"dialog__item\">\n\t\t\t\t<NcSelect v-model=\"newUser.quota\"\n\t\t\t\t\tclass=\"dialog__select\"\n\t\t\t\t\t:input-label=\"t('settings', 'Quota')\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set account quota')\"\n\t\t\t\t\t:options=\"quotaOptions\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:taggable=\"true\"\n\t\t\t\t\t:create-option=\"validateQuota\" />\n\t\t\t</div>\n\t\t\t<div v-if=\"showConfig.showLanguages\"\n\t\t\t\tclass=\"dialog__item\">\n\t\t\t\t<NcSelect v-model=\"newUser.language\"\n\t\t\t\t\tclass=\"dialog__select\"\n\t\t\t\t\t:input-label=\"t('settings', 'Language')\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set default language')\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:selectable=\"option => !option.languages\"\n\t\t\t\t\t:filter-by=\"languageFilterBy\"\n\t\t\t\t\t:options=\"languages\"\n\t\t\t\t\tlabel=\"name\" />\n\t\t\t</div>\n\t\t\t<div :class=\"['dialog__item dialog__managers', { 'icon-loading-small': loading.manager }]\">\n\t\t\t\t<NcSelect v-model=\"newUser.manager\"\n\t\t\t\t\tclass=\"dialog__select\"\n\t\t\t\t\t:input-label=\"managerInputLabel\"\n\t\t\t\t\t:placeholder=\"managerLabel\"\n\t\t\t\t\t:options=\"possibleManagers\"\n\t\t\t\t\t:user-select=\"true\"\n\t\t\t\t\tlabel=\"displayname\"\n\t\t\t\t\t@search=\"searchUserManager\" />\n\t\t\t</div>\n\t\t</form>\n\n\t\t<template #actions>\n\t\t\t<NcButton class=\"dialog__submit\"\n\t\t\t\tdata-test=\"submit\"\n\t\t\t\tform=\"new-user-form\"\n\t\t\t\ttype=\"primary\"\n\t\t\t\tnative-type=\"submit\">\n\t\t\t\t{{ t('settings', 'Add new account') }}\n\t\t\t</NcButton>\n\t\t</template>\n\t</NcDialog>\n</template>\n\n<script>\nimport { formatFileSize, parseFileSize } from '@nextcloud/files'\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcDialog from '@nextcloud/vue/components/NcDialog'\nimport NcPasswordField from '@nextcloud/vue/components/NcPasswordField'\nimport NcSelect from '@nextcloud/vue/components/NcSelect'\nimport NcTextField from '@nextcloud/vue/components/NcTextField'\n\nimport { searchGroups } from '../../service/groups.ts'\nimport logger from '../../logger.ts'\n\nexport default {\n\tname: 'NewUserDialog',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcDialog,\n\t\tNcPasswordField,\n\t\tNcSelect,\n\t\tNcTextField,\n\t},\n\n\tprops: {\n\t\tloading: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\n\t\tnewUser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpossibleManagers: [],\n\t\t\t// TRANSLATORS This string describes a manager in the context of an organization\n\t\t\tmanagerInputLabel: t('settings', 'Manager'),\n\t\t\t// TRANSLATORS This string describes a manager in the context of an organization\n\t\t\tmanagerLabel: t('settings', 'Set line manager'),\n\t\t\t// Cancelable promise for search groups request\n\t\t\tpromise: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tusernameLabel() {\n\t\t\tif (this.settings.newUserGenerateUserID) {\n\t\t\t\treturn t('settings', 'Account name will be autogenerated')\n\t\t\t}\n\t\t\treturn t('settings', 'Account name (required)')\n\t\t},\n\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength\n\t\t},\n\n\t\tavailableGroups() {\n\t\t\tconst groups = (this.settings.isAdmin || this.settings.isDelegatedAdmin)\n\t\t\t\t? this.$store.getters.getSortedGroups\n\t\t\t\t: this.$store.getters.getSubAdminGroups\n\n\t\t\treturn groups.filter(group => group.id !== '__nc_internal_recent' && group.id !== 'disabled')\n\t\t},\n\n\t\tlanguages() {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: t('settings', 'Common languages'),\n\t\t\t\t\tlanguages: this.settings.languages.commonLanguages,\n\t\t\t\t},\n\t\t\t\t...this.settings.languages.commonLanguages,\n\t\t\t\t{\n\t\t\t\t\tname: t('settings', 'Other languages'),\n\t\t\t\t\tlanguages: this.settings.languages.otherLanguages,\n\t\t\t\t},\n\t\t\t\t...this.settings.languages.otherLanguages,\n\t\t\t]\n\t\t},\n\t},\n\n\tasync beforeMount() {\n\t\tawait this.searchUserManager()\n\t},\n\n\tmounted() {\n\t\tthis.$refs.username?.focus?.()\n\t},\n\n\tmethods: {\n\t\tasync createUser() {\n\t\t\tthis.loading.all = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addUser', {\n\t\t\t\t\tuserid: this.newUser.id,\n\t\t\t\t\tpassword: this.newUser.password,\n\t\t\t\t\tdisplayName: this.newUser.displayName,\n\t\t\t\t\temail: this.newUser.mailAddress,\n\t\t\t\t\tgroups: this.newUser.groups.map(group => group.id),\n\t\t\t\t\tsubadmin: this.newUser.subAdminsGroups.map(group => group.id),\n\t\t\t\t\tquota: this.newUser.quota.id,\n\t\t\t\t\tlanguage: this.newUser.language.code,\n\t\t\t\t\tmanager: this.newUser.manager.id,\n\t\t\t\t})\n\n\t\t\t\tthis.$emit('reset')\n\t\t\t\tthis.$refs.username?.focus?.()\n\t\t\t\tthis.$emit('closing')\n\t\t\t} catch (error) {\n\t\t\t\tthis.loading.all = false\n\t\t\t\tif (error.response && error.response.data && error.response.data.ocs && error.response.data.ocs.meta) {\n\t\t\t\t\tconst statuscode = error.response.data.ocs.meta.statuscode\n\t\t\t\t\tif (statuscode === 102) {\n\t\t\t\t\t\t// wrong username\n\t\t\t\t\t\tthis.$refs.username?.focus?.()\n\t\t\t\t\t} else if (statuscode === 107) {\n\t\t\t\t\t\t// wrong password\n\t\t\t\t\t\tthis.$refs.password?.focus?.()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tasync searchGroups(query, toggleLoading) {\n\t\t\tif (!this.settings.isAdmin && !this.settings.isDelegatedAdmin) {\n\t\t\t\t// managers cannot search for groups\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.promise) {\n\t\t\t\tthis.promise.cancel()\n\t\t\t}\n\t\t\ttoggleLoading(true)\n\t\t\ttry {\n\t\t\t\tthis.promise = searchGroups({\n\t\t\t\t\tsearch: query,\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tlimit: 25,\n\t\t\t\t})\n\t\t\t\tconst groups = await this.promise\n\t\t\t\t// Populate store from server request\n\t\t\t\tfor (const group of groups) {\n\t\t\t\t\tthis.$store.commit('addGroup', group)\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to search groups'), { error })\n\t\t\t}\n\t\t\tthis.promise = null\n\t\t\ttoggleLoading(false)\n\t\t},\n\n\t\t/**\n\t\t * Create a new group\n\t\t *\n\t\t * @param {any} group Group\n\t\t * @param {string} group.name Group id\n\t\t */\n\t\tasync createGroup({ name: gid }) {\n\t\t\tthis.loading.groups = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addGroup', gid)\n\t\t\t\tthis.newUser.groups.push({ id: gid, name: gid })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to create group'), { error })\n\t\t\t}\n\t\t\tthis.loading.groups = false\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync addGroup(group) {\n\t\t\tif (group.isCreating) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (group.canAdd === false) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.newUser.groups.push(group)\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t *\n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @return {object}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tconst validQuota = OC.Util.computerFileSize(quota)\n\t\t\tif (validQuota !== null && validQuota >= 0) {\n\t\t\t\t// unify format output\n\t\t\t\tquota = formatFileSize(parseFileSize(quota, true))\n\t\t\t\tthis.newUser.quota = { id: quota, label: quota }\n\t\t\t\treturn this.newUser.quota\n\t\t\t}\n\t\t\t// Default is unlimited\n\t\t\tthis.newUser.quota = this.quotaOptions[0]\n\t\t\treturn this.quotaOptions[0]\n\t\t},\n\n\t\tlanguageFilterBy(option, label, search) {\n\t\t\t// Show group header of the language\n\t\t\tif (option.languages) {\n\t\t\t\treturn option.languages.some(\n\t\t\t\t\t({ name }) => name.toLocaleLowerCase().includes(search.toLocaleLowerCase()),\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn (label || '').toLocaleLowerCase().includes(search.toLocaleLowerCase())\n\t\t},\n\n\t\tasync searchUserManager(query) {\n\t\t\tawait this.$store.dispatch(\n\t\t\t\t'searchUsers',\n\t\t\t\t{\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tlimit: 10,\n\t\t\t\t\tsearch: query,\n\t\t\t\t},\n\t\t\t).then(response => {\n\t\t\t\tconst users = response?.data ? Object.values(response?.data.ocs.data.users) : []\n\t\t\t\tif (users.length > 0) {\n\t\t\t\t\tthis.possibleManagers = users\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.dialog {\n\t&__form {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 0 8px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__item {\n\t\twidth: 100%;\n\n\t\t&:not(:focus):not(:active) {\n\t\t\tborder-color: var(--color-border-dark);\n\t\t}\n\t}\n\n\t&__hint {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-top: 8px;\n\t\talign-self: flex-start;\n\t}\n\n\t&__label {\n\t\tdisplay: block;\n\t\tpadding: 4px 0;\n\t}\n\n\t&__select {\n\t\twidth: 100%;\n\t}\n\n\t&__managers {\n\t\tmargin-bottom: 12px;\n\t}\n\n\t&__submit {\n\t\tmargin-top: 4px;\n\t\tmargin-bottom: 8px;\n\t}\n\n\t:deep {\n\t\t.dialog__actions {\n\t\t\tmargin: auto;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserDialog.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!./NewUserDialog.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!./NewUserDialog.vue?vue&type=style&index=0&id=1195b9bc&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./NewUserDialog.vue?vue&type=style&index=0&id=1195b9bc&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NewUserDialog.vue?vue&type=template&id=1195b9bc&scoped=true\"\nimport script from \"./NewUserDialog.vue?vue&type=script&lang=js\"\nexport * from \"./NewUserDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./NewUserDialog.vue?vue&type=style&index=0&id=1195b9bc&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 \"1195b9bc\",\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!./UserListFooter.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!./UserListFooter.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"footer\"},[_c('th',{attrs:{\"scope\":\"row\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--loading\"},[(_vm.loading)?_c('NcLoadingIcon',{attrs:{\"title\":_vm.t('settings', 'Loading accounts …'),\"size\":32}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--count footer__cell--multiline\"},[_c('span',{attrs:{\"aria-describedby\":\"user-count-desc\"}},[_vm._v(_vm._s(_vm.userCount))]),_vm._v(\" \"),_c('span',{staticClass:\"hidden-visually\",attrs:{\"id\":\"user-count-desc\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Scroll to load more rows'))+\"\\n\\t\\t\")])])])\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!./UserListFooter.vue?vue&type=style&index=0&id=db2a7c4e&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./UserListFooter.vue?vue&type=style&index=0&id=db2a7c4e&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListFooter.vue?vue&type=template&id=db2a7c4e&scoped=true\"\nimport script from \"./UserListFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./UserListFooter.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserListFooter.vue?vue&type=style&index=0&id=db2a7c4e&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 \"db2a7c4e\",\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!./UserListHeader.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!./UserListHeader.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"header\"},[_c('th',{staticClass:\"header__cell header__cell--avatar\",attrs:{\"data-cy-user-list-header-avatar\":\"\",\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Avatar'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--displayname\",attrs:{\"data-cy-user-list-header-displayname\":\"\",\"scope\":\"col\"}},[_c('strong',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Display name'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--username\",attrs:{\"data-cy-user-list-header-username\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Account name'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",class:{ 'header__cell--obfuscated': _vm.hasObfuscated },attrs:{\"data-cy-user-list-header-password\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.passwordLabel))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-email\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Email')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-groups\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Groups')))])]),_vm._v(\" \"),(_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-subadmins\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Group admin for')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-quota\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Quota')))])]),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-languages\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Language')))])]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-storage-location\":\"\",\"scope\":\"col\"}},[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Account backend'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"header__subtitle\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Storage location'))+\"\\n\\t\\t\")]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showFirstLogin)?_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-first-login\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'First login')))])]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-last-login\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Last login')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large header__cell--fill\",attrs:{\"data-cy-user-list-header-manager\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Manager')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--actions\",attrs:{\"data-cy-user-list-header-actions\":\"\",\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Account actions'))+\"\\n\\t\\t\")])])])\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!./UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListHeader.vue?vue&type=template&id=5c0f8828&scoped=true\"\nimport script from \"./UserListHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./UserListHeader.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&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 \"5c0f8828\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('tr',{staticClass:\"user-list__row\",attrs:{\"data-cy-user-row\":_vm.user.id}},[_c('td',{staticClass:\"row__cell row__cell--avatar\",attrs:{\"data-cy-user-list-cell-avatar\":\"\"}},[(_vm.isLoadingUser)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading account …'),\"size\":32}}):(_vm.visible)?_c('NcAvatar',{attrs:{\"disable-menu\":\"\",\"show-user-status\":false,\"user\":_vm.user.id}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--displayname\",attrs:{\"data-cy-user-list-cell-displayname\":\"\"}},[(_vm.editing && _vm.user.backendCapabilities.setDisplayName)?[_c('NcTextField',{ref:\"displayNameField\",staticClass:\"user-row-text-field\",class:{ 'icon-loading-small': _vm.loading.displayName },attrs:{\"data-cy-user-list-input-displayname\":\"\",\"data-loading\":_vm.loading.displayName || undefined,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.displayName || _vm.isLoadingField,\"label\":_vm.t('settings', 'Change display name'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedDisplayName,\"autocapitalize\":\"off\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){_vm.editedDisplayName=$event},\"trailing-button-click\":_vm.updateDisplayName}})]:(!_vm.isObfuscated)?_c('strong',{attrs:{\"title\":_vm.user.displayname?.length > 20 ? _vm.user.displayname : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.displayname)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--username\",attrs:{\"data-cy-user-list-cell-username\":\"\"}},[_c('span',{staticClass:\"row__subtitle\"},[_vm._v(_vm._s(_vm.user.id))])]),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",class:{ 'row__cell--obfuscated': _vm.hasObfuscated },attrs:{\"data-cy-user-list-cell-password\":\"\"}},[(_vm.editing && _vm.settings.canChangePassword && _vm.user.backendCapabilities.setPassword)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.password},attrs:{\"data-cy-user-list-input-password\":\"\",\"data-loading\":_vm.loading.password || undefined,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.password || _vm.isLoadingField,\"minlength\":_vm.minPasswordLength,\"maxlength\":\"469\",\"label\":_vm.t('settings', 'Set new password'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedPassword,\"autocapitalize\":\"off\",\"autocomplete\":\"new-password\",\"required\":\"\",\"spellcheck\":\"false\",\"type\":\"password\"},on:{\"update:value\":function($event){_vm.editedPassword=$event},\"trailing-button-click\":_vm.updatePassword}})]:(_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You do not have permissions to see the details of this account'))+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-email\":\"\"}},[(_vm.editing)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.mailAddress},attrs:{\"data-cy-user-list-input-email\":\"\",\"data-loading\":_vm.loading.mailAddress || undefined,\"show-trailing-button\":true,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"label\":_vm.t('settings', 'Set new email address'),\"disabled\":_vm.loading.mailAddress || _vm.isLoadingField,\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedMail,\"autocapitalize\":\"off\",\"autocomplete\":\"email\",\"spellcheck\":\"false\",\"type\":\"email\"},on:{\"update:value\":function($event){_vm.editedMail=$event},\"trailing-button-click\":_vm.updateEmail}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.user.email?.length > 20 ? _vm.user.email : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.email)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-cy-user-list-cell-groups\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'groups' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add account to group'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"data-cy-user-list-input-groups\":\"\",\"data-loading\":_vm.loading.groups || undefined,\"input-id\":'groups' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField || _vm.loading.groupsDetails,\"loading\":_vm.loading.groups,\"multiple\":true,\"append-to-body\":false,\"options\":_vm.availableGroups,\"placeholder\":_vm.t('settings', 'Add account to group'),\"taggable\":_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin,\"value\":_vm.userGroups,\"label\":\"name\",\"no-wrap\":true,\"create-option\":(value) => ({ id: value, name: value, isCreating: true })},on:{\"search\":_vm.searchGroups,\"option:created\":_vm.createGroup,\"option:selected\":options => _vm.addUserGroup(options.at(-1)),\"option:deselected\":_vm.removeUserGroup}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userGroupsLabels?.length > 40 ? _vm.userGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),(_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin)?_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-cy-user-list-cell-subadmins\":\"\"}},[(_vm.editing && (_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin))?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'subadmins' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set account as admin for'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"data-cy-user-list-input-subadmins\":\"\",\"data-loading\":_vm.loading.subadmins || undefined,\"input-id\":'subadmins' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField || _vm.loading.subAdminGroupsDetails,\"loading\":_vm.loading.subadmins,\"label\":\"name\",\"append-to-body\":false,\"multiple\":true,\"no-wrap\":true,\"options\":_vm.availableSubAdminGroups,\"placeholder\":_vm.t('settings', 'Set account as admin for'),\"value\":_vm.userSubAdminGroups},on:{\"search\":_vm.searchGroups,\"option:deselected\":_vm.removeUserSubAdmin,\"option:selected\":options => _vm.addUserSubAdmin(options.at(-1))}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userSubAdminGroupsLabels?.length > 40 ? _vm.userSubAdminGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userSubAdminGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-quota\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'quota' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Select account quota'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"close-on-select\":true,\"create-option\":_vm.validateQuota,\"data-cy-user-list-input-quota\":\"\",\"data-loading\":_vm.loading.quota || undefined,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.quota,\"append-to-body\":false,\"clearable\":false,\"input-id\":'quota' + _vm.uniqueId,\"options\":_vm.quotaOptions,\"placeholder\":_vm.t('settings', 'Select account quota'),\"taggable\":true},on:{\"option:selected\":_vm.setUserQuota},model:{value:(_vm.editedUserQuota),callback:function ($$v) {_vm.editedUserQuota=$$v},expression:\"editedUserQuota\"}})]:(!_vm.isObfuscated)?[_c('span',{attrs:{\"id\":'quota-progress' + _vm.uniqueId}},[_vm._v(_vm._s(_vm.userQuota)+\" (\"+_vm._s(_vm.usedSpace)+\")\")]),_vm._v(\" \"),_c('NcProgressBar',{staticClass:\"row__progress\",class:{\n\t\t\t\t\t'row__progress--warn': _vm.usedQuota > 80,\n\t\t\t\t},attrs:{\"aria-labelledby\":'quota-progress' + _vm.uniqueId,\"value\":_vm.usedQuota}})]:_vm._e()],2),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-cy-user-list-cell-language\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'language' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set the language'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"id\":'language' + _vm.uniqueId,\"data-cy-user-list-input-language\":\"\",\"data-loading\":_vm.loading.languages || undefined,\"allow-empty\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.languages,\"clearable\":false,\"append-to-body\":false,\"options\":_vm.availableLanguages,\"placeholder\":_vm.t('settings', 'No language set'),\"value\":_vm.userLanguage,\"label\":\"name\"},on:{\"input\":_vm.setUserLanguage}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userLanguage.name)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-cy-user-list-cell-storage-location\":\"\"}},[(!_vm.isObfuscated)?[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(_vm._s(_vm.user.backend))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"row__subtitle\",attrs:{\"title\":_vm.user.storageLocation}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.user.storageLocation)+\"\\n\\t\\t\\t\")]):_vm._e()]:_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showFirstLogin)?_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-first-login\":\"\"}},[(!_vm.isObfuscated)?_c('span',[_vm._v(_vm._s(_vm.userFirstLogin))]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('td',{staticClass:\"row__cell\",attrs:{\"title\":_vm.userLastLoginTooltip,\"data-cy-user-list-cell-last-login\":\"\"}},[(!_vm.isObfuscated)?_c('span',[_vm._v(_vm._s(_vm.userLastLogin))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--fill\",attrs:{\"data-cy-user-list-cell-manager\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'manager' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.managerLabel)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"select--fill\",attrs:{\"data-cy-user-list-input-manager\":\"\",\"data-loading\":_vm.loading.manager || undefined,\"input-id\":'manager' + _vm.uniqueId,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loadingPossibleManagers || _vm.loading.manager,\"options\":_vm.possibleManagers,\"placeholder\":_vm.managerLabel,\"label\":\"displayname\",\"filterable\":false,\"internal-search\":false,\"clearable\":true},on:{\"open\":_vm.searchInitialUserManager,\"search\":_vm.searchUserManager,\"update:model-value\":_vm.updateUserManager},model:{value:(_vm.currentManager),callback:function ($$v) {_vm.currentManager=$$v},expression:\"currentManager\"}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.manager)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--actions\",attrs:{\"data-cy-user-list-cell-actions\":\"\"}},[(_vm.visible && !_vm.isObfuscated && _vm.canEdit && !_vm.loading.all)?_c('UserRowActions',{attrs:{\"actions\":_vm.userActions,\"disabled\":_vm.isLoadingField,\"edit\":_vm.editing,\"user\":_vm.user},on:{\"update:edit\":_vm.toggleEdit}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import sax from 'sax';\nfunction startsWith(array, prefix) {\n if (prefix.length > array.length) {\n return false;\n }\n for (let i = 0; i < prefix.length; i++) {\n if (array[i] !== prefix[i]) {\n return false;\n }\n }\n return true;\n}\nfunction hasXmlTag(xmlString) {\n return /^<\\s*\\w+(?=\\s+[^<>]*=|>)/.test(xmlString);\n}\nfunction hasArrayXmlTag(array, encoding) {\n const textDecoder = new TextDecoder(encoding);\n return hasXmlTag(textDecoder.decode(array));\n}\nexport function isXml(array) {\n if (startsWith(array, [60, 63, 120, 109, 108, 32])) {\n return { xml: true, encoding: 'utf-8', offset: 0 };\n }\n if (startsWith(array, [0xEF, 0xBB, 0xBF])) { // UTF-8 BOM\n const encoding = 'utf-8';\n if (startsWith(array.subarray(3), [60, 63, 120, 109, 108, 32]) || hasArrayXmlTag(array, encoding)) {\n return { xml: true, encoding, offset: 3 };\n }\n }\n if (startsWith(array, [0xFE, 0xFF])) {\n const encoding = 'utf-16be';\n if (startsWith(array.subarray(2), [0, 60, 0, 63, 0, 120, 0, 109, 0, 108, 0, 32]) || hasArrayXmlTag(array, encoding)) {\n return { xml: true, encoding, offset: 2 };\n }\n }\n if (startsWith(array, [0xFF, 0xFE])) {\n const encoding = 'utf-16le';\n if (startsWith(array.subarray(2), [60, 0, 63, 0, 120, 0, 109, 0, 108, 0, 32, 0]) || hasArrayXmlTag(array, encoding)) {\n return { xml: true, encoding, offset: 2 };\n }\n return { xml: true, encoding: 'utf-16le', offset: 2 };\n }\n if (startsWith(array, [0, 60, 0, 63, 0, 120, 0, 109, 0, 108, 0, 32])) {\n return { xml: true, encoding: 'utf-16be', offset: 0 };\n }\n if (startsWith(array, [60, 0, 63, 0, 120, 0, 109, 0, 108, 0, 32, 0])) {\n return { xml: true, encoding: 'utf-16le', offset: 0 };\n }\n if (hasArrayXmlTag(array, 'utf-8')) {\n return { xml: true, encoding: 'utf-8', offset: 0 };\n }\n return { xml: false };\n}\n/**\n * Maps the root element namespace to corresponding file-type\n */\nconst namespaceMapping = {\n 'http://www.w3.org/2000/svg': {\n ext: 'svg',\n mime: 'image/svg+xml'\n },\n 'http://www.w3.org/1999/xhtml': {\n ext: 'xhtml',\n mime: 'application/xhtml+xml'\n },\n 'http://www.opengis.net/kml/2.2': {\n ext: 'kml',\n mime: 'application/vnd.google-earth.kml+xml'\n },\n 'http://www.opengis.net/gml': {\n ext: 'gml',\n mime: 'application/gml+xml'\n }\n};\n/**\n * Maps the root element name to corresponding file-type.\n * Used for Non-namespaced XML\n * @type {{rss: {ext: string, mime: string}}}\n */\nconst rootNameMapping = {\n rss: {\n ext: 'rss',\n mime: 'application/rss+xml'\n },\n 'score-partwise': {\n ext: 'musicxml',\n mime: 'application/vnd.recordare.musicxml+xml'\n },\n svg: {\n ext: 'svg',\n mime: 'image/svg+xml'\n }\n};\nexport class XmlTextDetector {\n constructor(options) {\n this.options = options ?? {};\n this.firstTag = true;\n this.onEnd = false;\n this.parser = sax.parser(true, { xmlns: true });\n this.nesting = 0;\n this.parser.onerror = e => {\n if (e.message.startsWith('Invalid character entity')) { // Allow entity reference\n return;\n }\n this.fileType = undefined;\n this.onEnd = true;\n };\n this.parser.onopentag = node => {\n ++this.nesting;\n if (!this.firstTag || this.onEnd) {\n return;\n }\n this.firstTag = false;\n if (node.uri) {\n // Resolve file-type boot root element namespace\n this.fileType = namespaceMapping[node.uri];\n }\n else if (node.name) {\n // Fall back on element name if there is no namespace\n this.fileType = rootNameMapping[node.name.toLowerCase()];\n }\n if (this.fileType && !this.options.fullScan) {\n this.onEnd = true;\n }\n };\n this.parser.onclosetag = () => {\n --this.nesting;\n };\n }\n write(text) {\n this.parser.write(text);\n }\n close() {\n this.parser.close();\n this.onEnd = true;\n }\n isValid() {\n return this.nesting === 0;\n }\n}\nexport const detectXml = {\n id: 'xml',\n detect: async (tokenizer) => {\n const buffer = new Uint8Array(512);\n // Increase sample size from 12 to 256.\n await tokenizer.peekBuffer(buffer, { length: 128, mayBeLess: true });\n const xmlDetection = isXml(buffer);\n if (xmlDetection.xml) {\n await tokenizer.ignore(xmlDetection.offset);\n const xmlTextDetector = new XmlTextDetector();\n const textDecoder = new TextDecoder(xmlDetection.encoding);\n do {\n const len = await tokenizer.readBuffer(buffer, { mayBeLess: true });\n const portion = buffer.subarray(0, len);\n const text = textDecoder.decode(portion);\n xmlTextDetector.write(text);\n if (len < buffer.length) {\n xmlTextDetector.close();\n }\n } while (!xmlTextDetector.onEnd);\n return xmlTextDetector.fileType ?? {\n ext: 'xml',\n mime: 'application/xml'\n };\n }\n }\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcActions',{attrs:{\"aria-label\":_vm.t('settings', 'Toggle account actions menu'),\"disabled\":_vm.disabled,\"inline\":1}},[_c('NcActionButton',{attrs:{\"data-cy-user-list-action-toggle-edit\":`${_vm.edit}`,\"disabled\":_vm.disabled},on:{\"click\":_vm.toggleEdit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{key:_vm.editSvg,attrs:{\"svg\":_vm.editSvg,\"aria-hidden\":\"true\"}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.edit ? _vm.t('settings', 'Done') : _vm.t('settings', 'Edit'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.enabledActions),function({ action, icon, text },index){return _c('NcActionButton',{key:index,attrs:{\"disabled\":_vm.disabled,\"aria-label\":text,\"icon\":icon,\"close-after-click\":\"\"},on:{\"click\":(event) => action(event, { ..._vm.user })},scopedSlots:_vm._u([(_vm.isSvg(icon))?{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":icon,\"aria-hidden\":\"true\"}})]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\"+_vm._s(text)+\"\\n\\t\\t\")])})],2)\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!./UserRowActions.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!./UserRowActions.vue?vue&type=script&lang=ts\"","import {XmlTextDetector} from '@file-type/xml';\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\tconst xmlTextDetector = new XmlTextDetector();\n\txmlTextDetector.write(string);\n\treturn xmlTextDetector.isValid() && xmlTextDetector.fileType?.ext === 'svg';\n}\n","import { render, staticRenderFns } from \"./UserRowActions.vue?vue&type=template&id=7edbb4de\"\nimport script from \"./UserRowActions.vue?vue&type=script&lang=ts\"\nexport * from \"./UserRowActions.vue?vue&type=script&lang=ts\"\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","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcActionButtonGroup-BND4GQdv.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcActionButtonGroup-BND4GQdv.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcActionButtonGroup-BND4GQdv.css';\nimport { defineComponent } from \"vue\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { r as register, a as t } from \"./_l10n-DIOHNc85.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister();\nconst _sfc_main = defineComponent({\n name: \"NcActionButtonGroup\",\n inject: {\n isInSemanticMenu: {\n from: \"NcActions:isSemanticMenu\",\n default: false\n }\n },\n props: {\n /**\n * Optional text shown below the button group\n */\n name: {\n required: false,\n default: void 0,\n type: String\n }\n },\n setup() {\n return {\n labelId: `nc-action-button-group-${GenRandomId()}`\n };\n },\n methods: {\n t\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"li\", { staticClass: \"nc-button-group-base\", attrs: { \"role\": _vm.isInSemanticMenu && \"presentation\" } }, [_vm.name ? _c(\"div\", { attrs: { \"id\": _vm.labelId } }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _c(\"ul\", { staticClass: \"nc-button-group-content\", attrs: { \"role\": \"group\", \"aria-labelledby\": _vm.name ? _vm.labelId : void 0 } }, [_vm._t(\"default\")], 2)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcActionButtonGroup = __component__.exports;\nexport {\n NcActionButtonGroup as N\n};\n//# sourceMappingURL=NcActionButtonGroup-BkU5oOmB.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcActionRadio-CodyhP86.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcActionRadio-CodyhP86.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcActionRadio-CodyhP86.css';\nimport Vue from \"vue\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { A as ActionGlobalMixin } from \"./actionGlobal-DqVa7c7G.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcActionRadio\",\n mixins: [ActionGlobalMixin],\n inject: {\n isInSemanticMenu: {\n from: \"NcActions:isSemanticMenu\",\n default: false\n }\n },\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * id attribute of the radio element\n */\n id: {\n type: String,\n default: () => \"action-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n * @deprecated\n */\n checked: {\n type: Boolean,\n default: void 0\n },\n /**\n * Checked state of the radio element\n * Boolean type removed in v9 - use String | Number instead\n */\n modelValue: {\n type: [Boolean, String, Number],\n default: false\n },\n /**\n * Define if this radio is part of a set.\n * Checking the radio will disable all the\n * others with the same name.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * value of the radio input\n */\n value: {\n type: [String, Number],\n default: \"\"\n },\n /**\n * disabled state of the radio element\n */\n disabled: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n * @deprecated\n */\n \"update:checked\",\n /**\n * The radio state is changed\n * @type {boolean}\n */\n \"update:modelValue\",\n /** Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\",\n \"change\"\n ],\n setup(props) {\n if (typeof props.modelValue === \"boolean\") {\n Vue.util.warn(\"[NcActionRadio] Boolean type of `modelValue` is deprecated and will be removed in next versions\");\n }\n const model = useModelMigration(\"checked\", \"update:checked\");\n return {\n model\n };\n },\n computed: {\n /**\n * determines if the action is focusable\n *\n * @return {boolean} is the action focusable ?\n */\n isFocusable() {\n return !this.disabled;\n },\n /**\n * aria-checked attribute for role=\"menuitemcheckbox\"\n *\n * @return {'true'|'false'|undefined} aria-checked value if needed\n */\n ariaChecked() {\n if (this.isInSemanticMenu) {\n return this.model ? \"true\" : \"false\";\n }\n return void 0;\n }\n },\n methods: {\n toggleInput(event) {\n this.$refs.label.click();\n },\n onChange(event) {\n this.$emit(\"change\", event);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled }, attrs: { \"role\": _vm.isInSemanticMenu && \"presentation\" } }, [_c(\"span\", { staticClass: \"action-radio\", attrs: { \"role\": \"menuitemradio\", \"aria-checked\": _vm.ariaChecked } }, [_c(\"input\", { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.model, expression: \"model\" }], staticClass: \"radio action-radio__radio\", class: { focusable: _vm.isFocusable }, attrs: { \"id\": _vm.id, \"disabled\": _vm.disabled, \"name\": _vm.name, \"type\": \"radio\" }, domProps: { \"value\": _vm.value, \"checked\": _vm._q(_vm.model, _vm.value) }, on: { \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) return null;\n if ($event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey) return null;\n $event.preventDefault();\n return _vm.toggleInput.apply(null, arguments);\n }, \"change\": [function($event) {\n _vm.model = _vm.value;\n }, _vm.onChange] } }), _c(\"label\", { ref: \"label\", staticClass: \"action-radio__label\", attrs: { \"for\": _vm.id } }, [_vm._v(_vm._s(_vm.text))]), _vm._e()], 2)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"8ddd08c0\"\n);\nconst NcActionRadio = __component__.exports;\nexport {\n NcActionRadio as N\n};\n//# sourceMappingURL=NcActionRadio-yAm71xxU.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcActionTextEditable-BflqGcjc.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcActionTextEditable-BflqGcjc.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcActionTextEditable-BflqGcjc.css';\nimport { d as mdiArrowRight } from \"./mdi-C1L0jZ1V.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { A as ActionTextMixin } from \"./actionText-fFcUPi2g.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Cb-cPj1R.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcActionTextEditable\",\n components: {\n NcIconSvgWrapper\n },\n mixins: [ActionTextMixin],\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * id attribute of the checkbox element\n */\n id: {\n type: String,\n default: () => \"action-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * disabled state of the text area\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n * @deprecated\n */\n value: {\n type: String,\n default: void 0\n },\n /**\n * value attribute of the input field\n */\n modelValue: {\n type: String,\n default: \"\"\n }\n },\n emits: [\n \"input\",\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n * @deprecated\n */\n \"update:value\",\n /**\n * Emitted when the inputs value changes\n *\n * @type {string|Date}\n */\n \"update:modelValue\",\n /** Same as `update:modelValue` but with a different event name */\n \"update:model-value\",\n \"submit\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\");\n return {\n model,\n mdiArrowRight\n };\n },\n computed: {\n /**\n * determines if the action is focusable\n *\n * @return {boolean} is the action focusable ?\n */\n isFocusable() {\n return !this.disabled;\n },\n computedId() {\n return GenRandomId();\n }\n },\n methods: {\n onInput(event) {\n this.$emit(\"input\", event);\n this.model = event.target.value;\n },\n onSubmit(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!this.disabled) {\n this.$emit(\"submit\", event);\n } else {\n return false;\n }\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"action\", class: { \"action--disabled\": _vm.disabled } }, [_c(\"span\", { staticClass: \"action-text-editable\", on: { \"click\": _vm.onClick } }, [_vm._t(\"icon\", function() {\n return [_c(\"span\", { staticClass: \"action-text-editable__icon\", class: [_vm.isIconUrl ? \"action-text-editable__icon--url\" : _vm.icon], style: { backgroundImage: _vm.isIconUrl ? `url(${_vm.icon})` : null } })];\n }), _c(\"form\", { ref: \"form\", staticClass: \"action-text-editable__form\", attrs: { \"disabled\": _vm.disabled }, on: { \"submit\": function($event) {\n $event.preventDefault();\n return _vm.onSubmit.apply(null, arguments);\n } } }, [_c(\"input\", { staticClass: \"action-text-editable__submit\", attrs: { \"id\": _vm.id, \"type\": \"submit\" } }), _vm.name ? _c(\"label\", { staticClass: \"action-text-editable__name\", attrs: { \"for\": _vm.computedId } }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _c(\"textarea\", _vm._b({ class: [\"action-text-editable__textarea\", { focusable: _vm.isFocusable }], attrs: { \"id\": _vm.computedId, \"disabled\": _vm.disabled }, domProps: { \"value\": _vm.model }, on: { \"input\": _vm.onInput } }, \"textarea\", _vm.$attrs, false)), _c(\"label\", { directives: [{ name: \"show\", rawName: \"v-show\", value: !_vm.disabled, expression: \"!disabled\" }], staticClass: \"action-text-editable__label\", attrs: { \"for\": _vm.id } }, [_c(\"NcIconSvgWrapper\", { attrs: { \"directional\": \"\", \"path\": _vm.mdiArrowRight } })], 1)])], 2)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"a4505289\"\n);\nconst NcActionTextEditable = __component__.exports;\nexport {\n NcActionTextEditable as N\n};\n//# sourceMappingURL=NcActionTextEditable-a_607PST.mjs.map\n","import { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppContentDetails\"\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-content-details\" }, [_vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcAppContentDetails = __component__.exports;\nexport {\n NcAppContentDetails as default\n};\n//# sourceMappingURL=NcAppContentDetails.mjs.map\n","import { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppContentList\",\n props: {\n selection: {\n type: Boolean,\n default: false\n },\n showDetails: {\n type: Boolean,\n default: false\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-content-list\", class: { selection: _vm.selection, showdetails: _vm.showDetails } }, [_vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcAppContentList = __component__.exports;\nexport {\n NcAppContentList as default\n};\n//# sourceMappingURL=NcAppContentList.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationIconBullet-CeBYVy6t.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationIconBullet-CeBYVy6t.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcAppNavigationIconBullet-CeBYVy6t.css';\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationIconBullet\",\n props: {\n color: {\n type: String,\n required: true,\n validator(color) {\n return /^#?([0-9A-F]{3}){1,2}$/i.test(color);\n }\n }\n },\n emits: [\"click\"],\n computed: {\n formattedColor() {\n if (this.color.startsWith(\"#\")) {\n return this.color;\n }\n return \"#\" + this.color;\n }\n },\n methods: {\n onClick(e) {\n this.$emit(\"click\", e);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-entry__icon-bullet\", on: { \"click\": _vm.onClick } }, [_c(\"div\", { style: { backgroundColor: _vm.formattedColor } })]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"938dadb1\"\n);\nconst NcAppNavigationIconBullet = __component__.exports;\nexport {\n NcAppNavigationIconBullet as default\n};\n//# sourceMappingURL=NcAppNavigationIconBullet.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationNewItem-PE-w8y-g.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationNewItem-PE-w8y-g.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcAppNavigationNewItem-PE-w8y-g.css';\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-B4xEFita.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationNewItem\",\n components: {\n NcInputConfirmCancel,\n NcLoadingIcon\n },\n props: {\n /**\n * The name of the element.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * Refers to the icon on the left, this prop accepts a class\n * like 'icon-category-enabled'.\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Displays a loading animated icon on the left of the element\n * instead of the icon.\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Only for 'editable' items, sets label for the edit action button.\n */\n editLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Sets the placeholder text for the editing form.\n */\n editPlaceholder: {\n type: String,\n default: \"\"\n }\n },\n emits: [\"new-item\"],\n data() {\n return {\n newItemValue: \"\",\n newItemActive: false\n };\n },\n methods: {\n handleNewItem() {\n if (!this.loading) {\n this.newItemActive = true;\n this.$nextTick(() => {\n this.$refs.newItemInput.focusInput();\n });\n }\n },\n cancelNewItem() {\n this.newItemActive = false;\n },\n handleNewItemDone() {\n this.$emit(\"new-item\", this.newItemValue);\n this.newItemValue = \"\";\n this.newItemActive = false;\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"app-navigation-entry\", class: {\n \"app-navigation-entry--newItemActive\": _vm.newItemActive\n } }, [_c(\"button\", { staticClass: \"app-navigation-entry-button\", on: { \"click\": _vm.handleNewItem } }, [_c(\"span\", { staticClass: \"app-navigation-entry-icon\", class: { [_vm.icon]: !_vm.loading } }, [_vm.loading ? _c(\"NcLoadingIcon\") : _vm._t(\"icon\")], 2), !_vm.newItemActive ? _c(\"span\", { staticClass: \"app-navigation-new-item__name\", attrs: { \"title\": _vm.name } }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]) : _vm._e(), _vm.newItemActive ? _c(\"span\", { staticClass: \"newItemContainer\" }, [_c(\"NcInputConfirmCancel\", { ref: \"newItemInput\", attrs: { \"placeholder\": _vm.editPlaceholder !== \"\" ? _vm.editPlaceholder : _vm.name }, on: { \"cancel\": _vm.cancelNewItem, \"confirm\": _vm.handleNewItemDone }, model: { value: _vm.newItemValue, callback: function($$v) {\n _vm.newItemValue = $$v;\n }, expression: \"newItemValue\" } })], 1) : _vm._e()])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"46fee9ac\"\n);\nconst NcAppNavigationNewItem = __component__.exports;\nexport {\n NcAppNavigationNewItem as N\n};\n//# sourceMappingURL=NcAppNavigationNewItem-DgTuysCV.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationSettings-vd47rlNY.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationSettings-vd47rlNY.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcMentionBubble-CB5c5ue2.css';\nimport '../assets/NcAppNavigationSettings-vd47rlNY.css';\nimport { r as register, x as t45, a as t } from \"./_l10n-DIOHNc85.mjs\";\nimport clickOutsideOptions from \"../Mixins/clickOutsideOptions.mjs\";\nimport \"../Composables/useIsFullscreen.mjs\";\nimport \"../Composables/useIsMobile.mjs\";\nimport \"@nextcloud/router\";\n/* empty css */\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport \"escape-html\";\nimport \"striptags\";\nimport \"vue\";\nimport \"@nextcloud/auth\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/capabilities\";\nimport { vOnClickOutside } from \"@vueuse/components\";\nregister(t45);\nconst _sfc_main$1 = {\n name: \"CogIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon cog-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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\": \"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Cog = __component__$1.exports;\nconst _sfc_main = {\n directives: {\n ClickOutside: vOnClickOutside\n },\n components: {\n Cog\n },\n mixins: [\n clickOutsideOptions\n ],\n props: {\n name: {\n type: String,\n required: false,\n default: t(\"Settings\")\n }\n },\n data() {\n return {\n open: false\n };\n },\n computed: {\n clickOutsideConfig() {\n return [\n this.closeMenu,\n this.clickOutsideOptions\n ];\n }\n },\n methods: {\n toggleMenu() {\n this.open = !this.open;\n },\n closeMenu() {\n this.open = false;\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { directives: [{ name: \"click-outside\", rawName: \"v-click-outside\", value: _vm.clickOutsideConfig, expression: \"clickOutsideConfig\" }], class: { open: _vm.open }, attrs: { \"id\": \"app-settings\" } }, [_c(\"div\", { attrs: { \"id\": \"app-settings__header\" } }, [_c(\"button\", { staticClass: \"settings-button\", attrs: { \"type\": \"button\", \"aria-expanded\": _vm.open ? \"true\" : \"false\", \"aria-controls\": \"app-settings__content\" }, on: { \"click\": _vm.toggleMenu } }, [_c(\"Cog\", { staticClass: \"settings-button__icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"settings-button__label\" }, [_vm._v(_vm._s(_vm.name))])], 1)]), _c(\"Transition\", { attrs: { \"name\": \"slide-up\" } }, [_c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.open, expression: \"open\" }], attrs: { \"id\": \"app-settings__content\" } }, [_vm._t(\"default\")], 2)])], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"d278a327\"\n);\nconst NcAppNavigationSettings = __component__.exports;\nexport {\n NcAppNavigationSettings as N\n};\n//# sourceMappingURL=NcAppNavigationSettings-CS36ibjM.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcBlurHash-7aGtE-_T.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcBlurHash-7aGtE-_T.css\";\n export default content && content.locals ? content.locals : undefined;\n","import PQueue from \"p-queue\";\nconst queue = new PQueue({ concurrency: 5 });\nfunction preloadImage(url) {\n const { resolve, promise } = Promise.withResolvers();\n queue.add(() => {\n const image = new Image();\n image.onerror = () => resolve(false);\n image.onload = () => resolve(true);\n image.src = url;\n return promise;\n });\n return promise;\n}\nexport {\n preloadImage\n};\n//# sourceMappingURL=preloadImage.mjs.map\n","import '../assets/NcBlurHash-7aGtE-_T.css';\nimport { decode } from \"blurhash\";\nimport { ref, watch, nextTick } from \"vue\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { preloadImage } from \"../Functions/preloadImage.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst fadeTransition = \"_fadeTransition_13rtj_2\";\nconst fadeTransitionActive = \"_fadeTransitionActive_13rtj_6\";\nconst style0 = {\n fadeTransition,\n fadeTransitionActive\n};\nconst _sfc_main = {\n __name: \"NcBlurHash\",\n props: {\n /**\n * The blur hash value to use.\n */\n hash: {\n required: true,\n type: String\n },\n /**\n * This is normally not needed, but if this blur hash is not only intended\n * for decorative purpose, descriptive text should be passed for accessibility.\n */\n alt: {\n type: String,\n default: \"\"\n },\n /**\n * Optional an image source to load, during the load the blur hash is shown.\n * As soon as it is loaded the image will be shown instead.\n */\n src: {\n type: String,\n default: \"\"\n }\n },\n emits: [\n /**\n * Emitted when the image (`src`) has been loaded.\n */\n \"load\"\n ],\n setup(__props, { emit }) {\n const props = __props;\n const canvas = ref();\n const imageLoaded = ref(false);\n watch(() => props.hash, drawBlurHash);\n watch(imageLoaded, () => {\n if (imageLoaded.value === false) {\n nextTick(() => drawBlurHash());\n }\n }, { immediate: true });\n watch(() => props.src, () => {\n imageLoaded.value = false;\n if (props.src) {\n preloadImage(props.src).then((success) => {\n imageLoaded.value = success;\n emit(\"load\", success);\n });\n }\n }, { immediate: true });\n function drawBlurHash() {\n if (imageLoaded.value) {\n return;\n }\n if (!props.hash) {\n logger.error(\"Invalid BlurHash value\");\n return;\n }\n if (canvas.value === void 0) {\n logger.error(\"BlurHash canvas not available\");\n return;\n }\n const { height, width } = canvas.value;\n const pixels = decode(props.hash, width, height);\n const ctx = canvas.value.getContext(\"2d\");\n if (ctx === null) {\n logger.error(\"Cannot create context for BlurHash canvas\");\n return;\n }\n const imageData = ctx.createImageData(width, height);\n imageData.data.set(pixels);\n ctx.putImageData(imageData, 0, 0);\n }\n return { __sfc: true, props, emit, canvas, imageLoaded, drawBlurHash };\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(\"Transition\", { attrs: { \"css\": _vm.src ? void 0 : false, \"enter-active-class\": _vm.$style.fadeTransition, \"leave-active-class\": _vm.$style.fadeTransition, \"enter-class\": _vm.$style.fadeTransitionActive, \"leave-to-class\": _vm.$style.fadeTransitionActive } }, [!_setup.imageLoaded ? _c(\"canvas\", { ref: \"canvas\", attrs: { \"aria-hidden\": _vm.alt ? null : \"true\", \"aria-label\": _vm.alt } }) : _c(\"img\", { attrs: { \"alt\": _vm.alt, \"src\": _vm.src } })]);\n};\nvar _sfc_staticRenderFns = [];\nconst __cssModules = {\n \"$style\": style0\n};\nfunction _sfc_injectStyles(ctx) {\n for (var key in __cssModules) {\n this[key] = __cssModules[key];\n }\n}\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n _sfc_injectStyles,\n null\n);\nconst NcBlurHash = __component__.exports;\nexport {\n NcBlurHash as N\n};\n//# sourceMappingURL=NcBlurHash-do2wxY-0.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcCollectionList-yjTCAR46.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcCollectionList-yjTCAR46.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcCollectionList-yjTCAR46.css';\nimport debounce from \"debounce\";\nimport { ref, set } from \"vue\";\nimport { r as register, L as t6, M as t26, a as t } from \"./_l10n-DIOHNc85.mjs\";\nimport { N as NcAvatar } from \"./NcAvatar-DC7NtEPz.mjs\";\nimport { N as NcSelect } from \"./NcSelect-DmIaznJY.mjs\";\nimport { g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport { N as NcActions } from \"./NcActions-CzpbMJoY.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-CpGK6gSX.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nregister(t6);\nregister(t26);\nconst _sfc_main$1 = {\n name: \"NcCollectionListItem\",\n components: {\n NcAvatar,\n NcActions,\n NcActionButton\n },\n props: {\n collection: {\n type: Object,\n default: null\n },\n error: {\n type: String,\n default: void 0\n }\n },\n emits: [\"remove-resource\", \"rename-collection\"],\n data() {\n return {\n detailsOpen: false,\n newName: null\n };\n },\n computed: {\n getIcon() {\n return (resource) => [resource.iconClass];\n },\n typeClass() {\n return (resource) => \"resource-type-\" + resource.type;\n },\n resources() {\n return this.collection.resources?.filter((resource) => !Array.isArray(resource)) ?? [];\n },\n getComponent() {\n return (resource) => {\n const route = getRoute(this.$router, resource.link);\n return route ? { component: \"router-link\", to: route, href: void 0 } : { component: \"a\", to: void 0, href: resource.link };\n };\n },\n iconUrl() {\n return (resource) => {\n if (resource.mimetype) {\n return OC.MimeType.getIconUrl(resource.mimetype);\n }\n if (resource.iconUrl) {\n return resource.iconUrl;\n }\n return \"\";\n };\n }\n },\n methods: {\n t,\n toggleDetails() {\n this.detailsOpen = !this.detailsOpen;\n },\n showDetails() {\n this.detailsOpen = true;\n },\n removeResource(collection, resource) {\n this.$emit(\"remove-resource\", {\n collectionId: collection.id,\n resourceType: resource.type,\n resourceId: resource.id\n });\n },\n openRename() {\n this.newName = this.collection.name;\n },\n renameCollection() {\n if (this.newName) {\n this.$emit(\"rename-collection\", {\n collectionId: this.collection.id,\n name: this.newName\n });\n }\n this.newName = null;\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"collection-list-item\" }, [_c(\"NcAvatar\", { staticClass: \"collection-avatar\", attrs: { \"display-name\": _vm.collection.name, \"allow-placeholder\": \"\" } }), _vm.newName === null ? _c(\"span\", { staticClass: \"collection-item-name\", attrs: { \"title\": \"\" }, on: { \"click\": _vm.showDetails } }, [_vm._v(_vm._s(_vm.collection.name))]) : _c(\"form\", { class: { \"should-shake\": _vm.error }, on: { \"submit\": function($event) {\n $event.preventDefault();\n return _vm.renameCollection.apply(null, arguments);\n } } }, [_c(\"input\", { directives: [{ name: \"model\", rawName: \"v-model\", value: _vm.newName, expression: \"newName\" }], attrs: { \"type\": \"text\", \"autocomplete\": \"off\", \"autocapitalize\": \"off\" }, domProps: { \"value\": _vm.newName }, on: { \"input\": function($event) {\n if ($event.target.composing) return;\n _vm.newName = $event.target.value;\n } } }), _c(\"input\", { staticClass: \"icon-confirm\", attrs: { \"type\": \"submit\", \"value\": \"\" } })]), !_vm.detailsOpen && _vm.newName === null ? _c(\"div\", { staticClass: \"linked-icons\" }, _vm._l(_vm.resources.slice(0, 2), function(resource) {\n return _c(_vm.getComponent(resource).component, { key: resource.type + \"|\" + resource.id, tag: \"component\", class: _vm.typeClass(resource), attrs: { \"title\": resource.name, \"to\": _vm.getComponent(resource).to, \"href\": _vm.getComponent(resource).href } }, [_c(\"img\", { attrs: { \"src\": _vm.iconUrl(resource), \"alt\": resource.name } })]);\n }), 1) : _vm._e(), _vm.newName === null ? _c(\"span\", { staticClass: \"sharingOptionsGroup\" }, [_c(\"NcActions\", [_c(\"NcActionButton\", { attrs: { \"icon\": \"icon-info\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _vm.toggleDetails.apply(null, arguments);\n } } }, [_vm._v(\" \" + _vm._s(_vm.detailsOpen ? _vm.t(\"Hide details\") : _vm.t(\"Show details\")) + \" \")]), _c(\"NcActionButton\", { attrs: { \"icon\": \"icon-rename\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _vm.openRename.apply(null, arguments);\n } } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Rename project\")) + \" \")])], 1)], 1) : _vm._e(), _c(\"transition\", { attrs: { \"name\": \"fade\" } }, [_vm.error ? _c(\"div\", { staticClass: \"error\" }, [_vm._v(\" \" + _vm._s(_vm.error) + \" \")]) : _vm._e()]), _c(\"transition\", { attrs: { \"name\": \"fade\" } }, [_vm.detailsOpen ? _c(\"ul\", { staticClass: \"resource-list-details\" }, _vm._l(_vm.resources, function(resource) {\n return _c(\"li\", { key: resource.type + \"|\" + resource.id, class: _vm.typeClass(resource) }, [_c(_vm.getComponent(resource).component, { tag: \"component\", attrs: { \"to\": _vm.getComponent(resource).to, \"href\": _vm.getComponent(resource).href } }, [_c(\"img\", { attrs: { \"src\": _vm.iconUrl(resource), \"alt\": resource.name } }), _c(\"span\", { staticClass: \"resource-name\" }, [_vm._v(_vm._s(resource.name || \"\"))])]), _c(\"span\", { staticClass: \"icon-close\", on: { \"click\": function($event) {\n return _vm.removeResource(_vm.collection, resource);\n } } })], 1);\n }), 0) : _vm._e()])], 1);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"878b819f\"\n);\nconst NcCollectionListItem = __component__$1.exports;\nfunction extractOcsData(response) {\n return response.data.ocs.data;\n}\nfunction renameCollectionService(collectionId, collectionName) {\n return axios.put(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }), { collectionName }).then(extractOcsData);\n}\nfunction getCollectionsByResourceService(resourceType, resourceId) {\n return axios.get(generateOcsUrl(\"collaboration/resources/{resourceType}/{resourceId}\", { resourceType, resourceId })).then(extractOcsData);\n}\nfunction createCollectionService(resourceType, resourceId, name) {\n return axios.post(generateOcsUrl(\"collaboration/resources/{resourceType}/{resourceId}\", { resourceType, resourceId }), { name }).then(extractOcsData);\n}\nfunction addResourceService(collectionId, resourceType, resourceId) {\n return axios.post(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }), { resourceType, resourceId }).then(extractOcsData);\n}\nfunction removeResourceService(collectionId, resourceType, resourceId) {\n return axios.delete(generateOcsUrl(\"collaboration/resources/collections/{collectionId}\", { collectionId }), { params: { resourceType, resourceId } }).then(extractOcsData);\n}\nfunction searchService(query) {\n return axios.get(generateOcsUrl(\"collaboration/resources/collections/search/{query}\", { query })).then(extractOcsData);\n}\nfunction useCollections() {\n const storedCollections = ref([]);\n const addCollections = (collections) => {\n set(storedCollections, \"value\", collections);\n };\n const addCollection = (collection) => {\n set(storedCollections, \"value\", [...storedCollections.value, collection]);\n };\n const removeCollection = (collectionId) => {\n set(storedCollections, \"value\", storedCollections.value.filter((item) => item.id !== collectionId));\n };\n const updateCollection = (collection) => {\n const index = storedCollections.value.findIndex((item) => item.id === collection.id);\n if (index !== -1) {\n set(storedCollections.value, index, collection);\n } else {\n addCollection(collection);\n }\n };\n const fetchCollectionsByResource = async ({ resourceType, resourceId }) => {\n const collections = await getCollectionsByResourceService(resourceType, resourceId);\n addCollections(collections);\n };\n const createCollection = async ({ baseResourceType, baseResourceId, resourceType, resourceId, name }) => {\n const collection = await createCollectionService(baseResourceType, baseResourceId, name);\n addCollection(collection);\n await addResourceToCollection({\n collectionId: collection.id,\n resourceType,\n resourceId\n });\n };\n const renameCollection = async ({ collectionId, name }) => {\n const collection = await renameCollectionService(collectionId, name);\n updateCollection(collection);\n };\n const addResourceToCollection = async ({ collectionId, resourceType, resourceId }) => {\n const collection = await addResourceService(collectionId, resourceType, String(resourceId));\n updateCollection(collection);\n };\n const removeResourceFromCollection = async ({ collectionId, resourceType, resourceId }) => {\n const collection = await removeResourceService(collectionId, resourceType, String(resourceId));\n if (collection.resources.length > 0) {\n updateCollection(collection);\n } else {\n removeCollection(collectionId);\n }\n };\n return {\n storedCollections,\n fetchCollectionsByResource,\n createCollection,\n renameCollection,\n addResourceToCollection,\n removeResourceFromCollection\n };\n}\nconst METHOD_CREATE_COLLECTION = 0;\nconst METHOD_ADD_TO_COLLECTION = 1;\nconst _sfc_main = {\n name: \"NcCollectionList\",\n components: {\n NcCollectionListItem,\n NcAvatar,\n NcSelect\n },\n props: {\n /**\n * Resource type identifier\n */\n type: {\n type: String,\n default: null\n },\n /**\n * Unique id of the resource\n */\n id: {\n type: String,\n default: null\n },\n /**\n * Name of the resource\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * Whether the component is active (to start fetch resources)\n */\n isActive: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n const {\n storedCollections,\n fetchCollectionsByResource,\n createCollection,\n addResourceToCollection,\n removeResourceFromCollection,\n renameCollection\n } = useCollections();\n const searchCollections = ref([]);\n const search = debounce(function(query, loading) {\n if (query !== \"\") {\n loading(true);\n searchService(query).then((collections) => {\n searchCollections.value = collections;\n }).catch((e) => {\n console.error(\"Failed to search for collections\", e);\n }).finally(() => {\n loading(false);\n });\n }\n }, 500);\n return {\n storedCollections,\n fetchCollectionsByResource,\n createCollection,\n addResourceToCollection,\n removeResourceFromCollection,\n renameCollection,\n searchCollections,\n search\n };\n },\n data() {\n return {\n selectIsOpen: false,\n generatingCodes: false,\n codes: void 0,\n value: null,\n model: {},\n collectionsError: {},\n error: null,\n isSelectOpen: false\n };\n },\n computed: {\n collections() {\n return this.storedCollections.filter(\n (collection) => collection.resources.some((resource) => resource && resource.id === String(this.id) && resource.type === this.type)\n );\n },\n placeholder() {\n return this.isSelectOpen ? t(\"Type to search for existing projects\") : t(\"Add to a project\");\n },\n options() {\n const options = [];\n window.OCP.Collaboration.getTypes().sort().forEach((type) => {\n options.push({\n method: METHOD_CREATE_COLLECTION,\n type,\n title: window.OCP.Collaboration.getLabel(type),\n class: window.OCP.Collaboration.getIcon(type),\n action: () => window.OCP.Collaboration.trigger(type)\n });\n });\n for (const index in this.searchCollections) {\n if (!this.collections.find((collection) => collection.id === this.searchCollections[index].id)) {\n options.push({\n method: METHOD_ADD_TO_COLLECTION,\n title: this.searchCollections[index].name,\n collectionId: this.searchCollections[index].id\n });\n }\n }\n return options;\n },\n resourceIdentifier() {\n return {\n resourceType: this.type,\n resourceId: this.id,\n isActive: this.isActive\n };\n }\n },\n watch: {\n resourceIdentifier: {\n deep: true,\n immediate: true,\n handler(resourceIdentifier) {\n if (!resourceIdentifier.isActive || !resourceIdentifier.resourceId || !resourceIdentifier.resourceType) {\n return;\n }\n this.fetchCollectionsByResource(resourceIdentifier);\n }\n }\n },\n methods: {\n t,\n select(selectedOption) {\n if (selectedOption.method === METHOD_CREATE_COLLECTION) {\n selectedOption.action().then((resourceId) => {\n this.createCollection({\n baseResourceType: this.type,\n baseResourceId: this.id,\n resourceType: selectedOption.type,\n resourceId,\n name: this.name\n }).catch((e) => {\n this.setError(t(\"Failed to create a project\"), e);\n });\n }).catch((e) => {\n console.error(\"No resource selected\", e);\n });\n }\n if (selectedOption.method === METHOD_ADD_TO_COLLECTION) {\n this.addResourceToCollection({\n collectionId: selectedOption.collectionId,\n resourceType: this.type,\n resourceId: this.id\n }).catch((e) => {\n this.setError(t(\"Failed to add the item to the project\"), e);\n });\n }\n this.value = null;\n },\n showSelect() {\n this.selectIsOpen = true;\n this.$refs.select.$el.focus();\n },\n setError(error, e) {\n console.error(error, e);\n this.error = error;\n setTimeout(() => {\n this.error = null;\n }, 5e3);\n },\n renameCollectionFromItem({ collectionId, name }) {\n this.renameCollection({ collectionId, name }).catch((e) => {\n console.error(t(\"Failed to rename the project\"), e);\n this.collectionsError[collectionId] = t(\"Failed to rename the project\");\n setTimeout(() => {\n this.collectionsError[collectionId] = null;\n }, 5e3);\n });\n }\n }\n};\nvar _sfc_render = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _vm.collections && _vm.type && _vm.id ? _c(\"ul\", { staticClass: \"collection-list\", attrs: { \"id\": \"collection-list\" } }, [_c(\"li\", { on: { \"click\": _vm.showSelect } }, [_vm._m(0), _c(\"div\", { attrs: { \"id\": \"collection-select-container\" } }, [_c(\"NcSelect\", { ref: \"select\", attrs: { \"aria-label-combobox\": _vm.t(\"Add to a project\"), \"options\": _vm.options, \"placeholder\": _vm.placeholder, \"label\": \"title\", \"limit\": 5 }, on: { \"close\": function($event) {\n _vm.isSelectOpen = false;\n }, \"open\": function($event) {\n _vm.isSelectOpen = true;\n }, \"option:selected\": _vm.select, \"search\": _vm.search }, scopedSlots: _vm._u([{ key: \"selected-option\", fn: function(option) {\n return [_c(\"span\", { staticClass: \"option__desc\" }, [_c(\"span\", { staticClass: \"option__title\" }, [_vm._v(_vm._s(option.title))])])];\n } }, { key: \"option\", fn: function(option) {\n return [_c(\"span\", { staticClass: \"option__wrapper\" }, [option.class ? _c(\"span\", { staticClass: \"avatar\", class: option.class }) : option.method !== 2 ? _c(\"NcAvatar\", { attrs: { \"allow-placeholder\": \"\", \"display-name\": option.title } }) : _vm._e(), _c(\"span\", { staticClass: \"option__title\" }, [_vm._v(_vm._s(option.title))])], 1)];\n } }], null, false, 2397208459), model: { value: _vm.value, callback: function($$v) {\n _vm.value = $$v;\n }, expression: \"value\" } }, [_c(\"p\", { staticClass: \"hint\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Connect items to a project to make them easier to find\")) + \" \")])])], 1)]), _c(\"transition\", { attrs: { \"name\": \"fade\" } }, [_vm.error ? _c(\"li\", { staticClass: \"error\" }, [_vm._v(\" \" + _vm._s(_vm.error) + \" \")]) : _vm._e()]), _vm._l(_vm.collections, function(collection) {\n return _c(\"NcCollectionListItem\", { key: collection.id, attrs: { \"collection\": collection, \"error\": _vm.collectionsError[collection.id] }, on: { \"rename-collection\": _vm.renameCollectionFromItem, \"remove-resource\": _vm.removeResourceFromCollection } });\n })], 2) : _vm._e();\n};\nvar _sfc_staticRenderFns = [function() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"avatar\" }, [_c(\"span\", { staticClass: \"icon-projects\" })]);\n}];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"efe8beb8\"\n);\nconst NcCollectionList = __component__.exports;\nexport {\n NcCollectionList as N\n};\n//# sourceMappingURL=NcCollectionList-CdqFiw6Z.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcGuestContent-B0ivUQHg.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcGuestContent-B0ivUQHg.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcGuestContent-B0ivUQHg.css';\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcGuestContent\",\n mounted() {\n document.getElementById(\"content\").classList.add(\"nc-guest-content\");\n },\n destroyed() {\n document.getElementById(\"content\").classList.remove(\"nc-guest-content\");\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { attrs: { \"id\": \"guest-content-vue\" } }, [_vm._t(\"default\")], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"cbad78fb\"\n);\nconst NcGuestContent = __component__.exports;\nexport {\n NcGuestContent as default\n};\n//# sourceMappingURL=NcGuestContent.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcHeaderButton-Dr6MgPDQ.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcHeaderButton-Dr6MgPDQ.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcHeaderButton-Dr6MgPDQ.css';\nimport { G as GenRandomId } from \"../chunks/GenRandomId-CMooMQt0.mjs\";\nimport NcButton from \"./NcButton.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcHeaderButton\",\n components: {\n NcButton\n },\n props: {\n /**\n * Unique id for this menu\n */\n id: {\n type: String,\n required: true\n },\n /**\n * `aria-label` attribute of the button\n */\n ariaLabel: {\n type: String,\n required: true\n },\n /**\n * Additional visually hidden description text for the button\n */\n description: {\n type: String,\n default: null\n }\n },\n emits: [\n \"click\"\n ],\n data() {\n return {\n descriptionId: GenRandomId()\n };\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"header-menu\", attrs: { \"id\": _vm.id } }, [_c(\"NcButton\", { staticClass: \"header-menu__trigger\", attrs: { \"aria-label\": _vm.ariaLabel, \"aria-describedby\": _vm.descriptionId, \"size\": \"large\", \"variant\": \"tertiary-no-background\" }, on: { \"click\": function($event) {\n $event.preventDefault();\n return _vm.$emit(\"click\", $event);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"icon\")];\n }, proxy: true }], null, true) }), _vm.description ? _c(\"span\", { staticClass: \"header-menu__description hidden-visually\", attrs: { \"id\": _vm.descriptionId } }, [_vm._v(\" \" + _vm._s(_vm.description) + \" \")]) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"20fd51f9\"\n);\nconst NcHeaderButton = __component__.exports;\nexport {\n NcHeaderButton as default\n};\n//# sourceMappingURL=NcHeaderButton.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcRelatedResourcesPanel-DhStLIO2.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcRelatedResourcesPanel-DhStLIO2.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcRelatedResourcesPanel-DhStLIO2.css';\nimport axios from \"@nextcloud/axios\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-DFQfzh63.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-C7Dy9Bph.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Cb-cPj1R.mjs\";\nimport { r as register, S as t39, a as t, T as t36, U as t8 } from \"./_l10n-DIOHNc85.mjs\";\nimport { g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nconst _sfc_main$4 = {\n name: \"AccountGroupIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$4 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon account-group-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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\": \"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$4 = [];\nvar __component__$4 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$4,\n _sfc_render$4,\n _sfc_staticRenderFns$4,\n false,\n null,\n null\n);\nconst AccountGroup = __component__$4.exports;\nconst _sfc_main$3 = {\n name: \"OpenInNewIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$3 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon open-in-new-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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\": \"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n null\n);\nconst OpenInNew = __component__$3.exports;\nregister(t39);\nconst teamResourceProviders = getCapabilities()?.circles?.teamResourceProviders ?? [];\nconst _sfc_main$2 = {\n name: \"NcTeamResources\",\n components: {\n AccountGroup,\n ChevronDown,\n ChevronUp,\n OpenInNew,\n NcButton,\n NcIconSvgWrapper\n },\n props: {\n providerId: {\n type: String,\n default: null\n },\n itemId: {\n type: [String, Number],\n default: null\n }\n },\n data() {\n return {\n appEnabled: OC?.appswebroots?.circles !== void 0 && (OC.config.version.split(\".\")[0] ?? 0) >= 29,\n loading: false,\n teamResources: null,\n teamOpen: []\n };\n },\n computed: {\n isVisible() {\n return !this.loading && this.teamResources?.length > 0;\n },\n teamProviders() {\n return (teamId) => {\n const team = this.teamResources.find((t2) => t2.teamId === teamId);\n return team.resources?.reduce((acc, resource) => {\n if (resource.provider.id === this.providerId && resource.id === String(this.itemId)) {\n return acc;\n }\n if (!acc[resource.provider.id]) {\n acc[resource.provider.id] = resource.provider;\n acc[resource.provider.id].resources = [];\n }\n if (resource.provider.id === this.providerId && resource.id === String(this.itemId)) {\n return acc;\n }\n acc[resource.provider.id].resources.push(resource);\n return acc;\n }, {});\n };\n },\n open() {\n return (teamId) => {\n return this.teamOpen.indexOf(teamId) !== -1;\n };\n }\n },\n watch: {\n providerId() {\n this.fetchTeamResources();\n },\n itemId() {\n this.fetchTeamResources();\n }\n },\n created() {\n this.fetchTeamResources();\n },\n methods: {\n t,\n async fetchTeamResources() {\n if (!teamResourceProviders.includes(this.providerId)) {\n return;\n }\n try {\n this.loading = true;\n const response = await axios.get(generateOcsUrl(`/teams/resources/${this.providerId}/${this.itemId}`));\n this.teamResources = response.data.ocs.data.teams;\n this.teamOpen = [this.teamResources[0]?.teamId];\n } catch (e) {\n this.teamResources = null;\n console.error(e);\n } finally {\n this.loading = false;\n }\n },\n toggleOpen(teamId, open) {\n if (open) {\n this.teamOpen.push(teamId);\n } else {\n this.teamOpen.splice(this.teamOpen.indexOf(teamId), 1);\n }\n }\n }\n};\nvar _sfc_render$2 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _vm.appEnabled && _vm.isVisible ? _c(\"div\", { staticClass: \"team-resources\" }, [_c(\"h5\", { staticClass: \"team-resources__header\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Related team resources\")) + \" \")]), _vm._l(_vm.teamResources, function(team) {\n return _c(\"details\", { key: team.teamId, staticClass: \"related-team\", attrs: { \"name\": \"Team resources\", \"open\": _vm.open(team.teamId) }, on: { \"toggle\": (event) => _vm.toggleOpen(team.teamId, event.target.open) } }, [_c(\"summary\", { staticClass: \"related-team__header\" }, [_c(\"h5\", { staticClass: \"related-team__name\" }, [_c(\"AccountGroup\", { attrs: { \"size\": 20 } }), _vm._v(\" \" + _vm._s(team.displayName) + \" \")], 1), _c(\"NcButton\", { attrs: { \"aria-label\": _vm.t(\"View team\"), \"href\": team.link, \"title\": _vm.t(\"View team\"), \"variant\": \"tertiary\" }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"OpenInNew\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, true) }), _vm.open(team.teamId) ? _c(\"ChevronUp\", { attrs: { \"size\": 20 } }) : _c(\"ChevronDown\", { attrs: { \"size\": 20 } })], 1), _c(\"div\", _vm._l(_vm.teamProviders(team.teamId), function(provider) {\n return _c(\"div\", { key: provider.id, staticClass: \"related-team-provider\" }, [provider.resources.length > 0 ? _c(\"h6\", [_vm._v(\" \" + _vm._s(provider.name) + \" \")]) : _vm._e(), _c(\"ul\", _vm._l(provider.resources, function(resource) {\n return _c(\"li\", { key: resource.url, staticClass: \"related-team-resource\" }, [_c(\"a\", { staticClass: \"related-team-resource__link\", attrs: { \"href\": resource.url } }, [resource.iconEmoji ? _c(\"span\", { staticClass: \"resource__icon\" }, [_vm._v(\" \" + _vm._s(resource.iconEmoji) + \" \")]) : resource.iconSvg ? _c(\"NcIconSvgWrapper\", { staticClass: \"resource__icon\", attrs: { \"svg\": resource.iconSvg, \"size\": 20 } }) : resource.iconURL ? _c(\"span\", { staticClass: \"resource__icon\" }, [_c(\"img\", { attrs: { \"src\": resource.iconURL, \"alt\": \"\" } })]) : _vm._e(), _c(\"span\", { staticClass: \"resource__name\" }, [_vm._v(\" \" + _vm._s(resource.label) + \" \")])], 1)]);\n }), 0)]);\n }), 0)]);\n })], 2) : _vm._e();\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n \"9e46b7b2\"\n);\nconst NcTeamResources = __component__$2.exports;\nregister(t36);\nconst _sfc_main$1 = {\n name: \"NcResource\",\n components: {\n NcButton\n },\n props: {\n icon: {\n type: String,\n required: true\n },\n name: {\n type: String,\n required: true\n },\n url: {\n type: String,\n required: true\n }\n },\n data() {\n return {\n labelTranslated: t('Open link to \"{resourceName}\"', { resourceName: this.name })\n };\n },\n computed: {\n route() {\n return getRoute(this.$router, this.url);\n }\n },\n methods: {\n t\n }\n};\nvar _sfc_render$1 = function render4() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"li\", { staticClass: \"resource\" }, [_c(\"NcButton\", { staticClass: \"resource__button\", attrs: { \"aria-label\": _vm.labelTranslated, \"to\": _vm.route, \"href\": _vm.route ? null : _vm.url, \"variant\": \"tertiary\" }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"div\", { staticClass: \"resource__icon\" }, [_c(\"img\", { attrs: { \"src\": _vm.icon } })])];\n }, proxy: true }]) }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")])], 1);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"77c38062\"\n);\nconst NcResource = __component__$1.exports;\nregister(t8);\nconst _sfc_main = {\n name: \"NcRelatedResourcesPanel\",\n components: {\n NcResource,\n NcTeamResources\n },\n props: {\n /**\n * The provider id implemented with `\\OCA\\RelatedResources\\IRelatedResourceProvider::getProviderId()`\n */\n providerId: {\n type: String,\n default: null\n },\n /**\n * The item id which uniquely identities the e.g. Calendar event, Deck board, file, Talk room, etc.\n */\n itemId: {\n type: [String, Number],\n default: null\n },\n /**\n * Limits to specific resource type. i.e. any provider id implemented with `\\OCA\\RelatedResources\\IRelatedResourceProvider::getProviderId()`\n */\n resourceType: {\n type: String,\n default: \"\"\n },\n /**\n * Set the maximum number of resources to load\n */\n limit: {\n type: Number,\n default: 0\n },\n /**\n * Only used by the files sidebar\n *\n * File info is passed when registered with `OCA.Sharing.ShareTabSections.registerSection()`\n */\n fileInfo: {\n type: Object,\n default: null\n },\n /**\n * Make the header name dynamic\n */\n header: {\n type: String,\n default: t(\"Related resources\")\n },\n description: {\n type: String,\n default: t(\"Anything shared with the same group of people will show up here\")\n },\n /**\n * If this element is used on a primary element set to true for primary styling.\n */\n primary: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"has-error\",\n \"has-resources\"\n ],\n data() {\n return {\n appEnabled: OC?.appswebroots?.related_resources !== void 0,\n loading: false,\n error: null,\n resources: []\n };\n },\n computed: {\n isVisible() {\n if (this.loading) {\n return false;\n }\n return this.error ?? this.resources.length > 0;\n },\n subline() {\n if (this.error) {\n return t(\"Error getting related resources. Please contact your system administrator if you have any questions.\");\n }\n return this.description;\n },\n hasResourceInfo() {\n if (this.providerId !== null && this.itemId !== null) {\n return true;\n }\n if (this.fileInfo !== null) {\n return true;\n }\n return false;\n },\n isFiles() {\n return this.fileInfo?.id !== void 0;\n },\n url() {\n let providerId = null;\n let itemId = null;\n if (this.isFiles) {\n providerId = \"files\";\n itemId = this.fileInfo.id;\n } else {\n providerId = this.providerId;\n itemId = this.itemId;\n }\n return generateOcsUrl(\"/apps/related_resources/related/{providerId}?itemId={itemId}&resourceType={resourceType}&limit={limit}&format=json\", {\n providerId,\n itemId,\n resourceType: this.resourceType,\n limit: this.limit\n });\n }\n },\n watch: {\n providerId() {\n this.fetchRelatedResources();\n },\n itemId() {\n this.fetchRelatedResources();\n },\n fileInfo() {\n this.fetchRelatedResources();\n },\n error(error) {\n this.$emit(\"has-error\", Boolean(error));\n },\n resources(resources) {\n this.$emit(\"has-resources\", resources.length > 0);\n }\n },\n created() {\n this.fetchRelatedResources();\n },\n methods: {\n t,\n async fetchRelatedResources() {\n if (!this.appEnabled || !this.hasResourceInfo) {\n return;\n }\n this.loading = true;\n this.error = null;\n this.resources = [];\n try {\n const response = await axios.get(this.url);\n this.resources = response.data.ocs?.data;\n } catch (e) {\n this.error = e;\n console.error(e);\n } finally {\n this.loading = false;\n }\n }\n }\n};\nvar _sfc_render = function render5() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", [_c(\"NcTeamResources\", { attrs: { \"provider-id\": _vm.providerId, \"item-id\": _vm.itemId } }), _vm.appEnabled && _vm.isVisible ? _c(\"div\", { staticClass: \"related-resources\" }, [_c(\"div\", { staticClass: \"related-resources__header\" }, [_c(\"h5\", [_vm._v(_vm._s(_vm.header))]), _c(\"p\", [_vm._v(_vm._s(_vm.subline))])]), _vm._l(_vm.resources, function(resource) {\n return _c(\"NcResource\", { key: resource.itemId, staticClass: \"related-resources__entry\", attrs: { \"icon\": resource.icon, \"name\": resource.title, \"url\": resource.url } });\n })], 2) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"badd46a9\"\n);\nconst NcRelatedResourcesPanel = __component__.exports;\nexport {\n NcRelatedResourcesPanel as N\n};\n//# sourceMappingURL=NcRelatedResourcesPanel-w0cVgK_u.mjs.map\n","import { defineComponent } from \"vue\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = defineComponent({\n name: \"NcSavingIndicatorIcon\",\n props: {\n /**\n * Specify the size of the saving icon.\n */\n size: {\n type: Number,\n default: 20\n },\n /**\n * Specify what is saved.\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * Set to true when saving is in progress.\n */\n saving: {\n type: Boolean,\n default: false,\n required: false\n },\n /**\n * Set to true if an error occured while saving.\n */\n error: {\n type: Boolean,\n default: false,\n required: false\n }\n },\n emits: [\"click\"],\n computed: {\n indicatorColor() {\n return this.error ? \"var(--color-error)\" : this.saving ? \"var(--color-primary-element)\" : \"none\";\n }\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"span\", { staticClass: \"material-design-icon\", attrs: { \"aria-label\": _vm.name, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, [_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: { \"fill\": _vm.indicatorColor, \"d\": \"m19 15a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4z\" } }), _c(\"path\", { attrs: { \"fill\": \"currentColor\", \"d\": \"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\" } }, [_vm.name ? _c(\"title\", [_vm._v(_vm._s(_vm.name))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcSavingIndicatorIcon = __component__.exports;\nexport {\n NcSavingIndicatorIcon as N\n};\n//# sourceMappingURL=NcSavingIndicatorIcon-nv1147dk.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcSelectUsers-BOwQNNMf.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcSelectUsers-BOwQNNMf.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcSelectUsers-BOwQNNMf.css';\nimport { ref, watch } from \"vue\";\nimport { r as register, j as t43, g as t15, a as t } from \"./_l10n-DIOHNc85.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { N as NcListItemIcon } from \"./NcListItemIcon-BDq6PIUq.mjs\";\nimport { N as NcSelect } from \"./NcSelect-DmIaznJY.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t15, t43);\nconst __default__ = {\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n }\n};\nconst _sfc_main = /* @__PURE__ */ Object.assign(__default__, {\n __name: \"NcSelectUsers\",\n props: {\n /**\n * `aria-label` for the clear input button\n */\n ariaLabelClearSelected: {\n type: String,\n default: t(\"Clear selected\")\n },\n /**\n * `aria-label` for the listbox element\n */\n ariaLabelListbox: {\n type: String,\n default: t(\"Options\")\n },\n /**\n * Allows to customize the `aria-label` for the deselect-option button\n * The default is \"Deselect \" + optionLabel\n * @type {(optionLabel: string) => string}\n */\n ariaLabelDeselectOption: {\n type: Function,\n default: (optionLabel) => t(\"Deselect {option}\", { option: optionLabel })\n },\n /**\n * Keep the dropdown open after selecting an entry.\n */\n keepOpen: {\n type: Boolean,\n default: false\n },\n /**\n * Disable the component\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Callback to determine if the provided option should match the current search text.\n * Used to determine if the option should be displayed.\n *\n * By default it filters by the `displayName` and `subname` properties of the user\n * option object unless this prop is set explicitly\n */\n filterBy: {\n type: Function,\n default: null\n },\n /**\n * Input element id\n */\n inputId: {\n type: String,\n default: () => GenRandomId()\n },\n /**\n * Visible label for the input element\n *\n * @default 'Select account'\n */\n inputLabel: {\n type: String,\n default: t(\"Select account\")\n },\n /**\n * Pass true if you are using an external label.\n * In this case make sure you set the `for` attribute of your `<label>` to the `inputId` of this component.\n */\n labelOutside: {\n type: Boolean,\n default: false\n },\n /**\n * Show a loading icon.\n *\n * @default false\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Allow selection of multiple options\n *\n * @default false\n */\n multiple: {\n type: Boolean,\n default: false\n },\n /**\n * Disable automatic wrapping when selected options overflow the width.\n *\n * @default false\n */\n noWrap: {\n type: Boolean,\n default: false\n },\n /**\n * Array of users.\n *\n * @type {{displayName: string, user: string, subname?: string, iconSvg?: string, iconName?: string, isGuest?: boolean, isNoUser?: boolean}[]}\n */\n options: {\n type: Array,\n default: () => []\n },\n /**\n * Placeholder text.\n */\n placeholder: {\n type: String,\n default: \"\"\n },\n /**\n * Enable if a value is required for native form validation\n */\n required: {\n type: Boolean,\n default: false\n },\n /**\n * Currently selected value\n *\n * The `v-model` directive may be used for two-way data binding\n */\n modelValue: {\n type: Object,\n default: null\n }\n },\n emits: [\"search\", \"update:modelValue\"],\n setup(__props, { emit }) {\n const props = __props;\n const search = ref(\"\");\n watch(search, () => {\n emit(\"search\", search.value);\n });\n const clickableArea = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue(\"--default-clickable-area\"));\n const gridBaseLine = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue(\"--default-grid-baseline\"));\n const avatarSize = clickableArea - 2 * gridBaseLine;\n function localFilterBy(option, label, search2) {\n if (props.filterBy) {\n return props.filterBy;\n }\n const EMAIL_NOTATION = /[^<]*<([^>]+)/;\n const match = search2.match(EMAIL_NOTATION);\n const subname = option.subname?.toLocaleLowerCase() ?? \"\";\n return match && subname.indexOf(match[1].toLocaleLowerCase()) > -1 || `${label} ${option.subname}`.toLocaleLowerCase().indexOf(search2.toLocaleLowerCase()) > -1;\n }\n return { __sfc: true, props, emit, search, clickableArea, gridBaseLine, avatarSize, localFilterBy, NcListItemIcon, NcSelect };\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(_setup.NcSelect, _vm._b({ staticClass: \"nc-select-users\", attrs: { \"filter-by\": _setup.localFilterBy, \"label\": \"displayName\" }, on: { \"search\": function($event) {\n _setup.search = $event;\n }, \"update:model-value\": function($event) {\n return _vm.$emit(\"update:modelValue\", $event);\n } }, scopedSlots: _vm._u([{ key: \"option\", fn: function(option) {\n return [_c(_setup.NcListItemIcon, _vm._b({ attrs: { \"avatar-size\": 32, \"name\": option.displayName, \"search\": _setup.search } }, \"NcListItemIcon\", option, false))];\n } }, { key: \"selected-option\", fn: function(selectedOption) {\n return [_c(_setup.NcListItemIcon, _vm._b({ attrs: { \"avatar-size\": _setup.avatarSize, \"name\": selectedOption.displayName, \"no-margin\": \"\", \"search\": _setup.search } }, \"NcListItemIcon\", selectedOption, false))];\n } }]) }, \"NcSelect\", _vm.$props, false));\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"09b0d8bb\"\n);\nconst NcSelectUsers = __component__.exports;\nexport {\n NcSelectUsers as N\n};\n//# sourceMappingURL=NcSelectUsers-BYynRS17.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcSettingsInputText-Bsp_6DjJ.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcSettingsInputText-Bsp_6DjJ.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcSettingsInputText-Bsp_6DjJ.css';\nimport { r as register, i as t47, a as t } from \"./_l10n-DIOHNc85.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t47);\nconst _sfc_main = {\n name: \"NcSettingsInputText\",\n model: {\n prop: \"value\",\n event: \"update:value\"\n },\n props: {\n /**\n * label of the select group element\n */\n label: {\n type: String,\n required: true\n },\n /**\n * hint of the select group input\n */\n hint: {\n type: String,\n default: \"\"\n },\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n * @deprecated\n */\n value: {\n type: String,\n default: void 0\n },\n /**\n * value of the select group input\n */\n modelValue: {\n type: String,\n default: \"\"\n },\n /**\n * disabled state of the settings select group input\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * id attribute of the select group element\n */\n id: {\n type: String,\n default: () => \"settings-input-text-\" + GenRandomId(),\n validator: (id) => id.trim() !== \"\"\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n * @deprecated\n */\n \"update:value\",\n /**\n * Emitted when the inputs value changes\n *\n * @type {string}\n */\n \"update:modelValue\",\n /* Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\",\n \"input\",\n \"submit\",\n \"change\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\");\n return {\n model\n };\n },\n data() {\n return {\n submitTranslated: t(\"Submit\")\n };\n },\n computed: {\n /**\n * @return {string}\n */\n idSubmit() {\n return this.id + \"-submit\";\n }\n },\n methods: {\n onInput(event) {\n this.$emit(\"input\", event);\n this.model = event.target.value;\n },\n onSubmit(event) {\n if (!this.disabled) {\n this.$emit(\"submit\", event);\n }\n },\n onChange(event) {\n this.$emit(\"change\", event);\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"form\", { ref: \"form\", attrs: { \"disabled\": _vm.disabled }, on: { \"submit\": function($event) {\n $event.preventDefault();\n $event.stopPropagation();\n return _vm.onSubmit.apply(null, arguments);\n } } }, [_c(\"div\", { staticClass: \"input-wrapper\" }, [_c(\"label\", { staticClass: \"action-input__label\", attrs: { \"for\": _vm.id } }, [_vm._v(_vm._s(_vm.label))]), _c(\"input\", { attrs: { \"id\": _vm.id, \"type\": \"text\", \"disabled\": _vm.disabled }, domProps: { \"value\": _vm.model }, on: { \"input\": _vm.onInput, \"change\": _vm.onChange } }), _c(\"input\", { staticClass: \"action-input__submit\", attrs: { \"id\": _vm.idSubmit, \"type\": \"submit\" }, domProps: { \"value\": _vm.submitTranslated } }), _vm.hint ? _c(\"p\", { staticClass: \"hint\" }, [_vm._v(\" \" + _vm._s(_vm.hint) + \" \")]) : _vm._e()])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"0907eb0a\"\n);\nconst NcSettingsInputText = __component__.exports;\nexport {\n NcSettingsInputText as N\n};\n//# sourceMappingURL=NcSettingsInputText-BXbSSC7N.mjs.map\n","function checkIfDarkTheme(el = document.body) {\n const backgroundInvertIfDark = window.getComputedStyle(el).getPropertyValue(\"--background-invert-if-dark\");\n if (backgroundInvertIfDark !== void 0) {\n return backgroundInvertIfDark === \"invert(100%)\";\n }\n return false;\n}\nconst isDarkTheme = checkIfDarkTheme();\nexport {\n checkIfDarkTheme,\n isDarkTheme\n};\n//# sourceMappingURL=isDarkTheme.mjs.map\n","import { ref, watch, readonly } from \"vue\";\nimport { createSharedComposable, usePreferredDark, useMutationObserver } from \"@vueuse/core\";\nimport { checkIfDarkTheme } from \"../Functions/isDarkTheme.mjs\";\nfunction useIsDarkThemeElement(el = document.body) {\n const isDarkTheme = ref(checkIfDarkTheme(el));\n const isDarkSystemTheme = usePreferredDark();\n function updateIsDarkTheme() {\n isDarkTheme.value = checkIfDarkTheme(el);\n }\n useMutationObserver(el, updateIsDarkTheme, { attributes: true });\n watch(isDarkSystemTheme, updateIsDarkTheme, { immediate: true });\n return readonly(isDarkTheme);\n}\nconst useIsDarkTheme = createSharedComposable(() => useIsDarkThemeElement());\nexport {\n useIsDarkTheme,\n useIsDarkThemeElement\n};\n//# sourceMappingURL=useIsDarkTheme.mjs.map\n","import { N as NcActionButton } from \"./chunks/NcActionButton-CpGK6gSX.mjs\";\nimport { N as NcActionButtonGroup } from \"./chunks/NcActionButtonGroup-BkU5oOmB.mjs\";\nimport NcActionCaption from \"./Components/NcActionCaption.mjs\";\nimport { N as NcActionCheckbox } from \"./chunks/NcActionCheckbox-DSMKeccY.mjs\";\nimport { N as NcActionInput } from \"./chunks/NcActionInput-D3FN751M.mjs\";\nimport NcActionLink from \"./Components/NcActionLink.mjs\";\nimport { N as NcActionRadio } from \"./chunks/NcActionRadio-yAm71xxU.mjs\";\nimport NcActionRouter from \"./Components/NcActionRouter.mjs\";\nimport { N as NcActions } from \"./chunks/NcActions-CzpbMJoY.mjs\";\nimport NcActionSeparator from \"./Components/NcActionSeparator.mjs\";\nimport NcActionText from \"./Components/NcActionText.mjs\";\nimport { N as NcActionTextEditable } from \"./chunks/NcActionTextEditable-a_607PST.mjs\";\nimport { N as NcAppContent } from \"./chunks/NcAppContent-CP6G4fZX.mjs\";\nimport NcAppContentDetails from \"./Components/NcAppContentDetails.mjs\";\nimport NcAppContentList from \"./Components/NcAppContentList.mjs\";\nimport { N as NcAppNavigation } from \"./chunks/NcAppNavigation-sCuN3OZe.mjs\";\nimport { N as NcAppNavigationCaption } from \"./chunks/NcAppNavigationCaption-B-5VHm-a.mjs\";\nimport NcAppNavigationIconBullet from \"./Components/NcAppNavigationIconBullet.mjs\";\nimport { N as NcAppNavigationItem } from \"./chunks/NcAppNavigationItem-D7Y5mGGC.mjs\";\nimport NcAppNavigationList from \"./Components/NcAppNavigationList.mjs\";\nimport NcAppNavigationNew from \"./Components/NcAppNavigationNew.mjs\";\nimport { N as NcAppNavigationNewItem } from \"./chunks/NcAppNavigationNewItem-DgTuysCV.mjs\";\nimport { N as NcAppNavigationSearch } from \"./chunks/NcAppNavigationSearch-9NTDoHar.mjs\";\nimport { N as NcAppNavigationSettings } from \"./chunks/NcAppNavigationSettings-CS36ibjM.mjs\";\nimport NcAppNavigationSpacer from \"./Components/NcAppNavigationSpacer.mjs\";\nimport { N as NcAppSettingsDialog } from \"./chunks/NcAppSettingsDialog-DBViVlqo.mjs\";\nimport NcAppSettingsSection from \"./Components/NcAppSettingsSection.mjs\";\nimport { N as NcAppSidebar } from \"./chunks/NcAppSidebar-6PtLRD0F.mjs\";\nimport { N as NcAppSidebarHeader } from \"./chunks/NcAppSidebarHeader-G2VD8Nfl.mjs\";\nimport NcAppSidebarTab from \"./Components/NcAppSidebarTab.mjs\";\nimport { N as NcAvatar } from \"./chunks/NcAvatar-DC7NtEPz.mjs\";\nimport { u } from \"./chunks/NcAvatar-DC7NtEPz.mjs\";\nimport { N as NcBlurHash } from \"./chunks/NcBlurHash-do2wxY-0.mjs\";\nimport { N as NcBreadcrumb } from \"./chunks/NcBreadcrumb-WO64bNkF.mjs\";\nimport { N as NcBreadcrumbs } from \"./chunks/NcBreadcrumbs-DrTlt5X4.mjs\";\nimport NcButton from \"./Components/NcButton.mjs\";\nimport { N as NcCheckboxRadioSwitch } from \"./chunks/NcCheckboxRadioSwitch-BIEYfWtF.mjs\";\nimport { N as NcCollectionList } from \"./chunks/NcCollectionList-CdqFiw6Z.mjs\";\nimport { N as NcColorPicker } from \"./chunks/NcColorPicker-CtcS-XMk.mjs\";\nimport { N as NcContent } from \"./chunks/NcContent-BOBFr3nn.mjs\";\nimport { N as NcCounterBubble } from \"./chunks/NcCounterBubble-CDfRYl8B.mjs\";\nimport { N as NcDashboardWidget } from \"./chunks/NcDashboardWidget-C3FrsWrR.mjs\";\nimport { N as NcDashboardWidgetItem } from \"./chunks/NcDashboardWidgetItem-D83T9o2C.mjs\";\nimport { N as NcDateTime } from \"./chunks/NcDateTime-kanSdMgW.mjs\";\nimport NcDateTimePicker from \"./Components/NcDateTimePicker.mjs\";\nimport NcDateTimePickerNative from \"./Components/NcDateTimePickerNative.mjs\";\nimport { N as NcDialog } from \"./chunks/NcDialog-OV8kfc5o.mjs\";\nimport { N as NcDialogButton } from \"./chunks/NcDialogButton-BhuiKGmE.mjs\";\nimport NcEllipsisedOption from \"./Components/NcEllipsisedOption.mjs\";\nimport { N as NcEmojiPicker } from \"./chunks/NcEmojiPicker-BJSfoews.mjs\";\nimport NcEmptyContent from \"./Components/NcEmptyContent.mjs\";\nimport NcGuestContent from \"./Components/NcGuestContent.mjs\";\nimport NcHeaderButton from \"./Components/NcHeaderButton.mjs\";\nimport { N as NcHeaderMenu } from \"./chunks/NcHeaderMenu-Dj7jeq88.mjs\";\nimport { N as NcHighlight } from \"./chunks/index-Bz6q9mZw.mjs\";\nimport { N as NcIconSvgWrapper } from \"./chunks/NcIconSvgWrapper-Cb-cPj1R.mjs\";\nimport { N as NcInputField } from \"./chunks/NcInputField-DTtUueUZ.mjs\";\nimport { N as NcListItem } from \"./chunks/NcListItem-BHhlE1Sb.mjs\";\nimport { N as NcListItemIcon } from \"./chunks/NcListItemIcon-BDq6PIUq.mjs\";\nimport NcLoadingIcon from \"./Components/NcLoadingIcon.mjs\";\nimport NcModal from \"./Components/NcModal.mjs\";\nimport NcNoteCard from \"./Components/NcNoteCard.mjs\";\nimport { N as NcPasswordField } from \"./chunks/NcPasswordField-5oXVlA4T.mjs\";\nimport { N as NcPopover } from \"./chunks/NcPopover-kYsewfff.mjs\";\nimport { N as NcProgressBar } from \"./chunks/NcProgressBar-DegJ2JjE.mjs\";\nimport { N as NcRelatedResourcesPanel } from \"./chunks/NcRelatedResourcesPanel-w0cVgK_u.mjs\";\nimport { N as NcMentionBubble } from \"./chunks/index-Dpk-sL3D.mjs\";\nimport { r } from \"./chunks/index-Dpk-sL3D.mjs\";\nimport { N as NcAutoCompleteResult, a as NcRichContenteditable } from \"./chunks/NcRichContenteditable-Cqt-neS3.mjs\";\nimport { N as NcRichText } from \"./chunks/NcRichText-BWY0OxW9.mjs\";\nimport { N, h, d, i, b, r as r2, c, a } from \"./chunks/index-56SXuvlv.mjs\";\nimport \"@vueuse/core\";\nimport \"vue\";\nimport \"vue-router\";\nimport { a as a2, g, b as b2, c as c2, d as d2, s } from \"./chunks/referencePickerModal-sscttPbK.mjs\";\nimport \"unist-util-visit\";\nimport \"unist-builder\";\nimport \"@nextcloud/router\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/sharing/public\";\nimport \"@nextcloud/auth\";\nimport { N as NcSelect } from \"./chunks/NcSelect-DmIaznJY.mjs\";\nimport { N as NcTextField } from \"./chunks/NcTextField-Cd_RjGj6.mjs\";\nimport \"@nextcloud/event-bus\";\nimport { N as NcSavingIndicatorIcon } from \"./chunks/NcSavingIndicatorIcon-nv1147dk.mjs\";\nimport { N as NcSelectTags } from \"./chunks/NcSelectTags-MsqvY1l4.mjs\";\nimport { N as NcSelectUsers } from \"./chunks/NcSelectUsers-BYynRS17.mjs\";\nimport { N as NcSettingsInputText } from \"./chunks/NcSettingsInputText-BXbSSC7N.mjs\";\nimport { N as NcSettingsSection } from \"./chunks/NcSettingsSection-BNefU-yk.mjs\";\nimport { N as NcSettingsSelectGroup } from \"./chunks/NcSettingsSelectGroup-DWEorw2V.mjs\";\nimport { N as NcTextArea } from \"./chunks/NcTextArea-BHERsE_g.mjs\";\nimport { N as NcTimezonePicker } from \"./chunks/NcTimezonePicker-BjUmYLVj.mjs\";\nimport { N as NcUserBubble } from \"./chunks/NcUserBubble-DH2UiUfH.mjs\";\nimport { N as NcUserStatusIcon } from \"./chunks/NcUserStatusIcon-Bya1v9qo.mjs\";\nimport NcVNodes from \"./Components/NcVNodes.mjs\";\nimport { useFormatDateTime, useFormatRelativeTime, useFormatTime } from \"./Composables/useFormatDateTime.mjs\";\nimport { useHotKey } from \"./Composables/useHotKey.mjs\";\nimport { useIsDarkTheme, useIsDarkThemeElement } from \"./Composables/useIsDarkTheme.mjs\";\nimport { isFullscreenState, useIsFullscreen } from \"./Composables/useIsFullscreen.mjs\";\nimport { MOBILE_BREAKPOINT, MOBILE_SMALL_BREAKPOINT, isMobileState, useIsMobile, useIsSmallMobile } from \"./Composables/useIsMobile.mjs\";\nimport { isA11yActivation } from \"./Functions/a11y.mjs\";\nimport { getEnabledContactsMenuActions, registerContactsMenuAction } from \"./Functions/contactsMenu.mjs\";\nimport { spawnDialog } from \"./Functions/dialog.mjs\";\nimport { E, a as a3, e, g as g2, s as s2 } from \"./chunks/emoji-BY_D0V5K.mjs\";\nimport { checkIfDarkTheme, isDarkTheme } from \"./Functions/isDarkTheme.mjs\";\nimport { preloadImage } from \"./Functions/preloadImage.mjs\";\nimport { u as u2 } from \"./chunks/usernameToColor-BPaEECqs.mjs\";\nimport directive from \"./Directives/Focus.mjs\";\nimport { directive as directive$1 } from \"./Directives/Linkify.mjs\";\nimport \"./Directives/Tooltip.mjs\";\nimport { default as default2 } from \"./Mixins/clickOutsideOptions.mjs\";\nimport { default as default3 } from \"./Mixins/isFullscreen.mjs\";\nimport { default as default4 } from \"./Mixins/isMobile.mjs\";\nimport { VTooltip } from \"floating-vue\";\nimport { VTooltip as VTooltip2 } from \"floating-vue\";\nconst NcComponents = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n NcActionButton,\n NcActionButtonGroup,\n NcActionCaption,\n NcActionCheckbox,\n NcActionInput,\n NcActionLink,\n NcActionRadio,\n NcActionRouter,\n NcActionSeparator,\n NcActionText,\n NcActionTextEditable,\n NcActions,\n NcAppContent,\n NcAppContentDetails,\n NcAppContentList,\n NcAppNavigation,\n NcAppNavigationCaption,\n NcAppNavigationIconBullet,\n NcAppNavigationItem,\n NcAppNavigationList,\n NcAppNavigationNew,\n NcAppNavigationNewItem,\n NcAppNavigationSearch,\n NcAppNavigationSettings,\n NcAppNavigationSpacer,\n NcAppSettingsDialog,\n NcAppSettingsSection,\n NcAppSidebar,\n NcAppSidebarHeader,\n NcAppSidebarTab,\n NcAutoCompleteResult,\n NcAvatar,\n NcBlurHash,\n NcBreadcrumb,\n NcBreadcrumbs,\n NcButton,\n NcCheckboxRadioSwitch,\n NcCollectionList,\n NcColorPicker,\n NcContent,\n NcCounterBubble,\n NcDashboardWidget,\n NcDashboardWidgetItem,\n NcDateTime,\n NcDateTimePicker,\n NcDateTimePickerNative,\n NcDialog,\n NcDialogButton,\n NcEllipsisedOption,\n NcEmojiPicker,\n NcEmptyContent,\n NcGuestContent,\n NcHeaderButton,\n NcHeaderMenu,\n NcHighlight,\n NcIconSvgWrapper,\n NcInputField,\n NcListItem,\n NcListItemIcon,\n NcLoadingIcon,\n NcMentionBubble,\n NcModal,\n NcNoteCard,\n NcPasswordField,\n NcPopover,\n NcProgressBar,\n NcRelatedResourcesPanel,\n NcRichContenteditable,\n NcRichText,\n NcSavingIndicatorIcon,\n NcSelect,\n NcSelectTags,\n NcSelectUsers,\n NcSettingsInputText,\n NcSettingsSection,\n NcSettingsSelectGroup,\n NcTextArea,\n NcTextField,\n NcTimezonePicker,\n NcUserBubble,\n NcUserStatusIcon,\n NcVNodes\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst NcDirectives = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Focus: directive,\n Linkify: directive$1,\n Tooltip: VTooltip\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst NextcloudVuePlugin = {\n install(Vue) {\n Object.entries(NcComponents).forEach(([name, component]) => {\n Vue.component(component.name || name, component);\n });\n Object.entries(NcDirectives).forEach(([name, directive2]) => {\n Vue.directive(name, directive2);\n });\n }\n};\nexport {\n E as EmojiSkinTone,\n directive as Focus,\n directive$1 as Linkify,\n MOBILE_BREAKPOINT,\n MOBILE_SMALL_BREAKPOINT,\n NcActionButton,\n NcActionButtonGroup,\n NcActionCaption,\n NcActionCheckbox,\n NcActionInput,\n NcActionLink,\n NcActionRadio,\n NcActionRouter,\n NcActionSeparator,\n NcActionText,\n NcActionTextEditable,\n NcActions,\n NcAppContent,\n NcAppContentDetails,\n NcAppContentList,\n NcAppNavigation,\n NcAppNavigationCaption,\n NcAppNavigationIconBullet,\n NcAppNavigationItem,\n NcAppNavigationList,\n NcAppNavigationNew,\n NcAppNavigationNewItem,\n NcAppNavigationSearch,\n NcAppNavigationSettings,\n NcAppNavigationSpacer,\n NcAppSettingsDialog,\n NcAppSettingsSection,\n NcAppSidebar,\n NcAppSidebarHeader,\n NcAppSidebarTab,\n NcAutoCompleteResult,\n NcAvatar,\n NcBlurHash,\n NcBreadcrumb,\n NcBreadcrumbs,\n NcButton,\n NcCheckboxRadioSwitch,\n NcCollectionList,\n NcColorPicker,\n NcContent,\n NcCounterBubble,\n N as NcCustomPickerRenderResult,\n NcDashboardWidget,\n NcDashboardWidgetItem,\n NcDateTime,\n NcDateTimePicker,\n NcDateTimePickerNative,\n NcDialog,\n NcDialogButton,\n NcEllipsisedOption,\n NcEmojiPicker,\n NcEmptyContent,\n NcGuestContent,\n NcHeaderButton,\n NcHeaderMenu,\n NcHighlight,\n NcIconSvgWrapper,\n NcInputField,\n NcListItem,\n NcListItemIcon,\n NcLoadingIcon,\n NcMentionBubble,\n NcModal,\n NcNoteCard,\n NcPasswordField,\n NcPopover,\n NcProgressBar,\n NcRelatedResourcesPanel,\n NcRichContenteditable,\n NcRichText,\n NcSavingIndicatorIcon,\n NcSelect,\n NcSelectTags,\n NcSelectUsers,\n NcSettingsInputText,\n NcSettingsSection,\n NcSettingsSelectGroup,\n NcTextArea,\n NcTextField,\n NcTimezonePicker,\n NcUserBubble,\n NcUserStatusIcon,\n NcVNodes,\n NextcloudVuePlugin,\n VTooltip2 as Tooltip,\n a2 as anyLinkProviderId,\n checkIfDarkTheme,\n default2 as clickOutsideOptions,\n a3 as emojiAddRecent,\n e as emojiSearch,\n g2 as getCurrentSkinTone,\n getEnabledContactsMenuActions,\n g as getLinkWithPicker,\n b2 as getProvider,\n c2 as getProviders,\n h as hasInteractiveView,\n isA11yActivation,\n d as isCustomPickerElementRegistered,\n isDarkTheme,\n default3 as isFullscreen,\n isFullscreenState,\n default4 as isMobile,\n isMobileState,\n i as isWidgetRegistered,\n preloadImage,\n registerContactsMenuAction,\n b as registerCustomPickerElement,\n r2 as registerWidget,\n c as renderCustomPickerElement,\n a as renderWidget,\n r as richEditor,\n d2 as searchProvider,\n s2 as setCurrentSkinTone,\n s as sortProviders,\n spawnDialog,\n useFormatDateTime,\n useFormatRelativeTime,\n useFormatTime,\n useHotKey,\n useIsDarkTheme,\n useIsDarkThemeElement,\n useIsFullscreen,\n useIsMobile,\n useIsSmallMobile,\n u as userStatus,\n u2 as usernameToColor\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { formatFileSize } from '@nextcloud/files'\nimport { useFormatDateTime } from '@nextcloud/vue'\n\nexport default {\n\tprops: {\n\t\tuser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tsettings: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tlanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tsetup(props) {\n\t\tconst { formattedFullTime } = useFormatDateTime(props.user.firstLoginTimestamp * 1000, {\n\t\t\trelativeTime: false,\n\t\t\tformat: {\n\t\t\t\ttimeStyle: 'short',\n\t\t\t\tdateStyle: 'short',\n\t\t\t},\n\t\t})\n\t\treturn {\n\t\t\tformattedFullTime,\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tselectedGroups: this.user.groups.map(id => ({ id, name: id })),\n\t\t\tselectedSubAdminGroups: this.user.subadmin.map(id => ({ id, name: id })),\n\t\t\tuserGroups: this.user.groups.map(id => ({ id, name: id })),\n\t\t\tuserSubAdminGroups: this.user.subadmin.map(id => ({ id, name: id })),\n\t\t}\n\t},\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedSpace() {\n\t\t\tconst quotaUsed = this.user.quota.used > 0 ? this.user.quota.used : 0\n\t\t\treturn t('settings', '{size} used', { size: formatFileSize(quotaUsed, true) })\n\t\t},\n\n\t\tusedQuota() {\n\t\t\tlet quota = this.user.quota.quota\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100))\n\t\t\t} else {\n\t\t\t\tconst usedInGB = this.user.quota.used / (10 * Math.pow(2, 30))\n\t\t\t\t// asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - (1 / (usedInGB + 1)))\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota\n\t\t},\n\n\t\t// Mapping saved values to objects\n\t\tuserQuota() {\n\t\t\tif (this.user.quota.quota >= 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tconst humanQuota = formatFileSize(this.user.quota.quota)\n\t\t\t\tconst userQuota = this.quotaOptions.find(quota => quota.id === humanQuota)\n\t\t\t\treturn userQuota || { id: humanQuota, label: humanQuota }\n\t\t\t} else if (this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0]\n\t\t\t}\n\t\t\treturn this.quotaOptions[1] // unlimited\n\t\t},\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength\n\t\t},\n\n\t\t/* LANGUAGE */\n\t\tuserLanguage() {\n\t\t\tconst availableLanguages = this.languages[0].languages.concat(this.languages[1].languages)\n\t\t\tconst userLang = availableLanguages.find(lang => lang.code === this.user.language)\n\t\t\tif (typeof userLang !== 'object' && this.user.language !== '') {\n\t\t\t\treturn {\n\t\t\t\t\tcode: this.user.language,\n\t\t\t\t\tname: this.user.language,\n\t\t\t\t}\n\t\t\t} else if (this.user.language === '') {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn userLang\n\t\t},\n\n\t\tuserFirstLogin() {\n\t\t\tif (this.user.firstLoginTimestamp > 0) {\n\t\t\t\treturn this.formattedFullTime\n\t\t\t}\n\t\t\tif (this.user.firstLoginTimestamp < 0) {\n\t\t\t\treturn t('settings', 'Unknown')\n\t\t\t}\n\t\t\treturn t('settings', 'Never')\n\t\t},\n\n\t\t/* LAST LOGIN */\n\t\tuserLastLoginTooltip() {\n\t\t\tif (this.user.lastLoginTimestamp > 0) {\n\t\t\t\treturn OC.Util.formatDate(this.user.lastLoginTimestamp * 1000)\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\tuserLastLogin() {\n\t\t\tif (this.user.lastLoginTimestamp > 0) {\n\t\t\t\treturn OC.Util.relativeModifiedDate(this.user.lastLoginTimestamp * 1000)\n\t\t\t}\n\t\t\treturn t('settings', 'Never')\n\t\t},\n\t},\n}\n","<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<tr class=\"user-list__row\"\n\t\t:data-cy-user-row=\"user.id\">\n\t\t<td class=\"row__cell row__cell--avatar\" data-cy-user-list-cell-avatar>\n\t\t\t<NcLoadingIcon v-if=\"isLoadingUser\"\n\t\t\t\t:name=\"t('settings', 'Loading account …')\"\n\t\t\t\t:size=\"32\" />\n\t\t\t<NcAvatar v-else-if=\"visible\"\n\t\t\t\tdisable-menu\n\t\t\t\t:show-user-status=\"false\"\n\t\t\t\t:user=\"user.id\" />\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--displayname\" data-cy-user-list-cell-displayname>\n\t\t\t<template v-if=\"editing && user.backendCapabilities.setDisplayName\">\n\t\t\t\t<NcTextField ref=\"displayNameField\"\n\t\t\t\t\tclass=\"user-row-text-field\"\n\t\t\t\t\tdata-cy-user-list-input-displayname\n\t\t\t\t\t:data-loading=\"loading.displayName || undefined\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\t:class=\"{ 'icon-loading-small': loading.displayName }\"\n\t\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t\t:disabled=\"loading.displayName || isLoadingField\"\n\t\t\t\t\t:label=\"t('settings', 'Change display name')\"\n\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t:value.sync=\"editedDisplayName\"\n\t\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t@trailing-button-click=\"updateDisplayName\" />\n\t\t\t</template>\n\t\t\t<strong v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"user.displayname?.length > 20 ? user.displayname : null\">\n\t\t\t\t{{ user.displayname }}\n\t\t\t</strong>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--username\" data-cy-user-list-cell-username>\n\t\t\t<span class=\"row__subtitle\">{{ user.id }}</span>\n\t\t</td>\n\n\t\t<td data-cy-user-list-cell-password\n\t\t\tclass=\"row__cell\"\n\t\t\t:class=\"{ 'row__cell--obfuscated': hasObfuscated }\">\n\t\t\t<template v-if=\"editing && settings.canChangePassword && user.backendCapabilities.setPassword\">\n\t\t\t\t<NcTextField class=\"user-row-text-field\"\n\t\t\t\t\tdata-cy-user-list-input-password\n\t\t\t\t\t:data-loading=\"loading.password || undefined\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\t:class=\"{'icon-loading-small': loading.password}\"\n\t\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t\t:disabled=\"loading.password || isLoadingField\"\n\t\t\t\t\t:minlength=\"minPasswordLength\"\n\t\t\t\t\tmaxlength=\"469\"\n\t\t\t\t\t:label=\"t('settings', 'Set new password')\"\n\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t:value.sync=\"editedPassword\"\n\t\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t\trequired\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t@trailing-button-click=\"updatePassword\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"isObfuscated\">\n\t\t\t\t{{ t('settings', 'You do not have permissions to see the details of this account') }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell\" data-cy-user-list-cell-email>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<NcTextField class=\"user-row-text-field\"\n\t\t\t\t\t:class=\"{'icon-loading-small': loading.mailAddress}\"\n\t\t\t\t\tdata-cy-user-list-input-email\n\t\t\t\t\t:data-loading=\"loading.mailAddress || undefined\"\n\t\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\t:label=\"t('settings', 'Set new email address')\"\n\t\t\t\t\t:disabled=\"loading.mailAddress || isLoadingField\"\n\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t:value.sync=\"editedMail\"\n\t\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t\tautocomplete=\"email\"\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t@trailing-button-click=\"updateEmail\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"user.email?.length > 20 ? user.email : null\">\n\t\t\t\t{{ user.email }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--large row__cell--multiline\" data-cy-user-list-cell-groups>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'groups' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Add account to group') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect data-cy-user-list-input-groups\n\t\t\t\t\t:data-loading=\"loading.groups || undefined\"\n\t\t\t\t\t:input-id=\"'groups' + uniqueId\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:disabled=\"isLoadingField || loading.groupsDetails\"\n\t\t\t\t\t:loading=\"loading.groups\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:options=\"availableGroups\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Add account to group')\"\n\t\t\t\t\t:taggable=\"settings.isAdmin || settings.isDelegatedAdmin\"\n\t\t\t\t\t:value=\"userGroups\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t:no-wrap=\"true\"\n\t\t\t\t\t:create-option=\"(value) => ({ id: value, name: value, isCreating: true })\"\n\t\t\t\t\t@search=\"searchGroups\"\n\t\t\t\t\t@option:created=\"createGroup\"\n\t\t\t\t\t@option:selected=\"options => addUserGroup(options.at(-1))\"\n\t\t\t\t\t@option:deselected=\"removeUserGroup\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"userGroupsLabels?.length > 40 ? userGroupsLabels : null\">\n\t\t\t\t{{ userGroupsLabels }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td v-if=\"settings.isAdmin || settings.isDelegatedAdmin\"\n\t\t\tdata-cy-user-list-cell-subadmins\n\t\t\tclass=\"row__cell row__cell--large row__cell--multiline\">\n\t\t\t<template v-if=\"editing && (settings.isAdmin || settings.isDelegatedAdmin)\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'subadmins' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Set account as admin for') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect data-cy-user-list-input-subadmins\n\t\t\t\t\t:data-loading=\"loading.subadmins || undefined\"\n\t\t\t\t\t:input-id=\"'subadmins' + uniqueId\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:disabled=\"isLoadingField || loading.subAdminGroupsDetails\"\n\t\t\t\t\t:loading=\"loading.subadmins\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t:no-wrap=\"true\"\n\t\t\t\t\t:options=\"availableSubAdminGroups\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set account as admin for')\"\n\t\t\t\t\t:value=\"userSubAdminGroups\"\n\t\t\t\t\t@search=\"searchGroups\"\n\t\t\t\t\t@option:deselected=\"removeUserSubAdmin\"\n\t\t\t\t\t@option:selected=\"options => addUserSubAdmin(options.at(-1))\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"userSubAdminGroupsLabels?.length > 40 ? userSubAdminGroupsLabels : null\">\n\t\t\t\t{{ userSubAdminGroupsLabels }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell\" data-cy-user-list-cell-quota>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'quota' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Select account quota') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect v-model=\"editedUserQuota\"\n\t\t\t\t\t:close-on-select=\"true\"\n\t\t\t\t\t:create-option=\"validateQuota\"\n\t\t\t\t\tdata-cy-user-list-input-quota\n\t\t\t\t\t:data-loading=\"loading.quota || undefined\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loading.quota\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:input-id=\"'quota' + uniqueId\"\n\t\t\t\t\t:options=\"quotaOptions\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Select account quota')\"\n\t\t\t\t\t:taggable=\"true\"\n\t\t\t\t\t@option:selected=\"setUserQuota\" />\n\t\t\t</template>\n\t\t\t<template v-else-if=\"!isObfuscated\">\n\t\t\t\t<span :id=\"'quota-progress' + uniqueId\">{{ userQuota }} ({{ usedSpace }})</span>\n\t\t\t\t<NcProgressBar :aria-labelledby=\"'quota-progress' + uniqueId\"\n\t\t\t\t\tclass=\"row__progress\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t'row__progress--warn': usedQuota > 80,\n\t\t\t\t\t}\"\n\t\t\t\t\t:value=\"usedQuota\" />\n\t\t\t</template>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showLanguages\"\n\t\t\tclass=\"row__cell row__cell--large\"\n\t\t\tdata-cy-user-list-cell-language>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'language' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Set the language') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect :id=\"'language' + uniqueId\"\n\t\t\t\t\tdata-cy-user-list-input-language\n\t\t\t\t\t:data-loading=\"loading.languages || undefined\"\n\t\t\t\t\t:allow-empty=\"false\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loading.languages\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:options=\"availableLanguages\"\n\t\t\t\t\t:placeholder=\"t('settings', 'No language set')\"\n\t\t\t\t\t:value=\"userLanguage\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t@input=\"setUserLanguage\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\">\n\t\t\t\t{{ userLanguage.name }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showUserBackend || showConfig.showStoragePath\"\n\t\t\tdata-cy-user-list-cell-storage-location\n\t\t\tclass=\"row__cell row__cell--large\">\n\t\t\t<template v-if=\"!isObfuscated\">\n\t\t\t\t<span v-if=\"showConfig.showUserBackend\">{{ user.backend }}</span>\n\t\t\t\t<span v-if=\"showConfig.showStoragePath\"\n\t\t\t\t\t:title=\"user.storageLocation\"\n\t\t\t\t\tclass=\"row__subtitle\">\n\t\t\t\t\t{{ user.storageLocation }}\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showFirstLogin\"\n\t\t\tclass=\"row__cell\"\n\t\t\tdata-cy-user-list-cell-first-login>\n\t\t\t<span v-if=\"!isObfuscated\">{{ userFirstLogin }}</span>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showLastLogin\"\n\t\t\t:title=\"userLastLoginTooltip\"\n\t\t\tclass=\"row__cell\"\n\t\t\tdata-cy-user-list-cell-last-login>\n\t\t\t<span v-if=\"!isObfuscated\">{{ userLastLogin }}</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--large row__cell--fill\" data-cy-user-list-cell-manager>\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'manager' + uniqueId\">\n\t\t\t\t\t{{ managerLabel }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect v-model=\"currentManager\"\n\t\t\t\t\tclass=\"select--fill\"\n\t\t\t\t\tdata-cy-user-list-input-manager\n\t\t\t\t\t:data-loading=\"loading.manager || undefined\"\n\t\t\t\t\t:input-id=\"'manager' + uniqueId\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loadingPossibleManagers || loading.manager\"\n\t\t\t\t\t:options=\"possibleManagers\"\n\t\t\t\t\t:placeholder=\"managerLabel\"\n\t\t\t\t\tlabel=\"displayname\"\n\t\t\t\t\t:filterable=\"false\"\n\t\t\t\t\t:internal-search=\"false\"\n\t\t\t\t\t:clearable=\"true\"\n\t\t\t\t\t@open=\"searchInitialUserManager\"\n\t\t\t\t\t@search=\"searchUserManager\"\n\t\t\t\t\t@update:model-value=\"updateUserManager\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\">\n\t\t\t\t{{ user.manager }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--actions\" data-cy-user-list-cell-actions>\n\t\t\t<UserRowActions v-if=\"visible && !isObfuscated && canEdit && !loading.all\"\n\t\t\t\t:actions=\"userActions\"\n\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t:edit=\"editing\"\n\t\t\t\t:user=\"user\"\n\t\t\t\t@update:edit=\"toggleEdit\" />\n\t\t</td>\n\t</tr>\n</template>\n\n<script>\nimport { formatFileSize, parseFileSize } from '@nextcloud/files'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { showSuccess, showError } from '@nextcloud/dialogs'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\n\nimport NcAvatar from '@nextcloud/vue/components/NcAvatar'\nimport NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'\nimport NcProgressBar from '@nextcloud/vue/components/NcProgressBar'\nimport NcSelect from '@nextcloud/vue/components/NcSelect'\nimport NcTextField from '@nextcloud/vue/components/NcTextField'\n\nimport UserRowActions from './UserRowActions.vue'\n\nimport UserRowMixin from '../../mixins/UserRowMixin.js'\nimport { isObfuscated, unlimitedQuota } from '../../utils/userUtils.ts'\nimport { searchGroups, loadUserGroups, loadUserSubAdminGroups } from '../../service/groups.ts'\nimport logger from '../../logger.ts'\n\nexport default {\n\tname: 'UserRow',\n\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcLoadingIcon,\n\t\tNcProgressBar,\n\t\tNcSelect,\n\t\tNcTextField,\n\t\tUserRowActions,\n\t},\n\n\tmixins: [\n\t\tUserRowMixin,\n\t],\n\n\tprops: {\n\t\tuser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tvisible: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tusers: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\thasObfuscated: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tlanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tsettings: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tselectedQuota: false,\n\t\t\trand: Math.random().toString(36).substring(2),\n\t\t\tloadingPossibleManagers: false,\n\t\t\tpossibleManagers: [],\n\t\t\tcurrentManager: '',\n\t\t\tediting: false,\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tdisplayName: false,\n\t\t\t\tpassword: false,\n\t\t\t\tmailAddress: false,\n\t\t\t\tgroups: false,\n\t\t\t\tgroupsDetails: false,\n\t\t\t\tsubAdminGroupsDetails: false,\n\t\t\t\tsubadmins: false,\n\t\t\t\tquota: false,\n\t\t\t\tdelete: false,\n\t\t\t\tdisable: false,\n\t\t\t\tlanguages: false,\n\t\t\t\twipe: false,\n\t\t\t\tmanager: false,\n\t\t\t},\n\t\t\teditedDisplayName: this.user.displayname,\n\t\t\teditedPassword: '',\n\t\t\teditedMail: this.user.email ?? '',\n\t\t\t// Cancelable promise for search groups request\n\t\t\tpromise: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tmanagerLabel() {\n\t\t\t// TRANSLATORS This string describes a person's manager in the context of an organization\n\t\t\treturn t('settings', 'Set line manager')\n\t\t},\n\n\t\tisObfuscated() {\n\t\t\treturn isObfuscated(this.user)\n\t\t},\n\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tisLoadingUser() {\n\t\t\treturn this.loading.delete || this.loading.disable || this.loading.wipe\n\t\t},\n\n\t\tisLoadingField() {\n\t\t\treturn this.loading.delete || this.loading.disable || this.loading.all\n\t\t},\n\n\t\tuniqueId() {\n\t\t\treturn encodeURIComponent(this.user.id + this.rand)\n\t\t},\n\n\t\tavailableGroups() {\n\t\t\tconst groups = (this.settings.isAdmin || this.settings.isDelegatedAdmin)\n\t\t\t\t? this.$store.getters.getSortedGroups\n\t\t\t\t: this.$store.getters.getSubAdminGroups\n\n\t\t\treturn groups.filter(group => group.id !== '__nc_internal_recent' && group.id !== 'disabled')\n\t\t},\n\n\t\tavailableSubAdminGroups() {\n\t\t\treturn this.availableGroups.filter(group => group.id !== 'admin')\n\t\t},\n\n\t\tuserGroupsLabels() {\n\t\t\treturn this.userGroups\n\t\t\t\t.map(group => {\n\t\t\t\t\t// Try to match with more extensive group data\n\t\t\t\t\tconst availableGroup = this.availableGroups.find(g => g.id === group.id)\n\t\t\t\t\treturn availableGroup?.name ?? group.name ?? group.id\n\t\t\t\t})\n\t\t\t\t.join(', ')\n\t\t},\n\n\t\tuserSubAdminGroupsLabels() {\n\t\t\treturn this.userSubAdminGroups\n\t\t\t\t.map(group => {\n\t\t\t\t\t// Try to match with more extensive group data\n\t\t\t\t\tconst availableGroup = this.availableSubAdminGroups.find(g => g.id === group.id)\n\t\t\t\t\treturn availableGroup?.name ?? group.name ?? group.id\n\t\t\t\t})\n\t\t\t\t.join(', ')\n\t\t},\n\n\t\tusedSpace() {\n\t\t\tif (this.user.quota?.used) {\n\t\t\t\treturn t('settings', '{size} used', { size: formatFileSize(this.user.quota?.used) })\n\t\t\t}\n\t\t\treturn t('settings', '{size} used', { size: formatFileSize(0) })\n\t\t},\n\n\t\tcanEdit() {\n\t\t\treturn getCurrentUser().uid !== this.user.id || this.settings.isAdmin || this.settings.isDelegatedAdmin\n\t\t},\n\n\t\tuserQuota() {\n\t\t\tlet quota = this.user.quota?.quota\n\n\t\t\tif (quota === 'default') {\n\t\t\t\tquota = this.settings.defaultQuota\n\t\t\t\tif (quota !== 'none') {\n\t\t\t\t\t// convert to numeric value to match what the server would usually return\n\t\t\t\t\tquota = parseFileSize(quota, true)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// when the default quota is unlimited, the server returns -3 here, map it to \"none\"\n\t\t\tif (quota === 'none' || quota === -3) {\n\t\t\t\treturn t('settings', 'Unlimited')\n\t\t\t} else if (quota >= 0) {\n\t\t\t\treturn formatFileSize(quota)\n\t\t\t}\n\t\t\treturn formatFileSize(0)\n\t\t},\n\n\t\tuserActions() {\n\t\t\tconst actions = [\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\ttext: t('settings', 'Delete account'),\n\t\t\t\t\taction: this.deleteUser,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\ttext: t('settings', 'Disconnect all devices and delete local data'),\n\t\t\t\t\taction: this.wipeUserDevices,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: this.user.enabled ? 'icon-close' : 'icon-add',\n\t\t\t\t\ttext: this.user.enabled ? t('settings', 'Disable account') : t('settings', 'Enable account'),\n\t\t\t\t\taction: this.enableDisableUser,\n\t\t\t\t},\n\t\t\t]\n\t\t\tif (this.user.email !== null && this.user.email !== '') {\n\t\t\t\tactions.push({\n\t\t\t\t\ticon: 'icon-mail',\n\t\t\t\t\ttext: t('settings', 'Resend welcome email'),\n\t\t\t\t\taction: this.sendWelcomeMail,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn actions.concat(this.externalActions)\n\t\t},\n\n\t\t// mapping saved values to objects\n\t\teditedUserQuota: {\n\t\t\tget() {\n\t\t\t\tif (this.selectedQuota !== false) {\n\t\t\t\t\treturn this.selectedQuota\n\t\t\t\t}\n\t\t\t\tif (this.settings.defaultQuota !== unlimitedQuota.id && parseFileSize(this.settings.defaultQuota, true) >= 0) {\n\t\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\t\treturn { id: this.settings.defaultQuota, label: this.settings.defaultQuota }\n\t\t\t\t}\n\t\t\t\treturn unlimitedQuota // unlimited\n\t\t\t},\n\t\t\tset(quota) {\n\t\t\t\tthis.selectedQuota = quota\n\t\t\t},\n\t\t},\n\n\t\tavailableLanguages() {\n\t\t\treturn this.languages[0].languages.concat(this.languages[1].languages)\n\t\t},\n\t},\n\tasync beforeMount() {\n\t\tif (this.user.manager) {\n\t\t\tawait this.initManager(this.user.manager)\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasync wipeUserDevices() {\n\t\t\tconst userid = this.user.id\n\t\t\tawait confirmPassword()\n\t\t\tOC.dialogs.confirmDestructive(\n\t\t\t\tt('settings', 'In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.', { userid }),\n\t\t\t\tt('settings', 'Remote wipe of devices'),\n\t\t\t\t{\n\t\t\t\t\ttype: OC.dialogs.YES_NO_BUTTONS,\n\t\t\t\t\tconfirm: t('settings', 'Wipe {userid}\\'s devices', { userid }),\n\t\t\t\t\tconfirmClasses: 'error',\n\t\t\t\t\tcancel: t('settings', 'Cancel'),\n\t\t\t\t},\n\t\t\t\t(result) => {\n\t\t\t\t\tif (result) {\n\t\t\t\t\t\tthis.loading.wipe = true\n\t\t\t\t\t\tthis.loading.all = true\n\t\t\t\t\t\tthis.$store.dispatch('wipeUserDevices', userid)\n\t\t\t\t\t\t\t.then(() => showSuccess(t('settings', 'Wiped {userid}\\'s devices', { userid })), { timeout: 2000 })\n\t\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\t\tthis.loading.wipe = false\n\t\t\t\t\t\t\t\tthis.loading.all = false\n\t\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttrue,\n\t\t\t)\n\t\t},\n\n\t\tfilterManagers(managers) {\n\t\t\treturn managers.filter((manager) => manager.id !== this.user.id)\n\t\t},\n\n\t\tasync initManager(userId) {\n\t\t\tawait this.$store.dispatch('getUser', userId).then(response => {\n\t\t\t\tthis.currentManager = response?.data.ocs.data\n\t\t\t})\n\t\t},\n\n\t\tasync searchInitialUserManager() {\n\t\t\tthis.loadingPossibleManagers = true\n\t\t\tawait this.searchUserManager()\n\t\t\tthis.loadingPossibleManagers = false\n\t\t},\n\n\t\tasync loadGroupsDetails() {\n\t\t\tthis.loading.groups = true\n\t\t\tthis.loading.groupsDetails = true\n\t\t\ttry {\n\t\t\t\tconst groups = await loadUserGroups({ userId: this.user.id })\n\t\t\t\t// Populate store from server request\n\t\t\t\tfor (const group of groups) {\n\t\t\t\t\tthis.$store.commit('addGroup', group)\n\t\t\t\t}\n\t\t\t\tthis.selectedGroups = this.selectedGroups.map(selectedGroup => groups.find(group => group.id === selectedGroup.id) ?? selectedGroup)\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to load groups with details'), { error })\n\t\t\t}\n\t\t\tthis.loading.groups = false\n\t\t\tthis.loading.groupsDetails = false\n\t\t},\n\n\t\tasync loadSubAdminGroupsDetails() {\n\t\t\tthis.loading.subadmins = true\n\t\t\tthis.loading.subAdminGroupsDetails = true\n\t\t\ttry {\n\t\t\t\tconst groups = await loadUserSubAdminGroups({ userId: this.user.id })\n\t\t\t\t// Populate store from server request\n\t\t\t\tfor (const group of groups) {\n\t\t\t\t\tthis.$store.commit('addGroup', group)\n\t\t\t\t}\n\t\t\t\tthis.selectedSubAdminGroups = this.selectedSubAdminGroups.map(selectedGroup => groups.find(group => group.id === selectedGroup.id) ?? selectedGroup)\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to load sub admin groups with details'), { error })\n\t\t\t}\n\t\t\tthis.loading.subadmins = false\n\t\t\tthis.loading.subAdminGroupsDetails = false\n\t\t},\n\n\t\tasync searchGroups(query, toggleLoading) {\n\t\t\tif (query === '') {\n\t\t\t\treturn // Prevent unexpected search behaviour e.g. on option:created\n\t\t\t}\n\t\t\tif (this.promise) {\n\t\t\t\tthis.promise.cancel()\n\t\t\t}\n\t\t\ttoggleLoading(true)\n\t\t\ttry {\n\t\t\t\tthis.promise = await searchGroups({\n\t\t\t\t\tsearch: query,\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tlimit: 25,\n\t\t\t\t})\n\t\t\t\tconst groups = await this.promise\n\t\t\t\t// Populate store from server request\n\t\t\t\tfor (const group of groups) {\n\t\t\t\t\tthis.$store.commit('addGroup', group)\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to search groups'), { error })\n\t\t\t}\n\t\t\tthis.promise = null\n\t\t\ttoggleLoading(false)\n\t\t},\n\n\t\tasync searchUserManager(query) {\n\t\t\tawait this.$store.dispatch('searchUsers', { offset: 0, limit: 10, search: query }).then(response => {\n\t\t\t\tconst users = response?.data ? this.filterManagers(Object.values(response?.data.ocs.data.users)) : []\n\t\t\t\tif (users.length > 0) {\n\t\t\t\t\tthis.possibleManagers = users\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\tasync updateUserManager() {\n\t\t\tthis.loading.manager = true\n\n\t\t\t// Store the current manager before making changes\n\t\t\tconst previousManager = this.user.manager\n\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'manager',\n\t\t\t\t\tvalue: this.currentManager ? this.currentManager.id : '',\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\t// TRANSLATORS This string describes a line manager in the context of an organization\n\t\t\t\tshowError(t('settings', 'Failed to update line manager'))\n\t\t\t\tlogger.error('Failed to update manager:', { error })\n\n\t\t\t\t// Revert to the previous manager in the UI on error\n\t\t\t\tthis.currentManager = previousManager\n\t\t\t} finally {\n\t\t\t\tthis.loading.manager = false\n\t\t\t}\n\t\t},\n\n\t\tasync deleteUser() {\n\t\t\tconst userid = this.user.id\n\t\t\tawait confirmPassword()\n\t\t\tOC.dialogs.confirmDestructive(\n\t\t\t\tt('settings', 'Fully delete {userid}\\'s account including all their personal files, app data, etc.', { userid }),\n\t\t\t\tt('settings', 'Account deletion'),\n\t\t\t\t{\n\t\t\t\t\ttype: OC.dialogs.YES_NO_BUTTONS,\n\t\t\t\t\tconfirm: t('settings', 'Delete {userid}\\'s account', { userid }),\n\t\t\t\t\tconfirmClasses: 'error',\n\t\t\t\t\tcancel: t('settings', 'Cancel'),\n\t\t\t\t},\n\t\t\t\t(result) => {\n\t\t\t\t\tif (result) {\n\t\t\t\t\t\tthis.loading.delete = true\n\t\t\t\t\t\tthis.loading.all = true\n\t\t\t\t\t\treturn this.$store.dispatch('deleteUser', userid)\n\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\t\t\t\tthis.loading.all = false\n\t\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttrue,\n\t\t\t)\n\t\t},\n\n\t\tenableDisableUser() {\n\t\t\tthis.loading.delete = true\n\t\t\tthis.loading.all = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst enabled = !this.user.enabled\n\t\t\treturn this.$store.dispatch('enableDisableUser', {\n\t\t\t\tuserid,\n\t\t\t\tenabled,\n\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Set user displayName\n\t\t */\n\t\tasync updateDisplayName() {\n\t\t\tthis.loading.displayName = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'displayname',\n\t\t\t\t\tvalue: this.editedDisplayName,\n\t\t\t\t})\n\n\t\t\t\tif (this.editedDisplayName === this.user.displayname) {\n\t\t\t\t\tshowSuccess(t('settings', 'Display name was successfully changed'))\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tthis.loading.displayName = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Set user password\n\t\t */\n\t\tasync updatePassword() {\n\t\t\tthis.loading.password = true\n\t\t\tif (this.editedPassword.length === 0) {\n\t\t\t\tshowError(t('settings', \"Password can't be empty\"))\n\t\t\t\tthis.loading.password = false\n\t\t\t} else {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\t\tkey: 'password',\n\t\t\t\t\t\tvalue: this.editedPassword,\n\t\t\t\t\t})\n\t\t\t\t\tthis.editedPassword = ''\n\t\t\t\t\tshowSuccess(t('settings', 'Password was successfully changed'))\n\t\t\t\t} finally {\n\t\t\t\t\tthis.loading.password = false\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Set user mailAddress\n\t\t */\n\t\tasync updateEmail() {\n\t\t\tthis.loading.mailAddress = true\n\t\t\tif (this.editedMail === '') {\n\t\t\t\tshowError(t('settings', \"Email can't be empty\"))\n\t\t\t\tthis.loading.mailAddress = false\n\t\t\t\tthis.editedMail = this.user.email\n\t\t\t} else {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\t\tkey: 'email',\n\t\t\t\t\t\tvalue: this.editedMail,\n\t\t\t\t\t})\n\n\t\t\t\t\tif (this.editedMail === this.user.email) {\n\t\t\t\t\t\tshowSuccess(t('settings', 'Email was successfully changed'))\n\t\t\t\t\t}\n\t\t\t\t} finally {\n\t\t\t\t\tthis.loading.mailAddress = false\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Create a new group and add user to it\n\t\t *\n\t\t * @param {string} gid Group id\n\t\t */\n\t\tasync createGroup({ name: gid }) {\n\t\t\tthis.loading.groups = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addGroup', gid)\n\t\t\t\tconst userid = this.user.id\n\t\t\t\tawait this.$store.dispatch('addUserGroup', { userid, gid })\n\t\t\t\tthis.userGroups.push({ id: gid, name: gid })\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error(t('settings', 'Failed to create group'), { error })\n\t\t\t}\n\t\t\tthis.loading.groups = false\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync addUserGroup(group) {\n\t\t\tif (group.isCreating) {\n\t\t\t\t// This is NcSelect's internal value for a new inputted group name\n\t\t\t\t// Ignore\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\t\t\tif (group.canAdd === false) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.loading.groups = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addUserGroup', { userid, gid })\n\t\t\t\tthis.userGroups.push(group)\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t\tthis.loading.groups = false\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync removeUserGroup(group) {\n\t\t\tif (group.canRemove === false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tthis.loading.groups = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('removeUserGroup', {\n\t\t\t\t\tuserid,\n\t\t\t\t\tgid,\n\t\t\t\t})\n\t\t\t\tthis.userGroups = this.userGroups.filter(group => group.id !== gid)\n\t\t\t\tthis.loading.groups = false\n\t\t\t\t// remove user from current list if current list is the removed group\n\t\t\t\tif (this.$route.params.selectedGroup === gid) {\n\t\t\t\t\tthis.$store.commit('deleteUser', userid)\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tthis.loading.groups = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync addUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addUserSubAdmin', {\n\t\t\t\t\tuserid,\n\t\t\t\t\tgid,\n\t\t\t\t})\n\t\t\t\tthis.userSubAdminGroups.push(group)\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t\tthis.loading.subadmins = false\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync removeUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('removeUserSubAdmin', {\n\t\t\t\t\tuserid,\n\t\t\t\t\tgid,\n\t\t\t\t})\n\t\t\t\tthis.userSubAdminGroups = this.userSubAdminGroups.filter(group => group.id !== gid)\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading.subadmins = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Dispatch quota set request\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @return {string}\n\t\t */\n\t\tasync setUserQuota(quota = 'none') {\n\t\t\t// Make sure correct label is set for unlimited quota\n\t\t\tif (quota === 'none') {\n\t\t\t\tquota = unlimitedQuota\n\t\t\t}\n\t\t\tthis.loading.quota = true\n\n\t\t\t// ensure we only send the preset id\n\t\t\tquota = quota.id ? quota.id : quota\n\n\t\t\ttry {\n\t\t\t\t// If human readable format, convert to raw float format\n\t\t\t\t// Else just send the raw string\n\t\t\t\tconst value = (parseFileSize(quota, true) || quota).toString()\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'quota',\n\t\t\t\t\tvalue,\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading.quota = false\n\t\t\t}\n\t\t\treturn quota\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @return {object} The validated quota object or unlimited quota if input is invalid\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\tif (typeof quota === 'object') {\n\t\t\t\tquota = quota?.id || quota.label\n\t\t\t}\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tconst validQuota = parseFileSize(quota, true)\n\t\t\tif (validQuota === null) {\n\t\t\t\treturn unlimitedQuota\n\t\t\t} else {\n\t\t\t\t// unify format output\n\t\t\t\tquota = formatFileSize(parseFileSize(quota, true))\n\t\t\t\treturn { id: quota, label: quota }\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Dispatch language set request\n\t\t *\n\t\t * @param {object} lang language object {code:'en', name:'English'}\n\t\t * @return {object}\n\t\t */\n\t\tasync setUserLanguage(lang) {\n\t\t\tthis.loading.languages = true\n\t\t\t// ensure we only send the preset id\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'language',\n\t\t\t\t\tvalue: lang.code,\n\t\t\t\t})\n\t\t\t\tthis.loading.languages = false\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t\treturn lang\n\t\t},\n\n\t\t/**\n\t\t * Dispatch new welcome mail request\n\t\t */\n\t\tsendWelcomeMail() {\n\t\t\tthis.loading.all = true\n\t\t\tthis.$store.dispatch('sendWelcomeMail', this.user.id)\n\t\t\t\t.then(() => showSuccess(t('settings', 'Welcome mail sent!'), { timeout: 2000 }))\n\t\t\t\t.finally(() => {\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t})\n\t\t},\n\n\t\tasync toggleEdit() {\n\t\t\tthis.editing = !this.editing\n\t\t\tif (this.editing) {\n\t\t\t\tawait this.$nextTick()\n\t\t\t\tthis.$refs.displayNameField?.$refs?.inputField?.$refs?.input?.focus()\n\t\t\t\tthis.loadGroupsDetails()\n\t\t\t\tthis.loadSubAdminGroupsDetails()\n\t\t\t}\n\t\t\tif (this.editedDisplayName !== this.user.displayname) {\n\t\t\t\tthis.editedDisplayName = this.user.displayname\n\t\t\t} else if (this.editedMail !== this.user.email) {\n\t\t\t\tthis.editedMail = this.user.email ?? ''\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use './shared/styles';\n\n.user-list__row {\n\t@include styles.row;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-hover);\n\n\t\t.row__cell:not(.row__cell--actions) {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Limit width of select in fill cell\n\t.select--fill {\n\t\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\n\t}\n}\n\n.row {\n\t@include styles.cell;\n\n\t&__cell {\n\t\tborder-bottom: 1px solid var(--color-border);\n\n\t\t:deep {\n\t\t\t.v-select.select {\n\t\t\t\tmin-width: var(--cell-min-width);\n\t\t\t}\n\t\t}\n\t}\n\n\t&__progress {\n\t\tmargin-top: 4px;\n\n\t\t&--warn {\n\t\t\t&::-moz-progress-bar {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t\t&::-webkit-progress-value {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.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!./UserRow.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!./UserRow.vue?vue&type=style&index=0&id=95190948&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./UserRow.vue?vue&type=style&index=0&id=95190948&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserRow.vue?vue&type=template&id=95190948&scoped=true\"\nimport script from \"./UserRow.vue?vue&type=script&lang=js\"\nexport * from \"./UserRow.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserRow.vue?vue&type=style&index=0&id=95190948&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 \"95190948\",\n null\n \n)\n\nexport default component.exports","<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<Fragment>\n\t\t<NewUserDialog v-if=\"showConfig.showNewUserForm\"\n\t\t\t:loading=\"loading\"\n\t\t\t:new-user=\"newUser\"\n\t\t\t:quota-options=\"quotaOptions\"\n\t\t\t@reset=\"resetForm\"\n\t\t\t@closing=\"closeDialog\" />\n\n\t\t<NcEmptyContent v-if=\"filteredUsers.length === 0\"\n\t\t\tclass=\"empty\"\n\t\t\t:name=\"isInitialLoad && loading.users ? null : t('settings', 'No accounts')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcLoadingIcon v-if=\"isInitialLoad && loading.users\"\n\t\t\t\t\t:name=\"t('settings', 'Loading accounts …')\"\n\t\t\t\t\t:size=\"64\" />\n\t\t\t\t<NcIconSvgWrapper v-else :path=\"mdiAccountGroupOutline\" :size=\"64\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\n\t\t<VirtualList v-else\n\t\t\t:data-component=\"UserRow\"\n\t\t\t:data-sources=\"filteredUsers\"\n\t\t\tdata-key=\"id\"\n\t\t\tdata-cy-user-list\n\t\t\t:item-height=\"rowHeight\"\n\t\t\t:style=\"style\"\n\t\t\t:extra-props=\"{\n\t\t\t\tusers,\n\t\t\t\tsettings,\n\t\t\t\thasObfuscated,\n\t\t\t\tquotaOptions,\n\t\t\t\tlanguages,\n\t\t\t\texternalActions,\n\t\t\t}\"\n\t\t\t@scroll-end=\"handleScrollEnd\">\n\t\t\t<template #before>\n\t\t\t\t<caption class=\"hidden-visually\">\n\t\t\t\t\t{{ t('settings', 'List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list.') }}\n\t\t\t\t</caption>\n\t\t\t</template>\n\n\t\t\t<template #header>\n\t\t\t\t<UserListHeader :has-obfuscated=\"hasObfuscated\" />\n\t\t\t</template>\n\n\t\t\t<template #footer>\n\t\t\t\t<UserListFooter :loading=\"loading.users\"\n\t\t\t\t\t:filtered-users=\"filteredUsers\" />\n\t\t\t</template>\n\t\t</VirtualList>\n\t</Fragment>\n</template>\n\n<script>\nimport { mdiAccountGroupOutline } from '@mdi/js'\nimport { showError } from '@nextcloud/dialogs'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport { Fragment } from 'vue-frag'\n\nimport Vue from 'vue'\nimport NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent'\nimport NcIconSvgWrapper from '@nextcloud/vue/components/NcIconSvgWrapper'\nimport NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'\n\nimport VirtualList from './Users/VirtualList.vue'\nimport NewUserDialog from './Users/NewUserDialog.vue'\nimport UserListFooter from './Users/UserListFooter.vue'\nimport UserListHeader from './Users/UserListHeader.vue'\nimport UserRow from './Users/UserRow.vue'\n\nimport { defaultQuota, isObfuscated, unlimitedQuota } from '../utils/userUtils.ts'\nimport logger from '../logger.ts'\n\nconst newUser = Object.freeze({\n\tid: '',\n\tdisplayName: '',\n\tpassword: '',\n\tmailAddress: '',\n\tgroups: [],\n\tmanager: '',\n\tsubAdminsGroups: [],\n\tquota: defaultQuota,\n\tlanguage: {\n\t\tcode: 'en',\n\t\tname: t('settings', 'Default language'),\n\t},\n})\n\nexport default {\n\tname: 'UserList',\n\n\tcomponents: {\n\t\tFragment,\n\t\tNcEmptyContent,\n\t\tNcIconSvgWrapper,\n\t\tNcLoadingIcon,\n\t\tNewUserDialog,\n\t\tUserListFooter,\n\t\tUserListHeader,\n\t\tVirtualList,\n\t},\n\n\tprops: {\n\t\tselectedGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\n\tsetup() {\n\t\t// non reactive properties\n\t\treturn {\n\t\t\tmdiAccountGroupOutline,\n\t\t\trowHeight: 55,\n\n\t\t\tUserRow,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tgroups: false,\n\t\t\t\tusers: false,\n\t\t\t},\n\t\t\tnewUser: { ...newUser },\n\t\t\tisInitialLoad: true,\n\t\t\tsearchQuery: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t'--row-height': `${this.rowHeight}px`,\n\t\t\t}\n\t\t},\n\n\t\thasObfuscated() {\n\t\t\treturn this.filteredUsers.some(user => isObfuscated(user))\n\t\t},\n\n\t\tusers() {\n\t\t\treturn this.$store.getters.getUsers\n\t\t},\n\n\t\tfilteredUsers() {\n\t\t\tif (this.selectedGroup === 'disabled') {\n\t\t\t\treturn this.users.filter(user => user.enabled === false)\n\t\t\t}\n\t\t\treturn this.users.filter(user => user.enabled !== false)\n\t\t},\n\n\t\tgroups() {\n\t\t\treturn this.$store.getters.getSortedGroups\n\t\t\t\t.filter(group => group.id !== '__nc_internal_recent' && group.id !== 'disabled')\n\t\t},\n\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tconst quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({\n\t\t\t\tid: cur,\n\t\t\t\tlabel: cur,\n\t\t\t}), [])\n\t\t\t// add default presets\n\t\t\tif (this.settings.allowUnlimitedQuota) {\n\t\t\t\tquotaPreset.unshift(unlimitedQuota)\n\t\t\t}\n\t\t\tquotaPreset.unshift(defaultQuota)\n\t\t\treturn quotaPreset\n\t\t},\n\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset\n\t\t},\n\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit\n\t\t},\n\n\t\tdisabledUsersOffset() {\n\t\t\treturn this.$store.getters.getDisabledUsersOffset\n\t\t},\n\n\t\tdisabledUsersLimit() {\n\t\t\treturn this.$store.getters.getDisabledUsersLimit\n\t\t},\n\n\t\tusersCount() {\n\t\t\treturn this.users.length\n\t\t},\n\n\t\t/* LANGUAGES */\n\t\tlanguages() {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'Common languages'),\n\t\t\t\t\tlanguages: this.settings.languages.commonLanguages,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'Other languages'),\n\t\t\t\t\tlanguages: this.settings.languages.otherLanguages,\n\t\t\t\t},\n\t\t\t]\n\t\t},\n\t},\n\n\twatch: {\n\t\t// watch url change and group select\n\t\tasync selectedGroup(val) {\n\t\t\tthis.isInitialLoad = true\n\t\t\t// if selected is the disabled group but it's empty\n\t\t\tawait this.redirectIfDisabled()\n\t\t\tthis.$store.commit('resetUsers')\n\t\t\tawait this.loadUsers()\n\t\t\tthis.setNewUserDefaultGroup(val)\n\t\t},\n\n\t\tfilteredUsers(filteredUsers) {\n\t\t\tlogger.debug(`${filteredUsers.length} filtered user(s)`)\n\t\t},\n\t},\n\n\tasync created() {\n\t\tawait this.loadUsers()\n\t},\n\n\tasync mounted() {\n\t\tif (!this.settings.canChangePassword) {\n\t\t\tOC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled'))\n\t\t}\n\n\t\t/**\n\t\t * Reset and init new user form\n\t\t */\n\t\tthis.resetForm()\n\n\t\t/**\n\t\t * Register search\n\t\t */\n\t\tsubscribe('nextcloud:unified-search.search', this.search)\n\t\tsubscribe('nextcloud:unified-search.reset', this.resetSearch)\n\n\t\t/**\n\t\t * If disabled group but empty, redirect\n\t\t */\n\t\tawait this.redirectIfDisabled()\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('nextcloud:unified-search.search', this.search)\n\t\tunsubscribe('nextcloud:unified-search.reset', this.resetSearch)\n\t},\n\n\tmethods: {\n\t\tasync handleScrollEnd() {\n\t\t\tawait this.loadUsers()\n\t\t},\n\n\t\tasync loadUsers() {\n\t\t\tthis.loading.users = true\n\t\t\ttry {\n\t\t\t\tif (this.selectedGroup === 'disabled') {\n\t\t\t\t\tawait this.$store.dispatch('getDisabledUsers', {\n\t\t\t\t\t\toffset: this.disabledUsersOffset,\n\t\t\t\t\t\tlimit: this.disabledUsersLimit,\n\t\t\t\t\t\tsearch: this.searchQuery,\n\t\t\t\t\t})\n\t\t\t\t} else if (this.selectedGroup === '__nc_internal_recent') {\n\t\t\t\t\tawait this.$store.dispatch('getRecentUsers', {\n\t\t\t\t\t\toffset: this.usersOffset,\n\t\t\t\t\t\tlimit: this.usersLimit,\n\t\t\t\t\t\tsearch: this.searchQuery,\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tawait this.$store.dispatch('getUsers', {\n\t\t\t\t\t\toffset: this.usersOffset,\n\t\t\t\t\t\tlimit: this.usersLimit,\n\t\t\t\t\t\tgroup: this.selectedGroup,\n\t\t\t\t\t\tsearch: this.searchQuery,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tlogger.debug(`${this.users.length} total user(s) loaded`)\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Failed to load accounts', { error })\n\t\t\t\tshowError('Failed to load accounts')\n\t\t\t}\n\t\t\tthis.loading.users = false\n\t\t\tthis.isInitialLoad = false\n\t\t},\n\n\t\tcloseDialog() {\n\t\t\tthis.$store.commit('setShowConfig', {\n\t\t\t\tkey: 'showNewUserForm',\n\t\t\t\tvalue: false,\n\t\t\t})\n\t\t},\n\n\t\tasync search({ query }) {\n\t\t\tthis.searchQuery = query\n\t\t\tthis.$store.commit('resetUsers')\n\t\t\tawait this.loadUsers()\n\t\t},\n\n\t\tresetSearch() {\n\t\t\tthis.search({ query: '' })\n\t\t},\n\n\t\tresetForm() {\n\t\t\t// revert form to original state\n\t\t\tthis.newUser = Object.assign({}, newUser)\n\n\t\t\t/**\n\t\t\t * Init default language from server data. The use of this.settings\n\t\t\t * requires a computed variable, which break the v-model binding of the form,\n\t\t\t * this is a much easier solution than getter and setter on a computed var\n\t\t\t */\n\t\t\tif (this.settings.defaultLanguage) {\n\t\t\t\tVue.set(this.newUser.language, 'code', this.settings.defaultLanguage)\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * In case the user directly loaded the user list within a group\n\t\t\t * the watch won't be triggered. We need to initialize it.\n\t\t\t */\n\t\t\tthis.setNewUserDefaultGroup(this.selectedGroup)\n\n\t\t\tthis.loading.all = false\n\t\t},\n\n\t\tsetNewUserDefaultGroup(value) {\n\t\t\t// Is no value set, but user is a line manager we set their group as this is a requirement for line manager\n\t\t\tif (!value && !this.settings.isAdmin && !this.settings.isDelegatedAdmin) {\n\t\t\t\tconst groups = this.$store.getters.getSubAdminGroups\n\t\t\t\t// if there are multiple groups we do not know which to add,\n\t\t\t\t// so we cannot make the managers life easier by preselecting it.\n\t\t\t\tif (groups.length === 1) {\n\t\t\t\t\tthis.newUser.groups = [...groups]\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (value) {\n\t\t\t\t// setting new account default group to the current selected one\n\t\t\t\tconst currentGroup = this.groups.find(group => group.id === value)\n\t\t\t\tif (currentGroup) {\n\t\t\t\t\tthis.newUser.groups = [currentGroup]\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\t// fallback, empty selected group\n\t\t\tthis.newUser.groups = []\n\t\t},\n\n\t\t/**\n\t\t * If the selected group is the disabled group but the count is 0\n\t\t * redirect to the all users page.\n\t\t * we only check for 0 because we don't have the count on ldap\n\t\t * and we therefore set the usercount to -1 in this specific case\n\t\t */\n\t\tasync redirectIfDisabled() {\n\t\t\tconst allGroups = this.$store.getters.getGroups\n\t\t\tif (this.selectedGroup === 'disabled'\n\t\t\t\t\t\t&& allGroups.findIndex(group => group.id === 'disabled' && group.usercount === 0) > -1) {\n\t\t\t\t// disabled group is empty, redirection to all users\n\t\t\t\tthis.$router.push({ name: 'users' })\n\t\t\t\tawait this.loadUsers()\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use './Users/shared/styles' as *;\n\n.empty {\n\t:deep {\n\t\t.icon-vue {\n\t\t\twidth: 64px;\n\t\t\theight: 64px;\n\n\t\t\tsvg {\n\t\t\t\tmax-width: 64px;\n\t\t\t\tmax-height: 64px;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.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!./UserList.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!./UserList.vue?vue&type=style&index=0&id=54280d98&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./UserList.vue?vue&type=style&index=0&id=54280d98&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserList.vue?vue&type=template&id=54280d98&scoped=true\"\nimport script from \"./UserList.vue?vue&type=script&lang=js\"\nexport * from \"./UserList.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserList.vue?vue&type=style&index=0&id=54280d98&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 \"54280d98\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showConfig.showNewUserForm)?_c('NewUserDialog',{attrs:{\"loading\":_vm.loading,\"new-user\":_vm.newUser,\"quota-options\":_vm.quotaOptions},on:{\"reset\":_vm.resetForm,\"closing\":_vm.closeDialog}}):_vm._e(),_vm._v(\" \"),(_vm.filteredUsers.length === 0)?_c('NcEmptyContent',{staticClass:\"empty\",attrs:{\"name\":_vm.isInitialLoad && _vm.loading.users ? null : _vm.t('settings', 'No accounts')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.isInitialLoad && _vm.loading.users)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading accounts …'),\"size\":64}}):_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiAccountGroupOutline,\"size\":64}})]},proxy:true}],null,false,1833612063)}):_c('VirtualList',{style:(_vm.style),attrs:{\"data-component\":_vm.UserRow,\"data-sources\":_vm.filteredUsers,\"data-key\":\"id\",\"data-cy-user-list\":\"\",\"item-height\":_vm.rowHeight,\"extra-props\":{\n\t\t\tusers: _vm.users,\n\t\t\tsettings: _vm.settings,\n\t\t\thasObfuscated: _vm.hasObfuscated,\n\t\t\tquotaOptions: _vm.quotaOptions,\n\t\t\tlanguages: _vm.languages,\n\t\t\texternalActions: _vm.externalActions,\n\t\t}},on:{\"scroll-end\":_vm.handleScrollEnd},scopedSlots:_vm._u([{key:\"before\",fn:function(){return [_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list.'))+\"\\n\\t\\t\\t\")])]},proxy:true},{key:\"header\",fn:function(){return [_c('UserListHeader',{attrs:{\"has-obfuscated\":_vm.hasObfuscated}})]},proxy:true},{key:\"footer\",fn:function(){return [_c('UserListFooter',{attrs:{\"loading\":_vm.loading.users,\"filtered-users\":_vm.filteredUsers}})]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagement.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!./UserManagement.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<NcAppContent :page-heading=\"pageHeading\">\n\t\t<UserList :selected-group=\"selectedGroupDecoded\"\n\t\t\t:external-actions=\"externalActions\" />\n\t</NcAppContent>\n</template>\n\n<script>\nimport { translate as t } from '@nextcloud/l10n'\nimport { emit } from '@nextcloud/event-bus'\nimport { defineComponent } from 'vue'\n\nimport NcAppContent from '@nextcloud/vue/components/NcAppContent'\nimport UserList from '../components/UserList.vue'\n\nexport default defineComponent({\n\tname: 'UserManagement',\n\n\tcomponents: {\n\t\tNcAppContent,\n\t\tUserList,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t// temporary value used for multiselect change\n\t\t\texternalActions: [],\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tpageHeading() {\n\t\t\tif (this.selectedGroupDecoded === null) {\n\t\t\t\treturn t('settings', 'All accounts')\n\t\t\t}\n\t\t\tconst matchHeading = {\n\t\t\t\tadmin: t('settings', 'Admins'),\n\t\t\t\tdisabled: t('settings', 'Disabled accounts'),\n\t\t\t}\n\t\t\treturn matchHeading[this.selectedGroupDecoded] ?? t('settings', 'Account group: {group}', { group: this.selectedGroupDecoded })\n\t\t},\n\n\t\tselectedGroup() {\n\t\t\treturn this.$route.params.selectedGroup\n\t\t},\n\n\t\tselectedGroupDecoded() {\n\t\t\treturn this.selectedGroup ? decodeURIComponent(this.selectedGroup) : null\n\t\t},\n\t},\n\n\tbeforeMount() {\n\t\tthis.$store.dispatch('getPasswordPolicyMinLength')\n\t},\n\n\tcreated() {\n\t\t// init the OCA.Settings.UserList object\n\t\twindow.OCA = window.OCA ?? {}\n\t\twindow.OCA.Settings = window.OCA.Settings ?? {}\n\t\twindow.OCA.Settings.UserList = window.OCA.Settings.UserList ?? {}\n\t\t// and add the registerAction method\n\t\twindow.OCA.Settings.UserList.registerAction = this.registerAction\n\t\temit('settings:user-management:loaded')\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\t/**\n\t\t * Register a new action for the user menu\n\t\t *\n\t\t * @param {string} icon the icon class\n\t\t * @param {string} text the text to display\n\t\t * @param {Function} action the function to run\n\t\t * @param {(user: Record<string, unknown>) => boolean} enabled return true if the action is enabled for the user\n\t\t * @return {Array}\n\t\t */\n\t\tregisterAction(icon, text, action, enabled) {\n\t\t\tthis.externalActions.push({\n\t\t\t\ticon,\n\t\t\t\ttext,\n\t\t\t\taction,\n\t\t\t\tenabled,\n\t\t\t})\n\t\t\treturn this.externalActions\n\t\t},\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\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</style>\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!./UserManagement.vue?vue&type=style&index=0&id=253f9eec&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./UserManagement.vue?vue&type=style&index=0&id=253f9eec&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserManagement.vue?vue&type=template&id=253f9eec&scoped=true\"\nimport script from \"./UserManagement.vue?vue&type=script&lang=js\"\nexport * from \"./UserManagement.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserManagement.vue?vue&type=style&index=0&id=253f9eec&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 \"253f9eec\",\n null\n \n)\n\nexport default component.exports","// 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, `.empty[data-v-54280d98] .icon-vue{width:64px;height:64px}.empty[data-v-54280d98] .icon-vue svg{max-width:64px;max-height:64px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/UserList.vue\"],\"names\":[],\"mappings\":\"AAKE,kCACC,UAAA,CACA,WAAA,CAEA,sCACC,cAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n@use './Users/shared/styles' as *;\\n\\n.empty {\\n\\t:deep {\\n\\t\\t.icon-vue {\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tmax-width: 64px;\\n\\t\\t\\t\\tmax-height: 64px;\\n\\t\\t\\t}\\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, `.user-list__row[data-v-95190948]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.user-list__row[data-v-95190948]:hover{background-color:var(--color-background-hover)}.user-list__row:hover .row__cell[data-v-95190948]:not(.row__cell--actions){background-color:var(--color-background-hover)}.user-list__row .select--fill[data-v-95190948]{max-width:calc(var(--cell-width-large) - 2*var(--cell-padding))}.row__cell[data-v-95190948]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.row__cell strong[data-v-95190948],.row__cell span[data-v-95190948],.row__cell label[data-v-95190948]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.row__cell--avatar[data-v-95190948],.row__cell--displayname[data-v-95190948]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.row__cell--avatar[data-v-95190948]{inset-inline-start:0}.row__cell--displayname[data-v-95190948]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.row__cell--username[data-v-95190948]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.row__cell--avatar[data-v-95190948]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.row__cell--multiline span[data-v-95190948]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.row__cell--multiline span[data-v-95190948]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.row__cell--large[data-v-95190948]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.row__cell--obfuscated[data-v-95190948]{min-width:400px;width:400px}.row__cell--fill[data-v-95190948]{min-width:var(--cell-width-large);width:100%}.row__cell--actions[data-v-95190948]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.row__subtitle[data-v-95190948]{color:var(--color-text-maxcontrast)}.row__cell[data-v-95190948]{border-bottom:1px solid var(--color-border)}.row__cell[data-v-95190948] .v-select.select{min-width:var(--cell-min-width)}.row__progress[data-v-95190948]{margin-top:4px}.row__progress--warn[data-v-95190948]::-moz-progress-bar{background:var(--color-warning) !important}.row__progress--warn[data-v-95190948]::-webkit-progress-value{background:var(--color-warning) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserRow.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,iCCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDLA,uCACC,8CAAA,CAEA,2EACC,8CAAA,CAKF,+CACC,+DAAA,CCDD,4BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,sGAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,6EAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,oCACC,oBAAA,CAGD,yCACC,2CAAA,CACA,+CAAA,CAAA,CAIF,sCACC,yDAAA,CAGD,oCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,4CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,4CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,mCACC,iCAAA,CACA,6BAAA,CAGD,wCACC,eAAA,CACA,WAAA,CAID,kCACC,iCAAA,CACA,UAAA,CAGD,qCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,gCACC,mCAAA,CDpFD,4BACC,2CAAA,CAGC,6CACC,+BAAA,CAKH,gCACC,cAAA,CAGC,yDACC,0CAAA,CAED,8DACC,0CAAA\",\"sourcesContent\":[\"\\n@use './shared/styles';\\n\\n.user-list__row {\\n\\t@include styles.row;\\n\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\n\\t\\t.row__cell:not(.row__cell--actions) {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Limit width of select in fill cell\\n\\t.select--fill {\\n\\t\\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\\n\\t}\\n}\\n\\n.row {\\n\\t@include styles.cell;\\n\\n\\t&__cell {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t\\t:deep {\\n\\t\\t\\t.v-select.select {\\n\\t\\t\\t\\tmin-width: var(--cell-min-width);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__progress {\\n\\t\\tmargin-top: 4px;\\n\\n\\t\\t&--warn {\\n\\t\\t\\t&::-moz-progress-bar {\\n\\t\\t\\t\\tbackground: var(--color-warning) !important;\\n\\t\\t\\t}\\n\\t\\t\\t&::-webkit-progress-value {\\n\\t\\t\\t\\tbackground: var(--color-warning) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-inline-end: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--username {\\n\\t\\t\\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tinset-inline-end: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-inline-start: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../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 * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-878b819f] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.fade-enter-active[data-v-878b819f], .fade-leave-active[data-v-878b819f] {\n transition: opacity 0.3s ease;\n}\n.fade-enter[data-v-878b819f], .fade-leave-to[data-v-878b819f] {\n opacity: 0;\n}\n.linked-icons[data-v-878b819f] {\n display: flex;\n}\n.linked-icons img[data-v-878b819f] {\n padding: 12px;\n height: 44px;\n display: block;\n background-repeat: no-repeat;\n background-position: center;\n opacity: 0.7;\n}\n.linked-icons img[data-v-878b819f]:hover {\n opacity: 1;\n}\n.popovermenu[data-v-878b819f] {\n display: none;\n}\n.popovermenu.open[data-v-878b819f] {\n display: block;\n}\nli.collection-list-item[data-v-878b819f] {\n flex-wrap: wrap;\n height: auto;\n cursor: pointer;\n margin-bottom: 0 !important;\n}\nli.collection-list-item .collection-avatar[data-v-878b819f] {\n margin-top: 0;\n}\nli.collection-list-item form[data-v-878b819f], li.collection-list-item .collection-item-name[data-v-878b819f] {\n flex-basis: 10%;\n flex-grow: 1;\n display: flex;\n}\nli.collection-list-item .collection-item-name[data-v-878b819f] {\n padding: 12px 9px;\n}\nli.collection-list-item input[data-v-878b819f] {\n margin-top: 4px;\n border-color: var(--color-border-maxcontrast);\n}\nli.collection-list-item input[type=text][data-v-878b819f] {\n flex-grow: 1;\n}\nli.collection-list-item .error[data-v-878b819f] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details[data-v-878b819f] {\n flex-basis: 100%;\n width: 100%;\n}\nli.collection-list-item .resource-list-details li[data-v-878b819f] {\n display: flex;\n margin-left: 44px;\n border-radius: 3px;\n cursor: pointer;\n}\nli.collection-list-item .resource-list-details li[data-v-878b819f]:hover {\n background-color: var(--color-background-dark);\n}\nli.collection-list-item .resource-list-details li a[data-v-878b819f] {\n flex-grow: 1;\n padding: 3px;\n max-width: calc(100% - 30px);\n display: flex;\n}\nli.collection-list-item .resource-list-details span[data-v-878b819f] {\n display: inline-block;\n vertical-align: top;\n margin-right: 10px;\n}\nli.collection-list-item .resource-list-details span.resource-name[data-v-878b819f] {\n text-overflow: ellipsis;\n overflow: hidden;\n position: relative;\n vertical-align: top;\n white-space: nowrap;\n flex-grow: 1;\n padding: 4px;\n}\nli.collection-list-item .resource-list-details img[data-v-878b819f] {\n width: 24px;\n height: 24px;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f] {\n opacity: 0.7;\n}\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:focus {\n opacity: 1;\n}\n.should-shake[data-v-878b819f] {\n animation: shake-878b819f 0.6s 1 linear;\n}\n@keyframes shake-878b819f {\n0% {\n transform: translate(15px);\n}\n20% {\n transform: translate(-15px);\n}\n40% {\n transform: translate(7px);\n}\n60% {\n transform: translate(-7px);\n}\n80% {\n transform: translate(3px);\n}\n100% {\n transform: translate(0px);\n}\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-efe8beb8] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.collection-list *[data-v-efe8beb8] {\n box-sizing: border-box;\n}\n.collection-list > li[data-v-efe8beb8] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.collection-list > li > .avatar[data-v-efe8beb8] {\n margin-top: 0;\n}\n#collection-select-container[data-v-efe8beb8] {\n display: flex;\n flex-direction: column;\n}\n.v-select span.avatar[data-v-efe8beb8] {\n display: block;\n padding: 16px;\n opacity: 0.7;\n background-repeat: no-repeat;\n background-position: center;\n}\n.v-select span.avatar[data-v-efe8beb8]:hover {\n opacity: 1;\n}\np.hint[data-v-efe8beb8] {\n z-index: 1;\n margin-top: -16px;\n padding: 8px 8px;\n color: var(--color-text-maxcontrast);\n line-height: normal;\n}\ndiv.avatar[data-v-efe8beb8] {\n width: 32px;\n height: 32px;\n margin: 0;\n padding: 8px;\n background-color: var(--color-background-dark);\n margin-top: 30px;\n}\n\n/** TODO provide white icon in core */\n.icon-projects[data-v-efe8beb8] {\n display: block;\n padding: 8px;\n background-repeat: no-repeat;\n background-position: center;\n}\n.option__wrapper[data-v-efe8beb8] {\n display: flex;\n}\n.option__wrapper .avatar[data-v-efe8beb8] {\n display: block;\n width: 32px;\n height: 32px;\n background-color: var(--color-background-darker) !important;\n}\n.option__wrapper .option__title[data-v-efe8beb8] {\n padding: 4px;\n}\n.fade-enter-active[data-v-efe8beb8], .fade-leave-active[data-v-efe8beb8] {\n transition: opacity 0.5s;\n}\n.fade-enter[data-v-efe8beb8], .fade-leave-to[data-v-efe8beb8] {\n opacity: 0;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcCollectionList-yjTCAR46.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,YAAY;EACZ,cAAc;EACd,4BAA4B;EAC5B,2BAA2B;EAC3B,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,eAAe;EACf,YAAY;EACZ,eAAe;EACf,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,eAAe;EACf,YAAY;EACZ,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,6CAA6C;AAC/C;AACA;EACE,YAAY;AACd;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,aAAa;EACb,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,8CAA8C;AAChD;AACA;EACE,YAAY;EACZ,YAAY;EACZ,4BAA4B;EAC5B,aAAa;AACf;AACA;EACE,qBAAqB;EACrB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,uBAAuB;EACvB,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,YAAY;AACd;AACA;EACE,WAAW;EACX,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,uCAAuC;AACzC;AACA;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,2BAA2B;AAC/B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,0BAA0B;AAC9B;AACA;IACI,yBAAyB;AAC7B;AACA;IACI,yBAAyB;AAC7B;AACA,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,SAAS;AACX;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,aAAa;EACb,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EAChB,oCAAoC;EACpC,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,YAAY;EACZ,SAAS;EACT,YAAY;EACZ,8CAA8C;EAC9C,gBAAgB;AAClB;;AAEA,qCAAqC;AACrC;EACE,cAAc;EACd,YAAY;EACZ,4BAA4B;EAC5B,2BAA2B;AAC7B;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;EACd,WAAW;EACX,YAAY;EACZ,2DAA2D;AAC7D;AACA;EACE,YAAY;AACd;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,UAAU;AACZ\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-878b819f] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.fade-enter-active[data-v-878b819f], .fade-leave-active[data-v-878b819f] {\\n transition: opacity 0.3s ease;\\n}\\n.fade-enter[data-v-878b819f], .fade-leave-to[data-v-878b819f] {\\n opacity: 0;\\n}\\n.linked-icons[data-v-878b819f] {\\n display: flex;\\n}\\n.linked-icons img[data-v-878b819f] {\\n padding: 12px;\\n height: 44px;\\n display: block;\\n background-repeat: no-repeat;\\n background-position: center;\\n opacity: 0.7;\\n}\\n.linked-icons img[data-v-878b819f]:hover {\\n opacity: 1;\\n}\\n.popovermenu[data-v-878b819f] {\\n display: none;\\n}\\n.popovermenu.open[data-v-878b819f] {\\n display: block;\\n}\\nli.collection-list-item[data-v-878b819f] {\\n flex-wrap: wrap;\\n height: auto;\\n cursor: pointer;\\n margin-bottom: 0 !important;\\n}\\nli.collection-list-item .collection-avatar[data-v-878b819f] {\\n margin-top: 0;\\n}\\nli.collection-list-item form[data-v-878b819f], li.collection-list-item .collection-item-name[data-v-878b819f] {\\n flex-basis: 10%;\\n flex-grow: 1;\\n display: flex;\\n}\\nli.collection-list-item .collection-item-name[data-v-878b819f] {\\n padding: 12px 9px;\\n}\\nli.collection-list-item input[data-v-878b819f] {\\n margin-top: 4px;\\n border-color: var(--color-border-maxcontrast);\\n}\\nli.collection-list-item input[type=text][data-v-878b819f] {\\n flex-grow: 1;\\n}\\nli.collection-list-item .error[data-v-878b819f] {\\n flex-basis: 100%;\\n width: 100%;\\n}\\nli.collection-list-item .resource-list-details[data-v-878b819f] {\\n flex-basis: 100%;\\n width: 100%;\\n}\\nli.collection-list-item .resource-list-details li[data-v-878b819f] {\\n display: flex;\\n margin-left: 44px;\\n border-radius: 3px;\\n cursor: pointer;\\n}\\nli.collection-list-item .resource-list-details li[data-v-878b819f]:hover {\\n background-color: var(--color-background-dark);\\n}\\nli.collection-list-item .resource-list-details li a[data-v-878b819f] {\\n flex-grow: 1;\\n padding: 3px;\\n max-width: calc(100% - 30px);\\n display: flex;\\n}\\nli.collection-list-item .resource-list-details span[data-v-878b819f] {\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 10px;\\n}\\nli.collection-list-item .resource-list-details span.resource-name[data-v-878b819f] {\\n text-overflow: ellipsis;\\n overflow: hidden;\\n position: relative;\\n vertical-align: top;\\n white-space: nowrap;\\n flex-grow: 1;\\n padding: 4px;\\n}\\nli.collection-list-item .resource-list-details img[data-v-878b819f] {\\n width: 24px;\\n height: 24px;\\n}\\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f] {\\n opacity: 0.7;\\n}\\nli.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:hover, li.collection-list-item .resource-list-details .icon-close[data-v-878b819f]:focus {\\n opacity: 1;\\n}\\n.should-shake[data-v-878b819f] {\\n animation: shake-878b819f 0.6s 1 linear;\\n}\\n@keyframes shake-878b819f {\\n0% {\\n transform: translate(15px);\\n}\\n20% {\\n transform: translate(-15px);\\n}\\n40% {\\n transform: translate(7px);\\n}\\n60% {\\n transform: translate(-7px);\\n}\\n80% {\\n transform: translate(3px);\\n}\\n100% {\\n transform: translate(0px);\\n}\\n}/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-efe8beb8] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.collection-list *[data-v-efe8beb8] {\\n box-sizing: border-box;\\n}\\n.collection-list > li[data-v-efe8beb8] {\\n display: flex;\\n align-items: center;\\n gap: 12px;\\n}\\n.collection-list > li > .avatar[data-v-efe8beb8] {\\n margin-top: 0;\\n}\\n#collection-select-container[data-v-efe8beb8] {\\n display: flex;\\n flex-direction: column;\\n}\\n.v-select span.avatar[data-v-efe8beb8] {\\n display: block;\\n padding: 16px;\\n opacity: 0.7;\\n background-repeat: no-repeat;\\n background-position: center;\\n}\\n.v-select span.avatar[data-v-efe8beb8]:hover {\\n opacity: 1;\\n}\\np.hint[data-v-efe8beb8] {\\n z-index: 1;\\n margin-top: -16px;\\n padding: 8px 8px;\\n color: var(--color-text-maxcontrast);\\n line-height: normal;\\n}\\ndiv.avatar[data-v-efe8beb8] {\\n width: 32px;\\n height: 32px;\\n margin: 0;\\n padding: 8px;\\n background-color: var(--color-background-dark);\\n margin-top: 30px;\\n}\\n\\n/** TODO provide white icon in core */\\n.icon-projects[data-v-efe8beb8] {\\n display: block;\\n padding: 8px;\\n background-repeat: no-repeat;\\n background-position: center;\\n}\\n.option__wrapper[data-v-efe8beb8] {\\n display: flex;\\n}\\n.option__wrapper .avatar[data-v-efe8beb8] {\\n display: block;\\n width: 32px;\\n height: 32px;\\n background-color: var(--color-background-darker) !important;\\n}\\n.option__wrapper .option__title[data-v-efe8beb8] {\\n padding: 4px;\\n}\\n.fade-enter-active[data-v-efe8beb8], .fade-leave-active[data-v-efe8beb8] {\\n transition: opacity 0.5s;\\n}\\n.fade-enter[data-v-efe8beb8], .fade-leave-to[data-v-efe8beb8] {\\n opacity: 0;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../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.nc-select-users[data-v-09b0d8bb] .vs__selected {\n\tpadding-inline: 0 5px !important;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcSelectUsers-BOwQNNMf.css\"],\"names\":[],\"mappings\":\";AACA;CACC,gCAAgC;AACjC\",\"sourcesContent\":[\"\\n.nc-select-users[data-v-09b0d8bb] .vs__selected {\\n\\tpadding-inline: 0 5px !important;\\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, `.header[data-v-5c0f8828]{border-bottom:1px solid var(--color-border);position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.header__cell[data-v-5c0f8828]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.header__cell strong[data-v-5c0f8828],.header__cell span[data-v-5c0f8828],.header__cell label[data-v-5c0f8828]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.header__cell--avatar[data-v-5c0f8828],.header__cell--displayname[data-v-5c0f8828]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.header__cell--avatar[data-v-5c0f8828]{inset-inline-start:0}.header__cell--displayname[data-v-5c0f8828]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.header__cell--username[data-v-5c0f8828]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.header__cell--avatar[data-v-5c0f8828]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.header__cell--multiline span[data-v-5c0f8828]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.header__cell--multiline span[data-v-5c0f8828]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.header__cell--large[data-v-5c0f8828]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.header__cell--obfuscated[data-v-5c0f8828]{min-width:400px;width:400px}.header__cell--fill[data-v-5c0f8828]{min-width:var(--cell-width-large);width:100%}.header__cell--actions[data-v-5c0f8828]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.header__subtitle[data-v-5c0f8828]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserListHeader.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,yBACC,2CAAA,CCEA,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA\",\"sourcesContent\":[\"\\n@use './shared/styles';\\n\\n.header {\\n\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t@include styles.row;\\n\\t@include styles.cell;\\n}\\n\",\"/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-inline-end: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--username {\\n\\t\\t\\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tinset-inline-end: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-inline-start: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../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 * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-9e46b7b2] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.team-resources__header[data-v-9e46b7b2] {\n font-weight: bold;\n margin-bottom: 6px;\n}\n.related-team[data-v-9e46b7b2] {\n border-radius: var(--border-radius-rounded);\n border: 2px solid var(--color-border-dark);\n margin-bottom: 6px;\n}\n.related-team__open[data-v-9e46b7b2] {\n border-color: var(--color-primary-element);\n}\n.related-team__header[data-v-9e46b7b2] {\n padding: 6px;\n padding-right: 24px;\n display: flex;\n gap: 12px;\n}\n.related-team__name[data-v-9e46b7b2] {\n display: flex;\n flex-grow: 1;\n align-items: center;\n gap: 12px;\n padding: 6px 12px;\n font-weight: bold;\n margin: 0;\n}\n.related-team .related-team-provider[data-v-9e46b7b2] {\n padding: 6px 12px;\n}\n.related-team .related-team-provider__name[data-v-9e46b7b2] {\n font-weight: bold;\n margin-bottom: 3px;\n}\n.related-team .related-team-provider__link[data-v-9e46b7b2] {\n display: flex;\n gap: 12px;\n padding: 6px 12px;\n font-weight: bold;\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2] {\n display: flex;\n gap: 12px;\n height: var(--default-clickable-area);\n align-items: center;\n border-radius: var(--border-radius-large);\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2]:hover {\n background-color: var(--color-background-hover);\n}\n.related-team .related-team-resource__link[data-v-9e46b7b2]:focus {\n background-color: var(--color-background-hover);\n outline: 2px solid var(--color-primary-element);\n}\n.related-team .related-team-resource .resource__icon[data-v-9e46b7b2] {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n.related-team .related-team-resource .resource__icon > img[data-v-9e46b7b2] {\n border-radius: var(--border-radius-pill);\n overflow: hidden;\n width: 32px;\n height: 32px;\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-77c38062] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.resource[data-v-77c38062] {\n display: flex;\n align-items: center;\n height: var(--default-clickable-area);\n}\n.resource__button[data-v-77c38062] {\n width: 100% !important;\n justify-content: flex-start !important;\n padding: 0 !important;\n}\n.resource__button[data-v-77c38062] .button-vue__wrapper {\n justify-content: flex-start !important;\n}\n.resource__button[data-v-77c38062] .button-vue__wrapper .button-vue__text {\n font-weight: normal !important;\n margin-left: 2px !important;\n}\n.resource__icon[data-v-77c38062] {\n width: 32px;\n height: 32px;\n background-color: var(--color-text-maxcontrast);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.resource__icon img[data-v-77c38062] {\n width: 16px;\n height: 16px;\n filter: var(--background-invert-if-dark);\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-badd46a9] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.related-resources__header h5[data-v-badd46a9] {\n font-weight: bold;\n margin-bottom: 6px;\n}\n.related-resources__header p[data-v-badd46a9] {\n color: var(--color-text-maxcontrast);\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcRelatedResourcesPanel-DhStLIO2.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,2CAA2C;EAC3C,0CAA0C;EAC1C,kBAAkB;AACpB;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,YAAY;EACZ,mBAAmB;EACnB,aAAa;EACb,SAAS;AACX;AACA;EACE,aAAa;EACb,YAAY;EACZ,mBAAmB;EACnB,SAAS;EACT,iBAAiB;EACjB,iBAAiB;EACjB,SAAS;AACX;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,aAAa;EACb,SAAS;EACT,iBAAiB;EACjB,iBAAiB;AACnB;AACA;EACE,aAAa;EACb,SAAS;EACT,qCAAqC;EACrC,mBAAmB;EACnB,yCAAyC;AAC3C;AACA;EACE,+CAA+C;AACjD;AACA;EACE,+CAA+C;EAC/C,+CAA+C;AACjD;AACA;EACE,oCAAoC;EACpC,qCAAqC;EACrC,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;AACpB;AACA;EACE,wCAAwC;EACxC,gBAAgB;EAChB,WAAW;EACX,YAAY;AACd,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,qCAAqC;AACvC;AACA;EACE,sBAAsB;EACtB,sCAAsC;EACtC,qBAAqB;AACvB;AACA;EACE,sCAAsC;AACxC;AACA;EACE,8BAA8B;EAC9B,2BAA2B;AAC7B;AACA;EACE,WAAW;EACX,YAAY;EACZ,+CAA+C;EAC/C,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,WAAW;EACX,YAAY;EACZ,wCAAwC;AAC1C,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,oCAAoC;AACtC\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-9e46b7b2] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.team-resources__header[data-v-9e46b7b2] {\\n font-weight: bold;\\n margin-bottom: 6px;\\n}\\n.related-team[data-v-9e46b7b2] {\\n border-radius: var(--border-radius-rounded);\\n border: 2px solid var(--color-border-dark);\\n margin-bottom: 6px;\\n}\\n.related-team__open[data-v-9e46b7b2] {\\n border-color: var(--color-primary-element);\\n}\\n.related-team__header[data-v-9e46b7b2] {\\n padding: 6px;\\n padding-right: 24px;\\n display: flex;\\n gap: 12px;\\n}\\n.related-team__name[data-v-9e46b7b2] {\\n display: flex;\\n flex-grow: 1;\\n align-items: center;\\n gap: 12px;\\n padding: 6px 12px;\\n font-weight: bold;\\n margin: 0;\\n}\\n.related-team .related-team-provider[data-v-9e46b7b2] {\\n padding: 6px 12px;\\n}\\n.related-team .related-team-provider__name[data-v-9e46b7b2] {\\n font-weight: bold;\\n margin-bottom: 3px;\\n}\\n.related-team .related-team-provider__link[data-v-9e46b7b2] {\\n display: flex;\\n gap: 12px;\\n padding: 6px 12px;\\n font-weight: bold;\\n}\\n.related-team .related-team-resource__link[data-v-9e46b7b2] {\\n display: flex;\\n gap: 12px;\\n height: var(--default-clickable-area);\\n align-items: center;\\n border-radius: var(--border-radius-large);\\n}\\n.related-team .related-team-resource__link[data-v-9e46b7b2]:hover {\\n background-color: var(--color-background-hover);\\n}\\n.related-team .related-team-resource__link[data-v-9e46b7b2]:focus {\\n background-color: var(--color-background-hover);\\n outline: 2px solid var(--color-primary-element);\\n}\\n.related-team .related-team-resource .resource__icon[data-v-9e46b7b2] {\\n width: var(--default-clickable-area);\\n height: var(--default-clickable-area);\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n text-align: center;\\n}\\n.related-team .related-team-resource .resource__icon > img[data-v-9e46b7b2] {\\n border-radius: var(--border-radius-pill);\\n overflow: hidden;\\n width: 32px;\\n height: 32px;\\n}/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-77c38062] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.resource[data-v-77c38062] {\\n display: flex;\\n align-items: center;\\n height: var(--default-clickable-area);\\n}\\n.resource__button[data-v-77c38062] {\\n width: 100% !important;\\n justify-content: flex-start !important;\\n padding: 0 !important;\\n}\\n.resource__button[data-v-77c38062] .button-vue__wrapper {\\n justify-content: flex-start !important;\\n}\\n.resource__button[data-v-77c38062] .button-vue__wrapper .button-vue__text {\\n font-weight: normal !important;\\n margin-left: 2px !important;\\n}\\n.resource__icon[data-v-77c38062] {\\n width: 32px;\\n height: 32px;\\n background-color: var(--color-text-maxcontrast);\\n border-radius: 50%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.resource__icon img[data-v-77c38062] {\\n width: 16px;\\n height: 16px;\\n filter: var(--background-invert-if-dark);\\n}/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-badd46a9] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.related-resources__header h5[data-v-badd46a9] {\\n font-weight: bold;\\n margin-bottom: 6px;\\n}\\n.related-resources__header p[data-v-badd46a9] {\\n color: var(--color-text-maxcontrast);\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../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 * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-0b3c495c] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/* 'New' button */\n.app-navigation-new[data-v-0b3c495c] {\n display: block;\n padding: calc(var(--default-grid-baseline, 4px) * 2);\n}\n.app-navigation-new button[data-v-0b3c495c] {\n width: 100%;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNew-Dbo2rvXH.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA,iBAAiB;AACjB;EACE,cAAc;EACd,oDAAoD;AACtD;AACA;EACE,WAAW;AACb\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-0b3c495c] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n/* 'New' button */\\n.app-navigation-new[data-v-0b3c495c] {\\n display: block;\\n padding: calc(var(--default-grid-baseline, 4px) * 2);\\n}\\n.app-navigation-new button[data-v-0b3c495c] {\\n width: 100%;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../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 * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-938dadb1] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-entry__icon-bullet[data-v-938dadb1] {\n display: block;\n padding: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\n}\n.app-navigation-entry__icon-bullet div[data-v-938dadb1] {\n width: 14px;\n height: 14px;\n cursor: pointer;\n transition: background 100ms ease-in-out;\n border: none;\n border-radius: 50%;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationIconBullet-CeBYVy6t.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,+DAA+D;AACjE;AACA;EACE,WAAW;EACX,YAAY;EACZ,eAAe;EACf,wCAAwC;EACxC,YAAY;EACZ,kBAAkB;AACpB\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-938dadb1] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.app-navigation-entry__icon-bullet[data-v-938dadb1] {\\n display: block;\\n padding: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\\n}\\n.app-navigation-entry__icon-bullet div[data-v-938dadb1] {\\n width: 14px;\\n height: 14px;\\n cursor: pointer;\\n transition: background 100ms ease-in-out;\\n border: none;\\n border-radius: 50%;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../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 * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-8ddd08c0] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nli.action[data-v-8ddd08c0]:hover, li.action.active[data-v-8ddd08c0] {\n border-radius: 6px;\n padding: 0;\n}\nli.action[data-v-8ddd08c0]:hover {\n background-color: var(--color-background-hover);\n}\n.action--disabled[data-v-8ddd08c0] {\n pointer-events: none;\n opacity: 0.5;\n}\n.action--disabled[data-v-8ddd08c0]:hover, .action--disabled[data-v-8ddd08c0]:focus {\n cursor: default;\n opacity: 0.5;\n}\n.action--disabled *[data-v-8ddd08c0] {\n opacity: 1 !important;\n}\n.action-radio[data-v-8ddd08c0] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: normal;\n line-height: var(--default-clickable-area);\n /* checkbox/radio fixes */\n}\n.action-radio__radio[data-v-8ddd08c0] {\n position: absolute;\n inset-inline-start: 0 !important;\n z-index: -1;\n opacity: 0;\n}\n.action-radio__label[data-v-8ddd08c0] {\n display: flex;\n align-items: center;\n width: 100%;\n padding: 0 !important;\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2) !important;\n}\n.action-radio__label[data-v-8ddd08c0]::before {\n margin: calc((var(--default-clickable-area) - 14px) / 2) !important;\n}\n.action-radio--disabled[data-v-8ddd08c0],\n.action-radio--disabled .action-radio__label[data-v-8ddd08c0] {\n cursor: pointer;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionRadio-CodyhP86.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oBAAoB;EACpB,YAAY;AACd;AACA;EACE,eAAe;EACf,YAAY;AACd;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,mBAAmB;EACnB,0CAA0C;EAC1C,yBAAyB;AAC3B;AACA;EACE,kBAAkB;EAClB,gCAAgC;EAChC,WAAW;EACX,UAAU;AACZ;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,WAAW;EACX,qBAAqB;EACrB,+EAA+E;AACjF;AACA;EACE,mEAAmE;AACrE;AACA;;EAEE,eAAe;AACjB\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-8ddd08c0] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\nli.action[data-v-8ddd08c0]:hover, li.action.active[data-v-8ddd08c0] {\\n border-radius: 6px;\\n padding: 0;\\n}\\nli.action[data-v-8ddd08c0]:hover {\\n background-color: var(--color-background-hover);\\n}\\n.action--disabled[data-v-8ddd08c0] {\\n pointer-events: none;\\n opacity: 0.5;\\n}\\n.action--disabled[data-v-8ddd08c0]:hover, .action--disabled[data-v-8ddd08c0]:focus {\\n cursor: default;\\n opacity: 0.5;\\n}\\n.action--disabled *[data-v-8ddd08c0] {\\n opacity: 1 !important;\\n}\\n.action-radio[data-v-8ddd08c0] {\\n display: flex;\\n align-items: flex-start;\\n width: 100%;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n cursor: pointer;\\n white-space: nowrap;\\n color: var(--color-main-text);\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n box-shadow: none;\\n font-weight: normal;\\n line-height: var(--default-clickable-area);\\n /* checkbox/radio fixes */\\n}\\n.action-radio__radio[data-v-8ddd08c0] {\\n position: absolute;\\n inset-inline-start: 0 !important;\\n z-index: -1;\\n opacity: 0;\\n}\\n.action-radio__label[data-v-8ddd08c0] {\\n display: flex;\\n align-items: center;\\n width: 100%;\\n padding: 0 !important;\\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2) !important;\\n}\\n.action-radio__label[data-v-8ddd08c0]::before {\\n margin: calc((var(--default-clickable-area) - 14px) / 2) !important;\\n}\\n.action-radio--disabled[data-v-8ddd08c0],\\n.action-radio--disabled .action-radio__label[data-v-8ddd08c0] {\\n cursor: pointer;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { CancelablePromise } from 'cancelable-promise';\nconst formatGroup = (group) => ({\n id: group.id,\n name: group.displayname,\n usercount: group.usercount,\n disabled: group.disabled,\n canAdd: group.canAdd,\n canRemove: group.canRemove,\n});\n/**\n * Search groups\n *\n * @param {object} options Options\n * @param {string} options.search Search query\n * @param {number} options.offset Offset\n * @param {number} options.limit Limit\n */\nexport const searchGroups = ({ search, offset, limit }) => {\n const controller = new AbortController();\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n onCancel(() => controller.abort());\n try {\n const { data } = await axios.get(generateOcsUrl('/cloud/groups/details?search={search}&offset={offset}&limit={limit}', { search, offset, limit }), {\n signal: controller.signal,\n });\n const groups = data.ocs?.data?.groups ?? [];\n const formattedGroups = groups.map(formatGroup);\n resolve(formattedGroups);\n }\n catch (error) {\n reject(error);\n }\n });\n};\n/**\n * Load user groups\n *\n * @param {object} options Options\n * @param {string} options.userId User id\n */\nexport const loadUserGroups = async ({ userId }) => {\n const url = generateOcsUrl('/cloud/users/{userId}/groups/details', { userId });\n const { data } = await axios.get(url);\n const groups = data.ocs?.data?.groups ?? [];\n const formattedGroups = groups.map(formatGroup);\n return formattedGroups;\n};\n/**\n * Load user subadmin groups\n *\n * @param {object} options Options\n * @param {string} options.userId User id\n */\nexport const loadUserSubAdminGroups = async ({ userId }) => {\n const url = generateOcsUrl('/cloud/users/{userId}/subadmins/details', { userId });\n const { data } = await axios.get(url);\n const groups = data.ocs?.data?.groups ?? [];\n const formattedGroups = groups.map(formatGroup);\n return formattedGroups;\n};\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../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 * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-d278a327] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#app-settings[data-v-d278a327] {\n margin-top: auto;\n padding: 3px;\n}\n#app-settings__header[data-v-d278a327] {\n box-sizing: border-box;\n margin: 0 3px 3px 3px;\n}\n#app-settings__header .settings-button[data-v-d278a327] {\n display: flex;\n flex: 1 1 0;\n height: var(--default-clickable-area);\n width: 100%;\n padding: 0;\n margin: 0;\n background-color: transparent;\n box-shadow: none;\n border: 0;\n border-radius: var(--body-container-radius);\n text-align: start;\n font-weight: normal;\n font-size: 100%;\n color: var(--color-main-text);\n padding-inline-end: 14px;\n line-height: var(--default-clickable-area);\n}\n#app-settings__header .settings-button[data-v-d278a327]:hover, #app-settings__header .settings-button[data-v-d278a327]:focus {\n background-color: var(--color-background-hover);\n}\n#app-settings__header .settings-button__icon[data-v-d278a327] {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n min-width: var(--default-clickable-area);\n}\n#app-settings__header .settings-button__label[data-v-d278a327] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n#app-settings__content[data-v-d278a327] {\n display: block;\n padding: 10px;\n /* prevent scrolled contents from stopping too early */\n margin-bottom: -3px;\n /* restrict height of settings and make scrollable */\n max-height: 300px;\n overflow-y: auto;\n box-sizing: border-box;\n}\n.slide-up-leave-active[data-v-d278a327],\n.slide-up-enter-active[data-v-d278a327] {\n transition-duration: var(--animation-slow);\n transition-property: max-height, padding;\n overflow-y: hidden !important;\n}\n.slide-up-enter[data-v-d278a327],\n.slide-up-leave-to[data-v-d278a327] {\n max-height: 0 !important;\n padding: 0 10px !important;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationSettings-vd47rlNY.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,YAAY;AACd;AACA;EACE,sBAAsB;EACtB,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,WAAW;EACX,qCAAqC;EACrC,WAAW;EACX,UAAU;EACV,SAAS;EACT,6BAA6B;EAC7B,gBAAgB;EAChB,SAAS;EACT,2CAA2C;EAC3C,iBAAiB;EACjB,mBAAmB;EACnB,eAAe;EACf,6BAA6B;EAC7B,wBAAwB;EACxB,0CAA0C;AAC5C;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oCAAoC;EACpC,qCAAqC;EACrC,wCAAwC;AAC1C;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,aAAa;EACb,sDAAsD;EACtD,mBAAmB;EACnB,oDAAoD;EACpD,iBAAiB;EACjB,gBAAgB;EAChB,sBAAsB;AACxB;AACA;;EAEE,0CAA0C;EAC1C,wCAAwC;EACxC,6BAA6B;AAC/B;AACA;;EAEE,wBAAwB;EACxB,0BAA0B;AAC5B\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-d278a327] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n#app-settings[data-v-d278a327] {\\n margin-top: auto;\\n padding: 3px;\\n}\\n#app-settings__header[data-v-d278a327] {\\n box-sizing: border-box;\\n margin: 0 3px 3px 3px;\\n}\\n#app-settings__header .settings-button[data-v-d278a327] {\\n display: flex;\\n flex: 1 1 0;\\n height: var(--default-clickable-area);\\n width: 100%;\\n padding: 0;\\n margin: 0;\\n background-color: transparent;\\n box-shadow: none;\\n border: 0;\\n border-radius: var(--body-container-radius);\\n text-align: start;\\n font-weight: normal;\\n font-size: 100%;\\n color: var(--color-main-text);\\n padding-inline-end: 14px;\\n line-height: var(--default-clickable-area);\\n}\\n#app-settings__header .settings-button[data-v-d278a327]:hover, #app-settings__header .settings-button[data-v-d278a327]:focus {\\n background-color: var(--color-background-hover);\\n}\\n#app-settings__header .settings-button__icon[data-v-d278a327] {\\n width: var(--default-clickable-area);\\n height: var(--default-clickable-area);\\n min-width: var(--default-clickable-area);\\n}\\n#app-settings__header .settings-button__label[data-v-d278a327] {\\n overflow: hidden;\\n max-width: 100%;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n#app-settings__content[data-v-d278a327] {\\n display: block;\\n padding: 10px;\\n /* prevent scrolled contents from stopping too early */\\n margin-bottom: -3px;\\n /* restrict height of settings and make scrollable */\\n max-height: 300px;\\n overflow-y: auto;\\n box-sizing: border-box;\\n}\\n.slide-up-leave-active[data-v-d278a327],\\n.slide-up-enter-active[data-v-d278a327] {\\n transition-duration: var(--animation-slow);\\n transition-property: max-height, padding;\\n overflow-y: hidden !important;\\n}\\n.slide-up-enter[data-v-d278a327],\\n.slide-up-leave-to[data-v-d278a327] {\\n max-height: 0 !important;\\n padding: 0 10px !important;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../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 * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-0907eb0a] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.input-wrapper[data-v-0907eb0a] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n width: 100%;\n max-width: 400px;\n}\n.input-wrapper .action-input__label[data-v-0907eb0a] {\n margin-right: 12px;\n}\n.input-wrapper[data-v-0907eb0a]:disabled {\n cursor: default;\n}\n.input-wrapper .hint[data-v-0907eb0a] {\n color: var(--color-text-maxcontrast);\n margin-left: 8px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcSettingsInputText-Bsp_6DjJ.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,WAAW;EACX,gBAAgB;AAClB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,eAAe;AACjB;AACA;EACE,oCAAoC;EACpC,gBAAgB;AAClB\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-0907eb0a] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.input-wrapper[data-v-0907eb0a] {\\n display: flex;\\n align-items: center;\\n flex-wrap: wrap;\\n width: 100%;\\n max-width: 400px;\\n}\\n.input-wrapper .action-input__label[data-v-0907eb0a] {\\n margin-right: 12px;\\n}\\n.input-wrapper[data-v-0907eb0a]:disabled {\\n cursor: default;\\n}\\n.input-wrapper .hint[data-v-0907eb0a] {\\n color: var(--color-text-maxcontrast);\\n margin-left: 8px;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../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 * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-a4505289] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * color-text-lighter\t\tnormal state\n * color-text-lighter\t\tactive state\n * color-text-maxcontrast \tdisabled state\n */\n/* Default global values */\nbutton[data-v-a4505289]:not(.button-vue),\ninput[data-v-a4505289]:not([type=range]),\ntextarea[data-v-a4505289] {\n margin: 0;\n padding: 7px 6px;\n cursor: text;\n color: var(--color-text-lighter);\n border: 1px solid var(--color-border-dark);\n border-radius: var(--border-radius);\n outline: none;\n background-color: var(--color-main-background);\n font-size: 13px;\n /* Primary action button, use sparingly */\n}\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):hover, button[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):focus, button:not(.button-vue):not(:disabled):not(.primary).active[data-v-a4505289],\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):hover,\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):focus,\ninput:not([type=range]):not(:disabled):not(.primary).active[data-v-a4505289],\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):hover,\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):focus,\ntextarea:not(:disabled):not(.primary).active[data-v-a4505289] {\n /* active class used for multiselect */\n border-color: var(--color-primary-element);\n outline: none;\n}\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):active,\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):active,\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):active {\n color: var(--color-text-light);\n outline: none;\n background-color: var(--color-main-background);\n}\nbutton[data-v-a4505289]:not(.button-vue):disabled,\ninput[data-v-a4505289]:not([type=range]):disabled,\ntextarea[data-v-a4505289]:disabled {\n cursor: default;\n opacity: 0.5;\n color: var(--color-text-maxcontrast);\n background-color: var(--color-background-dark);\n}\nbutton[data-v-a4505289]:not(.button-vue):required,\ninput[data-v-a4505289]:not([type=range]):required,\ntextarea[data-v-a4505289]:required {\n box-shadow: none;\n}\nbutton[data-v-a4505289]:not(.button-vue):invalid,\ninput[data-v-a4505289]:not([type=range]):invalid,\ntextarea[data-v-a4505289]:invalid {\n border-color: var(--color-error);\n box-shadow: none !important;\n}\nbutton:not(.button-vue).primary[data-v-a4505289],\ninput:not([type=range]).primary[data-v-a4505289],\ntextarea.primary[data-v-a4505289] {\n cursor: pointer;\n color: var(--color-primary-element-text);\n border-color: var(--color-primary-element);\n background-color: var(--color-primary-element);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):hover, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):focus, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):hover,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):focus,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\ntextarea.primary[data-v-a4505289]:not(:disabled):hover,\ntextarea.primary[data-v-a4505289]:not(:disabled):focus,\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\n border-color: var(--color-primary-element-light);\n background-color: var(--color-primary-element-light);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\n color: var(--color-primary-element-text-dark);\n}\nbutton:not(.button-vue).primary[data-v-a4505289]:disabled,\ninput:not([type=range]).primary[data-v-a4505289]:disabled,\ntextarea.primary[data-v-a4505289]:disabled {\n cursor: default;\n color: var(--color-primary-element-text-dark);\n background-color: var(--color-primary-element);\n}\n\n/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nli.action[data-v-a4505289]:hover, li.action.active[data-v-a4505289] {\n border-radius: 6px;\n padding: 0;\n}\nli.action[data-v-a4505289]:hover {\n background-color: var(--color-background-hover);\n}\n.action--disabled[data-v-a4505289] {\n pointer-events: none;\n opacity: 0.5;\n}\n.action--disabled[data-v-a4505289]:hover, .action--disabled[data-v-a4505289]:focus {\n cursor: default;\n opacity: 0.5;\n}\n.action--disabled *[data-v-a4505289] {\n opacity: 1 !important;\n}\n.action-text-editable[data-v-a4505289] {\n display: flex;\n align-items: flex-start;\n width: 100%;\n height: auto;\n margin: 0;\n padding: 0;\n cursor: pointer;\n white-space: nowrap;\n color: var(--color-main-text);\n border: 0;\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n font-weight: normal;\n line-height: var(--default-clickable-area);\n /* Inputs inside popover supports text, submit & reset */\n}\n.action-text-editable > span[data-v-a4505289] {\n cursor: pointer;\n white-space: nowrap;\n}\n.action-text-editable__icon[data-v-a4505289] {\n min-width: 0; /* Overwrite icons*/\n min-height: 0;\n /* Keep padding to define the width to\n \tassure correct position of a possible text */\n padding: calc(var(--default-clickable-area) / 2) 0 calc(var(--default-clickable-area) / 2) var(--default-clickable-area);\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n background-size: 16px;\n}\n.action-text-editable[data-v-a4505289] .material-design-icon {\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n opacity: 1;\n}\n.action-text-editable[data-v-a4505289] .material-design-icon .material-design-icon__svg {\n vertical-align: middle;\n}\n.action-text-editable__form[data-v-a4505289] {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n position: relative;\n margin: 4px 0;\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\n}\n.action-text-editable__submit[data-v-a4505289] {\n position: absolute;\n inset-inline-start: 0;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n z-index: -1;\n opacity: 0;\n}\n.action-text-editable__label[data-v-a4505289] {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n inset-inline-end: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\n bottom: 1px;\n width: calc(var(--default-clickable-area) - 8px);\n height: calc(var(--default-clickable-area) - 8px);\n box-sizing: border-box;\n margin: 0;\n padding: 7px 6px;\n border: 0;\n border-radius: 50%;\n /* Avoid background under border */\n background-color: var(--color-main-background);\n background-clip: padding-box;\n}\n.action-text-editable__label[data-v-a4505289], .action-text-editable__label *[data-v-a4505289] {\n cursor: pointer;\n}\n.action-text-editable__textarea[data-v-a4505289] {\n flex: 1 1 auto;\n color: inherit;\n border-color: var(--color-border-maxcontrast);\n min-height: calc(var(--default-clickable-area) * 2 - 8px); /* twice the element margin-y */\n max-height: calc(var(--default-clickable-area) * 3 - 8px); /* twice the element margin-y */\n min-width: calc(var(--default-clickable-area) * 4);\n width: 100% !important;\n margin: 0;\n /* only show confirm borders if input is not focused */\n}\n.action-text-editable__textarea[data-v-a4505289]:disabled {\n cursor: default;\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid + .action-text-editable__label[data-v-a4505289] {\n background-color: var(--color-error);\n}\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:active, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:hover, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:focus {\n background-color: var(--color-primary-element);\n color: var(--color-primary-element-text);\n}\n.action-text-editable__textarea:active:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:hover:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:focus:not(:disabled) + .action-text-editable__label[data-v-a4505289] {\n /* above previous input */\n z-index: 2;\n border-color: var(--color-primary-element);\n border-inline-start-color: transparent;\n}\nli:last-child > .action-text-editable[data-v-a4505289] {\n margin-bottom: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\n}\nli:first-child > .action-text-editable[data-v-a4505289] {\n margin-top: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionTextEditable-BflqGcjc.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;;;;EAIE;AACF,0BAA0B;AAC1B;;;EAGE,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ,gCAAgC;EAChC,0CAA0C;EAC1C,mCAAmC;EACnC,aAAa;EACb,8CAA8C;EAC9C,eAAe;EACf,yCAAyC;AAC3C;AACA;;;;;;;EAOE,sCAAsC;EACtC,0CAA0C;EAC1C,aAAa;AACf;AACA;;;EAGE,8BAA8B;EAC9B,aAAa;EACb,8CAA8C;AAChD;AACA;;;EAGE,eAAe;EACf,YAAY;EACZ,oCAAoC;EACpC,8CAA8C;AAChD;AACA;;;EAGE,gBAAgB;AAClB;AACA;;;EAGE,gCAAgC;EAChC,2BAA2B;AAC7B;AACA;;;EAGE,eAAe;EACf,wCAAwC;EACxC,0CAA0C;EAC1C,8CAA8C;AAChD;AACA;;;;;;;EAOE,gDAAgD;EAChD,oDAAoD;AACtD;AACA;;;EAGE,6CAA6C;AAC/C;AACA;;;EAGE,eAAe;EACf,6CAA6C;EAC7C,8CAA8C;AAChD;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,+CAA+C;AACjD;AACA;EACE,oBAAoB;EACpB,YAAY;AACd;AACA;EACE,eAAe;EACf,YAAY;AACd;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;EACV,eAAe;EACf,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;EACT,gBAAgB;EAChB,6BAA6B;EAC7B,gBAAgB;EAChB,mBAAmB;EACnB,0CAA0C;EAC1C,wDAAwD;AAC1D;AACA;EACE,eAAe;EACf,mBAAmB;AACrB;AACA;EACE,YAAY,EAAE,mBAAmB;EACjC,aAAa;EACb;+CAC6C;EAC7C,wHAAwH;EACxH,4EAA4E;EAC5E,qBAAqB;AACvB;AACA;EACE,oCAAoC;EACpC,qCAAqC;EACrC,UAAU;AACZ;AACA;EACE,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,cAAc;EACd,sBAAsB;EACtB,kBAAkB;EAClB,aAAa;EACb,oEAAoE;AACtE;AACA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,SAAS;EACT,UAAU;EACV,WAAW;EACX,gBAAgB;EAChB,WAAW;EACX,UAAU;AACZ;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;EAClB,wEAAwE;EACxE,WAAW;EACX,gDAAgD;EAChD,iDAAiD;EACjD,sBAAsB;EACtB,SAAS;EACT,gBAAgB;EAChB,SAAS;EACT,kBAAkB;EAClB,kCAAkC;EAClC,8CAA8C;EAC9C,4BAA4B;AAC9B;AACA;EACE,eAAe;AACjB;AACA;EACE,cAAc;EACd,cAAc;EACd,6CAA6C;EAC7C,yDAAyD,EAAE,+BAA+B;EAC1F,yDAAyD,EAAE,+BAA+B;EAC1F,kDAAkD;EAClD,sBAAsB;EACtB,SAAS;EACT,sDAAsD;AACxD;AACA;EACE,eAAe;AACjB;AACA;EACE,oCAAoC;AACtC;AACA;EACE,8CAA8C;EAC9C,wCAAwC;AAC1C;AACA;EACE,yBAAyB;EACzB,UAAU;EACV,0CAA0C;EAC1C,sCAAsC;AACxC;AACA;EACE,qEAAqE;AACvE;AACA;EACE,kEAAkE;AACpE\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-a4505289] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n/* Default global values */\\nbutton[data-v-a4505289]:not(.button-vue),\\ninput[data-v-a4505289]:not([type=range]),\\ntextarea[data-v-a4505289] {\\n margin: 0;\\n padding: 7px 6px;\\n cursor: text;\\n color: var(--color-text-lighter);\\n border: 1px solid var(--color-border-dark);\\n border-radius: var(--border-radius);\\n outline: none;\\n background-color: var(--color-main-background);\\n font-size: 13px;\\n /* Primary action button, use sparingly */\\n}\\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):hover, button[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):focus, button:not(.button-vue):not(:disabled):not(.primary).active[data-v-a4505289],\\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):hover,\\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):focus,\\ninput:not([type=range]):not(:disabled):not(.primary).active[data-v-a4505289],\\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):hover,\\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):focus,\\ntextarea:not(:disabled):not(.primary).active[data-v-a4505289] {\\n /* active class used for multiselect */\\n border-color: var(--color-primary-element);\\n outline: none;\\n}\\nbutton[data-v-a4505289]:not(.button-vue):not(:disabled):not(.primary):active,\\ninput[data-v-a4505289]:not([type=range]):not(:disabled):not(.primary):active,\\ntextarea[data-v-a4505289]:not(:disabled):not(.primary):active {\\n color: var(--color-text-light);\\n outline: none;\\n background-color: var(--color-main-background);\\n}\\nbutton[data-v-a4505289]:not(.button-vue):disabled,\\ninput[data-v-a4505289]:not([type=range]):disabled,\\ntextarea[data-v-a4505289]:disabled {\\n cursor: default;\\n opacity: 0.5;\\n color: var(--color-text-maxcontrast);\\n background-color: var(--color-background-dark);\\n}\\nbutton[data-v-a4505289]:not(.button-vue):required,\\ninput[data-v-a4505289]:not([type=range]):required,\\ntextarea[data-v-a4505289]:required {\\n box-shadow: none;\\n}\\nbutton[data-v-a4505289]:not(.button-vue):invalid,\\ninput[data-v-a4505289]:not([type=range]):invalid,\\ntextarea[data-v-a4505289]:invalid {\\n border-color: var(--color-error);\\n box-shadow: none !important;\\n}\\nbutton:not(.button-vue).primary[data-v-a4505289],\\ninput:not([type=range]).primary[data-v-a4505289],\\ntextarea.primary[data-v-a4505289] {\\n cursor: pointer;\\n color: var(--color-primary-element-text);\\n border-color: var(--color-primary-element);\\n background-color: var(--color-primary-element);\\n}\\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):hover, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):focus, button:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):hover,\\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):focus,\\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\\ntextarea.primary[data-v-a4505289]:not(:disabled):hover,\\ntextarea.primary[data-v-a4505289]:not(:disabled):focus,\\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\\n border-color: var(--color-primary-element-light);\\n background-color: var(--color-primary-element-light);\\n}\\nbutton:not(.button-vue).primary[data-v-a4505289]:not(:disabled):active,\\ninput:not([type=range]).primary[data-v-a4505289]:not(:disabled):active,\\ntextarea.primary[data-v-a4505289]:not(:disabled):active {\\n color: var(--color-primary-element-text-dark);\\n}\\nbutton:not(.button-vue).primary[data-v-a4505289]:disabled,\\ninput:not([type=range]).primary[data-v-a4505289]:disabled,\\ntextarea.primary[data-v-a4505289]:disabled {\\n cursor: default;\\n color: var(--color-primary-element-text-dark);\\n background-color: var(--color-primary-element);\\n}\\n\\n/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\nli.action[data-v-a4505289]:hover, li.action.active[data-v-a4505289] {\\n border-radius: 6px;\\n padding: 0;\\n}\\nli.action[data-v-a4505289]:hover {\\n background-color: var(--color-background-hover);\\n}\\n.action--disabled[data-v-a4505289] {\\n pointer-events: none;\\n opacity: 0.5;\\n}\\n.action--disabled[data-v-a4505289]:hover, .action--disabled[data-v-a4505289]:focus {\\n cursor: default;\\n opacity: 0.5;\\n}\\n.action--disabled *[data-v-a4505289] {\\n opacity: 1 !important;\\n}\\n.action-text-editable[data-v-a4505289] {\\n display: flex;\\n align-items: flex-start;\\n width: 100%;\\n height: auto;\\n margin: 0;\\n padding: 0;\\n cursor: pointer;\\n white-space: nowrap;\\n color: var(--color-main-text);\\n border: 0;\\n border-radius: 0;\\n background-color: transparent;\\n box-shadow: none;\\n font-weight: normal;\\n line-height: var(--default-clickable-area);\\n /* Inputs inside popover supports text, submit & reset */\\n}\\n.action-text-editable > span[data-v-a4505289] {\\n cursor: pointer;\\n white-space: nowrap;\\n}\\n.action-text-editable__icon[data-v-a4505289] {\\n min-width: 0; /* Overwrite icons*/\\n min-height: 0;\\n /* Keep padding to define the width to\\n \\tassure correct position of a possible text */\\n padding: calc(var(--default-clickable-area) / 2) 0 calc(var(--default-clickable-area) / 2) var(--default-clickable-area);\\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\\n background-size: 16px;\\n}\\n.action-text-editable[data-v-a4505289] .material-design-icon {\\n width: var(--default-clickable-area);\\n height: var(--default-clickable-area);\\n opacity: 1;\\n}\\n.action-text-editable[data-v-a4505289] .material-design-icon .material-design-icon__svg {\\n vertical-align: middle;\\n}\\n.action-text-editable__form[data-v-a4505289] {\\n display: flex;\\n flex: 1 1 auto;\\n flex-direction: column;\\n position: relative;\\n margin: 4px 0;\\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\\n}\\n.action-text-editable__submit[data-v-a4505289] {\\n position: absolute;\\n inset-inline-start: 0;\\n top: auto;\\n width: 1px;\\n height: 1px;\\n overflow: hidden;\\n z-index: -1;\\n opacity: 0;\\n}\\n.action-text-editable__label[data-v-a4505289] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n position: absolute;\\n inset-inline-end: calc((var(--default-clickable-area) - 16px) / 2 + 1px);\\n bottom: 1px;\\n width: calc(var(--default-clickable-area) - 8px);\\n height: calc(var(--default-clickable-area) - 8px);\\n box-sizing: border-box;\\n margin: 0;\\n padding: 7px 6px;\\n border: 0;\\n border-radius: 50%;\\n /* Avoid background under border */\\n background-color: var(--color-main-background);\\n background-clip: padding-box;\\n}\\n.action-text-editable__label[data-v-a4505289], .action-text-editable__label *[data-v-a4505289] {\\n cursor: pointer;\\n}\\n.action-text-editable__textarea[data-v-a4505289] {\\n flex: 1 1 auto;\\n color: inherit;\\n border-color: var(--color-border-maxcontrast);\\n min-height: calc(var(--default-clickable-area) * 2 - 8px); /* twice the element margin-y */\\n max-height: calc(var(--default-clickable-area) * 3 - 8px); /* twice the element margin-y */\\n min-width: calc(var(--default-clickable-area) * 4);\\n width: 100% !important;\\n margin: 0;\\n /* only show confirm borders if input is not focused */\\n}\\n.action-text-editable__textarea[data-v-a4505289]:disabled {\\n cursor: default;\\n}\\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid + .action-text-editable__label[data-v-a4505289] {\\n background-color: var(--color-error);\\n}\\n.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:active, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:hover, .action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled) + .action-text-editable__label[data-v-a4505289]:focus {\\n background-color: var(--color-primary-element);\\n color: var(--color-primary-element-text);\\n}\\n.action-text-editable__textarea:active:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:hover:not(:disabled) + .action-text-editable__label[data-v-a4505289], .action-text-editable__textarea:focus:not(:disabled) + .action-text-editable__label[data-v-a4505289] {\\n /* above previous input */\\n z-index: 2;\\n border-color: var(--color-primary-element);\\n border-inline-start-color: transparent;\\n}\\nli:last-child > .action-text-editable[data-v-a4505289] {\\n margin-bottom: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\\n}\\nli:first-child > .action-text-editable[data-v-a4505289] {\\n margin-top: calc((var(--default-clickable-area) - 16px) / 2 - 4px);\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import '../assets/referencePickerModal-Ba6soz9w.css';\nimport { e as destroyWidget, a as renderWidget, i as isWidgetRegistered, h as hasInteractiveView, f as hasFullWidth, c as renderCustomPickerElement, g as destroyCustomPickerElement, d as isCustomPickerElementRegistered, j as getCustomPickerElementSize } from \"./index-56SXuvlv.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { r as register, V as t21, a as t, W as t7, X as t44, Y as t38, Z as t22, B as t40, _ as t29, n as t17, $ as t11 } from \"./_l10n-DIOHNc85.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { loadState } from \"@nextcloud/initial-state\";\nimport { imagePath, generateOcsUrl } from \"@nextcloud/router\";\nimport NcEmptyContent from \"../Components/NcEmptyContent.mjs\";\nimport { N as NcHighlight } from \"./index-Bz6q9mZw.mjs\";\nimport { N as NcSelect } from \"./NcSelect-DmIaznJY.mjs\";\nimport { useElementSize, useIntersectionObserver } from \"@vueuse/core\";\nimport Vue, { ref, nextTick } from \"vue\";\nimport { RouterLink } from \"vue-router\";\nimport { g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport { N as NcTextField } from \"./NcTextField-Cd_RjGj6.mjs\";\nimport { D as DotsHorizontal } from \"./DotsHorizontal-C6LNsw4N.mjs\";\nimport NcModal from \"../Components/NcModal.mjs\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { A as ArrowLeft } from \"./ArrowLeft-DuT2LZOm.mjs\";\nimport { C as Close } from \"./Close-BtLPUSdO.mjs\";\nregister(t21);\nconst IDLE_TIMEOUT = 3 * 60 * 1e3;\nconst _sfc_main$8 = {\n name: \"NcReferenceWidget\",\n components: {\n NcButton\n },\n props: {\n reference: {\n type: Object,\n required: true\n },\n interactive: {\n type: Boolean,\n default: true\n },\n interactiveOptIn: {\n type: Boolean,\n default: false\n }\n },\n setup() {\n const isVisible = ref(false);\n const widgetRoot = ref();\n const { width } = useElementSize(widgetRoot);\n useIntersectionObserver(widgetRoot, ([entry]) => {\n nextTick(() => {\n isVisible.value = entry.isIntersecting;\n });\n });\n return {\n width,\n isVisible,\n widgetRoot\n };\n },\n data() {\n return {\n showInteractive: false,\n rendered: false,\n idleTimeout: null\n };\n },\n computed: {\n isInteractive() {\n return !this.interactiveOptIn && this.interactive || this.showInteractive;\n },\n hasFullWidth() {\n return hasFullWidth(this.reference.richObjectType);\n },\n hasCustomWidget() {\n return isWidgetRegistered(this.reference.richObjectType);\n },\n hasInteractiveView() {\n return isWidgetRegistered(this.reference.richObjectType) && hasInteractiveView(this.reference.richObjectType);\n },\n noAccess() {\n return this.reference && !this.reference.accessible;\n },\n descriptionStyle() {\n if (this.numberOfLines === 0) {\n return {\n display: \"none\"\n };\n }\n const lineClamp = this.numberOfLines;\n return {\n lineClamp,\n webkitLineClamp: lineClamp\n };\n },\n numberOfLines() {\n const lineCountOffsets = [450, 550, 650, Infinity];\n return lineCountOffsets.findIndex((max) => this.width < max);\n },\n compactLink() {\n const link = this.reference.openGraphObject.link;\n if (!link) {\n return \"\";\n }\n if (link.startsWith(\"https://\")) {\n return link.substring(8);\n }\n if (link.startsWith(\"http://\")) {\n return link.substring(7);\n }\n return link;\n },\n route() {\n return getRoute(this.$router, this.reference.openGraphObject.link);\n },\n referenceWidgetLinkComponent() {\n return this.route ? RouterLink : \"a\";\n },\n referenceWidgetLinkProps() {\n return this.route ? { to: this.route } : { href: this.reference.openGraphObject.link, target: \"_blank\" };\n }\n },\n watch: {\n isVisible: {\n handler(val) {\n if (!val) {\n this.idleTimeout = setTimeout(() => {\n if (!this.isVisible) {\n this.destroyWidget();\n }\n }, IDLE_TIMEOUT);\n return;\n }\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n if (!this.rendered) {\n this.renderWidget();\n }\n },\n immediate: true\n }\n },\n beforeDestroy() {\n this.destroyWidget();\n },\n methods: {\n t,\n enableInteractive() {\n this.showInteractive = true;\n this.renderWidget();\n },\n renderWidget() {\n if (!this.$refs.customWidget) {\n return;\n }\n if (this?.reference?.richObjectType === \"open-graph\") {\n return;\n }\n this.$refs.customWidget.innerHTML = \"\";\n const widget = document.createElement(\"div\");\n widget.style = \"width: 100%;\";\n this.$refs.customWidget.appendChild(widget);\n this.$nextTick(() => {\n renderWidget(widget, {\n ...this.reference,\n interactive: this.isInteractive\n });\n this.rendered = true;\n });\n },\n destroyWidget() {\n if (this.rendered) {\n destroyWidget(this.reference.richObjectType, this.$el);\n this.rendered = false;\n }\n }\n }\n};\nvar _sfc_render$8 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { ref: \"widgetRoot\", class: { \"toggle-interactive\": _vm.hasInteractiveView && !_vm.isInteractive } }, [_vm.reference && _vm.hasCustomWidget ? _c(\"div\", { ref: \"customWidget\", staticClass: \"widget-custom\", class: { \"full-width\": _vm.hasFullWidth } }) : !_vm.noAccess && _vm.reference && _vm.reference.openGraphObject && !_vm.hasCustomWidget ? _c(_vm.referenceWidgetLinkComponent, _vm._b({ tag: \"component\", staticClass: \"widget-default\", attrs: { \"rel\": \"noopener noreferrer\" } }, \"component\", _vm.referenceWidgetLinkProps, false), [_vm.reference.openGraphObject.thumb ? _c(\"img\", { staticClass: \"widget-default--image\", attrs: { \"src\": _vm.reference.openGraphObject.thumb } }) : _vm._e(), _c(\"div\", { staticClass: \"widget-default--details\" }, [_c(\"p\", { staticClass: \"widget-default--name\" }, [_vm._v(\" \" + _vm._s(_vm.reference.openGraphObject.name) + \" \")]), _c(\"p\", { staticClass: \"widget-default--description\", style: _vm.descriptionStyle }, [_vm._v(\" \" + _vm._s(_vm.reference.openGraphObject.description) + \" \")]), _c(\"p\", { staticClass: \"widget-default--link\" }, [_vm._v(\" \" + _vm._s(_vm.compactLink) + \" \")])])]) : _vm._e(), _vm.interactiveOptIn && _vm.hasInteractiveView && !_vm.isInteractive ? _c(\"NcButton\", { staticClass: \"toggle-interactive--button\", on: { \"click\": _vm.enableInteractive } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Enable interactive view\")) + \" \")]) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns$8 = [];\nvar __component__$8 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$8,\n _sfc_render$8,\n _sfc_staticRenderFns$8,\n false,\n null,\n \"734d6ae9\"\n);\nconst NcReferenceWidget = __component__$8.exports;\nconst _sfc_main$7 = {\n name: \"NcCustomPickerElement\",\n props: {\n /**\n * The reference provider\n */\n provider: {\n type: Object,\n required: true\n }\n },\n emits: [\n \"cancel\",\n \"submit\"\n ],\n data() {\n return {\n isRegistered: isCustomPickerElementRegistered(this.provider.id),\n renderResult: null\n };\n },\n mounted() {\n if (this.isRegistered) {\n this.renderElement();\n }\n },\n beforeDestroy() {\n if (this.isRegistered) {\n destroyCustomPickerElement(this.provider.id, this.$el, this.renderResult);\n }\n },\n methods: {\n renderElement() {\n if (this.$refs.domElement) {\n this.$refs.domElement.innerHTML = \"\";\n }\n const renderFunctionResult = renderCustomPickerElement(this.$refs.domElement, { providerId: this.provider.id, accessible: false });\n Promise.resolve(renderFunctionResult).then((result) => {\n this.renderResult = result;\n if (this.renderResult.object?._isVue && this.renderResult.object?.$on) {\n this.renderResult.object.$on(\"submit\", this.onSubmit);\n this.renderResult.object.$on(\"cancel\", this.onCancel);\n }\n this.renderResult.element.addEventListener(\"submit\", (e) => {\n this.onSubmit(e.detail);\n });\n this.renderResult.element.addEventListener(\"cancel\", this.onCancel);\n });\n },\n onSubmit(value) {\n this.$emit(\"submit\", value);\n },\n onCancel() {\n this.$emit(\"cancel\");\n }\n }\n};\nvar _sfc_render$7 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { ref: \"domElement\" });\n};\nvar _sfc_staticRenderFns$7 = [];\nvar __component__$7 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$7,\n _sfc_render$7,\n _sfc_staticRenderFns$7,\n false,\n null,\n \"de9850e4\"\n);\nconst NcCustomPickerElement = __component__$7.exports;\nregister(t7);\nconst anyLinkProviderId = \"any-link\";\nconst anyLinkProvider = {\n id: anyLinkProviderId,\n title: t(\"Any link\"),\n icon_url: imagePath(\"core\", \"filetypes/link.svg\")\n};\nif (!window._vue_richtext_reference_providers) {\n window._vue_richtext_reference_providers = loadState(\"core\", \"reference-provider-list\", []);\n}\nif (!window._vue_richtext_reference_provider_timestamps) {\n window._vue_richtext_reference_provider_timestamps = loadState(\"core\", \"reference-provider-timestamps\", {});\n}\nfunction getProvider(providerId) {\n if (providerId === anyLinkProviderId) {\n return anyLinkProvider;\n }\n return getProviders().find((p) => p.id === providerId);\n}\nfunction getProviders() {\n return window._vue_richtext_reference_providers.filter((p) => {\n const keep = !!p.search_providers_ids && p.search_providers_ids.length > 0 || isCustomPickerElementRegistered(p.id);\n if (!keep) {\n console.debug(\"[smart picker]\", p.id, \"reference provider is discoverable but does not have any related search provider or custom picker component registered\");\n }\n return keep;\n });\n}\nfunction sortProviders(providerList) {\n const timestamps = window._vue_richtext_reference_provider_timestamps;\n return providerList.sort((a, b) => {\n return a.order === b.order ? 0 : a.order > b.order ? 1 : -1;\n }).sort((a, b) => {\n const ta = timestamps[a.id];\n const tb = timestamps[b.id];\n return ta === tb ? 0 : tb === void 0 ? -1 : ta === void 0 ? 1 : ta > tb ? -1 : 1;\n });\n}\nfunction searchProvider(query, limit = null) {\n const providers = getProviders();\n const escapedQuery = query.replace(/[/\\-\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n const regexp = new RegExp(escapedQuery, \"i\");\n const sortedProviders = sortProviders(providers);\n const filteredSortedProviders = sortedProviders.filter((p) => {\n return p.title.match(regexp);\n });\n const searchResult = limit ? filteredSortedProviders.slice(0, limit) : filteredSortedProviders;\n if (query === \"\" || searchResult.length === 0) {\n searchResult.push(anyLinkProvider);\n }\n return searchResult;\n}\nfunction touchProvider(providerId) {\n const timestamp = Math.floor(Date.now() / 1e3);\n const params = {\n timestamp\n };\n const url = generateOcsUrl(\"references/provider/{providerId}\", { providerId });\n axios.put(url, params).then((response) => {\n window._vue_richtext_reference_provider_timestamps[providerId] = timestamp;\n });\n}\nlet mytimer = 0;\nfunction delay(callback, ms) {\n return function() {\n const context = this;\n const args = arguments;\n clearTimeout(mytimer);\n mytimer = setTimeout(function() {\n callback.apply(context, args);\n }, ms);\n };\n}\nfunction isUrl(str) {\n try {\n return Boolean(new URL(str));\n } catch (error) {\n return false;\n }\n}\nregister(t38, t44);\nconst _sfc_main$6 = {\n name: \"LinkVariantIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$6 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon link-variant-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"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.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$6 = [];\nvar __component__$6 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$6,\n _sfc_render$6,\n _sfc_staticRenderFns$6,\n false,\n null,\n null\n);\nconst LinkVariantIcon = __component__$6.exports;\nconst _sfc_main$5 = {\n name: \"NcProviderList\",\n components: {\n NcSelect,\n NcHighlight,\n NcEmptyContent,\n LinkVariantIcon\n },\n emits: [\n \"select-provider\",\n \"submit\"\n ],\n data() {\n return {\n selectedProvider: null,\n query: \"\",\n multiselectPlaceholder: t(\"Select provider\"),\n providerIconAlt: t(\"Provider icon\")\n };\n },\n computed: {\n options() {\n const result = [];\n if (this.query !== \"\" && isUrl(this.query)) {\n result.push({\n id: this.query,\n title: this.query,\n isLink: true\n });\n }\n result.push(...searchProvider(this.query));\n return result;\n }\n },\n methods: {\n focus() {\n setTimeout(() => {\n this.$refs[\"provider-select\"]?.$el?.querySelector(\"#provider-select-input\")?.focus();\n }, 300);\n },\n onProviderSelected(p) {\n if (p !== null) {\n if (p.isLink) {\n this.$emit(\"submit\", p.title);\n } else {\n this.$emit(\"select-provider\", p);\n }\n this.selectedProvider = null;\n }\n },\n onSearch(query, loading) {\n this.query = query;\n }\n }\n};\nvar _sfc_render$5 = function render4() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"provider-list\" }, [_c(\"NcSelect\", { ref: \"provider-select\", staticClass: \"provider-list--select\", attrs: { \"input-id\": \"provider-select-input\", \"label\": \"title\", \"placeholder\": _vm.multiselectPlaceholder, \"options\": _vm.options, \"append-to-body\": false, \"clear-search-on-select\": true, \"clear-search-on-blur\": () => false, \"filterable\": false }, on: { \"search\": _vm.onSearch, \"input\": _vm.onProviderSelected }, scopedSlots: _vm._u([{ key: \"option\", fn: function(option) {\n return [option.isLink ? _c(\"div\", { staticClass: \"provider\" }, [_c(\"LinkVariantIcon\", { staticClass: \"link-icon\", attrs: { \"size\": 20 } }), _c(\"span\", [_vm._v(_vm._s(option.title))])], 1) : _c(\"div\", { staticClass: \"provider\" }, [_c(\"img\", { staticClass: \"provider-icon\", attrs: { \"src\": option.icon_url, \"alt\": _vm.providerIconAlt } }), _c(\"NcHighlight\", { staticClass: \"option-text\", attrs: { \"search\": _vm.query, \"text\": option.title } })], 1)];\n } }]), model: { value: _vm.selectedProvider, callback: function($$v) {\n _vm.selectedProvider = $$v;\n }, expression: \"selectedProvider\" } }), _c(\"NcEmptyContent\", { staticClass: \"provider-list--empty-content\", scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"LinkVariantIcon\")];\n }, proxy: true }]) })], 1);\n};\nvar _sfc_staticRenderFns$5 = [];\nvar __component__$5 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$5,\n _sfc_render$5,\n _sfc_staticRenderFns$5,\n false,\n null,\n \"f03ee0c9\"\n);\nconst NcProviderList = __component__$5.exports;\nregister(t22);\nconst _sfc_main$4 = {\n name: \"NcRawLinkInput\",\n components: {\n LinkVariantIcon,\n NcEmptyContent,\n NcLoadingIcon,\n NcReferenceWidget,\n NcTextField\n },\n props: {\n /**\n * The reference provider\n */\n provider: {\n type: Object,\n required: true\n }\n },\n emits: [\n \"submit\"\n ],\n data() {\n return {\n inputValue: \"\",\n loading: false,\n reference: null,\n abortController: null,\n inputPlaceholder: t(\"Enter link\")\n };\n },\n computed: {\n isLinkValid() {\n return isUrl(this.inputValue);\n }\n },\n methods: {\n focus() {\n this.$refs[\"url-input\"].$el.getElementsByTagName(\"input\")[0]?.focus();\n },\n onSubmit(e) {\n const value = e.target.value;\n if (this.isLinkValid) {\n this.$emit(\"submit\", value);\n }\n },\n onClear() {\n this.inputValue = \"\";\n this.reference = null;\n },\n onInput() {\n this.reference = null;\n if (this.abortController) {\n this.abortController.abort();\n }\n if (this.isLinkValid) {\n delay(() => {\n this.updateReference();\n }, 500)();\n }\n },\n updateReference() {\n this.loading = true;\n this.abortController = new AbortController();\n axios.get(generateOcsUrl(\"references/resolve\", 2) + \"?reference=\" + encodeURIComponent(this.inputValue), {\n signal: this.abortController.signal\n }).then((response) => {\n this.reference = response.data.ocs.data.references[this.inputValue];\n }).catch((error) => {\n console.error(error);\n }).then(() => {\n this.loading = false;\n });\n }\n }\n};\nvar _sfc_render$4 = function render5() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"raw-link\" }, [_c(\"div\", { staticClass: \"input-wrapper\" }, [_c(\"NcTextField\", { ref: \"url-input\", attrs: { \"value\": _vm.inputValue, \"show-trailing-button\": _vm.inputValue !== \"\", \"label\": _vm.inputPlaceholder }, on: { \"update:value\": [function($event) {\n _vm.inputValue = $event;\n }, _vm.onInput], \"trailing-button-click\": _vm.onClear }, nativeOn: { \"keyup\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) return null;\n return _vm.onSubmit.apply(null, arguments);\n } } }, [_vm.loading ? _c(\"NcLoadingIcon\", { attrs: { \"size\": 16 } }) : _c(\"LinkVariantIcon\", { attrs: { \"size\": 16 } })], 1)], 1), _vm.reference !== null ? _c(\"NcReferenceWidget\", { staticClass: \"reference-widget\", attrs: { \"reference\": _vm.reference } }) : _c(\"NcEmptyContent\", { staticClass: \"raw-link--empty-content\", scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.provider.icon_url ? _c(\"img\", { staticClass: \"provider-icon\", attrs: { \"src\": _vm.provider.icon_url } }) : _c(\"LinkVariantIcon\")];\n }, proxy: true }]) })], 1);\n};\nvar _sfc_staticRenderFns$4 = [];\nvar __component__$4 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$4,\n _sfc_render$4,\n _sfc_staticRenderFns$4,\n false,\n null,\n \"3c1803b5\"\n);\nconst NcRawLinkInput = __component__$4.exports;\nconst _sfc_main$3 = {\n name: \"NcSearchResult\",\n components: {\n NcHighlight\n },\n props: {\n /**\n * Unified search result entry\n */\n entry: {\n type: Object,\n required: true\n },\n /**\n * The query that led to getting this result\n * Used to highlight the entry text\n */\n query: {\n type: String,\n required: true\n }\n }\n};\nvar _sfc_render$3 = function render6() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"result\" }, [_vm.entry.icon ? _c(\"div\", { staticClass: \"result--icon-class\", class: { [_vm.entry.icon]: true, rounded: _vm.entry.rounded } }) : _c(\"img\", { staticClass: \"result--image\", class: { rounded: _vm.entry.rounded }, attrs: { \"src\": _vm.entry.thumbnailUrl } }), _c(\"div\", { staticClass: \"result--content\" }, [_c(\"span\", { staticClass: \"result--content--name\" }, [_c(\"NcHighlight\", { attrs: { \"search\": _vm.query, \"text\": _vm.entry.title } })], 1), _c(\"span\", { staticClass: \"result--content--subline\" }, [_c(\"NcHighlight\", { attrs: { \"search\": _vm.query, \"text\": _vm.entry.subline } })], 1)])]);\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n \"ff4bcbf3\"\n);\nconst NcSearchResult = __component__$3.exports;\nregister(t29, t38, t40);\nconst LIMIT = 5;\nconst _sfc_main$2 = {\n name: \"NcSearch\",\n components: {\n LinkVariantIcon,\n DotsHorizontalIcon: DotsHorizontal,\n NcEmptyContent,\n NcSelect,\n NcSearchResult\n },\n props: {\n /**\n * The selected reference provider\n */\n provider: {\n type: Object,\n required: true\n },\n showEmptyContent: {\n type: Boolean,\n default: true\n },\n searchPlaceholder: {\n type: String,\n default: null\n }\n },\n emits: [\n \"submit\"\n ],\n data() {\n return {\n searchQuery: \"\",\n selectedResult: null,\n resultsBySearchProvider: {},\n searching: false,\n searchingMoreOf: null,\n abortController: null,\n noOptionsText: t(\"Start typing to search\"),\n providerIconAlt: t(\"Provider icon\")\n };\n },\n computed: {\n mySearchPlaceholder() {\n return this.searchPlaceholder || t(\"Search\");\n },\n searchProviderIds() {\n return this.provider.search_providers_ids;\n },\n options() {\n if (this.searchQuery === \"\") {\n return [];\n }\n const options = [];\n if (isUrl(this.searchQuery)) {\n options.push(this.rawLinkEntry);\n }\n options.push(...this.formattedSearchResults);\n return options;\n },\n rawLinkEntry() {\n return {\n id: \"rawLinkEntry\",\n resourceUrl: this.searchQuery,\n isRawLink: true\n };\n },\n formattedSearchResults() {\n const results = [];\n this.searchProviderIds.forEach((pid) => {\n if (this.resultsBySearchProvider[pid].entries.length > 0) {\n if (this.searchProviderIds.length > 1 || this.resultsBySearchProvider[pid].entries.length > 1) {\n results.push({\n id: \"groupTitle-\" + pid,\n name: this.resultsBySearchProvider[pid].name,\n isCustomGroupTitle: true,\n providerId: pid\n });\n }\n const providerEntriesWithId = this.resultsBySearchProvider[pid].entries.map((entry, index) => {\n return {\n id: \"provider-\" + pid + \"-entry-\" + index,\n ...entry\n };\n });\n results.push(...providerEntriesWithId);\n if (this.resultsBySearchProvider[pid].isPaginated) {\n results.push({\n id: \"moreOf-\" + pid,\n name: this.resultsBySearchProvider[pid].name,\n isMore: true,\n providerId: pid,\n isLoading: this.searchingMoreOf === pid\n });\n }\n }\n });\n return results;\n }\n },\n mounted() {\n this.resetResults();\n },\n beforeDestroy() {\n this.cancelSearchRequests();\n },\n methods: {\n t,\n resetResults() {\n const resultsBySearchProvider = {};\n this.searchProviderIds.forEach((pid) => {\n resultsBySearchProvider[pid] = {\n entries: []\n };\n });\n this.resultsBySearchProvider = resultsBySearchProvider;\n },\n focus() {\n setTimeout(() => {\n this.$refs[\"search-select\"]?.$el?.querySelector(\"#search-select-input\")?.focus();\n }, 300);\n },\n cancelSearchRequests() {\n if (this.abortController) {\n this.abortController.abort();\n }\n },\n onSearchInput(query, loading) {\n this.searchQuery = query;\n delay(() => {\n this.updateSearch();\n }, 500)();\n },\n onSelectResultSelected(item) {\n if (item !== null) {\n if (item.resourceUrl) {\n this.cancelSearchRequests();\n this.$emit(\"submit\", item.resourceUrl);\n } else if (item.isMore) {\n this.searchMoreOf(item.providerId).then(() => {\n this.selectedResult = null;\n });\n }\n }\n },\n searchMoreOf(searchProviderId) {\n this.searchingMoreOf = searchProviderId;\n this.cancelSearchRequests();\n return this.searchProviders(searchProviderId);\n },\n updateSearch() {\n this.cancelSearchRequests();\n this.resetResults();\n if (this.searchQuery === \"\") {\n this.searching = false;\n return;\n }\n return this.searchProviders();\n },\n searchProviders(searchProviderId = null) {\n this.abortController = new AbortController();\n this.searching = true;\n const searchPromises = searchProviderId === null ? [...this.searchProviderIds].map((pid) => {\n return this.searchOneProvider(pid);\n }) : [this.searchOneProvider(searchProviderId, this.resultsBySearchProvider[searchProviderId]?.cursor ?? null)];\n return Promise.allSettled(searchPromises).then((promises) => {\n const isOneCanceled = !!promises.find((p) => {\n return p.status === \"rejected\" && (p.reason.name === \"CanceledError\" || p.reason.code === \"ERR_CANCELED\");\n });\n if (!isOneCanceled) {\n this.searching = false;\n this.searchingMoreOf = null;\n }\n });\n },\n searchOneProvider(providerId, cursor = null) {\n const url = cursor === null ? generateOcsUrl(\"search/providers/{providerId}/search?term={term}&limit={limit}\", { providerId, term: this.searchQuery, limit: LIMIT }) : generateOcsUrl(\"search/providers/{providerId}/search?term={term}&limit={limit}&cursor={cursor}\", { providerId, term: this.searchQuery, limit: LIMIT, cursor });\n return axios.get(url, {\n signal: this.abortController.signal\n }).then((response) => {\n const data = response.data.ocs.data;\n this.resultsBySearchProvider[providerId].name = data.name;\n this.resultsBySearchProvider[providerId].cursor = data.cursor;\n this.resultsBySearchProvider[providerId].isPaginated = data.isPaginated;\n this.resultsBySearchProvider[providerId].entries.push(...data.entries);\n });\n }\n }\n};\nvar _sfc_render$2 = function render7() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"smart-picker-search\", class: { \"with-empty-content\": _vm.showEmptyContent } }, [_c(\"NcSelect\", { ref: \"search-select\", staticClass: \"smart-picker-search--select\", attrs: { \"input-id\": \"search-select-input\", \"label\": \"name\", \"placeholder\": _vm.mySearchPlaceholder, \"options\": _vm.options, \"append-to-body\": false, \"close-on-select\": false, \"clear-search-on-select\": false, \"clear-search-on-blur\": () => false, \"reset-focus-on-options-change\": false, \"filterable\": false, \"autoscroll\": true, \"reset-on-options-change\": false, \"loading\": _vm.searching }, on: { \"search\": _vm.onSearchInput, \"input\": _vm.onSelectResultSelected }, scopedSlots: _vm._u([{ key: \"option\", fn: function(option) {\n return [option.isRawLink ? _c(\"div\", { staticClass: \"custom-option\" }, [_c(\"LinkVariantIcon\", { staticClass: \"option-simple-icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"option-text\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Raw link {options}\", { options: option.resourceUrl })) + \" \")])], 1) : option.resourceUrl ? _c(\"NcSearchResult\", { staticClass: \"search-result\", attrs: { \"entry\": option, \"query\": _vm.searchQuery } }) : option.isCustomGroupTitle ? _c(\"span\", { staticClass: \"custom-option group-name\" }, [_vm.provider.icon_url ? _c(\"img\", { staticClass: \"provider-icon group-name-icon\", attrs: { \"src\": _vm.provider.icon_url } }) : _vm._e(), _c(\"span\", { staticClass: \"option-text\" }, [_c(\"strong\", [_vm._v(_vm._s(option.name))])])]) : option.isMore ? _c(\"span\", { class: { \"custom-option\": true } }, [option.isLoading ? _c(\"span\", { staticClass: \"option-simple-icon icon-loading-small\" }) : _c(\"DotsHorizontalIcon\", { staticClass: \"option-simple-icon\", attrs: { \"size\": 20 } }), _c(\"span\", { staticClass: \"option-text\" }, [_vm._v(\" \" + _vm._s(_vm.t('Load more \"{options}\"', { options: option.name })) + \" \")])], 1) : _vm._e()];\n } }, { key: \"no-options\", fn: function() {\n return [_vm._v(\" \" + _vm._s(_vm.noOptionsText) + \" \")];\n }, proxy: true }]), model: { value: _vm.selectedResult, callback: function($$v) {\n _vm.selectedResult = $$v;\n }, expression: \"selectedResult\" } }), _vm.showEmptyContent ? _c(\"NcEmptyContent\", { staticClass: \"smart-picker-search--empty-content\", scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm.provider.icon_url ? _c(\"img\", { staticClass: \"provider-icon\", attrs: { \"alt\": _vm.providerIconAlt, \"src\": _vm.provider.icon_url } }) : _c(\"LinkVariantIcon\")];\n }, proxy: true }], null, false, 2922132592) }) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n \"05fef988\"\n);\nconst NcSearch = __component__$2.exports;\nconst MODES = {\n providerList: 1,\n standardLinkInput: 2,\n searchInput: 3,\n customElement: 4\n};\nconst _sfc_main$1 = {\n name: \"NcReferencePicker\",\n components: {\n NcCustomPickerElement,\n NcProviderList,\n NcRawLinkInput,\n NcSearch\n },\n props: {\n /**\n * Provider to select on creation\n * Default: null. Show the provider list\n */\n initialProvider: {\n type: Object,\n default: () => null\n },\n /**\n * Optional width in pixels\n * Default: 100%\n */\n width: {\n type: Number,\n default: null\n },\n /**\n * Focus on the provider list select input on creation\n * Default: true\n */\n focusOnCreate: {\n type: Boolean,\n default: true\n }\n },\n emits: [\n \"cancel\",\n \"cancel-raw-link\",\n \"cancel-search\",\n \"provider-selected\",\n \"submit\"\n ],\n data() {\n return {\n MODES,\n selectedProvider: this.initialProvider\n };\n },\n computed: {\n mode() {\n return this.selectedProvider === null ? MODES.providerList : isCustomPickerElementRegistered(this.selectedProvider.id) ? MODES.customElement : this.selectedProvider.search_providers_ids ? MODES.searchInput : MODES.standardLinkInput;\n },\n pickerWrapperStyle() {\n return {\n width: this.width ? this.width + \"px\" : void 0\n };\n }\n },\n mounted() {\n if (this.focusOnCreate) {\n if (this.initialProvider) {\n setTimeout(() => {\n this.$refs[\"url-input\"]?.focus();\n }, 300);\n } else {\n this.$nextTick(() => {\n this.$refs[\"provider-list\"]?.focus();\n });\n }\n }\n },\n methods: {\n onEscapePressed() {\n if (this.selectedProvider !== null) {\n this.deselectProvider();\n } else {\n this.cancelProviderSelection();\n }\n },\n onProviderSelected(provider) {\n this.selectedProvider = provider;\n this.$emit(\"provider-selected\", provider);\n this.$nextTick(() => {\n this.$refs[\"url-input\"]?.focus();\n });\n },\n cancelCustomElement() {\n this.deselectProvider();\n },\n cancelSearch() {\n this.$emit(\"cancel-search\", this.selectedProvider?.title);\n this.deselectProvider();\n },\n cancelRawLinkInput() {\n this.$emit(\"cancel-raw-link\", this.selectedProvider?.title);\n this.deselectProvider();\n },\n cancelProviderSelection() {\n this.$emit(\"cancel\");\n },\n submitLink(link) {\n if (this.selectedProvider !== null) {\n touchProvider(this.selectedProvider.id);\n }\n this.$emit(\"submit\", link);\n this.deselectProvider();\n },\n deselectProvider() {\n this.selectedProvider = null;\n this.$emit(\"provider-selected\", null);\n setTimeout(() => {\n this.$refs[\"provider-list\"]?.focus();\n }, 300);\n }\n }\n};\nvar _sfc_render$1 = function render8() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"reference-picker\", style: _vm.pickerWrapperStyle, attrs: { \"tabindex\": \"-1\" }, on: { \"keydown\": function($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) return null;\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.onEscapePressed.apply(null, arguments);\n } } }, [_vm.mode === _vm.MODES.providerList ? _c(\"NcProviderList\", { ref: \"provider-list\", on: { \"select-provider\": _vm.onProviderSelected, \"submit\": _vm.submitLink, \"cancel\": _vm.cancelProviderSelection } }) : _vm.mode === _vm.MODES.standardLinkInput ? _c(\"NcRawLinkInput\", { ref: \"url-input\", attrs: { \"provider\": _vm.selectedProvider }, on: { \"submit\": _vm.submitLink, \"cancel\": _vm.cancelRawLinkInput } }) : _vm.mode === _vm.MODES.searchInput ? _c(\"NcSearch\", { ref: \"url-input\", attrs: { \"provider\": _vm.selectedProvider }, on: { \"cancel\": _vm.cancelSearch, \"submit\": _vm.submitLink } }) : _vm.mode === _vm.MODES.customElement ? _c(\"div\", { staticClass: \"custom-element-wrapper\" }, [_c(\"NcCustomPickerElement\", { staticClass: \"custom-element\", attrs: { \"provider\": _vm.selectedProvider }, on: { \"submit\": _vm.submitLink, \"cancel\": _vm.cancelCustomElement } })], 1) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"cd33df8e\"\n);\nconst NcReferencePicker = __component__$1.exports;\nregister(t11, t17);\nconst _sfc_main = {\n name: \"NcReferencePickerModal\",\n components: {\n NcReferencePicker,\n NcModal,\n NcButton,\n ArrowLeftIcon: ArrowLeft,\n CloseIcon: Close\n },\n props: {\n /**\n * Provider to select on creation\n * Show the provider list if no initial one is provided\n */\n initialProvider: {\n type: Object,\n default: () => null\n },\n /**\n * Focus on the input item on create\n */\n focusOnCreate: {\n type: Boolean,\n default: true\n },\n /**\n * If true, add the modal content to the Viewer trap elements via the event-bus\n */\n isInsideViewer: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"cancel\",\n \"submit\"\n ],\n data() {\n return {\n show: true,\n selectedProvider: this.initialProvider,\n backButtonTitle: t(\"Back to provider selection\"),\n closeButtonTitle: t(\"Close\"),\n closeButtonLabel: t(\"Close Smart Picker\")\n };\n },\n computed: {\n isProviderSelected() {\n return this.selectedProvider !== null;\n },\n showBackButton() {\n return this.initialProvider === null && this.isProviderSelected;\n },\n modalSize() {\n return this.isProviderSelected && isCustomPickerElementRegistered(this.selectedProvider.id) ? getCustomPickerElementSize(this.selectedProvider.id) ?? \"large\" : \"normal\";\n },\n showModalName() {\n return !this.isProviderSelected || !isCustomPickerElementRegistered(this.selectedProvider.id);\n },\n modalName() {\n return this.isProviderSelected ? this.selectedProvider.title : t(\"Smart Picker\");\n }\n },\n mounted() {\n if (this.isInsideViewer) {\n const elem = this.$refs.modal_content;\n emit(\"viewer:trapElements:changed\", elem);\n }\n },\n methods: {\n onCancel() {\n this.show = false;\n this.$emit(\"cancel\");\n },\n onSubmit(value) {\n this.show = false;\n this.$emit(\"submit\", value);\n },\n onProviderSelect(provider) {\n this.selectedProvider = provider;\n if (provider === null && this.initialProvider !== null) {\n this.onCancel();\n }\n },\n onBackClicked() {\n this.$refs.referencePicker.deselectProvider();\n }\n }\n};\nvar _sfc_render = function render9() {\n var _vm = this, _c = _vm._self._c;\n return _vm.show ? _c(\"NcModal\", { staticClass: \"reference-picker-modal\", attrs: { \"size\": _vm.modalSize, \"can-close\": true }, on: { \"close\": _vm.onCancel } }, [_c(\"div\", { ref: \"modal_content\", staticClass: \"reference-picker-modal--content\" }, [_vm.showBackButton ? _c(\"NcButton\", { staticClass: \"back-button\", attrs: { \"aria-label\": _vm.backButtonTitle, \"title\": _vm.backButtonTitle }, on: { \"click\": _vm.onBackClicked }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"ArrowLeftIcon\")];\n }, proxy: true }], null, false, 3001860362) }) : _vm._e(), _c(\"NcButton\", { staticClass: \"close-button\", attrs: { \"aria-label\": _vm.closeButtonLabel, \"title\": _vm.closeButtonTitle, \"variant\": \"tertiary\" }, on: { \"click\": _vm.onCancel }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"CloseIcon\")];\n }, proxy: true }], null, false, 2491825086) }), _vm.showModalName ? _c(\"h2\", [_vm._v(\" \" + _vm._s(_vm.modalName) + \" \")]) : _vm._e(), _c(\"NcReferencePicker\", { ref: \"referencePicker\", attrs: { \"initial-provider\": _vm.initialProvider, \"focus-on-create\": _vm.focusOnCreate }, on: { \"provider-selected\": _vm.onProviderSelect, \"submit\": _vm.onSubmit, \"cancel\": _vm.onCancel } })], 1)]) : _vm._e();\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"c66449c1\"\n);\nconst NcReferencePickerModal = __component__.exports;\nasync function getLinkWithPicker(providerId = null, isInsideViewer = void 0) {\n return await new Promise((resolve, reject) => {\n const modalId = \"referencePickerModal\";\n const modalElement = document.createElement(\"div\");\n modalElement.id = modalId;\n document.body.append(modalElement);\n const initialProvider = providerId === null ? null : getProvider(providerId) ?? null;\n const View = Vue.extend(NcReferencePickerModal);\n const view = new View({\n propsData: {\n initialProvider,\n isInsideViewer\n }\n }).$mount(modalElement);\n view.$on(\"cancel\", () => {\n view.$destroy();\n reject(new Error(\"User cancellation\"));\n });\n view.$on(\"submit\", (link) => {\n view.$destroy();\n resolve(link);\n });\n });\n}\nexport {\n NcReferenceWidget as N,\n anyLinkProviderId as a,\n getProvider as b,\n getProviders as c,\n searchProvider as d,\n NcReferencePicker as e,\n NcReferencePickerModal as f,\n getLinkWithPicker as g,\n NcSearch as h,\n sortProviders as s\n};\n//# sourceMappingURL=referencePickerModal-sscttPbK.mjs.map\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationCaption-DU9PxTvu.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationCaption-DU9PxTvu.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcAppNavigationNew-Dbo2rvXH.css';\nimport NcButton from \"./NcButton.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n components: {\n NcButton\n },\n props: {\n buttonId: {\n type: String,\n required: false,\n default: \"\"\n },\n disabled: {\n type: Boolean,\n required: false,\n default: false\n },\n text: {\n type: String,\n required: true\n },\n /**\n * @deprecated use `variant` instead - will be removed with v9\n */\n type: {\n type: String,\n default: \"primary\",\n validator(value) {\n return [\"primary\", \"secondary\", \"tertiary\"].indexOf(value) !== -1;\n }\n },\n /**\n * The color variant to use.\n * @default 'primary'\n */\n variant: {\n type: String,\n default: \"primary\",\n validator(value) {\n return [\"primary\", \"secondary\", \"tertiary\"].indexOf(value) !== -1;\n }\n }\n },\n emits: [\"click\"]\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"div\", { staticClass: \"app-navigation-new\" }, [_c(\"NcButton\", { attrs: { \"id\": _vm.buttonId, \"disabled\": _vm.disabled, \"variant\": _vm.type !== \"primary\" ? _vm.type : _vm.variant }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\");\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_vm._t(\"icon\")];\n }, proxy: true }], null, true) }, [_vm._v(\" \" + _vm._s(_vm.text) + \" \")])], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"0b3c495c\"\n);\nconst NcAppNavigationNew = __component__.exports;\nexport {\n NcAppNavigationNew as default\n};\n//# sourceMappingURL=NcAppNavigationNew.mjs.map\n",";(function (sax) { // wrapper for non-node envs\n sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n sax.SAXParser = SAXParser\n sax.SAXStream = SAXStream\n sax.createStream = createStream\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n var buffers = [\n 'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n 'procInstName', 'procInstBody', 'entity', 'attribName',\n 'attribValue', 'cdata', 'script'\n ]\n\n sax.EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace'\n ]\n\n function SAXParser (strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt)\n }\n\n var parser = this\n clearBuffers(parser)\n parser.q = parser.c = ''\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n parser.opt = opt || {}\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n parser.tags = []\n parser.closed = parser.closedRoot = parser.sawRoot = false\n parser.tag = parser.error = null\n parser.strict = !!strict\n parser.noscript = !!(strict || parser.opt.noscript)\n parser.state = S.BEGIN\n parser.strictEntities = parser.opt.strictEntities\n parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n parser.attribList = []\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS)\n }\n\n // disallow unquoted attribute values if not otherwise configured\n // and strict mode is true\n if (parser.opt.unquotedAttributeValues === undefined) {\n parser.opt.unquotedAttributeValues = !strict;\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0\n }\n emit(parser, 'onready')\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F () {}\n F.prototype = o\n var newf = new F()\n return newf\n }\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = []\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n return a\n }\n }\n\n function checkBufferLength (parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n var maxActual = 0\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case 'textNode':\n closeText(parser)\n break\n\n case 'cdata':\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n break\n\n case 'script':\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n break\n\n default:\n error(parser, 'Max buffer length exceeded: ' + buffers[i])\n }\n }\n maxActual = Math.max(maxActual, len)\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual\n parser.bufferCheckPosition = m + parser.position\n }\n\n function clearBuffers (parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = ''\n }\n }\n\n function flushBuffers (parser) {\n closeText(parser)\n if (parser.cdata !== '') {\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n }\n if (parser.script !== '') {\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n }\n\n SAXParser.prototype = {\n end: function () { end(this) },\n write: write,\n resume: function () { this.error = null; return this },\n close: function () { return this.write(null) },\n flush: function () { flushBuffers(this) }\n }\n\n var Stream\n try {\n Stream = require('stream').Stream\n } catch (ex) {\n Stream = function () {}\n }\n if (!Stream) Stream = function () {}\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== 'error' && ev !== 'end'\n })\n\n function createStream (strict, opt) {\n return new SAXStream(strict, opt)\n }\n\n function SAXStream (strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt)\n }\n\n Stream.apply(this)\n\n this._parser = new SAXParser(strict, opt)\n this.writable = true\n this.readable = true\n\n var me = this\n\n this._parser.onend = function () {\n me.emit('end')\n }\n\n this._parser.onerror = function (er) {\n me.emit('error', er)\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null\n }\n\n this._decoder = null\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, 'on' + ev, {\n get: function () {\n return me._parser['on' + ev]\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev)\n me._parser['on' + ev] = h\n return h\n }\n me.on(ev, h)\n },\n enumerable: true,\n configurable: false\n })\n })\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n })\n\n SAXStream.prototype.write = function (data) {\n if (typeof Buffer === 'function' &&\n typeof Buffer.isBuffer === 'function' &&\n Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = require('string_decoder').StringDecoder\n this._decoder = new SD('utf8')\n }\n data = this._decoder.write(data)\n }\n\n this._parser.write(data.toString())\n this.emit('data', data)\n return true\n }\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk)\n }\n this._parser.end()\n return true\n }\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this\n if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser['on' + ev] = function () {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n args.splice(0, 0, ev)\n me.emit.apply(me, args)\n }\n }\n\n return Stream.prototype.on.call(me, ev, handler)\n }\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = '[CDATA['\n var DOCTYPE = 'DOCTYPE'\n var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n function isWhitespace (c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n }\n\n function isQuote (c) {\n return c === '\"' || c === '\\''\n }\n\n function isAttribEnd (c) {\n return c === '>' || isWhitespace(c)\n }\n\n function isMatch (regex, c) {\n return regex.test(c)\n }\n\n function notMatch (regex, c) {\n return !isMatch(regex, c)\n }\n\n var S = 0\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // & and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // <!BLARG\n SGML_DECL_QUOTED: S++, // <!BLARG foo \"bar\n DOCTYPE: S++, // <!DOCTYPE\n DOCTYPE_QUOTED: S++, // <!DOCTYPE \"//blah\n DOCTYPE_DTD: S++, // <!DOCTYPE \"//blah\" [ ...\n DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE \"//blah\" [ \"foo\n COMMENT_STARTING: S++, // <!-\n COMMENT: S++, // <!--\n COMMENT_ENDING: S++, // <!-- blah -\n COMMENT_ENDED: S++, // <!-- blah --\n CDATA: S++, // <![CDATA[ something\n CDATA_ENDING: S++, // ]\n CDATA_ENDING_2: S++, // ]]\n PROC_INST: S++, // <?hi\n PROC_INST_BODY: S++, // <?hi there\n PROC_INST_ENDING: S++, // <?hi \"there\" ?\n OPEN_TAG: S++, // <strong\n OPEN_TAG_SLASH: S++, // <strong /\n ATTRIB: S++, // <a\n ATTRIB_NAME: S++, // <a foo\n ATTRIB_NAME_SAW_WHITE: S++, // <a foo _\n ATTRIB_VALUE: S++, // <a foo=\n ATTRIB_VALUE_QUOTED: S++, // <a foo=\"bar\n ATTRIB_VALUE_CLOSED: S++, // <a foo=\"bar\"\n ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar\n ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar=\""\"\n ATTRIB_VALUE_ENTITY_U: S++, // <foo bar="\n CLOSE_TAG: S++, // </a\n CLOSE_TAG_SAW_WHITE: S++, // </a >\n SCRIPT: S++, // <script> ...\n SCRIPT_ENDING: S++ // <script> ... <\n }\n\n sax.XML_ENTITIES = {\n 'amp': '&',\n 'gt': '>',\n 'lt': '<',\n 'quot': '\"',\n 'apos': \"'\"\n }\n\n sax.ENTITIES = {\n 'amp': '&',\n 'gt': '>',\n 'lt': '<',\n 'quot': '\"',\n 'apos': \"'\",\n 'AElig': 198,\n 'Aacute': 193,\n 'Acirc': 194,\n 'Agrave': 192,\n 'Aring': 197,\n 'Atilde': 195,\n 'Auml': 196,\n 'Ccedil': 199,\n 'ETH': 208,\n 'Eacute': 201,\n 'Ecirc': 202,\n 'Egrave': 200,\n 'Euml': 203,\n 'Iacute': 205,\n 'Icirc': 206,\n 'Igrave': 204,\n 'Iuml': 207,\n 'Ntilde': 209,\n 'Oacute': 211,\n 'Ocirc': 212,\n 'Ograve': 210,\n 'Oslash': 216,\n 'Otilde': 213,\n 'Ouml': 214,\n 'THORN': 222,\n 'Uacute': 218,\n 'Ucirc': 219,\n 'Ugrave': 217,\n 'Uuml': 220,\n 'Yacute': 221,\n 'aacute': 225,\n 'acirc': 226,\n 'aelig': 230,\n 'agrave': 224,\n 'aring': 229,\n 'atilde': 227,\n 'auml': 228,\n 'ccedil': 231,\n 'eacute': 233,\n 'ecirc': 234,\n 'egrave': 232,\n 'eth': 240,\n 'euml': 235,\n 'iacute': 237,\n 'icirc': 238,\n 'igrave': 236,\n 'iuml': 239,\n 'ntilde': 241,\n 'oacute': 243,\n 'ocirc': 244,\n 'ograve': 242,\n 'oslash': 248,\n 'otilde': 245,\n 'ouml': 246,\n 'szlig': 223,\n 'thorn': 254,\n 'uacute': 250,\n 'ucirc': 251,\n 'ugrave': 249,\n 'uuml': 252,\n 'yacute': 253,\n 'yuml': 255,\n 'copy': 169,\n 'reg': 174,\n 'nbsp': 160,\n 'iexcl': 161,\n 'cent': 162,\n 'pound': 163,\n 'curren': 164,\n 'yen': 165,\n 'brvbar': 166,\n 'sect': 167,\n 'uml': 168,\n 'ordf': 170,\n 'laquo': 171,\n 'not': 172,\n 'shy': 173,\n 'macr': 175,\n 'deg': 176,\n 'plusmn': 177,\n 'sup1': 185,\n 'sup2': 178,\n 'sup3': 179,\n 'acute': 180,\n 'micro': 181,\n 'para': 182,\n 'middot': 183,\n 'cedil': 184,\n 'ordm': 186,\n 'raquo': 187,\n 'frac14': 188,\n 'frac12': 189,\n 'frac34': 190,\n 'iquest': 191,\n 'times': 215,\n 'divide': 247,\n 'OElig': 338,\n 'oelig': 339,\n 'Scaron': 352,\n 'scaron': 353,\n 'Yuml': 376,\n 'fnof': 402,\n 'circ': 710,\n 'tilde': 732,\n 'Alpha': 913,\n 'Beta': 914,\n 'Gamma': 915,\n 'Delta': 916,\n 'Epsilon': 917,\n 'Zeta': 918,\n 'Eta': 919,\n 'Theta': 920,\n 'Iota': 921,\n 'Kappa': 922,\n 'Lambda': 923,\n 'Mu': 924,\n 'Nu': 925,\n 'Xi': 926,\n 'Omicron': 927,\n 'Pi': 928,\n 'Rho': 929,\n 'Sigma': 931,\n 'Tau': 932,\n 'Upsilon': 933,\n 'Phi': 934,\n 'Chi': 935,\n 'Psi': 936,\n 'Omega': 937,\n 'alpha': 945,\n 'beta': 946,\n 'gamma': 947,\n 'delta': 948,\n 'epsilon': 949,\n 'zeta': 950,\n 'eta': 951,\n 'theta': 952,\n 'iota': 953,\n 'kappa': 954,\n 'lambda': 955,\n 'mu': 956,\n 'nu': 957,\n 'xi': 958,\n 'omicron': 959,\n 'pi': 960,\n 'rho': 961,\n 'sigmaf': 962,\n 'sigma': 963,\n 'tau': 964,\n 'upsilon': 965,\n 'phi': 966,\n 'chi': 967,\n 'psi': 968,\n 'omega': 969,\n 'thetasym': 977,\n 'upsih': 978,\n 'piv': 982,\n 'ensp': 8194,\n 'emsp': 8195,\n 'thinsp': 8201,\n 'zwnj': 8204,\n 'zwj': 8205,\n 'lrm': 8206,\n 'rlm': 8207,\n 'ndash': 8211,\n 'mdash': 8212,\n 'lsquo': 8216,\n 'rsquo': 8217,\n 'sbquo': 8218,\n 'ldquo': 8220,\n 'rdquo': 8221,\n 'bdquo': 8222,\n 'dagger': 8224,\n 'Dagger': 8225,\n 'bull': 8226,\n 'hellip': 8230,\n 'permil': 8240,\n 'prime': 8242,\n 'Prime': 8243,\n 'lsaquo': 8249,\n 'rsaquo': 8250,\n 'oline': 8254,\n 'frasl': 8260,\n 'euro': 8364,\n 'image': 8465,\n 'weierp': 8472,\n 'real': 8476,\n 'trade': 8482,\n 'alefsym': 8501,\n 'larr': 8592,\n 'uarr': 8593,\n 'rarr': 8594,\n 'darr': 8595,\n 'harr': 8596,\n 'crarr': 8629,\n 'lArr': 8656,\n 'uArr': 8657,\n 'rArr': 8658,\n 'dArr': 8659,\n 'hArr': 8660,\n 'forall': 8704,\n 'part': 8706,\n 'exist': 8707,\n 'empty': 8709,\n 'nabla': 8711,\n 'isin': 8712,\n 'notin': 8713,\n 'ni': 8715,\n 'prod': 8719,\n 'sum': 8721,\n 'minus': 8722,\n 'lowast': 8727,\n 'radic': 8730,\n 'prop': 8733,\n 'infin': 8734,\n 'ang': 8736,\n 'and': 8743,\n 'or': 8744,\n 'cap': 8745,\n 'cup': 8746,\n 'int': 8747,\n 'there4': 8756,\n 'sim': 8764,\n 'cong': 8773,\n 'asymp': 8776,\n 'ne': 8800,\n 'equiv': 8801,\n 'le': 8804,\n 'ge': 8805,\n 'sub': 8834,\n 'sup': 8835,\n 'nsub': 8836,\n 'sube': 8838,\n 'supe': 8839,\n 'oplus': 8853,\n 'otimes': 8855,\n 'perp': 8869,\n 'sdot': 8901,\n 'lceil': 8968,\n 'rceil': 8969,\n 'lfloor': 8970,\n 'rfloor': 8971,\n 'lang': 9001,\n 'rang': 9002,\n 'loz': 9674,\n 'spades': 9824,\n 'clubs': 9827,\n 'hearts': 9829,\n 'diams': 9830\n }\n\n Object.keys(sax.ENTITIES).forEach(function (key) {\n var e = sax.ENTITIES[key]\n var s = typeof e === 'number' ? String.fromCharCode(e) : e\n sax.ENTITIES[key] = s\n })\n\n for (var s in sax.STATE) {\n sax.STATE[sax.STATE[s]] = s\n }\n\n // shorthand\n S = sax.STATE\n\n function emit (parser, event, data) {\n parser[event] && parser[event](data)\n }\n\n function emitNode (parser, nodeType, data) {\n if (parser.textNode) closeText(parser)\n emit(parser, nodeType, data)\n }\n\n function closeText (parser) {\n parser.textNode = textopts(parser.opt, parser.textNode)\n if (parser.textNode) emit(parser, 'ontext', parser.textNode)\n parser.textNode = ''\n }\n\n function textopts (opt, text) {\n if (opt.trim) text = text.trim()\n if (opt.normalize) text = text.replace(/\\s+/g, ' ')\n return text\n }\n\n function error (parser, er) {\n closeText(parser)\n if (parser.trackPosition) {\n er += '\\nLine: ' + parser.line +\n '\\nColumn: ' + parser.column +\n '\\nChar: ' + parser.c\n }\n er = new Error(er)\n parser.error = er\n emit(parser, 'onerror', er)\n return parser\n }\n\n function end (parser) {\n if (parser.sawRoot && !parser.closedRoot) strictFail(parser, 'Unclosed root tag')\n if ((parser.state !== S.BEGIN) &&\n (parser.state !== S.BEGIN_WHITESPACE) &&\n (parser.state !== S.TEXT)) {\n error(parser, 'Unexpected end')\n }\n closeText(parser)\n parser.c = ''\n parser.closed = true\n emit(parser, 'onend')\n SAXParser.call(parser, parser.strict, parser.opt)\n return parser\n }\n\n function strictFail (parser, message) {\n if (typeof parser !== 'object' || !(parser instanceof SAXParser)) {\n throw new Error('bad call to strictFail')\n }\n if (parser.strict) {\n error(parser, message)\n }\n }\n\n function newTag (parser) {\n if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]()\n var parent = parser.tags[parser.tags.length - 1] || parser\n var tag = parser.tag = { name: parser.tagName, attributes: {} }\n\n // will be overridden if tag contails an xmlns=\"foo\" or xmlns:foo=\"bar\"\n if (parser.opt.xmlns) {\n tag.ns = parent.ns\n }\n parser.attribList.length = 0\n emitNode(parser, 'onopentagstart', tag)\n }\n\n function qname (name, attribute) {\n var i = name.indexOf(':')\n var qualName = i < 0 ? [ '', name ] : name.split(':')\n var prefix = qualName[0]\n var local = qualName[1]\n\n // <x \"xmlns\"=\"http://foo\">\n if (attribute && name === 'xmlns') {\n prefix = 'xmlns'\n local = ''\n }\n\n return { prefix: prefix, local: local }\n }\n\n function attrib (parser) {\n if (!parser.strict) {\n parser.attribName = parser.attribName[parser.looseCase]()\n }\n\n if (parser.attribList.indexOf(parser.attribName) !== -1 ||\n parser.tag.attributes.hasOwnProperty(parser.attribName)) {\n parser.attribName = parser.attribValue = ''\n return\n }\n\n if (parser.opt.xmlns) {\n var qn = qname(parser.attribName, true)\n var prefix = qn.prefix\n var local = qn.local\n\n if (prefix === 'xmlns') {\n // namespace binding attribute. push the binding into scope\n if (local === 'xml' && parser.attribValue !== XML_NAMESPACE) {\n strictFail(parser,\n 'xml: prefix must be bound to ' + XML_NAMESPACE + '\\n' +\n 'Actual: ' + parser.attribValue)\n } else if (local === 'xmlns' && parser.attribValue !== XMLNS_NAMESPACE) {\n strictFail(parser,\n 'xmlns: prefix must be bound to ' + XMLNS_NAMESPACE + '\\n' +\n 'Actual: ' + parser.attribValue)\n } else {\n var tag = parser.tag\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns === parent.ns) {\n tag.ns = Object.create(parent.ns)\n }\n tag.ns[local] = parser.attribValue\n }\n }\n\n // defer onattribute events until all attributes have been seen\n // so any new bindings can take effect. preserve attribute order\n // so deferred events can be emitted in document order\n parser.attribList.push([parser.attribName, parser.attribValue])\n } else {\n // in non-xmlns mode, we can emit the event right away\n parser.tag.attributes[parser.attribName] = parser.attribValue\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: parser.attribValue\n })\n }\n\n parser.attribName = parser.attribValue = ''\n }\n\n function openTag (parser, selfClosing) {\n if (parser.opt.xmlns) {\n // emit namespace binding events\n var tag = parser.tag\n\n // add namespace info to tag\n var qn = qname(parser.tagName)\n tag.prefix = qn.prefix\n tag.local = qn.local\n tag.uri = tag.ns[qn.prefix] || ''\n\n if (tag.prefix && !tag.uri) {\n strictFail(parser, 'Unbound namespace prefix: ' +\n JSON.stringify(parser.tagName))\n tag.uri = qn.prefix\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns && parent.ns !== tag.ns) {\n Object.keys(tag.ns).forEach(function (p) {\n emitNode(parser, 'onopennamespace', {\n prefix: p,\n uri: tag.ns[p]\n })\n })\n }\n\n // handle deferred onattribute events\n // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n for (var i = 0, l = parser.attribList.length; i < l; i++) {\n var nv = parser.attribList[i]\n var name = nv[0]\n var value = nv[1]\n var qualName = qname(name, true)\n var prefix = qualName.prefix\n var local = qualName.local\n var uri = prefix === '' ? '' : (tag.ns[prefix] || '')\n var a = {\n name: name,\n value: value,\n prefix: prefix,\n local: local,\n uri: uri\n }\n\n // if there's any attributes with an undefined namespace,\n // then fail on them now.\n if (prefix && prefix !== 'xmlns' && !uri) {\n strictFail(parser, 'Unbound namespace prefix: ' +\n JSON.stringify(prefix))\n a.uri = prefix\n }\n parser.tag.attributes[name] = a\n emitNode(parser, 'onattribute', a)\n }\n parser.attribList.length = 0\n }\n\n parser.tag.isSelfClosing = !!selfClosing\n\n // process the tag\n parser.sawRoot = true\n parser.tags.push(parser.tag)\n emitNode(parser, 'onopentag', parser.tag)\n if (!selfClosing) {\n // special case for <script> in non-strict mode.\n if (!parser.noscript && parser.tagName.toLowerCase() === 'script') {\n parser.state = S.SCRIPT\n } else {\n parser.state = S.TEXT\n }\n parser.tag = null\n parser.tagName = ''\n }\n parser.attribName = parser.attribValue = ''\n parser.attribList.length = 0\n }\n\n function closeTag (parser) {\n if (!parser.tagName) {\n strictFail(parser, 'Weird empty close tag.')\n parser.textNode += '</>'\n parser.state = S.TEXT\n return\n }\n\n if (parser.script) {\n if (parser.tagName !== 'script') {\n parser.script += '</' + parser.tagName + '>'\n parser.tagName = ''\n parser.state = S.SCRIPT\n return\n }\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n\n // first make sure that the closing tag actually exists.\n // <a><b></c></b></a> will close everything, otherwise.\n var t = parser.tags.length\n var tagName = parser.tagName\n if (!parser.strict) {\n tagName = tagName[parser.looseCase]()\n }\n var closeTo = tagName\n while (t--) {\n var close = parser.tags[t]\n if (close.name !== closeTo) {\n // fail the first time in strict mode\n strictFail(parser, 'Unexpected close tag')\n } else {\n break\n }\n }\n\n // didn't find it. we already failed for strict, so just abort.\n if (t < 0) {\n strictFail(parser, 'Unmatched closing tag: ' + parser.tagName)\n parser.textNode += '</' + parser.tagName + '>'\n parser.state = S.TEXT\n return\n }\n parser.tagName = tagName\n var s = parser.tags.length\n while (s-- > t) {\n var tag = parser.tag = parser.tags.pop()\n parser.tagName = parser.tag.name\n emitNode(parser, 'onclosetag', parser.tagName)\n\n var x = {}\n for (var i in tag.ns) {\n x[i] = tag.ns[i]\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (parser.opt.xmlns && tag.ns !== parent.ns) {\n // remove namespace bindings introduced by tag\n Object.keys(tag.ns).forEach(function (p) {\n var n = tag.ns[p]\n emitNode(parser, 'onclosenamespace', { prefix: p, uri: n })\n })\n }\n }\n if (t === 0) parser.closedRoot = true\n parser.tagName = parser.attribValue = parser.attribName = ''\n parser.attribList.length = 0\n parser.state = S.TEXT\n }\n\n function parseEntity (parser) {\n var entity = parser.entity\n var entityLC = entity.toLowerCase()\n var num\n var numStr = ''\n\n if (parser.ENTITIES[entity]) {\n return parser.ENTITIES[entity]\n }\n if (parser.ENTITIES[entityLC]) {\n return parser.ENTITIES[entityLC]\n }\n entity = entityLC\n if (entity.charAt(0) === '#') {\n if (entity.charAt(1) === 'x') {\n entity = entity.slice(2)\n num = parseInt(entity, 16)\n numStr = num.toString(16)\n } else {\n entity = entity.slice(1)\n num = parseInt(entity, 10)\n numStr = num.toString(10)\n }\n }\n entity = entity.replace(/^0+/, '')\n if (isNaN(num) || numStr.toLowerCase() !== entity) {\n strictFail(parser, 'Invalid character entity')\n return '&' + parser.entity + ';'\n }\n\n return String.fromCodePoint(num)\n }\n\n function beginWhiteSpace (parser, c) {\n if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (!isWhitespace(c)) {\n // have to process this as a text node.\n // weird, but happens.\n strictFail(parser, 'Non-whitespace before first tag.')\n parser.textNode = c\n parser.state = S.TEXT\n }\n }\n\n function charAt (chunk, i) {\n var result = ''\n if (i < chunk.length) {\n result = chunk.charAt(i)\n }\n return result\n }\n\n function write (chunk) {\n var parser = this\n if (this.error) {\n throw this.error\n }\n if (parser.closed) {\n return error(parser,\n 'Cannot write after close. Assign an onready handler.')\n }\n if (chunk === null) {\n return end(parser)\n }\n if (typeof chunk === 'object') {\n chunk = chunk.toString()\n }\n var i = 0\n var c = ''\n while (true) {\n c = charAt(chunk, i++)\n parser.c = c\n\n if (!c) {\n break\n }\n\n if (parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n\n switch (parser.state) {\n case S.BEGIN:\n parser.state = S.BEGIN_WHITESPACE\n if (c === '\\uFEFF') {\n continue\n }\n beginWhiteSpace(parser, c)\n continue\n\n case S.BEGIN_WHITESPACE:\n beginWhiteSpace(parser, c)\n continue\n\n case S.TEXT:\n if (parser.sawRoot && !parser.closedRoot) {\n var starti = i - 1\n while (c && c !== '<' && c !== '&') {\n c = charAt(chunk, i++)\n if (c && parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n }\n parser.textNode += chunk.substring(starti, i - 1)\n }\n if (c === '<' && !(parser.sawRoot && parser.closedRoot && !parser.strict)) {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else {\n if (!isWhitespace(c) && (!parser.sawRoot || parser.closedRoot)) {\n strictFail(parser, 'Text data outside of root node.')\n }\n if (c === '&') {\n parser.state = S.TEXT_ENTITY\n } else {\n parser.textNode += c\n }\n }\n continue\n\n case S.SCRIPT:\n // only non-strict\n if (c === '<') {\n parser.state = S.SCRIPT_ENDING\n } else {\n parser.script += c\n }\n continue\n\n case S.SCRIPT_ENDING:\n if (c === '/') {\n parser.state = S.CLOSE_TAG\n } else {\n parser.script += '<' + c\n parser.state = S.SCRIPT\n }\n continue\n\n case S.OPEN_WAKA:\n // either a /, ?, !, or text is coming next.\n if (c === '!') {\n parser.state = S.SGML_DECL\n parser.sgmlDecl = ''\n } else if (isWhitespace(c)) {\n // wait for it...\n } else if (isMatch(nameStart, c)) {\n parser.state = S.OPEN_TAG\n parser.tagName = c\n } else if (c === '/') {\n parser.state = S.CLOSE_TAG\n parser.tagName = ''\n } else if (c === '?') {\n parser.state = S.PROC_INST\n parser.procInstName = parser.procInstBody = ''\n } else {\n strictFail(parser, 'Unencoded <')\n // if there was some whitespace, then add that in.\n if (parser.startTagPosition + 1 < parser.position) {\n var pad = parser.position - parser.startTagPosition\n c = new Array(pad).join(' ') + c\n }\n parser.textNode += '<' + c\n parser.state = S.TEXT\n }\n continue\n\n case S.SGML_DECL:\n if (parser.sgmlDecl + c === '--') {\n parser.state = S.COMMENT\n parser.comment = ''\n parser.sgmlDecl = ''\n continue;\n }\n\n if (parser.doctype && parser.doctype !== true && parser.sgmlDecl) {\n parser.state = S.DOCTYPE_DTD\n parser.doctype += '<!' + parser.sgmlDecl + c\n parser.sgmlDecl = ''\n } else if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {\n emitNode(parser, 'onopencdata')\n parser.state = S.CDATA\n parser.sgmlDecl = ''\n parser.cdata = ''\n } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {\n parser.state = S.DOCTYPE\n if (parser.doctype || parser.sawRoot) {\n strictFail(parser,\n 'Inappropriately located doctype declaration')\n }\n parser.doctype = ''\n parser.sgmlDecl = ''\n } else if (c === '>') {\n emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl)\n parser.sgmlDecl = ''\n parser.state = S.TEXT\n } else if (isQuote(c)) {\n parser.state = S.SGML_DECL_QUOTED\n parser.sgmlDecl += c\n } else {\n parser.sgmlDecl += c\n }\n continue\n\n case S.SGML_DECL_QUOTED:\n if (c === parser.q) {\n parser.state = S.SGML_DECL\n parser.q = ''\n }\n parser.sgmlDecl += c\n continue\n\n case S.DOCTYPE:\n if (c === '>') {\n parser.state = S.TEXT\n emitNode(parser, 'ondoctype', parser.doctype)\n parser.doctype = true // just remember that we saw it.\n } else {\n parser.doctype += c\n if (c === '[') {\n parser.state = S.DOCTYPE_DTD\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_QUOTED\n parser.q = c\n }\n }\n continue\n\n case S.DOCTYPE_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.q = ''\n parser.state = S.DOCTYPE\n }\n continue\n\n case S.DOCTYPE_DTD:\n if (c === ']') {\n parser.doctype += c\n parser.state = S.DOCTYPE\n } else if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (isQuote(c)) {\n parser.doctype += c\n parser.state = S.DOCTYPE_DTD_QUOTED\n parser.q = c\n } else {\n parser.doctype += c\n }\n continue\n\n case S.DOCTYPE_DTD_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.state = S.DOCTYPE_DTD\n parser.q = ''\n }\n continue\n\n case S.COMMENT:\n if (c === '-') {\n parser.state = S.COMMENT_ENDING\n } else {\n parser.comment += c\n }\n continue\n\n case S.COMMENT_ENDING:\n if (c === '-') {\n parser.state = S.COMMENT_ENDED\n parser.comment = textopts(parser.opt, parser.comment)\n if (parser.comment) {\n emitNode(parser, 'oncomment', parser.comment)\n }\n parser.comment = ''\n } else {\n parser.comment += '-' + c\n parser.state = S.COMMENT\n }\n continue\n\n case S.COMMENT_ENDED:\n if (c !== '>') {\n strictFail(parser, 'Malformed comment')\n // allow <!-- blah -- bloo --> in non-strict mode,\n // which is a comment of \" blah -- bloo \"\n parser.comment += '--' + c\n parser.state = S.COMMENT\n } else if (parser.doctype && parser.doctype !== true) {\n parser.state = S.DOCTYPE_DTD\n } else {\n parser.state = S.TEXT\n }\n continue\n\n case S.CDATA:\n if (c === ']') {\n parser.state = S.CDATA_ENDING\n } else {\n parser.cdata += c\n }\n continue\n\n case S.CDATA_ENDING:\n if (c === ']') {\n parser.state = S.CDATA_ENDING_2\n } else {\n parser.cdata += ']' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.CDATA_ENDING_2:\n if (c === '>') {\n if (parser.cdata) {\n emitNode(parser, 'oncdata', parser.cdata)\n }\n emitNode(parser, 'onclosecdata')\n parser.cdata = ''\n parser.state = S.TEXT\n } else if (c === ']') {\n parser.cdata += ']'\n } else {\n parser.cdata += ']]' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.PROC_INST:\n if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else if (isWhitespace(c)) {\n parser.state = S.PROC_INST_BODY\n } else {\n parser.procInstName += c\n }\n continue\n\n case S.PROC_INST_BODY:\n if (!parser.procInstBody && isWhitespace(c)) {\n continue\n } else if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else {\n parser.procInstBody += c\n }\n continue\n\n case S.PROC_INST_ENDING:\n if (c === '>') {\n emitNode(parser, 'onprocessinginstruction', {\n name: parser.procInstName,\n body: parser.procInstBody\n })\n parser.procInstName = parser.procInstBody = ''\n parser.state = S.TEXT\n } else {\n parser.procInstBody += '?' + c\n parser.state = S.PROC_INST_BODY\n }\n continue\n\n case S.OPEN_TAG:\n if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else {\n newTag(parser)\n if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid character in tag name')\n }\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.OPEN_TAG_SLASH:\n if (c === '>') {\n openTag(parser, true)\n closeTag(parser)\n } else {\n strictFail(parser, 'Forward-slash in opening tag not followed by >')\n parser.state = S.ATTRIB\n }\n continue\n\n case S.ATTRIB:\n // haven't read the attribute name yet.\n if (isWhitespace(c)) {\n continue\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (c === '>') {\n strictFail(parser, 'Attribute without value')\n parser.attribValue = parser.attribName\n attrib(parser)\n openTag(parser)\n } else if (isWhitespace(c)) {\n parser.state = S.ATTRIB_NAME_SAW_WHITE\n } else if (isMatch(nameBody, c)) {\n parser.attribName += c\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME_SAW_WHITE:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (isWhitespace(c)) {\n continue\n } else {\n strictFail(parser, 'Attribute without value')\n parser.tag.attributes[parser.attribName] = ''\n parser.attribValue = ''\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: ''\n })\n parser.attribName = ''\n if (c === '>') {\n openTag(parser)\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.ATTRIB_VALUE:\n if (isWhitespace(c)) {\n continue\n } else if (isQuote(c)) {\n parser.q = c\n parser.state = S.ATTRIB_VALUE_QUOTED\n } else {\n if (!parser.opt.unquotedAttributeValues) {\n error(parser, 'Unquoted attribute value')\n }\n parser.state = S.ATTRIB_VALUE_UNQUOTED\n parser.attribValue = c\n }\n continue\n\n case S.ATTRIB_VALUE_QUOTED:\n if (c !== parser.q) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_Q\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n parser.q = ''\n parser.state = S.ATTRIB_VALUE_CLOSED\n continue\n\n case S.ATTRIB_VALUE_CLOSED:\n if (isWhitespace(c)) {\n parser.state = S.ATTRIB\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n strictFail(parser, 'No whitespace between attributes')\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_VALUE_UNQUOTED:\n if (!isAttribEnd(c)) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_U\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n if (c === '>') {\n openTag(parser)\n } else {\n parser.state = S.ATTRIB\n }\n continue\n\n case S.CLOSE_TAG:\n if (!parser.tagName) {\n if (isWhitespace(c)) {\n continue\n } else if (notMatch(nameStart, c)) {\n if (parser.script) {\n parser.script += '</' + c\n parser.state = S.SCRIPT\n } else {\n strictFail(parser, 'Invalid tagname in closing tag.')\n }\n } else {\n parser.tagName = c\n }\n } else if (c === '>') {\n closeTag(parser)\n } else if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else if (parser.script) {\n parser.script += '</' + parser.tagName\n parser.tagName = ''\n parser.state = S.SCRIPT\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid tagname in closing tag')\n }\n parser.state = S.CLOSE_TAG_SAW_WHITE\n }\n continue\n\n case S.CLOSE_TAG_SAW_WHITE:\n if (isWhitespace(c)) {\n continue\n }\n if (c === '>') {\n closeTag(parser)\n } else {\n strictFail(parser, 'Invalid characters in closing tag')\n }\n continue\n\n case S.TEXT_ENTITY:\n case S.ATTRIB_VALUE_ENTITY_Q:\n case S.ATTRIB_VALUE_ENTITY_U:\n var returnState\n var buffer\n switch (parser.state) {\n case S.TEXT_ENTITY:\n returnState = S.TEXT\n buffer = 'textNode'\n break\n\n case S.ATTRIB_VALUE_ENTITY_Q:\n returnState = S.ATTRIB_VALUE_QUOTED\n buffer = 'attribValue'\n break\n\n case S.ATTRIB_VALUE_ENTITY_U:\n returnState = S.ATTRIB_VALUE_UNQUOTED\n buffer = 'attribValue'\n break\n }\n\n if (c === ';') {\n var parsedEntity = parseEntity(parser)\n if (parser.opt.unparsedEntities && !Object.values(sax.XML_ENTITIES).includes(parsedEntity)) {\n parser.entity = ''\n parser.state = returnState\n parser.write(parsedEntity)\n } else {\n parser[buffer] += parsedEntity\n parser.entity = ''\n parser.state = returnState\n }\n } else if (isMatch(parser.entity.length ? entityBody : entityStart, c)) {\n parser.entity += c\n } else {\n strictFail(parser, 'Invalid character in entity name')\n parser[buffer] += '&' + parser.entity + c\n parser.entity = ''\n parser.state = returnState\n }\n\n continue\n\n default: /* istanbul ignore next */ {\n throw new Error(parser, 'Unknown state: ' + parser.state)\n }\n }\n } // while\n\n if (parser.position >= parser.bufferCheckPosition) {\n checkBufferLength(parser)\n }\n return parser\n }\n\n /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n /* istanbul ignore next */\n if (!String.fromCodePoint) {\n (function () {\n var stringFromCharCode = String.fromCharCode\n var floor = Math.floor\n var fromCodePoint = function () {\n var MAX_SIZE = 0x4000\n var codeUnits = []\n var highSurrogate\n var lowSurrogate\n var index = -1\n var length = arguments.length\n if (!length) {\n return ''\n }\n var result = ''\n while (++index < length) {\n var codePoint = Number(arguments[index])\n if (\n !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10FFFF || // not a valid Unicode code point\n floor(codePoint) !== codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint)\n }\n if (codePoint <= 0xFFFF) { // BMP code point\n codeUnits.push(codePoint)\n } else { // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000\n highSurrogate = (codePoint >> 10) + 0xD800\n lowSurrogate = (codePoint % 0x400) + 0xDC00\n codeUnits.push(highSurrogate, lowSurrogate)\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits)\n codeUnits.length = 0\n }\n }\n return result\n }\n /* istanbul ignore next */\n if (Object.defineProperty) {\n Object.defineProperty(String, 'fromCodePoint', {\n value: fromCodePoint,\n configurable: true,\n writable: true\n })\n } else {\n String.fromCodePoint = fromCodePoint\n }\n }())\n }\n})(typeof exports === 'undefined' ? this.sax = {} : exports)\n","import '../assets/NcRichText-CWVHZl8s.css';\nimport { ref } from \"vue\";\nimport { N as NcReferenceWidget } from \"./referencePickerModal-sscttPbK.mjs\";\nimport { U as URL_PATTERN, p as parseUrl, r as remarkAutolink, g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport axios from \"@nextcloud/axios\";\nimport { getSharingToken } from \"@nextcloud/sharing/public\";\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { N as NcCheckboxRadioSwitch } from \"./NcCheckboxRadioSwitch-BIEYfWtF.mjs\";\nimport { visit, SKIP as SKIP$1, EXIT as EXIT$1 } from \"unist-util-visit\";\nimport { u } from \"unist-builder\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { unified } from \"unified\";\nimport remarkParse from \"remark-parse\";\nimport breaks from \"remark-breaks\";\nimport remarkUnlinkProtocols from \"remark-unlink-protocols\";\nimport remark2rehype from \"remark-rehype\";\nimport rehype2react from \"rehype-react\";\nimport rehypeExternalLinks from \"rehype-external-links\";\nimport { RouterLink } from \"vue-router\";\nconst _sfc_main$1 = {\n name: \"NcReferenceList\",\n components: {\n NcReferenceWidget\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n referenceData: {\n type: Array,\n default: null\n },\n limit: {\n type: Number,\n default: 1\n },\n displayFallback: {\n type: Boolean,\n default: false\n },\n interactive: {\n type: Boolean,\n default: true\n },\n interactiveOptIn: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n references: null,\n loading: true\n };\n },\n computed: {\n isVisible() {\n return this.loading || this.displayedReferences.length !== 0;\n },\n values() {\n if (this.referenceData) {\n return this.referenceData;\n }\n if (this.displayFallback && !this.loading && !this.references) {\n return [this.fallbackReference];\n }\n return this.references ? Object.values(this.references) : [];\n },\n firstReference() {\n return this.values[0] ?? null;\n },\n displayedReferences() {\n return this.values.slice(0, this.limit);\n },\n fallbackReference() {\n return {\n accessible: true,\n openGraphObject: {\n id: this.text,\n link: this.text,\n name: this.text\n },\n richObjectType: \"open-graph\"\n };\n }\n },\n watch: {\n text: \"fetch\"\n },\n mounted() {\n this.fetch();\n },\n methods: {\n fetch() {\n this.loading = true;\n if (this.referenceData) {\n this.references = null;\n this.loading = false;\n return;\n }\n if (!new RegExp(URL_PATTERN).exec(this.text)) {\n this.references = null;\n this.loading = false;\n return;\n }\n this.resolve().then((response) => {\n this.references = response.data.ocs.data.references;\n this.loading = false;\n this.$emit(\"loaded\");\n }).catch((error) => {\n console.error(\"Failed to extract references\", error);\n this.loading = false;\n this.$emit(\"loaded\");\n });\n },\n resolve() {\n const match = new RegExp(URL_PATTERN).exec(this.text.trim());\n const isPublic = getCurrentUser() === null;\n if (this.limit === 1 && match) {\n return isPublic ? axios.get(generateOcsUrl(\"references/resolvePublic\") + `?reference=${encodeURIComponent(match[0])}&sharingToken=${getSharingToken()}`) : axios.get(generateOcsUrl(\"references/resolve\") + `?reference=${encodeURIComponent(match[0])}`);\n }\n return isPublic ? axios.post(generateOcsUrl(\"references/extractPublic\"), {\n text: this.text,\n resolve: true,\n limit: this.limit,\n sharingToken: getSharingToken()\n }) : axios.post(generateOcsUrl(\"references/extract\"), {\n text: this.text,\n resolve: true,\n limit: this.limit\n });\n }\n }\n};\nvar _sfc_render$1 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _vm.isVisible ? _c(\"div\", { staticClass: \"widgets--list\", class: { \"icon-loading\": _vm.loading } }, _vm._l(_vm.displayedReferences, function(reference) {\n return _c(\"NcReferenceWidget\", { key: reference?.openGraphObject?.id, attrs: { \"reference\": reference, \"interactive\": _vm.interactive, \"interactive-opt-in\": _vm.interactiveOptIn } });\n }), 1) : _vm._e();\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"ffdba753\"\n);\nconst NcReferenceList = __component__$1.exports;\nconst remarkPlaceholder = function() {\n return function(ast) {\n visit(ast, (node2) => node2.type === \"text\", visitor);\n function visitor(node2, index, parent) {\n const placeholders = node2.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((entry, index2, list2) => {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return u(\"text\", entry);\n }\n const [, component] = matches;\n return u(\"element\", {\n tagName: `#${component}`\n });\n });\n parent.children.splice(index, 1, ...placeholders);\n }\n };\n};\nconst prepareTextNode = ({ h, context }, text2) => {\n if (context.autolink) {\n text2 = parseUrl(text2);\n }\n if (Array.isArray(text2)) {\n return text2.map((entry) => {\n if (typeof entry === \"string\") {\n return entry;\n }\n const { component, props } = entry;\n const componentClass = component.name === \"NcLink\" ? void 0 : \"rich-text--component\";\n return h(component, {\n props,\n class: componentClass\n });\n });\n }\n return text2;\n};\nconst remarkUnescape = function() {\n return function(tree) {\n visit(\n tree,\n (node2) => [\"text\", \"code\", \"inlineCode\"].includes(node2.type),\n (node2, index, parent) => {\n parent.children.splice(index, 1, {\n ...node2,\n value: node2.value.replace(/</gmi, \"<\").replace(/>/gmi, \">\")\n });\n return [SKIP$1, index + 1];\n }\n );\n };\n};\nfunction ccount(value, character) {\n const source = String(value);\n if (typeof character !== \"string\") {\n throw new TypeError(\"Expected character\");\n }\n let count = 0;\n let index = source.indexOf(character);\n while (index !== -1) {\n count++;\n index = source.indexOf(character, index + character.length);\n }\n return count;\n}\nfunction ok$1() {\n}\nconst asciiAlpha = regexCheck(/[A-Za-z]/);\nconst asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/);\nfunction asciiControl(code2) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code2 !== null && (code2 < 32 || code2 === 127)\n );\n}\nfunction markdownLineEnding(code2) {\n return code2 !== null && code2 < -2;\n}\nfunction markdownLineEndingOrSpace(code2) {\n return code2 !== null && (code2 < 0 || code2 === 32);\n}\nfunction markdownSpace(code2) {\n return code2 === -2 || code2 === -1 || code2 === 32;\n}\nconst unicodePunctuation = regexCheck(new RegExp(\"\\\\p{P}|\\\\p{S}\", \"u\"));\nconst unicodeWhitespace = regexCheck(/\\s/);\nfunction regexCheck(regex) {\n return check;\n function check(code2) {\n return code2 !== null && code2 > -1 && regex.test(String.fromCharCode(code2));\n }\n}\nfunction escapeStringRegexp(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(\"Expected a string\");\n }\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\").replace(/-/g, \"\\\\x2d\");\n}\nconst convert = (\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * (<Condition extends string>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * (<Condition extends Props>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * (<Condition extends TestFunction>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate<Condition, Node>) &\n * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((test?: Test) => Check)\n * )}\n */\n /**\n * @param {Test} [test]\n * @returns {Check}\n */\n function(test) {\n if (test === null || test === void 0) {\n return ok;\n }\n if (typeof test === \"function\") {\n return castFactory(test);\n }\n if (typeof test === \"object\") {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test);\n }\n if (typeof test === \"string\") {\n return typeFactory(test);\n }\n throw new Error(\"Expected function, string, or object as test\");\n }\n);\nfunction anyFactory(tests) {\n const checks = [];\n let index = -1;\n while (++index < tests.length) {\n checks[index] = convert(tests[index]);\n }\n return castFactory(any);\n function any(...parameters) {\n let index2 = -1;\n while (++index2 < checks.length) {\n if (checks[index2].apply(this, parameters)) return true;\n }\n return false;\n }\n}\nfunction propsFactory(check) {\n const checkAsRecord = (\n /** @type {Record<string, unknown>} */\n check\n );\n return castFactory(all2);\n function all2(node2) {\n const nodeAsRecord = (\n /** @type {Record<string, unknown>} */\n /** @type {unknown} */\n node2\n );\n let key;\n for (key in check) {\n if (nodeAsRecord[key] !== checkAsRecord[key]) return false;\n }\n return true;\n }\n}\nfunction typeFactory(check) {\n return castFactory(type);\n function type(node2) {\n return node2 && node2.type === check;\n }\n}\nfunction castFactory(testFunction) {\n return check;\n function check(value, index, parent) {\n return Boolean(\n looksLikeANode(value) && testFunction.call(\n this,\n value,\n typeof index === \"number\" ? index : void 0,\n parent || void 0\n )\n );\n }\n}\nfunction ok() {\n return true;\n}\nfunction looksLikeANode(value) {\n return value !== null && typeof value === \"object\" && \"type\" in value;\n}\nfunction color(d) {\n return d;\n}\nconst empty = [];\nconst CONTINUE = true;\nconst EXIT = false;\nconst SKIP = \"skip\";\nfunction visitParents(tree, test, visitor, reverse) {\n let check;\n {\n check = test;\n }\n const is = convert(check);\n const step = 1;\n factory(tree, void 0, [])();\n function factory(node2, index, parents) {\n const value = (\n /** @type {Record<string, unknown>} */\n node2 && typeof node2 === \"object\" ? node2 : {}\n );\n if (typeof value.type === \"string\") {\n const name = (\n // `hast`\n typeof value.tagName === \"string\" ? value.tagName : (\n // `xast`\n typeof value.name === \"string\" ? value.name : void 0\n )\n );\n Object.defineProperty(visit2, \"name\", {\n value: \"node (\" + color(node2.type + (name ? \"<\" + name + \">\" : \"\")) + \")\"\n });\n }\n return visit2;\n function visit2() {\n let result = empty;\n let subresult;\n let offset;\n let grandparents;\n if (is(node2, index, parents[parents.length - 1] || void 0)) {\n result = toResult(visitor(node2, parents));\n if (result[0] === EXIT) {\n return result;\n }\n }\n if (\"children\" in node2 && node2.children) {\n const nodeAsParent = (\n /** @type {UnistParent} */\n node2\n );\n if (nodeAsParent.children && result[0] !== SKIP) {\n offset = -1 + step;\n grandparents = parents.concat(nodeAsParent);\n while (offset > -1 && offset < nodeAsParent.children.length) {\n const child = nodeAsParent.children[offset];\n subresult = factory(child, offset, grandparents)();\n if (subresult[0] === EXIT) {\n return subresult;\n }\n offset = typeof subresult[1] === \"number\" ? subresult[1] : offset + step;\n }\n }\n }\n return result;\n }\n }\n}\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value;\n }\n if (typeof value === \"number\") {\n return [CONTINUE, value];\n }\n return value === null || value === void 0 ? empty : [value];\n}\nfunction findAndReplace(tree, list2, options) {\n const settings = options || {};\n const ignored = convert(settings.ignore || []);\n const pairs = toPairs(list2);\n let pairIndex = -1;\n while (++pairIndex < pairs.length) {\n visitParents(tree, \"text\", visitor);\n }\n function visitor(node2, parents) {\n let index = -1;\n let grandparent;\n while (++index < parents.length) {\n const parent = parents[index];\n const siblings = grandparent ? grandparent.children : void 0;\n if (ignored(\n parent,\n siblings ? siblings.indexOf(parent) : void 0,\n grandparent\n )) {\n return;\n }\n grandparent = parent;\n }\n if (grandparent) {\n return handler(node2, parents);\n }\n }\n function handler(node2, parents) {\n const parent = parents[parents.length - 1];\n const find = pairs[pairIndex][0];\n const replace2 = pairs[pairIndex][1];\n let start = 0;\n const siblings = parent.children;\n const index = siblings.indexOf(node2);\n let change = false;\n let nodes = [];\n find.lastIndex = 0;\n let match = find.exec(node2.value);\n while (match) {\n const position = match.index;\n const matchObject = {\n index: match.index,\n input: match.input,\n stack: [...parents, node2]\n };\n let value = replace2(...match, matchObject);\n if (typeof value === \"string\") {\n value = value.length > 0 ? { type: \"text\", value } : void 0;\n }\n if (value === false) {\n find.lastIndex = position + 1;\n } else {\n if (start !== position) {\n nodes.push({\n type: \"text\",\n value: node2.value.slice(start, position)\n });\n }\n if (Array.isArray(value)) {\n nodes.push(...value);\n } else if (value) {\n nodes.push(value);\n }\n start = position + match[0].length;\n change = true;\n }\n if (!find.global) {\n break;\n }\n match = find.exec(node2.value);\n }\n if (change) {\n if (start < node2.value.length) {\n nodes.push({ type: \"text\", value: node2.value.slice(start) });\n }\n parent.children.splice(index, 1, ...nodes);\n } else {\n nodes = [node2];\n }\n return index + nodes.length;\n }\n}\nfunction toPairs(tupleOrList) {\n const result = [];\n if (!Array.isArray(tupleOrList)) {\n throw new TypeError(\"Expected find and replace tuple or list of tuples\");\n }\n const list2 = !tupleOrList[0] || Array.isArray(tupleOrList[0]) ? tupleOrList : [tupleOrList];\n let index = -1;\n while (++index < list2.length) {\n const tuple = list2[index];\n result.push([toExpression(tuple[0]), toFunction(tuple[1])]);\n }\n return result;\n}\nfunction toExpression(find) {\n return typeof find === \"string\" ? new RegExp(escapeStringRegexp(find), \"g\") : find;\n}\nfunction toFunction(replace2) {\n return typeof replace2 === \"function\" ? replace2 : function() {\n return replace2;\n };\n}\nconst inConstruct = \"phrasing\";\nconst notInConstruct = [\"autolink\", \"link\", \"image\", \"label\"];\nfunction gfmAutolinkLiteralFromMarkdown() {\n return {\n transforms: [transformGfmAutolinkLiterals],\n enter: {\n literalAutolink: enterLiteralAutolink,\n literalAutolinkEmail: enterLiteralAutolinkValue,\n literalAutolinkHttp: enterLiteralAutolinkValue,\n literalAutolinkWww: enterLiteralAutolinkValue\n },\n exit: {\n literalAutolink: exitLiteralAutolink,\n literalAutolinkEmail: exitLiteralAutolinkEmail,\n literalAutolinkHttp: exitLiteralAutolinkHttp,\n literalAutolinkWww: exitLiteralAutolinkWww\n }\n };\n}\nfunction gfmAutolinkLiteralToMarkdown() {\n return {\n unsafe: [\n {\n character: \"@\",\n before: \"[+\\\\-.\\\\w]\",\n after: \"[\\\\-.\\\\w]\",\n inConstruct,\n notInConstruct\n },\n {\n character: \".\",\n before: \"[Ww]\",\n after: \"[\\\\-.\\\\w]\",\n inConstruct,\n notInConstruct\n },\n {\n character: \":\",\n before: \"[ps]\",\n after: \"\\\\/\",\n inConstruct,\n notInConstruct\n }\n ]\n };\n}\nfunction enterLiteralAutolink(token) {\n this.enter({ type: \"link\", title: null, url: \"\", children: [] }, token);\n}\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token);\n}\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token);\n}\nfunction exitLiteralAutolinkWww(token) {\n this.config.exit.data.call(this, token);\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"link\");\n node2.url = \"http://\" + this.sliceSerialize(token);\n}\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token);\n}\nfunction exitLiteralAutolink(token) {\n this.exit(token);\n}\nfunction transformGfmAutolinkLiterals(tree) {\n findAndReplace(\n tree,\n [\n [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi, findUrl],\n [/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/g, findEmail]\n ],\n { ignore: [\"link\", \"linkReference\"] }\n );\n}\nfunction findUrl(_, protocol, domain2, path2, match) {\n let prefix = \"\";\n if (!previous(match)) {\n return false;\n }\n if (/^w/i.test(protocol)) {\n domain2 = protocol + domain2;\n protocol = \"\";\n prefix = \"http://\";\n }\n if (!isCorrectDomain(domain2)) {\n return false;\n }\n const parts = splitUrl(domain2 + path2);\n if (!parts[0]) return false;\n const result = {\n type: \"link\",\n title: null,\n url: prefix + protocol + parts[0],\n children: [{ type: \"text\", value: protocol + parts[0] }]\n };\n if (parts[1]) {\n return [result, { type: \"text\", value: parts[1] }];\n }\n return result;\n}\nfunction findEmail(_, atext, label, match) {\n if (\n // Not an expected previous character.\n !previous(match, true) || // Label ends in not allowed character.\n /[-\\d_]$/.test(label)\n ) {\n return false;\n }\n return {\n type: \"link\",\n title: null,\n url: \"mailto:\" + atext + \"@\" + label,\n children: [{ type: \"text\", value: atext + \"@\" + label }]\n };\n}\nfunction isCorrectDomain(domain2) {\n const parts = domain2.split(\".\");\n if (parts.length < 2 || parts[parts.length - 1] && (/_/.test(parts[parts.length - 1]) || !/[a-zA-Z\\d]/.test(parts[parts.length - 1])) || parts[parts.length - 2] && (/_/.test(parts[parts.length - 2]) || !/[a-zA-Z\\d]/.test(parts[parts.length - 2]))) {\n return false;\n }\n return true;\n}\nfunction splitUrl(url) {\n const trailExec = /[!\"&'),.:;<>?\\]}]+$/.exec(url);\n if (!trailExec) {\n return [url, void 0];\n }\n url = url.slice(0, trailExec.index);\n let trail2 = trailExec[0];\n let closingParenIndex = trail2.indexOf(\")\");\n const openingParens = ccount(url, \"(\");\n let closingParens = ccount(url, \")\");\n while (closingParenIndex !== -1 && openingParens > closingParens) {\n url += trail2.slice(0, closingParenIndex + 1);\n trail2 = trail2.slice(closingParenIndex + 1);\n closingParenIndex = trail2.indexOf(\")\");\n closingParens++;\n }\n return [url, trail2];\n}\nfunction previous(match, email) {\n const code2 = match.input.charCodeAt(match.index - 1);\n return (match.index === 0 || unicodeWhitespace(code2) || unicodePunctuation(code2)) && (!email || code2 !== 47);\n}\nfunction normalizeIdentifier(value) {\n return value.replace(/[\\t\\n\\r ]+/g, \" \").replace(/^ | $/g, \"\").toLowerCase().toUpperCase();\n}\nfootnoteReference.peek = footnoteReferencePeek;\nfunction gfmFootnoteFromMarkdown() {\n return {\n enter: {\n gfmFootnoteDefinition: enterFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: enterFootnoteDefinitionLabelString,\n gfmFootnoteCall: enterFootnoteCall,\n gfmFootnoteCallString: enterFootnoteCallString\n },\n exit: {\n gfmFootnoteDefinition: exitFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: exitFootnoteDefinitionLabelString,\n gfmFootnoteCall: exitFootnoteCall,\n gfmFootnoteCallString: exitFootnoteCallString\n }\n };\n}\nfunction gfmFootnoteToMarkdown() {\n return {\n // This is on by default already.\n unsafe: [{ character: \"[\", inConstruct: [\"phrasing\", \"label\", \"reference\"] }],\n handlers: { footnoteDefinition, footnoteReference }\n };\n}\nfunction enterFootnoteDefinition(token) {\n this.enter(\n { type: \"footnoteDefinition\", identifier: \"\", label: \"\", children: [] },\n token\n );\n}\nfunction enterFootnoteDefinitionLabelString() {\n this.buffer();\n}\nfunction exitFootnoteDefinitionLabelString(token) {\n const label = this.resume();\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"footnoteDefinition\");\n node2.label = label;\n node2.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n}\nfunction exitFootnoteDefinition(token) {\n this.exit(token);\n}\nfunction enterFootnoteCall(token) {\n this.enter({ type: \"footnoteReference\", identifier: \"\", label: \"\" }, token);\n}\nfunction enterFootnoteCallString() {\n this.buffer();\n}\nfunction exitFootnoteCallString(token) {\n const label = this.resume();\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"footnoteReference\");\n node2.label = label;\n node2.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase();\n}\nfunction exitFootnoteCall(token) {\n this.exit(token);\n}\nfunction footnoteReference(node2, _, state, info) {\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[^\");\n const exit2 = state.enter(\"footnoteReference\");\n const subexit = state.enter(\"reference\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n ...tracker.current(),\n before: value,\n after: \"]\"\n })\n );\n subexit();\n exit2();\n value += tracker.move(\"]\");\n return value;\n}\nfunction footnoteReferencePeek() {\n return \"[\";\n}\nfunction footnoteDefinition(node2, _, state, info) {\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[^\");\n const exit2 = state.enter(\"footnoteDefinition\");\n const subexit = state.enter(\"label\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n ...tracker.current(),\n before: value,\n after: \"]\"\n })\n );\n subexit();\n value += tracker.move(\n \"]:\" + (node2.children && node2.children.length > 0 ? \" \" : \"\")\n );\n tracker.shift(4);\n value += tracker.move(\n state.indentLines(state.containerFlow(node2, tracker.current()), map$2)\n );\n exit2();\n return value;\n}\nfunction map$2(line, index, blank) {\n if (index === 0) {\n return line;\n }\n return (blank ? \"\" : \" \") + line;\n}\nconst constructsWithoutStrikethrough = [\n \"autolink\",\n \"destinationLiteral\",\n \"destinationRaw\",\n \"reference\",\n \"titleQuote\",\n \"titleApostrophe\"\n];\nhandleDelete.peek = peekDelete;\nfunction gfmStrikethroughFromMarkdown() {\n return {\n canContainEols: [\"delete\"],\n enter: { strikethrough: enterStrikethrough },\n exit: { strikethrough: exitStrikethrough }\n };\n}\nfunction gfmStrikethroughToMarkdown() {\n return {\n unsafe: [\n {\n character: \"~\",\n inConstruct: \"phrasing\",\n notInConstruct: constructsWithoutStrikethrough\n }\n ],\n handlers: { delete: handleDelete }\n };\n}\nfunction enterStrikethrough(token) {\n this.enter({ type: \"delete\", children: [] }, token);\n}\nfunction exitStrikethrough(token) {\n this.exit(token);\n}\nfunction handleDelete(node2, _, state, info) {\n const tracker = state.createTracker(info);\n const exit2 = state.enter(\"strikethrough\");\n let value = tracker.move(\"~~\");\n value += state.containerPhrasing(node2, {\n ...tracker.current(),\n before: value,\n after: \"~\"\n });\n value += tracker.move(\"~~\");\n exit2();\n return value;\n}\nfunction peekDelete() {\n return \"~\";\n}\nfunction markdownTable(table, options = {}) {\n const align = (options.align || []).concat();\n const stringLength = options.stringLength || defaultStringLength;\n const alignments = [];\n const cellMatrix = [];\n const sizeMatrix = [];\n const longestCellByColumn = [];\n let mostCellsPerRow = 0;\n let rowIndex = -1;\n while (++rowIndex < table.length) {\n const row2 = [];\n const sizes2 = [];\n let columnIndex2 = -1;\n if (table[rowIndex].length > mostCellsPerRow) {\n mostCellsPerRow = table[rowIndex].length;\n }\n while (++columnIndex2 < table[rowIndex].length) {\n const cell = serialize(table[rowIndex][columnIndex2]);\n if (options.alignDelimiters !== false) {\n const size = stringLength(cell);\n sizes2[columnIndex2] = size;\n if (longestCellByColumn[columnIndex2] === void 0 || size > longestCellByColumn[columnIndex2]) {\n longestCellByColumn[columnIndex2] = size;\n }\n }\n row2.push(cell);\n }\n cellMatrix[rowIndex] = row2;\n sizeMatrix[rowIndex] = sizes2;\n }\n let columnIndex = -1;\n if (typeof align === \"object\" && \"length\" in align) {\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = toAlignment(align[columnIndex]);\n }\n } else {\n const code2 = toAlignment(align);\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = code2;\n }\n }\n columnIndex = -1;\n const row = [];\n const sizes = [];\n while (++columnIndex < mostCellsPerRow) {\n const code2 = alignments[columnIndex];\n let before = \"\";\n let after = \"\";\n if (code2 === 99) {\n before = \":\";\n after = \":\";\n } else if (code2 === 108) {\n before = \":\";\n } else if (code2 === 114) {\n after = \":\";\n }\n let size = options.alignDelimiters === false ? 1 : Math.max(\n 1,\n longestCellByColumn[columnIndex] - before.length - after.length\n );\n const cell = before + \"-\".repeat(size) + after;\n if (options.alignDelimiters !== false) {\n size = before.length + size + after.length;\n if (size > longestCellByColumn[columnIndex]) {\n longestCellByColumn[columnIndex] = size;\n }\n sizes[columnIndex] = size;\n }\n row[columnIndex] = cell;\n }\n cellMatrix.splice(1, 0, row);\n sizeMatrix.splice(1, 0, sizes);\n rowIndex = -1;\n const lines = [];\n while (++rowIndex < cellMatrix.length) {\n const row2 = cellMatrix[rowIndex];\n const sizes2 = sizeMatrix[rowIndex];\n columnIndex = -1;\n const line = [];\n while (++columnIndex < mostCellsPerRow) {\n const cell = row2[columnIndex] || \"\";\n let before = \"\";\n let after = \"\";\n if (options.alignDelimiters !== false) {\n const size = longestCellByColumn[columnIndex] - (sizes2[columnIndex] || 0);\n const code2 = alignments[columnIndex];\n if (code2 === 114) {\n before = \" \".repeat(size);\n } else if (code2 === 99) {\n if (size % 2) {\n before = \" \".repeat(size / 2 + 0.5);\n after = \" \".repeat(size / 2 - 0.5);\n } else {\n before = \" \".repeat(size / 2);\n after = before;\n }\n } else {\n after = \" \".repeat(size);\n }\n }\n if (options.delimiterStart !== false && !columnIndex) {\n line.push(\"|\");\n }\n if (options.padding !== false && // Don’t add the opening space if we’re not aligning and the cell is\n // empty: there will be a closing space.\n !(options.alignDelimiters === false && cell === \"\") && (options.delimiterStart !== false || columnIndex)) {\n line.push(\" \");\n }\n if (options.alignDelimiters !== false) {\n line.push(before);\n }\n line.push(cell);\n if (options.alignDelimiters !== false) {\n line.push(after);\n }\n if (options.padding !== false) {\n line.push(\" \");\n }\n if (options.delimiterEnd !== false || columnIndex !== mostCellsPerRow - 1) {\n line.push(\"|\");\n }\n }\n lines.push(\n options.delimiterEnd === false ? line.join(\"\").replace(/ +$/, \"\") : line.join(\"\")\n );\n }\n return lines.join(\"\\n\");\n}\nfunction serialize(value) {\n return value === null || value === void 0 ? \"\" : String(value);\n}\nfunction defaultStringLength(value) {\n return value.length;\n}\nfunction toAlignment(value) {\n const code2 = typeof value === \"string\" ? value.codePointAt(0) : 0;\n return code2 === 67 || code2 === 99 ? 99 : code2 === 76 || code2 === 108 ? 108 : code2 === 82 || code2 === 114 ? 114 : 0;\n}\nfunction blockquote(node2, _, state, info) {\n const exit2 = state.enter(\"blockquote\");\n const tracker = state.createTracker(info);\n tracker.move(\"> \");\n tracker.shift(2);\n const value = state.indentLines(\n state.containerFlow(node2, tracker.current()),\n map$1\n );\n exit2();\n return value;\n}\nfunction map$1(line, _, blank) {\n return \">\" + (blank ? \"\" : \" \") + line;\n}\nfunction patternInScope(stack, pattern) {\n return listInScope(stack, pattern.inConstruct, true) && !listInScope(stack, pattern.notInConstruct, false);\n}\nfunction listInScope(stack, list2, none) {\n if (typeof list2 === \"string\") {\n list2 = [list2];\n }\n if (!list2 || list2.length === 0) {\n return none;\n }\n let index = -1;\n while (++index < list2.length) {\n if (stack.includes(list2[index])) {\n return true;\n }\n }\n return false;\n}\nfunction hardBreak(_, _1, state, info) {\n let index = -1;\n while (++index < state.unsafe.length) {\n if (state.unsafe[index].character === \"\\n\" && patternInScope(state.stack, state.unsafe[index])) {\n return /[ \\t]/.test(info.before) ? \"\" : \" \";\n }\n }\n return \"\\\\\\n\";\n}\nfunction longestStreak(value, substring) {\n const source = String(value);\n let index = source.indexOf(substring);\n let expected = index;\n let count = 0;\n let max = 0;\n if (typeof substring !== \"string\") {\n throw new TypeError(\"Expected substring\");\n }\n while (index !== -1) {\n if (index === expected) {\n if (++count > max) {\n max = count;\n }\n } else {\n count = 1;\n }\n expected = index + substring.length;\n index = source.indexOf(substring, expected);\n }\n return max;\n}\nfunction formatCodeAsIndented(node2, state) {\n return Boolean(\n state.options.fences === false && node2.value && // If there’s no info…\n !node2.lang && // And there’s a non-whitespace character…\n /[^ \\r\\n]/.test(node2.value) && // And the value doesn’t start or end in a blank…\n !/^[\\t ]*(?:[\\r\\n]|$)|(?:^|[\\r\\n])[\\t ]*$/.test(node2.value)\n );\n}\nfunction checkFence(state) {\n const marker = state.options.fence || \"`\";\n if (marker !== \"`\" && marker !== \"~\") {\n throw new Error(\n \"Cannot serialize code with `\" + marker + \"` for `options.fence`, expected `` ` `` or `~`\"\n );\n }\n return marker;\n}\nfunction code$1(node2, _, state, info) {\n const marker = checkFence(state);\n const raw = node2.value || \"\";\n const suffix = marker === \"`\" ? \"GraveAccent\" : \"Tilde\";\n if (formatCodeAsIndented(node2, state)) {\n const exit3 = state.enter(\"codeIndented\");\n const value2 = state.indentLines(raw, map);\n exit3();\n return value2;\n }\n const tracker = state.createTracker(info);\n const sequence = marker.repeat(Math.max(longestStreak(raw, marker) + 1, 3));\n const exit2 = state.enter(\"codeFenced\");\n let value = tracker.move(sequence);\n if (node2.lang) {\n const subexit = state.enter(`codeFencedLang${suffix}`);\n value += tracker.move(\n state.safe(node2.lang, {\n before: value,\n after: \" \",\n encode: [\"`\"],\n ...tracker.current()\n })\n );\n subexit();\n }\n if (node2.lang && node2.meta) {\n const subexit = state.enter(`codeFencedMeta${suffix}`);\n value += tracker.move(\" \");\n value += tracker.move(\n state.safe(node2.meta, {\n before: value,\n after: \"\\n\",\n encode: [\"`\"],\n ...tracker.current()\n })\n );\n subexit();\n }\n value += tracker.move(\"\\n\");\n if (raw) {\n value += tracker.move(raw + \"\\n\");\n }\n value += tracker.move(sequence);\n exit2();\n return value;\n}\nfunction map(line, _, blank) {\n return (blank ? \"\" : \" \") + line;\n}\nfunction checkQuote(state) {\n const marker = state.options.quote || '\"';\n if (marker !== '\"' && marker !== \"'\") {\n throw new Error(\n \"Cannot serialize title with `\" + marker + \"` for `options.quote`, expected `\\\"`, or `'`\"\n );\n }\n return marker;\n}\nfunction definition(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const exit2 = state.enter(\"definition\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[\");\n value += tracker.move(\n state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n })\n );\n value += tracker.move(\"]: \");\n subexit();\n if (\n // If there’s no url, or…\n !node2.url || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \"\\n\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n exit2();\n return value;\n}\nfunction checkEmphasis(state) {\n const marker = state.options.emphasis || \"*\";\n if (marker !== \"*\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize emphasis with `\" + marker + \"` for `options.emphasis`, expected `*`, or `_`\"\n );\n }\n return marker;\n}\nemphasis.peek = emphasisPeek;\nfunction emphasis(node2, _, state, info) {\n const marker = checkEmphasis(state);\n const exit2 = state.enter(\"emphasis\");\n const tracker = state.createTracker(info);\n let value = tracker.move(marker);\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: marker,\n ...tracker.current()\n })\n );\n value += tracker.move(marker);\n exit2();\n return value;\n}\nfunction emphasisPeek(_, _1, state) {\n return state.options.emphasis || \"*\";\n}\nconst emptyOptions$1 = {};\nfunction toString(value, options) {\n const settings = emptyOptions$1;\n const includeImageAlt = typeof settings.includeImageAlt === \"boolean\" ? settings.includeImageAlt : true;\n const includeHtml = typeof settings.includeHtml === \"boolean\" ? settings.includeHtml : true;\n return one(value, includeImageAlt, includeHtml);\n}\nfunction one(value, includeImageAlt, includeHtml) {\n if (node(value)) {\n if (\"value\" in value) {\n return value.type === \"html\" && !includeHtml ? \"\" : value.value;\n }\n if (includeImageAlt && \"alt\" in value && value.alt) {\n return value.alt;\n }\n if (\"children\" in value) {\n return all(value.children, includeImageAlt, includeHtml);\n }\n }\n if (Array.isArray(value)) {\n return all(value, includeImageAlt, includeHtml);\n }\n return \"\";\n}\nfunction all(values, includeImageAlt, includeHtml) {\n const result = [];\n let index = -1;\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt, includeHtml);\n }\n return result.join(\"\");\n}\nfunction node(value) {\n return Boolean(value && typeof value === \"object\");\n}\nfunction formatHeadingAsSetext(node2, state) {\n let literalWithBreak = false;\n visit(node2, function(node3) {\n if (\"value\" in node3 && /\\r?\\n|\\r/.test(node3.value) || node3.type === \"break\") {\n literalWithBreak = true;\n return EXIT$1;\n }\n });\n return Boolean(\n (!node2.depth || node2.depth < 3) && toString(node2) && (state.options.setext || literalWithBreak)\n );\n}\nfunction heading(node2, _, state, info) {\n const rank = Math.max(Math.min(6, node2.depth || 1), 1);\n const tracker = state.createTracker(info);\n if (formatHeadingAsSetext(node2, state)) {\n const exit3 = state.enter(\"headingSetext\");\n const subexit2 = state.enter(\"phrasing\");\n const value2 = state.containerPhrasing(node2, {\n ...tracker.current(),\n before: \"\\n\",\n after: \"\\n\"\n });\n subexit2();\n exit3();\n return value2 + \"\\n\" + (rank === 1 ? \"=\" : \"-\").repeat(\n // The whole size…\n value2.length - // Minus the position of the character after the last EOL (or\n // 0 if there is none)…\n (Math.max(value2.lastIndexOf(\"\\r\"), value2.lastIndexOf(\"\\n\")) + 1)\n );\n }\n const sequence = \"#\".repeat(rank);\n const exit2 = state.enter(\"headingAtx\");\n const subexit = state.enter(\"phrasing\");\n tracker.move(sequence + \" \");\n let value = state.containerPhrasing(node2, {\n before: \"# \",\n after: \"\\n\",\n ...tracker.current()\n });\n if (/^[\\t ]/.test(value)) {\n value = \"&#x\" + value.charCodeAt(0).toString(16).toUpperCase() + \";\" + value.slice(1);\n }\n value = value ? sequence + \" \" + value : sequence;\n if (state.options.closeAtx) {\n value += \" \" + sequence;\n }\n subexit();\n exit2();\n return value;\n}\nhtml.peek = htmlPeek;\nfunction html(node2) {\n return node2.value || \"\";\n}\nfunction htmlPeek() {\n return \"<\";\n}\nimage.peek = imagePeek;\nfunction image(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const exit2 = state.enter(\"image\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"![\");\n value += tracker.move(\n state.safe(node2.alt, { before: value, after: \"]\", ...tracker.current() })\n );\n value += tracker.move(\"](\");\n subexit();\n if (\n // If there’s no url but there is a title…\n !node2.url && node2.title || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \")\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n value += tracker.move(\")\");\n exit2();\n return value;\n}\nfunction imagePeek() {\n return \"!\";\n}\nimageReference.peek = imageReferencePeek;\nfunction imageReference(node2, _, state, info) {\n const type = node2.referenceType;\n const exit2 = state.enter(\"imageReference\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"![\");\n const alt = state.safe(node2.alt, {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n value += tracker.move(alt + \"][\");\n subexit();\n const stack = state.stack;\n state.stack = [];\n subexit = state.enter(\"reference\");\n const reference = state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n subexit();\n state.stack = stack;\n exit2();\n if (type === \"full\" || !alt || alt !== reference) {\n value += tracker.move(reference + \"]\");\n } else if (type === \"shortcut\") {\n value = value.slice(0, -1);\n } else {\n value += tracker.move(\"]\");\n }\n return value;\n}\nfunction imageReferencePeek() {\n return \"!\";\n}\ninlineCode.peek = inlineCodePeek;\nfunction inlineCode(node2, _, state) {\n let value = node2.value || \"\";\n let sequence = \"`\";\n let index = -1;\n while (new RegExp(\"(^|[^`])\" + sequence + \"([^`]|$)\").test(value)) {\n sequence += \"`\";\n }\n if (/[^ \\r\\n]/.test(value) && (/^[ \\r\\n]/.test(value) && /[ \\r\\n]$/.test(value) || /^`|`$/.test(value))) {\n value = \" \" + value + \" \";\n }\n while (++index < state.unsafe.length) {\n const pattern = state.unsafe[index];\n const expression = state.compilePattern(pattern);\n let match;\n if (!pattern.atBreak) continue;\n while (match = expression.exec(value)) {\n let position = match.index;\n if (value.charCodeAt(position) === 10 && value.charCodeAt(position - 1) === 13) {\n position--;\n }\n value = value.slice(0, position) + \" \" + value.slice(match.index + 1);\n }\n }\n return sequence + value + sequence;\n}\nfunction inlineCodePeek() {\n return \"`\";\n}\nfunction formatLinkAsAutolink(node2, state) {\n const raw = toString(node2);\n return Boolean(\n !state.options.resourceLink && // If there’s a url…\n node2.url && // And there’s a no title…\n !node2.title && // And the content of `node` is a single text node…\n node2.children && node2.children.length === 1 && node2.children[0].type === \"text\" && // And if the url is the same as the content…\n (raw === node2.url || \"mailto:\" + raw === node2.url) && // And that starts w/ a protocol…\n /^[a-z][a-z+.-]+:/i.test(node2.url) && // And that doesn’t contain ASCII control codes (character escapes and\n // references don’t work), space, or angle brackets…\n !/[\\0- <>\\u007F]/.test(node2.url)\n );\n}\nlink.peek = linkPeek;\nfunction link(node2, _, state, info) {\n const quote = checkQuote(state);\n const suffix = quote === '\"' ? \"Quote\" : \"Apostrophe\";\n const tracker = state.createTracker(info);\n let exit2;\n let subexit;\n if (formatLinkAsAutolink(node2, state)) {\n const stack = state.stack;\n state.stack = [];\n exit2 = state.enter(\"autolink\");\n let value2 = tracker.move(\"<\");\n value2 += tracker.move(\n state.containerPhrasing(node2, {\n before: value2,\n after: \">\",\n ...tracker.current()\n })\n );\n value2 += tracker.move(\">\");\n exit2();\n state.stack = stack;\n return value2;\n }\n exit2 = state.enter(\"link\");\n subexit = state.enter(\"label\");\n let value = tracker.move(\"[\");\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: \"](\",\n ...tracker.current()\n })\n );\n value += tracker.move(\"](\");\n subexit();\n if (\n // If there’s no url but there is a title…\n !node2.url && node2.title || // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node2.url)\n ) {\n subexit = state.enter(\"destinationLiteral\");\n value += tracker.move(\"<\");\n value += tracker.move(\n state.safe(node2.url, { before: value, after: \">\", ...tracker.current() })\n );\n value += tracker.move(\">\");\n } else {\n subexit = state.enter(\"destinationRaw\");\n value += tracker.move(\n state.safe(node2.url, {\n before: value,\n after: node2.title ? \" \" : \")\",\n ...tracker.current()\n })\n );\n }\n subexit();\n if (node2.title) {\n subexit = state.enter(`title${suffix}`);\n value += tracker.move(\" \" + quote);\n value += tracker.move(\n state.safe(node2.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n );\n value += tracker.move(quote);\n subexit();\n }\n value += tracker.move(\")\");\n exit2();\n return value;\n}\nfunction linkPeek(node2, _, state) {\n return formatLinkAsAutolink(node2, state) ? \"<\" : \"[\";\n}\nlinkReference.peek = linkReferencePeek;\nfunction linkReference(node2, _, state, info) {\n const type = node2.referenceType;\n const exit2 = state.enter(\"linkReference\");\n let subexit = state.enter(\"label\");\n const tracker = state.createTracker(info);\n let value = tracker.move(\"[\");\n const text2 = state.containerPhrasing(node2, {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n value += tracker.move(text2 + \"][\");\n subexit();\n const stack = state.stack;\n state.stack = [];\n subexit = state.enter(\"reference\");\n const reference = state.safe(state.associationId(node2), {\n before: value,\n after: \"]\",\n ...tracker.current()\n });\n subexit();\n state.stack = stack;\n exit2();\n if (type === \"full\" || !text2 || text2 !== reference) {\n value += tracker.move(reference + \"]\");\n } else if (type === \"shortcut\") {\n value = value.slice(0, -1);\n } else {\n value += tracker.move(\"]\");\n }\n return value;\n}\nfunction linkReferencePeek() {\n return \"[\";\n}\nfunction checkBullet(state) {\n const marker = state.options.bullet || \"*\";\n if (marker !== \"*\" && marker !== \"+\" && marker !== \"-\") {\n throw new Error(\n \"Cannot serialize items with `\" + marker + \"` for `options.bullet`, expected `*`, `+`, or `-`\"\n );\n }\n return marker;\n}\nfunction checkBulletOther(state) {\n const bullet = checkBullet(state);\n const bulletOther = state.options.bulletOther;\n if (!bulletOther) {\n return bullet === \"*\" ? \"-\" : \"*\";\n }\n if (bulletOther !== \"*\" && bulletOther !== \"+\" && bulletOther !== \"-\") {\n throw new Error(\n \"Cannot serialize items with `\" + bulletOther + \"` for `options.bulletOther`, expected `*`, `+`, or `-`\"\n );\n }\n if (bulletOther === bullet) {\n throw new Error(\n \"Expected `bullet` (`\" + bullet + \"`) and `bulletOther` (`\" + bulletOther + \"`) to be different\"\n );\n }\n return bulletOther;\n}\nfunction checkBulletOrdered(state) {\n const marker = state.options.bulletOrdered || \".\";\n if (marker !== \".\" && marker !== \")\") {\n throw new Error(\n \"Cannot serialize items with `\" + marker + \"` for `options.bulletOrdered`, expected `.` or `)`\"\n );\n }\n return marker;\n}\nfunction checkRule(state) {\n const marker = state.options.rule || \"*\";\n if (marker !== \"*\" && marker !== \"-\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize rules with `\" + marker + \"` for `options.rule`, expected `*`, `-`, or `_`\"\n );\n }\n return marker;\n}\nfunction list(node2, parent, state, info) {\n const exit2 = state.enter(\"list\");\n const bulletCurrent = state.bulletCurrent;\n let bullet = node2.ordered ? checkBulletOrdered(state) : checkBullet(state);\n const bulletOther = node2.ordered ? bullet === \".\" ? \")\" : \".\" : checkBulletOther(state);\n let useDifferentMarker = parent && state.bulletLastUsed ? bullet === state.bulletLastUsed : false;\n if (!node2.ordered) {\n const firstListItem = node2.children ? node2.children[0] : void 0;\n if (\n // Bullet could be used as a thematic break marker:\n (bullet === \"*\" || bullet === \"-\") && // Empty first list item:\n firstListItem && (!firstListItem.children || !firstListItem.children[0]) && // Directly in two other list items:\n state.stack[state.stack.length - 1] === \"list\" && state.stack[state.stack.length - 2] === \"listItem\" && state.stack[state.stack.length - 3] === \"list\" && state.stack[state.stack.length - 4] === \"listItem\" && // That are each the first child.\n state.indexStack[state.indexStack.length - 1] === 0 && state.indexStack[state.indexStack.length - 2] === 0 && state.indexStack[state.indexStack.length - 3] === 0\n ) {\n useDifferentMarker = true;\n }\n if (checkRule(state) === bullet && firstListItem) {\n let index = -1;\n while (++index < node2.children.length) {\n const item = node2.children[index];\n if (item && item.type === \"listItem\" && item.children && item.children[0] && item.children[0].type === \"thematicBreak\") {\n useDifferentMarker = true;\n break;\n }\n }\n }\n }\n if (useDifferentMarker) {\n bullet = bulletOther;\n }\n state.bulletCurrent = bullet;\n const value = state.containerFlow(node2, info);\n state.bulletLastUsed = bullet;\n state.bulletCurrent = bulletCurrent;\n exit2();\n return value;\n}\nfunction checkListItemIndent(state) {\n const style = state.options.listItemIndent || \"one\";\n if (style !== \"tab\" && style !== \"one\" && style !== \"mixed\") {\n throw new Error(\n \"Cannot serialize items with `\" + style + \"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`\"\n );\n }\n return style;\n}\nfunction listItem(node2, parent, state, info) {\n const listItemIndent = checkListItemIndent(state);\n let bullet = state.bulletCurrent || checkBullet(state);\n if (parent && parent.type === \"list\" && parent.ordered) {\n bullet = (typeof parent.start === \"number\" && parent.start > -1 ? parent.start : 1) + (state.options.incrementListMarker === false ? 0 : parent.children.indexOf(node2)) + bullet;\n }\n let size = bullet.length + 1;\n if (listItemIndent === \"tab\" || listItemIndent === \"mixed\" && (parent && parent.type === \"list\" && parent.spread || node2.spread)) {\n size = Math.ceil(size / 4) * 4;\n }\n const tracker = state.createTracker(info);\n tracker.move(bullet + \" \".repeat(size - bullet.length));\n tracker.shift(size);\n const exit2 = state.enter(\"listItem\");\n const value = state.indentLines(\n state.containerFlow(node2, tracker.current()),\n map2\n );\n exit2();\n return value;\n function map2(line, index, blank) {\n if (index) {\n return (blank ? \"\" : \" \".repeat(size)) + line;\n }\n return (blank ? bullet : bullet + \" \".repeat(size - bullet.length)) + line;\n }\n}\nfunction paragraph(node2, _, state, info) {\n const exit2 = state.enter(\"paragraph\");\n const subexit = state.enter(\"phrasing\");\n const value = state.containerPhrasing(node2, info);\n subexit();\n exit2();\n return value;\n}\nconst phrasing = (\n /** @type {(node?: unknown) => node is Exclude<PhrasingContent, Html>} */\n convert([\n \"break\",\n \"delete\",\n \"emphasis\",\n // To do: next major: removed since footnotes were added to GFM.\n \"footnote\",\n \"footnoteReference\",\n \"image\",\n \"imageReference\",\n \"inlineCode\",\n // Enabled by `mdast-util-math`:\n \"inlineMath\",\n \"link\",\n \"linkReference\",\n // Enabled by `mdast-util-mdx`:\n \"mdxJsxTextElement\",\n // Enabled by `mdast-util-mdx`:\n \"mdxTextExpression\",\n \"strong\",\n \"text\",\n // Enabled by `mdast-util-directive`:\n \"textDirective\"\n ])\n);\nfunction root(node2, _, state, info) {\n const hasPhrasing = node2.children.some(function(d) {\n return phrasing(d);\n });\n const fn = hasPhrasing ? state.containerPhrasing : state.containerFlow;\n return fn.call(state, node2, info);\n}\nfunction checkStrong(state) {\n const marker = state.options.strong || \"*\";\n if (marker !== \"*\" && marker !== \"_\") {\n throw new Error(\n \"Cannot serialize strong with `\" + marker + \"` for `options.strong`, expected `*`, or `_`\"\n );\n }\n return marker;\n}\nstrong.peek = strongPeek;\nfunction strong(node2, _, state, info) {\n const marker = checkStrong(state);\n const exit2 = state.enter(\"strong\");\n const tracker = state.createTracker(info);\n let value = tracker.move(marker + marker);\n value += tracker.move(\n state.containerPhrasing(node2, {\n before: value,\n after: marker,\n ...tracker.current()\n })\n );\n value += tracker.move(marker + marker);\n exit2();\n return value;\n}\nfunction strongPeek(_, _1, state) {\n return state.options.strong || \"*\";\n}\nfunction text$1(node2, _, state, info) {\n return state.safe(node2.value, info);\n}\nfunction checkRuleRepetition(state) {\n const repetition = state.options.ruleRepetition || 3;\n if (repetition < 3) {\n throw new Error(\n \"Cannot serialize rules with repetition `\" + repetition + \"` for `options.ruleRepetition`, expected `3` or more\"\n );\n }\n return repetition;\n}\nfunction thematicBreak(_, _1, state) {\n const value = (checkRule(state) + (state.options.ruleSpaces ? \" \" : \"\")).repeat(checkRuleRepetition(state));\n return state.options.ruleSpaces ? value.slice(0, -1) : value;\n}\nconst handle = {\n blockquote,\n break: hardBreak,\n code: code$1,\n definition,\n emphasis,\n hardBreak,\n heading,\n html,\n image,\n imageReference,\n inlineCode,\n link,\n linkReference,\n list,\n listItem,\n paragraph,\n root,\n strong,\n text: text$1,\n thematicBreak\n};\nfunction gfmTableFromMarkdown() {\n return {\n enter: {\n table: enterTable,\n tableData: enterCell,\n tableHeader: enterCell,\n tableRow: enterRow\n },\n exit: {\n codeText: exitCodeText,\n table: exitTable,\n tableData: exit,\n tableHeader: exit,\n tableRow: exit\n }\n };\n}\nfunction enterTable(token) {\n const align = token._align;\n this.enter(\n {\n type: \"table\",\n align: align.map(function(d) {\n return d === \"none\" ? null : d;\n }),\n children: []\n },\n token\n );\n this.data.inTable = true;\n}\nfunction exitTable(token) {\n this.exit(token);\n this.data.inTable = void 0;\n}\nfunction enterRow(token) {\n this.enter({ type: \"tableRow\", children: [] }, token);\n}\nfunction exit(token) {\n this.exit(token);\n}\nfunction enterCell(token) {\n this.enter({ type: \"tableCell\", children: [] }, token);\n}\nfunction exitCodeText(token) {\n let value = this.resume();\n if (this.data.inTable) {\n value = value.replace(/\\\\([\\\\|])/g, replace);\n }\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"inlineCode\");\n node2.value = value;\n this.exit(token);\n}\nfunction replace($0, $1) {\n return $1 === \"|\" ? $1 : $0;\n}\nfunction gfmTableToMarkdown(options) {\n const settings = options || {};\n const padding = settings.tableCellPadding;\n const alignDelimiters = settings.tablePipeAlign;\n const stringLength = settings.stringLength;\n const around = padding ? \" \" : \"|\";\n return {\n unsafe: [\n { character: \"\\r\", inConstruct: \"tableCell\" },\n { character: \"\\n\", inConstruct: \"tableCell\" },\n // A pipe, when followed by a tab or space (padding), or a dash or colon\n // (unpadded delimiter row), could result in a table.\n { atBreak: true, character: \"|\", after: \"[\t :-]\" },\n // A pipe in a cell must be encoded.\n { character: \"|\", inConstruct: \"tableCell\" },\n // A colon must be followed by a dash, in which case it could start a\n // delimiter row.\n { atBreak: true, character: \":\", after: \"-\" },\n // A delimiter row can also start with a dash, when followed by more\n // dashes, a colon, or a pipe.\n // This is a stricter version than the built in check for lists, thematic\n // breaks, and setex heading underlines though:\n // <https://github.com/syntax-tree/mdast-util-to-markdown/blob/51a2038/lib/unsafe.js#L57>\n { atBreak: true, character: \"-\", after: \"[:|-]\" }\n ],\n handlers: {\n inlineCode: inlineCodeWithTable,\n table: handleTable,\n tableCell: handleTableCell,\n tableRow: handleTableRow\n }\n };\n function handleTable(node2, _, state, info) {\n return serializeData(handleTableAsData(node2, state, info), node2.align);\n }\n function handleTableRow(node2, _, state, info) {\n const row = handleTableRowAsData(node2, state, info);\n const value = serializeData([row]);\n return value.slice(0, value.indexOf(\"\\n\"));\n }\n function handleTableCell(node2, _, state, info) {\n const exit2 = state.enter(\"tableCell\");\n const subexit = state.enter(\"phrasing\");\n const value = state.containerPhrasing(node2, {\n ...info,\n before: around,\n after: around\n });\n subexit();\n exit2();\n return value;\n }\n function serializeData(matrix, align) {\n return markdownTable(matrix, {\n align,\n // @ts-expect-error: `markdown-table` types should support `null`.\n alignDelimiters,\n // @ts-expect-error: `markdown-table` types should support `null`.\n padding,\n // @ts-expect-error: `markdown-table` types should support `null`.\n stringLength\n });\n }\n function handleTableAsData(node2, state, info) {\n const children = node2.children;\n let index = -1;\n const result = [];\n const subexit = state.enter(\"table\");\n while (++index < children.length) {\n result[index] = handleTableRowAsData(children[index], state, info);\n }\n subexit();\n return result;\n }\n function handleTableRowAsData(node2, state, info) {\n const children = node2.children;\n let index = -1;\n const result = [];\n const subexit = state.enter(\"tableRow\");\n while (++index < children.length) {\n result[index] = handleTableCell(children[index], node2, state, info);\n }\n subexit();\n return result;\n }\n function inlineCodeWithTable(node2, parent, state) {\n let value = handle.inlineCode(node2, parent, state);\n if (state.stack.includes(\"tableCell\")) {\n value = value.replace(/\\|/g, \"\\\\$&\");\n }\n return value;\n }\n}\nfunction gfmTaskListItemFromMarkdown() {\n return {\n exit: {\n taskListCheckValueChecked: exitCheck,\n taskListCheckValueUnchecked: exitCheck,\n paragraph: exitParagraphWithTaskListItem\n }\n };\n}\nfunction gfmTaskListItemToMarkdown() {\n return {\n unsafe: [{ atBreak: true, character: \"-\", after: \"[:|-]\" }],\n handlers: { listItem: listItemWithTaskListItem }\n };\n}\nfunction exitCheck(token) {\n const node2 = this.stack[this.stack.length - 2];\n ok$1(node2.type === \"listItem\");\n node2.checked = token.type === \"taskListCheckValueChecked\";\n}\nfunction exitParagraphWithTaskListItem(token) {\n const parent = this.stack[this.stack.length - 2];\n if (parent && parent.type === \"listItem\" && typeof parent.checked === \"boolean\") {\n const node2 = this.stack[this.stack.length - 1];\n ok$1(node2.type === \"paragraph\");\n const head = node2.children[0];\n if (head && head.type === \"text\") {\n const siblings = parent.children;\n let index = -1;\n let firstParaghraph;\n while (++index < siblings.length) {\n const sibling = siblings[index];\n if (sibling.type === \"paragraph\") {\n firstParaghraph = sibling;\n break;\n }\n }\n if (firstParaghraph === node2) {\n head.value = head.value.slice(1);\n if (head.value.length === 0) {\n node2.children.shift();\n } else if (node2.position && head.position && typeof head.position.start.offset === \"number\") {\n head.position.start.column++;\n head.position.start.offset++;\n node2.position.start = Object.assign({}, head.position.start);\n }\n }\n }\n }\n this.exit(token);\n}\nfunction listItemWithTaskListItem(node2, parent, state, info) {\n const head = node2.children[0];\n const checkable = typeof node2.checked === \"boolean\" && head && head.type === \"paragraph\";\n const checkbox = \"[\" + (node2.checked ? \"x\" : \" \") + \"] \";\n const tracker = state.createTracker(info);\n if (checkable) {\n tracker.move(checkbox);\n }\n let value = handle.listItem(node2, parent, state, {\n ...info,\n ...tracker.current()\n });\n if (checkable) {\n value = value.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/, check);\n }\n return value;\n function check($0) {\n return $0 + checkbox;\n }\n}\nfunction gfmFromMarkdown() {\n return [\n gfmAutolinkLiteralFromMarkdown(),\n gfmFootnoteFromMarkdown(),\n gfmStrikethroughFromMarkdown(),\n gfmTableFromMarkdown(),\n gfmTaskListItemFromMarkdown()\n ];\n}\nfunction gfmToMarkdown(options) {\n return {\n extensions: [\n gfmAutolinkLiteralToMarkdown(),\n gfmFootnoteToMarkdown(),\n gfmStrikethroughToMarkdown(),\n gfmTableToMarkdown(options),\n gfmTaskListItemToMarkdown()\n ]\n };\n}\nfunction splice(list2, start, remove, items) {\n const end = list2.length;\n let chunkStart = 0;\n let parameters;\n if (start < 0) {\n start = -start > end ? 0 : end + start;\n } else {\n start = start > end ? end : start;\n }\n remove = remove > 0 ? remove : 0;\n if (items.length < 1e4) {\n parameters = Array.from(items);\n parameters.unshift(start, remove);\n list2.splice(...parameters);\n } else {\n if (remove) list2.splice(start, remove);\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 1e4);\n parameters.unshift(start, 0);\n list2.splice(...parameters);\n chunkStart += 1e4;\n start += 1e4;\n }\n }\n}\nconst hasOwnProperty = {}.hasOwnProperty;\nfunction combineExtensions(extensions) {\n const all2 = {};\n let index = -1;\n while (++index < extensions.length) {\n syntaxExtension(all2, extensions[index]);\n }\n return all2;\n}\nfunction syntaxExtension(all2, extension) {\n let hook;\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all2, hook) ? all2[hook] : void 0;\n const left = maybe || (all2[hook] = {});\n const right = extension[hook];\n let code2;\n if (right) {\n for (code2 in right) {\n if (!hasOwnProperty.call(left, code2)) left[code2] = [];\n const value = right[code2];\n constructs(\n // @ts-expect-error Looks like a list.\n left[code2],\n Array.isArray(value) ? value : value ? [value] : []\n );\n }\n }\n }\n}\nfunction constructs(existing, list2) {\n let index = -1;\n const before = [];\n while (++index < list2.length) {\n (list2[index].add === \"after\" ? existing : before).push(list2[index]);\n }\n splice(existing, 0, 0, before);\n}\nconst wwwPrefix = {\n tokenize: tokenizeWwwPrefix,\n partial: true\n};\nconst domain = {\n tokenize: tokenizeDomain,\n partial: true\n};\nconst path = {\n tokenize: tokenizePath,\n partial: true\n};\nconst trail = {\n tokenize: tokenizeTrail,\n partial: true\n};\nconst emailDomainDotTrail = {\n tokenize: tokenizeEmailDomainDotTrail,\n partial: true\n};\nconst wwwAutolink = {\n tokenize: tokenizeWwwAutolink,\n previous: previousWww\n};\nconst protocolAutolink = {\n tokenize: tokenizeProtocolAutolink,\n previous: previousProtocol\n};\nconst emailAutolink = {\n tokenize: tokenizeEmailAutolink,\n previous: previousEmail\n};\nconst text = {};\nfunction gfmAutolinkLiteral() {\n return {\n text\n };\n}\nlet code = 48;\nwhile (code < 123) {\n text[code] = emailAutolink;\n code++;\n if (code === 58) code = 65;\n else if (code === 91) code = 97;\n}\ntext[43] = emailAutolink;\ntext[45] = emailAutolink;\ntext[46] = emailAutolink;\ntext[95] = emailAutolink;\ntext[72] = [emailAutolink, protocolAutolink];\ntext[104] = [emailAutolink, protocolAutolink];\ntext[87] = [emailAutolink, wwwAutolink];\ntext[119] = [emailAutolink, wwwAutolink];\nfunction tokenizeEmailAutolink(effects, ok2, nok) {\n const self = this;\n let dot;\n let data;\n return start;\n function start(code2) {\n if (!gfmAtext(code2) || !previousEmail.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code2);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkEmail\");\n return atext(code2);\n }\n function atext(code2) {\n if (gfmAtext(code2)) {\n effects.consume(code2);\n return atext;\n }\n if (code2 === 64) {\n effects.consume(code2);\n return emailDomain;\n }\n return nok(code2);\n }\n function emailDomain(code2) {\n if (code2 === 46) {\n return effects.check(\n emailDomainDotTrail,\n emailDomainAfter,\n emailDomainDot\n )(code2);\n }\n if (code2 === 45 || code2 === 95 || asciiAlphanumeric(code2)) {\n data = true;\n effects.consume(code2);\n return emailDomain;\n }\n return emailDomainAfter(code2);\n }\n function emailDomainDot(code2) {\n effects.consume(code2);\n dot = true;\n return emailDomain;\n }\n function emailDomainAfter(code2) {\n if (data && dot && asciiAlpha(self.previous)) {\n effects.exit(\"literalAutolinkEmail\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n return nok(code2);\n }\n}\nfunction tokenizeWwwAutolink(effects, ok2, nok) {\n const self = this;\n return wwwStart;\n function wwwStart(code2) {\n if (code2 !== 87 && code2 !== 119 || !previousWww.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code2);\n }\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkWww\");\n return effects.check(\n wwwPrefix,\n effects.attempt(domain, effects.attempt(path, wwwAfter), nok),\n nok\n )(code2);\n }\n function wwwAfter(code2) {\n effects.exit(\"literalAutolinkWww\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n}\nfunction tokenizeProtocolAutolink(effects, ok2, nok) {\n const self = this;\n let buffer = \"\";\n let seen = false;\n return protocolStart;\n function protocolStart(code2) {\n if ((code2 === 72 || code2 === 104) && previousProtocol.call(self, self.previous) && !previousUnbalanced(self.events)) {\n effects.enter(\"literalAutolink\");\n effects.enter(\"literalAutolinkHttp\");\n buffer += String.fromCodePoint(code2);\n effects.consume(code2);\n return protocolPrefixInside;\n }\n return nok(code2);\n }\n function protocolPrefixInside(code2) {\n if (asciiAlpha(code2) && buffer.length < 5) {\n buffer += String.fromCodePoint(code2);\n effects.consume(code2);\n return protocolPrefixInside;\n }\n if (code2 === 58) {\n const protocol = buffer.toLowerCase();\n if (protocol === \"http\" || protocol === \"https\") {\n effects.consume(code2);\n return protocolSlashesInside;\n }\n }\n return nok(code2);\n }\n function protocolSlashesInside(code2) {\n if (code2 === 47) {\n effects.consume(code2);\n if (seen) {\n return afterProtocol;\n }\n seen = true;\n return protocolSlashesInside;\n }\n return nok(code2);\n }\n function afterProtocol(code2) {\n return code2 === null || asciiControl(code2) || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2) || unicodePunctuation(code2) ? nok(code2) : effects.attempt(domain, effects.attempt(path, protocolAfter), nok)(code2);\n }\n function protocolAfter(code2) {\n effects.exit(\"literalAutolinkHttp\");\n effects.exit(\"literalAutolink\");\n return ok2(code2);\n }\n}\nfunction tokenizeWwwPrefix(effects, ok2, nok) {\n let size = 0;\n return wwwPrefixInside;\n function wwwPrefixInside(code2) {\n if ((code2 === 87 || code2 === 119) && size < 3) {\n size++;\n effects.consume(code2);\n return wwwPrefixInside;\n }\n if (code2 === 46 && size === 3) {\n effects.consume(code2);\n return wwwPrefixAfter;\n }\n return nok(code2);\n }\n function wwwPrefixAfter(code2) {\n return code2 === null ? nok(code2) : ok2(code2);\n }\n}\nfunction tokenizeDomain(effects, ok2, nok) {\n let underscoreInLastSegment;\n let underscoreInLastLastSegment;\n let seen;\n return domainInside;\n function domainInside(code2) {\n if (code2 === 46 || code2 === 95) {\n return effects.check(trail, domainAfter, domainAtPunctuation)(code2);\n }\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2) || code2 !== 45 && unicodePunctuation(code2)) {\n return domainAfter(code2);\n }\n seen = true;\n effects.consume(code2);\n return domainInside;\n }\n function domainAtPunctuation(code2) {\n if (code2 === 95) {\n underscoreInLastSegment = true;\n } else {\n underscoreInLastLastSegment = underscoreInLastSegment;\n underscoreInLastSegment = void 0;\n }\n effects.consume(code2);\n return domainInside;\n }\n function domainAfter(code2) {\n if (underscoreInLastLastSegment || underscoreInLastSegment || !seen) {\n return nok(code2);\n }\n return ok2(code2);\n }\n}\nfunction tokenizePath(effects, ok2) {\n let sizeOpen = 0;\n let sizeClose = 0;\n return pathInside;\n function pathInside(code2) {\n if (code2 === 40) {\n sizeOpen++;\n effects.consume(code2);\n return pathInside;\n }\n if (code2 === 41 && sizeClose < sizeOpen) {\n return pathAtPunctuation(code2);\n }\n if (code2 === 33 || code2 === 34 || code2 === 38 || code2 === 39 || code2 === 41 || code2 === 42 || code2 === 44 || code2 === 46 || code2 === 58 || code2 === 59 || code2 === 60 || code2 === 63 || code2 === 93 || code2 === 95 || code2 === 126) {\n return effects.check(trail, ok2, pathAtPunctuation)(code2);\n }\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return ok2(code2);\n }\n effects.consume(code2);\n return pathInside;\n }\n function pathAtPunctuation(code2) {\n if (code2 === 41) {\n sizeClose++;\n }\n effects.consume(code2);\n return pathInside;\n }\n}\nfunction tokenizeTrail(effects, ok2, nok) {\n return trail2;\n function trail2(code2) {\n if (code2 === 33 || code2 === 34 || code2 === 39 || code2 === 41 || code2 === 42 || code2 === 44 || code2 === 46 || code2 === 58 || code2 === 59 || code2 === 63 || code2 === 95 || code2 === 126) {\n effects.consume(code2);\n return trail2;\n }\n if (code2 === 38) {\n effects.consume(code2);\n return trailCharRefStart;\n }\n if (code2 === 93) {\n effects.consume(code2);\n return trailBracketAfter;\n }\n if (\n // `<` is an end.\n code2 === 60 || // So is whitespace.\n code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)\n ) {\n return ok2(code2);\n }\n return nok(code2);\n }\n function trailBracketAfter(code2) {\n if (code2 === null || code2 === 40 || code2 === 91 || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return ok2(code2);\n }\n return trail2(code2);\n }\n function trailCharRefStart(code2) {\n return asciiAlpha(code2) ? trailCharRefInside(code2) : nok(code2);\n }\n function trailCharRefInside(code2) {\n if (code2 === 59) {\n effects.consume(code2);\n return trail2;\n }\n if (asciiAlpha(code2)) {\n effects.consume(code2);\n return trailCharRefInside;\n }\n return nok(code2);\n }\n}\nfunction tokenizeEmailDomainDotTrail(effects, ok2, nok) {\n return start;\n function start(code2) {\n effects.consume(code2);\n return after;\n }\n function after(code2) {\n return asciiAlphanumeric(code2) ? nok(code2) : ok2(code2);\n }\n}\nfunction previousWww(code2) {\n return code2 === null || code2 === 40 || code2 === 42 || code2 === 95 || code2 === 91 || code2 === 93 || code2 === 126 || markdownLineEndingOrSpace(code2);\n}\nfunction previousProtocol(code2) {\n return !asciiAlpha(code2);\n}\nfunction previousEmail(code2) {\n return !(code2 === 47 || gfmAtext(code2));\n}\nfunction gfmAtext(code2) {\n return code2 === 43 || code2 === 45 || code2 === 46 || code2 === 95 || asciiAlphanumeric(code2);\n}\nfunction previousUnbalanced(events) {\n let index = events.length;\n let result = false;\n while (index--) {\n const token = events[index][1];\n if ((token.type === \"labelLink\" || token.type === \"labelImage\") && !token._balanced) {\n result = true;\n break;\n }\n if (token._gfmAutolinkLiteralWalkedInto) {\n result = false;\n break;\n }\n }\n if (events.length > 0 && !result) {\n events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true;\n }\n return result;\n}\nfunction classifyCharacter(code2) {\n if (code2 === null || markdownLineEndingOrSpace(code2) || unicodeWhitespace(code2)) {\n return 1;\n }\n if (unicodePunctuation(code2)) {\n return 2;\n }\n}\nfunction resolveAll(constructs2, events, context) {\n const called = [];\n let index = -1;\n while (++index < constructs2.length) {\n const resolve = constructs2[index].resolveAll;\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context);\n called.push(resolve);\n }\n }\n return events;\n}\nfunction factorySpace(effects, ok2, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY;\n let size = 0;\n return start;\n function start(code2) {\n if (markdownSpace(code2)) {\n effects.enter(type);\n return prefix(code2);\n }\n return ok2(code2);\n }\n function prefix(code2) {\n if (markdownSpace(code2) && size++ < limit) {\n effects.consume(code2);\n return prefix;\n }\n effects.exit(type);\n return ok2(code2);\n }\n}\nconst blankLine = {\n tokenize: tokenizeBlankLine,\n partial: true\n};\nfunction tokenizeBlankLine(effects, ok2, nok) {\n return start;\n function start(code2) {\n return markdownSpace(code2) ? factorySpace(effects, after, \"linePrefix\")(code2) : after(code2);\n }\n function after(code2) {\n return code2 === null || markdownLineEnding(code2) ? ok2(code2) : nok(code2);\n }\n}\nconst indent = {\n tokenize: tokenizeIndent,\n partial: true\n};\nfunction gfmFootnote() {\n return {\n document: {\n [91]: {\n tokenize: tokenizeDefinitionStart,\n continuation: {\n tokenize: tokenizeDefinitionContinuation\n },\n exit: gfmFootnoteDefinitionEnd\n }\n },\n text: {\n [91]: {\n tokenize: tokenizeGfmFootnoteCall\n },\n [93]: {\n add: \"after\",\n tokenize: tokenizePotentialGfmFootnoteCall,\n resolveTo: resolveToPotentialGfmFootnoteCall\n }\n }\n };\n}\nfunction tokenizePotentialGfmFootnoteCall(effects, ok2, nok) {\n const self = this;\n let index = self.events.length;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let labelStart;\n while (index--) {\n const token = self.events[index][1];\n if (token.type === \"labelImage\") {\n labelStart = token;\n break;\n }\n if (token.type === \"gfmFootnoteCall\" || token.type === \"labelLink\" || token.type === \"label\" || token.type === \"image\" || token.type === \"link\") {\n break;\n }\n }\n return start;\n function start(code2) {\n if (!labelStart || !labelStart._balanced) {\n return nok(code2);\n }\n const id = normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n );\n if (id.codePointAt(0) !== 94 || !defined.includes(id.slice(1))) {\n return nok(code2);\n }\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n return ok2(code2);\n }\n}\nfunction resolveToPotentialGfmFootnoteCall(events, context) {\n let index = events.length;\n while (index--) {\n if (events[index][1].type === \"labelImage\" && events[index][0] === \"enter\") {\n events[index][1];\n break;\n }\n }\n events[index + 1][1].type = \"data\";\n events[index + 3][1].type = \"gfmFootnoteCallLabelMarker\";\n const call = {\n type: \"gfmFootnoteCall\",\n start: Object.assign({}, events[index + 3][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n const marker = {\n type: \"gfmFootnoteCallMarker\",\n start: Object.assign({}, events[index + 3][1].end),\n end: Object.assign({}, events[index + 3][1].end)\n };\n marker.end.column++;\n marker.end.offset++;\n marker.end._bufferIndex++;\n const string = {\n type: \"gfmFootnoteCallString\",\n start: Object.assign({}, marker.end),\n end: Object.assign({}, events[events.length - 1][1].start)\n };\n const chunk = {\n type: \"chunkString\",\n contentType: \"string\",\n start: Object.assign({}, string.start),\n end: Object.assign({}, string.end)\n };\n const replacement = [\n // Take the `labelImageMarker` (now `data`, the `!`)\n events[index + 1],\n events[index + 2],\n [\"enter\", call, context],\n // The `[`\n events[index + 3],\n events[index + 4],\n // The `^`.\n [\"enter\", marker, context],\n [\"exit\", marker, context],\n // Everything in between.\n [\"enter\", string, context],\n [\"enter\", chunk, context],\n [\"exit\", chunk, context],\n [\"exit\", string, context],\n // The ending (`]`, properly parsed and labelled).\n events[events.length - 2],\n events[events.length - 1],\n [\"exit\", call, context]\n ];\n events.splice(index, events.length - index + 1, ...replacement);\n return events;\n}\nfunction tokenizeGfmFootnoteCall(effects, ok2, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(\"gfmFootnoteCall\");\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n return callStart;\n }\n function callStart(code2) {\n if (code2 !== 94) return nok(code2);\n effects.enter(\"gfmFootnoteCallMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallMarker\");\n effects.enter(\"gfmFootnoteCallString\");\n effects.enter(\"chunkString\").contentType = \"string\";\n return callData;\n }\n function callData(code2) {\n if (\n // Too long.\n size > 999 || // Closing brace with nothing.\n code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)\n ) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(\"chunkString\");\n const token = effects.exit(\"gfmFootnoteCallString\");\n if (!defined.includes(normalizeIdentifier(self.sliceSerialize(token)))) {\n return nok(code2);\n }\n effects.enter(\"gfmFootnoteCallLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteCallLabelMarker\");\n effects.exit(\"gfmFootnoteCall\");\n return ok2;\n }\n if (!markdownLineEndingOrSpace(code2)) {\n data = true;\n }\n size++;\n effects.consume(code2);\n return code2 === 92 ? callEscape : callData;\n }\n function callEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return callData;\n }\n return callData(code2);\n }\n}\nfunction tokenizeDefinitionStart(effects, ok2, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let identifier;\n let size = 0;\n let data;\n return start;\n function start(code2) {\n effects.enter(\"gfmFootnoteDefinition\")._container = true;\n effects.enter(\"gfmFootnoteDefinitionLabel\");\n effects.enter(\"gfmFootnoteDefinitionLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionLabelMarker\");\n return labelAtMarker;\n }\n function labelAtMarker(code2) {\n if (code2 === 94) {\n effects.enter(\"gfmFootnoteDefinitionMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionMarker\");\n effects.enter(\"gfmFootnoteDefinitionLabelString\");\n effects.enter(\"chunkString\").contentType = \"string\";\n return labelInside;\n }\n return nok(code2);\n }\n function labelInside(code2) {\n if (\n // Too long.\n size > 999 || // Closing brace with nothing.\n code2 === 93 && !data || // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code2 === null || code2 === 91 || markdownLineEndingOrSpace(code2)\n ) {\n return nok(code2);\n }\n if (code2 === 93) {\n effects.exit(\"chunkString\");\n const token = effects.exit(\"gfmFootnoteDefinitionLabelString\");\n identifier = normalizeIdentifier(self.sliceSerialize(token));\n effects.enter(\"gfmFootnoteDefinitionLabelMarker\");\n effects.consume(code2);\n effects.exit(\"gfmFootnoteDefinitionLabelMarker\");\n effects.exit(\"gfmFootnoteDefinitionLabel\");\n return labelAfter;\n }\n if (!markdownLineEndingOrSpace(code2)) {\n data = true;\n }\n size++;\n effects.consume(code2);\n return code2 === 92 ? labelEscape : labelInside;\n }\n function labelEscape(code2) {\n if (code2 === 91 || code2 === 92 || code2 === 93) {\n effects.consume(code2);\n size++;\n return labelInside;\n }\n return labelInside(code2);\n }\n function labelAfter(code2) {\n if (code2 === 58) {\n effects.enter(\"definitionMarker\");\n effects.consume(code2);\n effects.exit(\"definitionMarker\");\n if (!defined.includes(identifier)) {\n defined.push(identifier);\n }\n return factorySpace(\n effects,\n whitespaceAfter,\n \"gfmFootnoteDefinitionWhitespace\"\n );\n }\n return nok(code2);\n }\n function whitespaceAfter(code2) {\n return ok2(code2);\n }\n}\nfunction tokenizeDefinitionContinuation(effects, ok2, nok) {\n return effects.check(blankLine, ok2, effects.attempt(indent, ok2, nok));\n}\nfunction gfmFootnoteDefinitionEnd(effects) {\n effects.exit(\"gfmFootnoteDefinition\");\n}\nfunction tokenizeIndent(effects, ok2, nok) {\n const self = this;\n return factorySpace(\n effects,\n afterPrefix,\n \"gfmFootnoteDefinitionIndent\",\n 4 + 1\n );\n function afterPrefix(code2) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"gfmFootnoteDefinitionIndent\" && tail[2].sliceSerialize(tail[1], true).length === 4 ? ok2(code2) : nok(code2);\n }\n}\nfunction gfmStrikethrough(options) {\n const options_ = options || {};\n let single = options_.singleTilde;\n const tokenizer = {\n tokenize: tokenizeStrikethrough,\n resolveAll: resolveAllStrikethrough\n };\n if (single === null || single === void 0) {\n single = true;\n }\n return {\n text: {\n [126]: tokenizer\n },\n insideSpan: {\n null: [tokenizer]\n },\n attentionMarkers: {\n null: [126]\n }\n };\n function resolveAllStrikethrough(events, context) {\n let index = -1;\n while (++index < events.length) {\n if (events[index][0] === \"enter\" && events[index][1].type === \"strikethroughSequenceTemporary\" && events[index][1]._close) {\n let open = index;\n while (open--) {\n if (events[open][0] === \"exit\" && events[open][1].type === \"strikethroughSequenceTemporary\" && events[open][1]._open && // If the sizes are the same:\n events[index][1].end.offset - events[index][1].start.offset === events[open][1].end.offset - events[open][1].start.offset) {\n events[index][1].type = \"strikethroughSequence\";\n events[open][1].type = \"strikethroughSequence\";\n const strikethrough = {\n type: \"strikethrough\",\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[index][1].end)\n };\n const text2 = {\n type: \"strikethroughText\",\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n };\n const nextEvents = [\n [\"enter\", strikethrough, context],\n [\"enter\", events[open][1], context],\n [\"exit\", events[open][1], context],\n [\"enter\", text2, context]\n ];\n const insideSpan = context.parser.constructs.insideSpan.null;\n if (insideSpan) {\n splice(\n nextEvents,\n nextEvents.length,\n 0,\n resolveAll(insideSpan, events.slice(open + 1, index), context)\n );\n }\n splice(nextEvents, nextEvents.length, 0, [\n [\"exit\", text2, context],\n [\"enter\", events[index][1], context],\n [\"exit\", events[index][1], context],\n [\"exit\", strikethrough, context]\n ]);\n splice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - 2;\n break;\n }\n }\n }\n }\n index = -1;\n while (++index < events.length) {\n if (events[index][1].type === \"strikethroughSequenceTemporary\") {\n events[index][1].type = \"data\";\n }\n }\n return events;\n }\n function tokenizeStrikethrough(effects, ok2, nok) {\n const previous2 = this.previous;\n const events = this.events;\n let size = 0;\n return start;\n function start(code2) {\n if (previous2 === 126 && events[events.length - 1][1].type !== \"characterEscape\") {\n return nok(code2);\n }\n effects.enter(\"strikethroughSequenceTemporary\");\n return more(code2);\n }\n function more(code2) {\n const before = classifyCharacter(previous2);\n if (code2 === 126) {\n if (size > 1) return nok(code2);\n effects.consume(code2);\n size++;\n return more;\n }\n if (size < 2 && !single) return nok(code2);\n const token = effects.exit(\"strikethroughSequenceTemporary\");\n const after = classifyCharacter(code2);\n token._open = !after || after === 2 && Boolean(before);\n token._close = !before || before === 2 && Boolean(after);\n return ok2(code2);\n }\n }\n}\nclass EditMap {\n /**\n * Create a new edit map.\n */\n constructor() {\n this.map = [];\n }\n /**\n * Create an edit: a remove and/or add at a certain place.\n *\n * @param {number} index\n * @param {number} remove\n * @param {Array<Event>} add\n * @returns {undefined}\n */\n add(index, remove, add) {\n addImpl(this, index, remove, add);\n }\n // To do: add this when moving to `micromark`.\n // /**\n // * Create an edit: but insert `add` before existing additions.\n // *\n // * @param {number} index\n // * @param {number} remove\n // * @param {Array<Event>} add\n // * @returns {undefined}\n // */\n // addBefore(index, remove, add) {\n // addImpl(this, index, remove, add, true)\n // }\n /**\n * Done, change the events.\n *\n * @param {Array<Event>} events\n * @returns {undefined}\n */\n consume(events) {\n this.map.sort(function(a, b) {\n return a[0] - b[0];\n });\n if (this.map.length === 0) {\n return;\n }\n let index = this.map.length;\n const vecs = [];\n while (index > 0) {\n index -= 1;\n vecs.push(\n events.slice(this.map[index][0] + this.map[index][1]),\n this.map[index][2]\n );\n events.length = this.map[index][0];\n }\n vecs.push([...events]);\n events.length = 0;\n let slice = vecs.pop();\n while (slice) {\n events.push(...slice);\n slice = vecs.pop();\n }\n this.map.length = 0;\n }\n}\nfunction addImpl(editMap, at, remove, add) {\n let index = 0;\n if (remove === 0 && add.length === 0) {\n return;\n }\n while (index < editMap.map.length) {\n if (editMap.map[index][0] === at) {\n editMap.map[index][1] += remove;\n editMap.map[index][2].push(...add);\n return;\n }\n index += 1;\n }\n editMap.map.push([at, remove, add]);\n}\nfunction gfmTableAlign(events, index) {\n let inDelimiterRow = false;\n const align = [];\n while (index < events.length) {\n const event = events[index];\n if (inDelimiterRow) {\n if (event[0] === \"enter\") {\n if (event[1].type === \"tableContent\") {\n align.push(\n events[index + 1][1].type === \"tableDelimiterMarker\" ? \"left\" : \"none\"\n );\n }\n } else if (event[1].type === \"tableContent\") {\n if (events[index - 1][1].type === \"tableDelimiterMarker\") {\n const alignIndex = align.length - 1;\n align[alignIndex] = align[alignIndex] === \"left\" ? \"center\" : \"right\";\n }\n } else if (event[1].type === \"tableDelimiterRow\") {\n break;\n }\n } else if (event[0] === \"enter\" && event[1].type === \"tableDelimiterRow\") {\n inDelimiterRow = true;\n }\n index += 1;\n }\n return align;\n}\nfunction gfmTable() {\n return {\n flow: {\n null: {\n tokenize: tokenizeTable,\n resolveAll: resolveTable\n }\n }\n };\n}\nfunction tokenizeTable(effects, ok2, nok) {\n const self = this;\n let size = 0;\n let sizeB = 0;\n let seen;\n return start;\n function start(code2) {\n let index = self.events.length - 1;\n while (index > -1) {\n const type = self.events[index][1].type;\n if (type === \"lineEnding\" || // Note: markdown-rs uses `whitespace` instead of `linePrefix`\n type === \"linePrefix\")\n index--;\n else break;\n }\n const tail = index > -1 ? self.events[index][1].type : null;\n const next = tail === \"tableHead\" || tail === \"tableRow\" ? bodyRowStart : headRowBefore;\n if (next === bodyRowStart && self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n return next(code2);\n }\n function headRowBefore(code2) {\n effects.enter(\"tableHead\");\n effects.enter(\"tableRow\");\n return headRowStart(code2);\n }\n function headRowStart(code2) {\n if (code2 === 124) {\n return headRowBreak(code2);\n }\n seen = true;\n sizeB += 1;\n return headRowBreak(code2);\n }\n function headRowBreak(code2) {\n if (code2 === null) {\n return nok(code2);\n }\n if (markdownLineEnding(code2)) {\n if (sizeB > 1) {\n sizeB = 0;\n self.interrupt = true;\n effects.exit(\"tableRow\");\n effects.enter(\"lineEnding\");\n effects.consume(code2);\n effects.exit(\"lineEnding\");\n return headDelimiterStart;\n }\n return nok(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, headRowBreak, \"whitespace\")(code2);\n }\n sizeB += 1;\n if (seen) {\n seen = false;\n size += 1;\n }\n if (code2 === 124) {\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n seen = true;\n return headRowBreak;\n }\n effects.enter(\"data\");\n return headRowData(code2);\n }\n function headRowData(code2) {\n if (code2 === null || code2 === 124 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"data\");\n return headRowBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? headRowEscape : headRowData;\n }\n function headRowEscape(code2) {\n if (code2 === 92 || code2 === 124) {\n effects.consume(code2);\n return headRowData;\n }\n return headRowData(code2);\n }\n function headDelimiterStart(code2) {\n self.interrupt = false;\n if (self.parser.lazy[self.now().line]) {\n return nok(code2);\n }\n effects.enter(\"tableDelimiterRow\");\n seen = false;\n if (markdownSpace(code2)) {\n return factorySpace(\n effects,\n headDelimiterBefore,\n \"linePrefix\",\n self.parser.constructs.disable.null.includes(\"codeIndented\") ? void 0 : 4\n )(code2);\n }\n return headDelimiterBefore(code2);\n }\n function headDelimiterBefore(code2) {\n if (code2 === 45 || code2 === 58) {\n return headDelimiterValueBefore(code2);\n }\n if (code2 === 124) {\n seen = true;\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n return headDelimiterCellBefore;\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterCellBefore(code2) {\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterValueBefore, \"whitespace\")(code2);\n }\n return headDelimiterValueBefore(code2);\n }\n function headDelimiterValueBefore(code2) {\n if (code2 === 58) {\n sizeB += 1;\n seen = true;\n effects.enter(\"tableDelimiterMarker\");\n effects.consume(code2);\n effects.exit(\"tableDelimiterMarker\");\n return headDelimiterLeftAlignmentAfter;\n }\n if (code2 === 45) {\n sizeB += 1;\n return headDelimiterLeftAlignmentAfter(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n return headDelimiterCellAfter(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterLeftAlignmentAfter(code2) {\n if (code2 === 45) {\n effects.enter(\"tableDelimiterFiller\");\n return headDelimiterFiller(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterFiller(code2) {\n if (code2 === 45) {\n effects.consume(code2);\n return headDelimiterFiller;\n }\n if (code2 === 58) {\n seen = true;\n effects.exit(\"tableDelimiterFiller\");\n effects.enter(\"tableDelimiterMarker\");\n effects.consume(code2);\n effects.exit(\"tableDelimiterMarker\");\n return headDelimiterRightAlignmentAfter;\n }\n effects.exit(\"tableDelimiterFiller\");\n return headDelimiterRightAlignmentAfter(code2);\n }\n function headDelimiterRightAlignmentAfter(code2) {\n if (markdownSpace(code2)) {\n return factorySpace(effects, headDelimiterCellAfter, \"whitespace\")(code2);\n }\n return headDelimiterCellAfter(code2);\n }\n function headDelimiterCellAfter(code2) {\n if (code2 === 124) {\n return headDelimiterBefore(code2);\n }\n if (code2 === null || markdownLineEnding(code2)) {\n if (!seen || size !== sizeB) {\n return headDelimiterNok(code2);\n }\n effects.exit(\"tableDelimiterRow\");\n effects.exit(\"tableHead\");\n return ok2(code2);\n }\n return headDelimiterNok(code2);\n }\n function headDelimiterNok(code2) {\n return nok(code2);\n }\n function bodyRowStart(code2) {\n effects.enter(\"tableRow\");\n return bodyRowBreak(code2);\n }\n function bodyRowBreak(code2) {\n if (code2 === 124) {\n effects.enter(\"tableCellDivider\");\n effects.consume(code2);\n effects.exit(\"tableCellDivider\");\n return bodyRowBreak;\n }\n if (code2 === null || markdownLineEnding(code2)) {\n effects.exit(\"tableRow\");\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return factorySpace(effects, bodyRowBreak, \"whitespace\")(code2);\n }\n effects.enter(\"data\");\n return bodyRowData(code2);\n }\n function bodyRowData(code2) {\n if (code2 === null || code2 === 124 || markdownLineEndingOrSpace(code2)) {\n effects.exit(\"data\");\n return bodyRowBreak(code2);\n }\n effects.consume(code2);\n return code2 === 92 ? bodyRowEscape : bodyRowData;\n }\n function bodyRowEscape(code2) {\n if (code2 === 92 || code2 === 124) {\n effects.consume(code2);\n return bodyRowData;\n }\n return bodyRowData(code2);\n }\n}\nfunction resolveTable(events, context) {\n let index = -1;\n let inFirstCellAwaitingPipe = true;\n let rowKind = 0;\n let lastCell = [0, 0, 0, 0];\n let cell = [0, 0, 0, 0];\n let afterHeadAwaitingFirstBodyRow = false;\n let lastTableEnd = 0;\n let currentTable;\n let currentBody;\n let currentCell;\n const map2 = new EditMap();\n while (++index < events.length) {\n const event = events[index];\n const token = event[1];\n if (event[0] === \"enter\") {\n if (token.type === \"tableHead\") {\n afterHeadAwaitingFirstBodyRow = false;\n if (lastTableEnd !== 0) {\n flushTableEnd(map2, context, lastTableEnd, currentTable, currentBody);\n currentBody = void 0;\n lastTableEnd = 0;\n }\n currentTable = {\n type: \"table\",\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map2.add(index, 0, [[\"enter\", currentTable, context]]);\n } else if (token.type === \"tableRow\" || token.type === \"tableDelimiterRow\") {\n inFirstCellAwaitingPipe = true;\n currentCell = void 0;\n lastCell = [0, 0, 0, 0];\n cell = [0, index + 1, 0, 0];\n if (afterHeadAwaitingFirstBodyRow) {\n afterHeadAwaitingFirstBodyRow = false;\n currentBody = {\n type: \"tableBody\",\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map2.add(index, 0, [[\"enter\", currentBody, context]]);\n }\n rowKind = token.type === \"tableDelimiterRow\" ? 2 : currentBody ? 3 : 1;\n } else if (rowKind && (token.type === \"data\" || token.type === \"tableDelimiterMarker\" || token.type === \"tableDelimiterFiller\")) {\n inFirstCellAwaitingPipe = false;\n if (cell[2] === 0) {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n void 0,\n currentCell\n );\n lastCell = [0, 0, 0, 0];\n }\n cell[2] = index;\n }\n } else if (token.type === \"tableCellDivider\") {\n if (inFirstCellAwaitingPipe) {\n inFirstCellAwaitingPipe = false;\n } else {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n void 0,\n currentCell\n );\n }\n lastCell = cell;\n cell = [lastCell[1], index, 0, 0];\n }\n }\n } else if (token.type === \"tableHead\") {\n afterHeadAwaitingFirstBodyRow = true;\n lastTableEnd = index;\n } else if (token.type === \"tableRow\" || token.type === \"tableDelimiterRow\") {\n lastTableEnd = index;\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(\n map2,\n context,\n lastCell,\n rowKind,\n index,\n currentCell\n );\n } else if (cell[1] !== 0) {\n currentCell = flushCell(map2, context, cell, rowKind, index, currentCell);\n }\n rowKind = 0;\n } else if (rowKind && (token.type === \"data\" || token.type === \"tableDelimiterMarker\" || token.type === \"tableDelimiterFiller\")) {\n cell[3] = index;\n }\n }\n if (lastTableEnd !== 0) {\n flushTableEnd(map2, context, lastTableEnd, currentTable, currentBody);\n }\n map2.consume(context.events);\n index = -1;\n while (++index < context.events.length) {\n const event = context.events[index];\n if (event[0] === \"enter\" && event[1].type === \"table\") {\n event[1]._align = gfmTableAlign(context.events, index);\n }\n }\n return events;\n}\nfunction flushCell(map2, context, range, rowKind, rowEnd, previousCell) {\n const groupName = rowKind === 1 ? \"tableHeader\" : rowKind === 2 ? \"tableDelimiter\" : \"tableData\";\n const valueName = \"tableContent\";\n if (range[0] !== 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, range[0]));\n map2.add(range[0], 0, [[\"exit\", previousCell, context]]);\n }\n const now = getPoint(context.events, range[1]);\n previousCell = {\n type: groupName,\n start: Object.assign({}, now),\n // Note: correct end is set later.\n end: Object.assign({}, now)\n };\n map2.add(range[1], 0, [[\"enter\", previousCell, context]]);\n if (range[2] !== 0) {\n const relatedStart = getPoint(context.events, range[2]);\n const relatedEnd = getPoint(context.events, range[3]);\n const valueToken = {\n type: valueName,\n start: Object.assign({}, relatedStart),\n end: Object.assign({}, relatedEnd)\n };\n map2.add(range[2], 0, [[\"enter\", valueToken, context]]);\n if (rowKind !== 2) {\n const start = context.events[range[2]];\n const end = context.events[range[3]];\n start[1].end = Object.assign({}, end[1].end);\n start[1].type = \"chunkText\";\n start[1].contentType = \"text\";\n if (range[3] > range[2] + 1) {\n const a = range[2] + 1;\n const b = range[3] - range[2] - 1;\n map2.add(a, b, []);\n }\n }\n map2.add(range[3] + 1, 0, [[\"exit\", valueToken, context]]);\n }\n if (rowEnd !== void 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, rowEnd));\n map2.add(rowEnd, 0, [[\"exit\", previousCell, context]]);\n previousCell = void 0;\n }\n return previousCell;\n}\nfunction flushTableEnd(map2, context, index, table, tableBody) {\n const exits = [];\n const related = getPoint(context.events, index);\n if (tableBody) {\n tableBody.end = Object.assign({}, related);\n exits.push([\"exit\", tableBody, context]);\n }\n table.end = Object.assign({}, related);\n exits.push([\"exit\", table, context]);\n map2.add(index + 1, 0, exits);\n}\nfunction getPoint(events, index) {\n const event = events[index];\n const side = event[0] === \"enter\" ? \"start\" : \"end\";\n return event[1][side];\n}\nconst tasklistCheck = {\n tokenize: tokenizeTasklistCheck\n};\nfunction gfmTaskListItem() {\n return {\n text: {\n [91]: tasklistCheck\n }\n };\n}\nfunction tokenizeTasklistCheck(effects, ok2, nok) {\n const self = this;\n return open;\n function open(code2) {\n if (\n // Exit if there’s stuff before.\n self.previous !== null || // Exit if not in the first content that is the first child of a list\n // item.\n !self._gfmTasklistFirstContentOfListItem\n ) {\n return nok(code2);\n }\n effects.enter(\"taskListCheck\");\n effects.enter(\"taskListCheckMarker\");\n effects.consume(code2);\n effects.exit(\"taskListCheckMarker\");\n return inside;\n }\n function inside(code2) {\n if (markdownLineEndingOrSpace(code2)) {\n effects.enter(\"taskListCheckValueUnchecked\");\n effects.consume(code2);\n effects.exit(\"taskListCheckValueUnchecked\");\n return close;\n }\n if (code2 === 88 || code2 === 120) {\n effects.enter(\"taskListCheckValueChecked\");\n effects.consume(code2);\n effects.exit(\"taskListCheckValueChecked\");\n return close;\n }\n return nok(code2);\n }\n function close(code2) {\n if (code2 === 93) {\n effects.enter(\"taskListCheckMarker\");\n effects.consume(code2);\n effects.exit(\"taskListCheckMarker\");\n effects.exit(\"taskListCheck\");\n return after;\n }\n return nok(code2);\n }\n function after(code2) {\n if (markdownLineEnding(code2)) {\n return ok2(code2);\n }\n if (markdownSpace(code2)) {\n return effects.check(\n {\n tokenize: spaceThenNonSpace\n },\n ok2,\n nok\n )(code2);\n }\n return nok(code2);\n }\n}\nfunction spaceThenNonSpace(effects, ok2, nok) {\n return factorySpace(effects, after, \"whitespace\");\n function after(code2) {\n return code2 === null ? nok(code2) : ok2(code2);\n }\n}\nfunction gfm(options) {\n return combineExtensions([\n gfmAutolinkLiteral(),\n gfmFootnote(),\n gfmStrikethrough(options),\n gfmTable(),\n gfmTaskListItem()\n ]);\n}\nconst emptyOptions = {};\nfunction remarkGfm(options) {\n const self = (\n /** @type {Processor<Root>} */\n this\n );\n const settings = options || emptyOptions;\n const data = self.data();\n const micromarkExtensions = data.micromarkExtensions || (data.micromarkExtensions = []);\n const fromMarkdownExtensions = data.fromMarkdownExtensions || (data.fromMarkdownExtensions = []);\n const toMarkdownExtensions = data.toMarkdownExtensions || (data.toMarkdownExtensions = []);\n micromarkExtensions.push(gfm(settings));\n fromMarkdownExtensions.push(gfmFromMarkdown());\n toMarkdownExtensions.push(gfmToMarkdown(settings));\n}\nconst LINK_PROTOCOLS = [\"http\", \"https\", \"mailto\", \"tel\"];\nconst rehypeHighlight = ref(null);\nasync function importRehypeHighlightLibrary() {\n const module = await import(\"rehype-highlight\");\n rehypeHighlight.value = module.default;\n}\nconst _sfc_main = {\n name: \"NcRichText\",\n components: {\n NcReferenceList\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n arguments: {\n type: Object,\n default: () => {\n return {};\n }\n },\n referenceLimit: {\n type: Number,\n default: 0\n },\n referenceInteractive: {\n type: Boolean,\n default: true\n },\n referenceInteractiveOptIn: {\n type: Boolean,\n default: false\n },\n /** Provide data upfront to avoid extra http request */\n references: {\n type: Array,\n default: null\n },\n /** Provide basic Markdown syntax */\n useMarkdown: {\n type: Boolean,\n default: false\n },\n /** Provide GitHub Flavored Markdown syntax */\n useExtendedMarkdown: {\n type: Boolean,\n default: false\n },\n /** Provide event from rendered markdown inputs */\n interactive: {\n type: Boolean,\n default: false\n },\n autolink: {\n type: Boolean,\n default: true\n }\n },\n emits: [\n \"interact-todo\",\n \"interact:todo\"\n ],\n data() {\n return {\n parentId: GenRandomId(5)\n };\n },\n methods: {\n renderPlaintext(h) {\n const context = this;\n const placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map(function(entry, index, list2) {\n const matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!matches) {\n return prepareTextNode({ h, context }, entry);\n }\n const argumentId = matches[1];\n const argument = context.arguments[argumentId];\n if (typeof argument === \"object\") {\n const { component, props } = argument;\n return h(component, {\n props,\n class: \"rich-text--component\"\n });\n }\n if (argument) {\n return h(\"span\", { class: \"rich-text--fallback\" }, argument);\n }\n return entry;\n });\n return h(\"div\", { class: \"rich-text--wrapper\" }, [\n h(\"div\", {}, placeholders.flat()),\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(NcReferenceList, {\n props: {\n text: this.text,\n referenceData: this.references,\n interactive: this.referenceInteractive,\n interactiveOptIn: this.referenceInteractiveOptIn\n }\n })\n ]) : null\n ]);\n },\n renderMarkdown(h) {\n const renderedMarkdown = unified().use(remarkParse).use(remarkAutolink, {\n autolink: this.autolink,\n useMarkdown: this.useMarkdown,\n useExtendedMarkdown: this.useExtendedMarkdown\n }).use(remarkUnescape).use(this.useExtendedMarkdown ? remarkGfm : void 0).use(breaks).use(remarkUnlinkProtocols, { except: LINK_PROTOCOLS }).use(remark2rehype, {\n handlers: {\n component(toHast, node2) {\n return toHast(node2, node2.component, { value: node2.value });\n }\n }\n }).use(this.useExtendedMarkdown ? rehypeHighlight.value : void 0).use(remarkPlaceholder).use(rehypeExternalLinks, {\n target: \"_blank\",\n rel: [\"noopener noreferrer\"]\n }).use(rehype2react, {\n createElement: (tag, attrs, children) => {\n if (!tag.startsWith(\"#\")) {\n if (this.useExtendedMarkdown) {\n if (tag === \"code\" && !rehypeHighlight.value && attrs?.attrs?.class?.includes(\"language\")) {\n importRehypeHighlightLibrary();\n }\n let nestedNode = null;\n if (tag === \"li\" && Array.isArray(children) && children[0].tag === \"input\" && children[0].data.attrs.type === \"checkbox\") {\n const [inputNode, ...labelParts] = children;\n const nestedNodeIndex = labelParts.findIndex((child) => [\"ul\", \"ol\", \"li\", \"blockquote\", \"pre\"].includes(child.tag));\n if (nestedNodeIndex !== -1) {\n nestedNode = labelParts[nestedNodeIndex];\n labelParts.splice(nestedNodeIndex);\n }\n const id = this.parentId + \"-markdown-input-\" + GenRandomId(5);\n const inputComponent = h(NcCheckboxRadioSwitch, {\n attrs: {\n ...inputNode.data.attrs,\n id,\n disabled: !this.interactive\n },\n on: {\n \"update:checked\": () => {\n this.$emit(\"interact-todo\", id);\n this.$emit(\"interact:todo\", id);\n }\n }\n }, labelParts);\n return h(tag, attrs, [inputComponent, nestedNode]);\n }\n }\n if (tag === \"a\") {\n const route = getRoute(this.$router, attrs.attrs.href);\n if (route) {\n delete attrs.attrs.href;\n delete attrs.attrs.target;\n return h(RouterLink, {\n ...attrs,\n props: {\n to: route\n }\n }, children);\n }\n }\n return h(tag, attrs, children);\n }\n const placeholder = this.arguments[tag.slice(1)];\n if (!placeholder) {\n return h(\"span\", { ...{ attrs }, ...{ class: \"rich-text--fallback\" } }, [`{${tag.slice(1)}}`]);\n }\n if (!placeholder.component) {\n return h(\"span\", attrs, [placeholder]);\n }\n return h(\n placeholder.component,\n {\n attrs,\n props: placeholder.props,\n class: \"rich-text--component\"\n },\n children\n );\n },\n prefix: false\n }).processSync(\n this.text.replace(/<[^>]+>/g, (match) => match.replace(/</g, \"<\")).replace(/>/gmi, \">\")\n ).result;\n return h(\"div\", { class: \"rich-text--wrapper rich-text--wrapper-markdown\" }, [\n renderedMarkdown,\n this.referenceLimit > 0 ? h(\"div\", { class: \"rich-text--reference-widget\" }, [\n h(NcReferenceList, {\n props: {\n text: this.text,\n referenceData: this.references,\n interactive: this.referenceInteractive,\n interactiveOptIn: this.referenceInteractiveOptIn\n }\n })\n ]) : null\n ]);\n }\n },\n render(h) {\n return this.useMarkdown || this.useExtendedMarkdown ? this.renderMarkdown(h) : this.renderPlaintext(h);\n }\n};\nconst _sfc_render = null;\nconst _sfc_staticRenderFns = null;\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"cd4f75c7\"\n);\nconst NcRichText = __component__.exports;\nexport {\n NcRichText as N,\n NcReferenceList as a\n};\n//# sourceMappingURL=NcRichText-BWY0OxW9.mjs.map\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../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._fadeTransition_13rtj_2 {\n\ttransition: all var(--animation-quick) ease;\n}\n._fadeTransitionActive_13rtj_6 {\n\topacity: 0;\n\tposition: absolute;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcBlurHash-7aGtE-_T.css\"],\"names\":[],\"mappings\":\";AACA;CACC,2CAA2C;AAC5C;AACA;CACC,UAAU;CACV,kBAAkB;AACnB\",\"sourcesContent\":[\"\\n._fadeTransition_13rtj_2 {\\n\\ttransition: all var(--animation-quick) ease;\\n}\\n._fadeTransitionActive_13rtj_6 {\\n\\topacity: 0;\\n\\tposition: absolute;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationNew-Dbo2rvXH.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcAppNavigationNew-Dbo2rvXH.css\";\n export default content && content.locals ? content.locals : undefined;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../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 * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-46fee9ac] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n\n/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n.app-navigation-entry[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n min-height: var(--default-clickable-area);\n transition: background-color var(--animation-quick) ease-in-out;\n transition: background-color 200ms ease-in-out;\n border-radius: var(--border-radius-element, var(--border-radius-pill));\n /* hide deletion/collapse of subitems */\n}\n.app-navigation-entry-wrapper[data-v-46fee9ac] {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n}\n.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul[data-v-46fee9ac] {\n display: none;\n}\n.app-navigation-entry.active[data-v-46fee9ac] {\n background-color: var(--color-primary-element) !important;\n}\n.app-navigation-entry.active[data-v-46fee9ac]:hover {\n background-color: var(--color-primary-element-hover) !important;\n}\n.app-navigation-entry.active .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry.active .app-navigation-entry-button[data-v-46fee9ac] {\n color: var(--color-primary-element-text) !important;\n}\n.app-navigation-entry[data-v-46fee9ac]:focus-within, .app-navigation-entry[data-v-46fee9ac]:hover {\n background-color: var(--color-background-hover);\n}\n.app-navigation-entry.active .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__children[data-v-46fee9ac] {\n background-color: var(--color-main-background);\n}\n.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac] {\n display: inline-block;\n}\n.app-navigation-entry.app-navigation-entry--deleted > ul[data-v-46fee9ac] {\n display: none;\n}\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-46fee9ac] {\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac] {\n z-index: 100; /* above the bullet to allow click*/\n display: flex;\n overflow: hidden;\n flex: 1 1 0;\n box-sizing: border-box;\n min-height: var(--default-clickable-area);\n padding: 0;\n white-space: nowrap;\n color: var(--color-main-text);\n background-repeat: no-repeat;\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n background-size: 16px 16px;\n line-height: var(--default-clickable-area);\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-46fee9ac] {\n display: flex;\n align-items: center;\n flex: 0 0 var(--default-clickable-area);\n justify-content: center;\n width: var(--default-clickable-area);\n height: var(--default-clickable-area);\n background-size: 16px 16px;\n background-repeat: no-repeat;\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\n}\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-46fee9ac] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-46fee9ac] {\n width: calc(100% - var(--default-clickable-area));\n margin: auto;\n}\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac]:focus-visible, .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac]:focus-visible {\n box-shadow: 0 0 0 4px var(--color-main-background);\n outline: 2px solid var(--color-main-text);\n border-radius: var(--border-radius-element, var(--border-radius-pill));\n}\n\n/* Second level nesting for lists */\n.app-navigation-entry__children[data-v-46fee9ac] {\n --app-navigation-item-child-offset: 10px;\n position: relative;\n display: flex;\n flex: 0 1 auto;\n flex-direction: column;\n width: 100%;\n gap: var(--default-grid-baseline, 4px);\n padding-inline-start: var(--app-navigation-item-child-offset);\n}\n.app-navigation-entry__children .app-navigation-entry[data-v-46fee9ac] {\n display: inline-flex;\n flex-wrap: wrap;\n}\n.app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children[data-v-46fee9ac] {\n --app-navigation-item-child-offset: 0;\n}\n\n/* Deleted entries */\n.app-navigation-entry__deleted[data-v-46fee9ac] {\n display: inline-flex;\n flex: 1 1 0;\n padding-inline-start: calc(var(--default-clickable-area) - (var(--default-clickable-area) - 16px) / 2) !important;\n}\n.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-46fee9ac] {\n position: relative;\n overflow: hidden;\n flex: 1 1 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: var(--default-clickable-area);\n}\n\n/* counter and actions */\n.app-navigation-entry__utils[data-v-46fee9ac] {\n display: flex;\n min-width: var(--default-clickable-area);\n align-items: center;\n flex: 0 1 auto;\n justify-content: flex-end;\n /* counter */\n /* actions */\n}\n.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\n display: inline-block;\n}\n.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-46fee9ac] {\n margin-inline-end: calc(var(--default-grid-baseline) * 2);\n display: flex;\n align-items: center;\n flex: 0 1 auto;\n}\n.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\n display: none;\n}\n\n/* editing state */\n.app-navigation-entry--editing .app-navigation-entry-edit[data-v-46fee9ac] {\n z-index: 250;\n opacity: 1;\n}\n\n/* deleted state */\n.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-46fee9ac] {\n z-index: 250;\n transform: translateX(0);\n}\n\n/* pinned state */\n.app-navigation-entry--pinned[data-v-46fee9ac] {\n order: 2;\n margin-top: auto;\n}\n.app-navigation-entry--pinned ~ .app-navigation-entry--pinned[data-v-46fee9ac] {\n margin-top: 0;\n}\n[data-themes*=highcontrast] .app-navigation-entry[data-v-46fee9ac]:active {\n background-color: var(--color-primary-element-light-hover) !important;\n}\n.app-navigation-new-item__name[data-v-46fee9ac] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding-inline-start: 7px;\n font-size: 14px;\n}\n.newItemContainer[data-v-46fee9ac] {\n width: calc(100% - var(--default-clickable-area));\n margin: auto;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNewItem-PE-w8y-g.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;;;EAGE;AACF;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,eAAe;EACf,sBAAsB;EACtB,WAAW;EACX,yCAAyC;EACzC,+DAA+D;EAC/D,8CAA8C;EAC9C,sEAAsE;EACtE,uCAAuC;AACzC;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,eAAe;EACf,sBAAsB;EACtB,WAAW;AACb;AACA;EACE,aAAa;AACf;AACA;EACE,yDAAyD;AAC3D;AACA;EACE,+DAA+D;AACjE;AACA;EACE,mDAAmD;AACrD;AACA;EACE,+CAA+C;AACjD;AACA;EACE,8CAA8C;AAChD;AACA;EACE,qBAAqB;AACvB;AACA;EACE,aAAa;AACf;AACA;EACE,oEAAoE;AACtE;AACA;EACE,YAAY,EAAE,mCAAmC;EACjD,aAAa;EACb,gBAAgB;EAChB,WAAW;EACX,sBAAsB;EACtB,yCAAyC;EACzC,UAAU;EACV,mBAAmB;EACnB,6BAA6B;EAC7B,4BAA4B;EAC5B,4EAA4E;EAC5E,0BAA0B;EAC1B,0CAA0C;AAC5C;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uCAAuC;EACvC,uBAAuB;EACvB,oCAAoC;EACpC,qCAAqC;EACrC,0BAA0B;EAC1B,4BAA4B;EAC5B,4EAA4E;AAC9E;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iDAAiD;EACjD,YAAY;AACd;AACA;EACE,kDAAkD;EAClD,yCAAyC;EACzC,sEAAsE;AACxE;;AAEA,mCAAmC;AACnC;EACE,wCAAwC;EACxC,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,sBAAsB;EACtB,WAAW;EACX,sCAAsC;EACtC,6DAA6D;AAC/D;AACA;EACE,oBAAoB;EACpB,eAAe;AACjB;AACA;EACE,qCAAqC;AACvC;;AAEA,oBAAoB;AACpB;EACE,oBAAoB;EACpB,WAAW;EACX,iHAAiH;AACnH;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,WAAW;EACX,mBAAmB;EACnB,uBAAuB;EACvB,0CAA0C;AAC5C;;AAEA,wBAAwB;AACxB;EACE,aAAa;EACb,wCAAwC;EACxC,mBAAmB;EACnB,cAAc;EACd,yBAAyB;EACzB,YAAY;EACZ,YAAY;AACd;AACA;EACE,qBAAqB;AACvB;AACA;EACE,yDAAyD;EACzD,aAAa;EACb,mBAAmB;EACnB,cAAc;AAChB;AACA;EACE,aAAa;AACf;;AAEA,kBAAkB;AAClB;EACE,YAAY;EACZ,UAAU;AACZ;;AAEA,kBAAkB;AAClB;EACE,YAAY;EACZ,wBAAwB;AAC1B;;AAEA,iBAAiB;AACjB;EACE,QAAQ;EACR,gBAAgB;AAClB;AACA;EACE,aAAa;AACf;AACA;EACE,qEAAqE;AACvE;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,mBAAmB;EACnB,uBAAuB;EACvB,yBAAyB;EACzB,eAAe;AACjB;AACA;EACE,iDAAiD;EACjD,YAAY;AACd\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-46fee9ac] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n.app-navigation-entry[data-v-46fee9ac] {\\n position: relative;\\n display: flex;\\n flex-shrink: 0;\\n flex-wrap: wrap;\\n box-sizing: border-box;\\n width: 100%;\\n min-height: var(--default-clickable-area);\\n transition: background-color var(--animation-quick) ease-in-out;\\n transition: background-color 200ms ease-in-out;\\n border-radius: var(--border-radius-element, var(--border-radius-pill));\\n /* hide deletion/collapse of subitems */\\n}\\n.app-navigation-entry-wrapper[data-v-46fee9ac] {\\n position: relative;\\n display: flex;\\n flex-shrink: 0;\\n flex-wrap: wrap;\\n box-sizing: border-box;\\n width: 100%;\\n}\\n.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul[data-v-46fee9ac] {\\n display: none;\\n}\\n.app-navigation-entry.active[data-v-46fee9ac] {\\n background-color: var(--color-primary-element) !important;\\n}\\n.app-navigation-entry.active[data-v-46fee9ac]:hover {\\n background-color: var(--color-primary-element-hover) !important;\\n}\\n.app-navigation-entry.active .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry.active .app-navigation-entry-button[data-v-46fee9ac] {\\n color: var(--color-primary-element-text) !important;\\n}\\n.app-navigation-entry[data-v-46fee9ac]:focus-within, .app-navigation-entry[data-v-46fee9ac]:hover {\\n background-color: var(--color-background-hover);\\n}\\n.app-navigation-entry.active .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__children[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__children[data-v-46fee9ac] {\\n background-color: var(--color-main-background);\\n}\\n.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac], .app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-46fee9ac] {\\n display: inline-block;\\n}\\n.app-navigation-entry.app-navigation-entry--deleted > ul[data-v-46fee9ac] {\\n display: none;\\n}\\n.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-46fee9ac] {\\n padding-inline-end: calc((var(--default-clickable-area) - 16px) / 2);\\n}\\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac] {\\n z-index: 100; /* above the bullet to allow click*/\\n display: flex;\\n overflow: hidden;\\n flex: 1 1 0;\\n box-sizing: border-box;\\n min-height: var(--default-clickable-area);\\n padding: 0;\\n white-space: nowrap;\\n color: var(--color-main-text);\\n background-repeat: no-repeat;\\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\\n background-size: 16px 16px;\\n line-height: var(--default-clickable-area);\\n}\\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-46fee9ac] {\\n display: flex;\\n align-items: center;\\n flex: 0 0 var(--default-clickable-area);\\n justify-content: center;\\n width: var(--default-clickable-area);\\n height: var(--default-clickable-area);\\n background-size: 16px 16px;\\n background-repeat: no-repeat;\\n background-position: calc((var(--default-clickable-area) - 16px) / 2) center;\\n}\\n.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-46fee9ac] {\\n overflow: hidden;\\n max-width: 100%;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-46fee9ac], .app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-46fee9ac] {\\n width: calc(100% - var(--default-clickable-area));\\n margin: auto;\\n}\\n.app-navigation-entry .app-navigation-entry-link[data-v-46fee9ac]:focus-visible, .app-navigation-entry .app-navigation-entry-button[data-v-46fee9ac]:focus-visible {\\n box-shadow: 0 0 0 4px var(--color-main-background);\\n outline: 2px solid var(--color-main-text);\\n border-radius: var(--border-radius-element, var(--border-radius-pill));\\n}\\n\\n/* Second level nesting for lists */\\n.app-navigation-entry__children[data-v-46fee9ac] {\\n --app-navigation-item-child-offset: 10px;\\n position: relative;\\n display: flex;\\n flex: 0 1 auto;\\n flex-direction: column;\\n width: 100%;\\n gap: var(--default-grid-baseline, 4px);\\n padding-inline-start: var(--app-navigation-item-child-offset);\\n}\\n.app-navigation-entry__children .app-navigation-entry[data-v-46fee9ac] {\\n display: inline-flex;\\n flex-wrap: wrap;\\n}\\n.app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children[data-v-46fee9ac] {\\n --app-navigation-item-child-offset: 0;\\n}\\n\\n/* Deleted entries */\\n.app-navigation-entry__deleted[data-v-46fee9ac] {\\n display: inline-flex;\\n flex: 1 1 0;\\n padding-inline-start: calc(var(--default-clickable-area) - (var(--default-clickable-area) - 16px) / 2) !important;\\n}\\n.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-46fee9ac] {\\n position: relative;\\n overflow: hidden;\\n flex: 1 1 0;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n line-height: var(--default-clickable-area);\\n}\\n\\n/* counter and actions */\\n.app-navigation-entry__utils[data-v-46fee9ac] {\\n display: flex;\\n min-width: var(--default-clickable-area);\\n align-items: center;\\n flex: 0 1 auto;\\n justify-content: flex-end;\\n /* counter */\\n /* actions */\\n}\\n.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\\n display: inline-block;\\n}\\n.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-46fee9ac] {\\n margin-inline-end: calc(var(--default-grid-baseline) * 2);\\n display: flex;\\n align-items: center;\\n flex: 0 1 auto;\\n}\\n.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-46fee9ac] {\\n display: none;\\n}\\n\\n/* editing state */\\n.app-navigation-entry--editing .app-navigation-entry-edit[data-v-46fee9ac] {\\n z-index: 250;\\n opacity: 1;\\n}\\n\\n/* deleted state */\\n.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-46fee9ac] {\\n z-index: 250;\\n transform: translateX(0);\\n}\\n\\n/* pinned state */\\n.app-navigation-entry--pinned[data-v-46fee9ac] {\\n order: 2;\\n margin-top: auto;\\n}\\n.app-navigation-entry--pinned ~ .app-navigation-entry--pinned[data-v-46fee9ac] {\\n margin-top: 0;\\n}\\n[data-themes*=highcontrast] .app-navigation-entry[data-v-46fee9ac]:active {\\n background-color: var(--color-primary-element-light-hover) !important;\\n}\\n.app-navigation-new-item__name[data-v-46fee9ac] {\\n overflow: hidden;\\n max-width: 100%;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n padding-inline-start: 7px;\\n font-size: 14px;\\n}\\n.newItemContainer[data-v-46fee9ac] {\\n width: calc(100% - var(--default-clickable-area));\\n margin: auto;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppNavigation,{staticClass:\"account-management__navigation\",attrs:{\"aria-label\":_setup.t('settings', 'Account management')},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_c(_setup.NcButton,{staticClass:\"account-management__settings-toggle\",attrs:{\"type\":\"tertiary\"},on:{\"click\":function($event){_setup.isDialogOpen = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiCogOutline}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_setup.t('settings', 'Account management settings'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c(_setup.UserSettingsDialog,{attrs:{\"open\":_setup.isDialogOpen},on:{\"update:open\":function($event){_setup.isDialogOpen=$event}}})]},proxy:true}])},[_c(_setup.NcAppNavigationNew,{attrs:{\"button-id\":\"new-user-button\",\"text\":_setup.t('settings','New account')},on:{\"click\":_setup.showNewUserMenu,\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _setup.showNewUserMenu.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;return _setup.showNewUserMenu.apply(null, arguments)}]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiPlus}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationList,{staticClass:\"account-management__system-list\",attrs:{\"data-cy-users-settings-navigation-groups\":\"system\"}},[_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"everyone\",\"exact\":true,\"name\":_setup.t('settings', 'All accounts'),\"to\":{ name: 'users' }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiAccountOutline}})]},proxy:true},{key:\"counter\",fn:function(){return [(_setup.userCount)?_c(_setup.NcCounterBubble,{attrs:{\"type\":!_setup.selectedGroupDecoded ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.userCount)+\"\\n\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}])}),_vm._v(\" \"),(_setup.settings.isAdmin)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"admin\",\"exact\":true,\"name\":_setup.t('settings', 'Admins'),\"to\":{ name: 'group', params: { selectedGroup: 'admin' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiShieldAccountOutline}})]},proxy:true},{key:\"counter\",fn:function(){return [(_setup.adminGroup && _setup.adminGroup.count > 0)?_c(_setup.NcCounterBubble,{attrs:{\"type\":_setup.selectedGroupDecoded === 'admin' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.adminGroup.count)+\"\\n\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}],null,false,3779933833)}):_vm._e(),_vm._v(\" \"),(_setup.isAdminOrDelegatedAdmin)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"recent\",\"exact\":true,\"name\":_setup.t('settings', 'Recently active'),\"to\":{ name: 'group', params: { selectedGroup: '__nc_internal_recent' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiHistory}})]},proxy:true},{key:\"counter\",fn:function(){return [(_setup.recentGroup?.usercount)?_c(_setup.NcCounterBubble,{attrs:{\"type\":_setup.selectedGroupDecoded === '__nc_internal_recent' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.recentGroup.usercount)+\"\\n\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}],null,false,2299424282)}):_vm._e(),_vm._v(\" \"),(_setup.disabledGroup && (_setup.disabledGroup.usercount > 0 || _setup.disabledGroup.usercount === -1))?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"disabled\",\"exact\":true,\"name\":_setup.t('settings', 'Disabled accounts'),\"to\":{ name: 'group', params: { selectedGroup: 'disabled' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiAccountOffOutline}})]},proxy:true},(_setup.disabledGroup.usercount > 0)?{key:\"counter\",fn:function(){return [_c(_setup.NcCounterBubble,{attrs:{\"type\":_setup.selectedGroupDecoded === 'disabled' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.disabledGroup.usercount)+\"\\n\\t\\t\\t\\t\")])]},proxy:true}:null],null,true)}):_vm._e()],1),_vm._v(\" \"),_c(_setup.AppNavigationGroupList)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<NcAppSettingsDialog :open.sync=\"isModalOpen\"\n\t\t:show-navigation=\"true\"\n\t\t:name=\"t('settings', 'Account management settings')\">\n\t\t<NcAppSettingsSection id=\"visibility-settings\"\n\t\t\t:name=\"t('settings', 'Visibility')\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showLanguages\"\n\t\t\t\t:checked.sync=\"showLanguages\">\n\t\t\t\t{{ t('settings', 'Show language') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showUserBackend\"\n\t\t\t\t:checked.sync=\"showUserBackend\">\n\t\t\t\t{{ t('settings', 'Show account backend') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showStoragePath\"\n\t\t\t\t:checked.sync=\"showStoragePath\">\n\t\t\t\t{{ t('settings', 'Show storage path') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showFirstLogin\"\n\t\t\t\t:checked.sync=\"showFirstLogin\">\n\t\t\t\t{{ t('settings', 'Show first login') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showLastLogin\"\n\t\t\t\t:checked.sync=\"showLastLogin\">\n\t\t\t\t{{ t('settings', 'Show last login') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcAppSettingsSection>\n\n\t\t<NcAppSettingsSection id=\"groups-sorting\"\n\t\t\t:name=\"t('settings', 'Sorting')\">\n\t\t\t<NcNoteCard v-if=\"isGroupSortingEnforced\" type=\"warning\">\n\t\t\t\t{{ t('settings', 'The system config enforces sorting the groups by name. This also disables showing the member count.') }}\n\t\t\t</NcNoteCard>\n\t\t\t<fieldset>\n\t\t\t\t<legend>{{ t('settings', 'Group list sorting') }}</legend>\n\t\t\t\t<NcNoteCard class=\"dialog__note\"\n\t\t\t\t\ttype=\"info\"\n\t\t\t\t\t:text=\"t('settings', 'Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list.')\" />\n\t\t\t\t<NcCheckboxRadioSwitch type=\"radio\"\n\t\t\t\t\t:checked.sync=\"groupSorting\"\n\t\t\t\t\tdata-test=\"sortGroupsByMemberCount\"\n\t\t\t\t\t:disabled=\"isGroupSortingEnforced\"\n\t\t\t\t\tname=\"group-sorting-mode\"\n\t\t\t\t\tvalue=\"member-count\">\n\t\t\t\t\t{{ t('settings', 'By member count') }}\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t<NcCheckboxRadioSwitch type=\"radio\"\n\t\t\t\t\t:checked.sync=\"groupSorting\"\n\t\t\t\t\tdata-test=\"sortGroupsByName\"\n\t\t\t\t\t:disabled=\"isGroupSortingEnforced\"\n\t\t\t\t\tname=\"group-sorting-mode\"\n\t\t\t\t\tvalue=\"name\">\n\t\t\t\t\t{{ t('settings', 'By name') }}\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t</fieldset>\n\t\t</NcAppSettingsSection>\n\n\t\t<NcAppSettingsSection id=\"email-settings\"\n\t\t\t:name=\"t('settings', 'Send email')\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"sendWelcomeMail\"\n\t\t\t\t:checked.sync=\"sendWelcomeMail\"\n\t\t\t\t:disabled=\"loadingSendMail\">\n\t\t\t\t{{ t('settings', 'Send welcome email to new accounts') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcAppSettingsSection>\n\n\t\t<NcAppSettingsSection id=\"default-settings\"\n\t\t\t:name=\"t('settings', 'Defaults')\">\n\t\t\t<NcSelect v-model=\"defaultQuota\"\n\t\t\t\t:clearable=\"false\"\n\t\t\t\t:create-option=\"validateQuota\"\n\t\t\t\t:filter-by=\"filterQuotas\"\n\t\t\t\t:input-label=\"t('settings', 'Default quota')\"\n\t\t\t\t:options=\"quotaOptions\"\n\t\t\t\tplacement=\"top\"\n\t\t\t\t:placeholder=\"t('settings', 'Select default quota')\"\n\t\t\t\ttaggable\n\t\t\t\t@option:selected=\"setDefaultQuota\" />\n\t\t</NcAppSettingsSection>\n\t</NcAppSettingsDialog>\n</template>\n\n<script>\nimport { formatFileSize, parseFileSize } from '@nextcloud/files'\nimport { generateUrl } from '@nextcloud/router'\n\nimport axios from '@nextcloud/axios'\nimport NcAppSettingsDialog from '@nextcloud/vue/components/NcAppSettingsDialog'\nimport NcAppSettingsSection from '@nextcloud/vue/components/NcAppSettingsSection'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/components/NcCheckboxRadioSwitch'\nimport NcNoteCard from '@nextcloud/vue/components/NcNoteCard'\nimport NcSelect from '@nextcloud/vue/components/NcSelect'\n\nimport { GroupSorting } from '../../constants/GroupManagement.ts'\nimport { unlimitedQuota } from '../../utils/userUtils.ts'\nimport logger from '../../logger.ts'\n\nexport default {\n\tname: 'UserSettingsDialog',\n\n\tcomponents: {\n\t\tNcAppSettingsDialog,\n\t\tNcAppSettingsSection,\n\t\tNcCheckboxRadioSwitch,\n\t\tNcNoteCard,\n\t\tNcSelect,\n\t},\n\n\tprops: {\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tselectedQuota: false,\n\t\t\tloadingSendMail: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tgroupSorting: {\n\t\t\tget() {\n\t\t\t\treturn this.$store.getters.getGroupSorting === GroupSorting.GroupName ? 'name' : 'member-count'\n\t\t\t},\n\t\t\tset(sorting) {\n\t\t\t\tthis.$store.commit('setGroupSorting', sorting === 'name' ? GroupSorting.GroupName : GroupSorting.UserCount)\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Admin has configured `sort_groups_by_name` in the system config\n\t\t */\n\t\tisGroupSortingEnforced() {\n\t\t\treturn this.$store.getters.getServerData.forceSortGroupByName\n\t\t},\n\n\t\tisModalOpen: {\n\t\t\tget() {\n\t\t\t\treturn this.open\n\t\t\t},\n\t\t\tset(open) {\n\t\t\t\tthis.$emit('update:open', open)\n\t\t\t},\n\t\t},\n\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tshowLanguages: {\n\t\t\tget() {\n\t\t\t\treturn this.showConfig.showLanguages\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setShowConfig('showLanguages', status)\n\t\t\t},\n\t\t},\n\n\t\tshowFirstLogin: {\n\t\t\tget() {\n\t\t\t\treturn this.showConfig.showFirstLogin\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setShowConfig('showFirstLogin', status)\n\t\t\t},\n\t\t},\n\n\t\tshowLastLogin: {\n\t\t\tget() {\n\t\t\t\treturn this.showConfig.showLastLogin\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setShowConfig('showLastLogin', status)\n\t\t\t},\n\t\t},\n\n\t\tshowUserBackend: {\n\t\t\tget() {\n\t\t\t\treturn this.showConfig.showUserBackend\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setShowConfig('showUserBackend', status)\n\t\t\t},\n\t\t},\n\n\t\tshowStoragePath: {\n\t\t\tget() {\n\t\t\t\treturn this.showConfig.showStoragePath\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setShowConfig('showStoragePath', status)\n\t\t\t},\n\t\t},\n\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tconst quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({ id: cur, label: cur }), [])\n\t\t\t// add default presets\n\t\t\tif (this.settings.allowUnlimitedQuota) {\n\t\t\t\tquotaPreset.unshift(unlimitedQuota)\n\t\t\t}\n\t\t\treturn quotaPreset\n\t\t},\n\n\t\tdefaultQuota: {\n\t\t\tget() {\n\t\t\t\tif (this.selectedQuota !== false) {\n\t\t\t\t\treturn this.selectedQuota\n\t\t\t\t}\n\t\t\t\tif (this.settings.defaultQuota !== unlimitedQuota.id && OC.Util.computerFileSize(this.settings.defaultQuota) >= 0) {\n\t\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\t\treturn { id: this.settings.defaultQuota, label: this.settings.defaultQuota }\n\t\t\t\t}\n\t\t\t\treturn unlimitedQuota // unlimited\n\t\t\t},\n\t\t\tset(quota) {\n\t\t\t\tthis.selectedQuota = quota\n\t\t\t},\n\t\t},\n\n\t\tsendWelcomeMail: {\n\t\t\tget() {\n\t\t\t\treturn this.settings.newUserSendEmail\n\t\t\t},\n\t\t\tasync set(value) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.loadingSendMail = true\n\t\t\t\t\tthis.$store.commit('setServerData', {\n\t\t\t\t\t\t...this.settings,\n\t\t\t\t\t\tnewUserSendEmail: value,\n\t\t\t\t\t})\n\t\t\t\t\tawait axios.post(generateUrl('/settings/users/preferences/newUser.sendEmail'), { value: value ? 'yes' : 'no' })\n\t\t\t\t} catch (error) {\n\t\t\t\t\tlogger.error('Could not update newUser.sendEmail preference', { error })\n\t\t\t\t} finally {\n\t\t\t\t\tthis.loadingSendMail = false\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Check if a quota matches the current search.\n\t\t * This is a custom filter function to allow to map \"1GB\" to the label \"1 GB\" (ignoring whitespaces).\n\t\t *\n\t\t * @param option The quota to check\n\t\t * @param label The label of the quota\n\t\t * @param search The search string\n\t\t */\n\t\tfilterQuotas(option, label, search) {\n\t\t\tconst searchValue = search.toLocaleLowerCase().replaceAll(/\\s/g, '')\n\t\t\treturn (label || '')\n\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t.replaceAll(/\\s/g, '')\n\t\t\t\t.indexOf(searchValue) > -1\n\t\t},\n\n\t\tsetShowConfig(key, status) {\n\t\t\tthis.$store.commit('setShowConfig', { key, value: status })\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @return {object} The validated quota object or unlimited quota if input is invalid\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\tif (typeof quota === 'object') {\n\t\t\t\tquota = quota?.id || quota.label\n\t\t\t}\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tconst validQuota = parseFileSize(quota, true)\n\t\t\tif (validQuota === null) {\n\t\t\t\treturn unlimitedQuota\n\t\t\t}\n\t\t\t// unify format output\n\t\t\tquota = formatFileSize(validQuota)\n\t\t\treturn { id: quota, label: quota }\n\t\t},\n\n\t\t/**\n\t\t * Dispatch default quota set request\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t */\n\t\tsetDefaultQuota(quota = 'none') {\n\t\t\t// Make sure correct label is set for unlimited quota\n\t\t\tif (quota === 'none') {\n\t\t\t\tquota = unlimitedQuota\n\t\t\t}\n\t\t\tthis.$store.dispatch('setAppConfig', {\n\t\t\t\tapp: 'files',\n\t\t\t\tkey: 'default_quota',\n\t\t\t\t// ensure we only send the preset id\n\t\t\t\tvalue: quota.id ? quota.id : quota,\n\t\t\t}).then(() => {\n\t\t\t\tif (typeof quota !== 'object') {\n\t\t\t\t\tquota = { id: quota, label: quota }\n\t\t\t\t}\n\t\t\t\tthis.defaultQuota = quota\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.dialog {\n\t&__note {\n\t\tfont-weight: normal;\n\t}\n}\n\nfieldset {\n\tfont-weight: bold;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.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!./UserSettingsDialog.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!./UserSettingsDialog.vue?vue&type=style&index=0&id=9f7a355c&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./UserSettingsDialog.vue?vue&type=style&index=0&id=9f7a355c&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserSettingsDialog.vue?vue&type=template&id=9f7a355c&scoped=true\"\nimport script from \"./UserSettingsDialog.vue?vue&type=script&lang=js\"\nexport * from \"./UserSettingsDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserSettingsDialog.vue?vue&type=style&index=0&id=9f7a355c&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 \"9f7a355c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.isModalOpen,\"show-navigation\":true,\"name\":_vm.t('settings', 'Account management settings')},on:{\"update:open\":function($event){_vm.isModalOpen=$event}}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"visibility-settings\",\"name\":_vm.t('settings', 'Visibility')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLanguages\",\"checked\":_vm.showLanguages},on:{\"update:checked\":function($event){_vm.showLanguages=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show language'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showUserBackend\",\"checked\":_vm.showUserBackend},on:{\"update:checked\":function($event){_vm.showUserBackend=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show account backend'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showStoragePath\",\"checked\":_vm.showStoragePath},on:{\"update:checked\":function($event){_vm.showStoragePath=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show storage path'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showFirstLogin\",\"checked\":_vm.showFirstLogin},on:{\"update:checked\":function($event){_vm.showFirstLogin=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show first login'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLastLogin\",\"checked\":_vm.showLastLogin},on:{\"update:checked\":function($event){_vm.showLastLogin=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show last login'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"groups-sorting\",\"name\":_vm.t('settings', 'Sorting')}},[(_vm.isGroupSortingEnforced)?_c('NcNoteCard',{attrs:{\"type\":\"warning\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'The system config enforces sorting the groups by name. This also disables showing the member count.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('fieldset',[_c('legend',[_vm._v(_vm._s(_vm.t('settings', 'Group list sorting')))]),_vm._v(\" \"),_c('NcNoteCard',{staticClass:\"dialog__note\",attrs:{\"type\":\"info\",\"text\":_vm.t('settings', 'Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list.')}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"radio\",\"checked\":_vm.groupSorting,\"data-test\":\"sortGroupsByMemberCount\",\"disabled\":_vm.isGroupSortingEnforced,\"name\":\"group-sorting-mode\",\"value\":\"member-count\"},on:{\"update:checked\":function($event){_vm.groupSorting=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'By member count'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"radio\",\"checked\":_vm.groupSorting,\"data-test\":\"sortGroupsByName\",\"disabled\":_vm.isGroupSortingEnforced,\"name\":\"group-sorting-mode\",\"value\":\"name\"},on:{\"update:checked\":function($event){_vm.groupSorting=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'By name'))+\"\\n\\t\\t\\t\")])],1)],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"email-settings\",\"name\":_vm.t('settings', 'Send email')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"sendWelcomeMail\",\"checked\":_vm.sendWelcomeMail,\"disabled\":_vm.loadingSendMail},on:{\"update:checked\":function($event){_vm.sendWelcomeMail=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Send welcome email to new accounts'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"default-settings\",\"name\":_vm.t('settings', 'Defaults')}},[_c('NcSelect',{attrs:{\"clearable\":false,\"create-option\":_vm.validateQuota,\"filter-by\":_vm.filterQuotas,\"input-label\":_vm.t('settings', 'Default quota'),\"options\":_vm.quotaOptions,\"placement\":\"top\",\"placeholder\":_vm.t('settings', 'Select default quota'),\"taggable\":\"\"},on:{\"option:selected\":_vm.setDefaultQuota},model:{value:(_vm.defaultQuota),callback:function ($$v) {_vm.defaultQuota=$$v},expression:\"defaultQuota\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.Fragment,[_c(_setup.NcAppNavigationCaption,{attrs:{\"name\":_setup.t('settings', 'Groups'),\"disabled\":_setup.loadingAddGroup,\"aria-label\":_setup.loadingAddGroup ? _setup.t('settings', 'Creating group…') : _setup.t('settings', 'Create group'),\"force-menu\":\"\",\"is-heading\":\"\",\"open\":_setup.isAddGroupOpen},on:{\"update:open\":function($event){_setup.isAddGroupOpen=$event}},scopedSlots:_vm._u([(_setup.isAdminOrDelegatedAdmin)?{key:\"actionsTriggerIcon\",fn:function(){return [(_setup.loadingAddGroup)?_c(_setup.NcLoadingIcon):_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiPlus}})]},proxy:true}:null,(_setup.isAdminOrDelegatedAdmin)?{key:\"actions\",fn:function(){return [_c(_setup.NcActionText,{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiAccountGroupOutline}})]},proxy:true}],null,false,4071362859)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_setup.t('settings', 'Create group'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c(_setup.NcActionInput,{attrs:{\"label\":_setup.t('settings', 'Group name'),\"data-cy-users-settings-new-group-name\":\"\",\"label-outside\":false,\"disabled\":_setup.loadingAddGroup,\"value\":_setup.newGroupName,\"error\":_setup.hasAddGroupError,\"helper-text\":_setup.hasAddGroupError ? _setup.t('settings', 'Please enter a valid group name') : ''},on:{\"update:value\":function($event){_setup.newGroupName=$event},\"submit\":_setup.createGroup}})]},proxy:true}:null],null,true)}),_vm._v(\" \"),_c(_setup.NcAppNavigationSearch,{attrs:{\"label\":_setup.t('settings', 'Search groups…')},model:{value:(_setup.groupsSearchQuery),callback:function ($$v) {_setup.groupsSearchQuery=$$v},expression:\"groupsSearchQuery\"}}),_vm._v(\" \"),_c('p',{staticClass:\"hidden-visually\",attrs:{\"id\":\"group-list-desc\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('settings', 'List of groups. This list is not fully populated for performance reasons. The groups will be loaded as you navigate or search through the list.'))+\"\\n\\t\")]),_vm._v(\" \"),_c(_setup.NcAppNavigationList,{staticClass:\"account-management__group-list\",attrs:{\"aria-describedby\":\"group-list-desc\",\"data-cy-users-settings-navigation-groups\":\"custom\"}},[_vm._l((_setup.filteredGroups),function(group){return _c(_setup.GroupListItem,{key:group.id,ref:\"groupListItems\",refInFor:true,attrs:{\"id\":group.id,\"active\":_setup.selectedGroupDecoded === group.id,\"name\":group.title,\"count\":group.count}})}),_vm._v(\" \"),(_setup.loadingGroups)?_c('div',{attrs:{\"role\":\"note\"}},[_c(_setup.NcLoadingIcon,{attrs:{\"name\":_setup.t('settings', 'Loading groups…')}})],1):_vm._e()],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon account-group-outline-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,5A3.5,3.5 0 0,0 8.5,8.5A3.5,3.5 0 0,0 12,12A3.5,3.5 0 0,0 15.5,8.5A3.5,3.5 0 0,0 12,5M12,7A1.5,1.5 0 0,1 13.5,8.5A1.5,1.5 0 0,1 12,10A1.5,1.5 0 0,1 10.5,8.5A1.5,1.5 0 0,1 12,7M5.5,8A2.5,2.5 0 0,0 3,10.5C3,11.44 3.53,12.25 4.29,12.68C4.65,12.88 5.06,13 5.5,13C5.94,13 6.35,12.88 6.71,12.68C7.08,12.47 7.39,12.17 7.62,11.81C6.89,10.86 6.5,9.7 6.5,8.5C6.5,8.41 6.5,8.31 6.5,8.22C6.2,8.08 5.86,8 5.5,8M18.5,8C18.14,8 17.8,8.08 17.5,8.22C17.5,8.31 17.5,8.41 17.5,8.5C17.5,9.7 17.11,10.86 16.38,11.81C16.5,12 16.63,12.15 16.78,12.3C16.94,12.45 17.1,12.58 17.29,12.68C17.65,12.88 18.06,13 18.5,13C18.94,13 19.35,12.88 19.71,12.68C20.47,12.25 21,11.44 21,10.5A2.5,2.5 0 0,0 18.5,8M12,14C9.66,14 5,15.17 5,17.5V19H19V17.5C19,15.17 14.34,14 12,14M4.71,14.55C2.78,14.78 0,15.76 0,17.5V19H3V17.07C3,16.06 3.69,15.22 4.71,14.55M19.29,14.55C20.31,15.22 21,16.06 21,17.07V19H24V17.5C24,15.76 21.22,14.78 19.29,14.55M12,16C13.53,16 15.24,16.5 16.23,17H7.77C8.76,16.5 10.47,16 12,16Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"AccountGroupOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountGroupOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountGroupOutline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountGroupOutline.vue?vue&type=template&id=6ffd195e\"\nimport script from \"./AccountGroupOutline.vue?vue&type=script&lang=js\"\nexport * from \"./AccountGroupOutline.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 account-group-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : 'true',\"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\":\"M12,5A3.5,3.5 0 0,0 8.5,8.5A3.5,3.5 0 0,0 12,12A3.5,3.5 0 0,0 15.5,8.5A3.5,3.5 0 0,0 12,5M12,7A1.5,1.5 0 0,1 13.5,8.5A1.5,1.5 0 0,1 12,10A1.5,1.5 0 0,1 10.5,8.5A1.5,1.5 0 0,1 12,7M5.5,8A2.5,2.5 0 0,0 3,10.5C3,11.44 3.53,12.25 4.29,12.68C4.65,12.88 5.06,13 5.5,13C5.94,13 6.35,12.88 6.71,12.68C7.08,12.47 7.39,12.17 7.62,11.81C6.89,10.86 6.5,9.7 6.5,8.5C6.5,8.41 6.5,8.31 6.5,8.22C6.2,8.08 5.86,8 5.5,8M18.5,8C18.14,8 17.8,8.08 17.5,8.22C17.5,8.31 17.5,8.41 17.5,8.5C17.5,9.7 17.11,10.86 16.38,11.81C16.5,12 16.63,12.15 16.78,12.3C16.94,12.45 17.1,12.58 17.29,12.68C17.65,12.88 18.06,13 18.5,13C18.94,13 19.35,12.88 19.71,12.68C20.47,12.25 21,11.44 21,10.5A2.5,2.5 0 0,0 18.5,8M12,14C9.66,14 5,15.17 5,17.5V19H19V17.5C19,15.17 14.34,14 12,14M4.71,14.55C2.78,14.78 0,15.76 0,17.5V19H3V17.07C3,16.06 3.69,15.22 4.71,14.55M19.29,14.55C20.31,15.22 21,16.06 21,17.07V19H24V17.5C24,15.76 21.22,14.78 19.29,14.55M12,16C13.53,16 15.24,16.5 16.23,17H7.77C8.76,16.5 10.47,16 12,16Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<Fragment>\n\t\t<NcModal v-if=\"showRemoveGroupModal\"\n\t\t\t@close=\"showRemoveGroupModal = false\">\n\t\t\t<div class=\"modal__content\">\n\t\t\t\t<h2 class=\"modal__header\">\n\t\t\t\t\t{{ t('settings', 'Please confirm the group removal') }}\n\t\t\t\t</h2>\n\t\t\t\t<NcNoteCard type=\"warning\"\n\t\t\t\t\tshow-alert>\n\t\t\t\t\t{{ t('settings', 'You are about to delete the group \"{group}\". The accounts will NOT be deleted.', { group: name }) }}\n\t\t\t\t</NcNoteCard>\n\t\t\t\t<div class=\"modal__button-row\">\n\t\t\t\t\t<NcButton type=\"secondary\"\n\t\t\t\t\t\t@click=\"showRemoveGroupModal = false\">\n\t\t\t\t\t\t{{ t('settings', 'Cancel') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton type=\"primary\"\n\t\t\t\t\t\t@click=\"removeGroup\">\n\t\t\t\t\t\t{{ t('settings', 'Confirm') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</NcModal>\n\n\t\t<NcAppNavigationItem :key=\"id\"\n\t\t\tref=\"listItem\"\n\t\t\t:exact=\"true\"\n\t\t\t:name=\"name\"\n\t\t\t:to=\"{ name: 'group', params: { selectedGroup: encodeURIComponent(id) } }\"\n\t\t\t:loading=\"loadingRenameGroup\"\n\t\t\t:menu-open=\"openGroupMenu\"\n\t\t\t@update:menuOpen=\"handleGroupMenuOpen\">\n\t\t\t<template #icon>\n\t\t\t\t<AccountGroup :size=\"20\" />\n\t\t\t</template>\n\t\t\t<template #counter>\n\t\t\t\t<NcCounterBubble v-if=\"count\"\n\t\t\t\t\t:type=\"active ? 'highlighted' : undefined\">\n\t\t\t\t\t{{ count }}\n\t\t\t\t</NcCounterBubble>\n\t\t\t</template>\n\t\t\t<template #actions>\n\t\t\t\t<NcActionInput v-if=\"id !== 'admin' && id !== 'disabled' && (settings.isAdmin || settings.isDelegatedAdmin)\"\n\t\t\t\t\tref=\"displayNameInput\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t:value=\"name\"\n\t\t\t\t\t:label=\" t('settings', 'Rename group')\"\n\t\t\t\t\t@submit=\"renameGroup(id)\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcActionInput>\n\t\t\t\t<NcActionButton v-if=\"id !== 'admin' && id !== 'disabled' && (settings.isAdmin || settings.isDelegatedAdmin)\"\n\t\t\t\t\t@click=\"showRemoveGroupModal = true\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('settings', 'Delete group') }}\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\t\t</NcAppNavigationItem>\n\t</Fragment>\n</template>\n\n<script>\nimport { Fragment } from 'vue-frag'\n\nimport NcActionButton from '@nextcloud/vue/components/NcActionButton'\nimport NcActionInput from '@nextcloud/vue/components/NcActionInput'\nimport NcAppNavigationItem from '@nextcloud/vue/components/NcAppNavigationItem'\nimport NcButton from '@nextcloud/vue/components/NcButton'\nimport NcCounterBubble from '@nextcloud/vue/components/NcCounterBubble'\nimport NcModal from '@nextcloud/vue/components/NcModal'\nimport NcNoteCard from '@nextcloud/vue/components/NcNoteCard'\n\nimport AccountGroup from 'vue-material-design-icons/AccountGroupOutline.vue'\nimport Delete from 'vue-material-design-icons/DeleteOutline.vue'\nimport Pencil from 'vue-material-design-icons/PencilOutline.vue'\n\nimport { showError } from '@nextcloud/dialogs'\n\nexport default {\n\tname: 'GroupListItem',\n\tcomponents: {\n\t\tAccountGroup,\n\t\tDelete,\n\t\tFragment,\n\t\tNcActionButton,\n\t\tNcActionInput,\n\t\tNcAppNavigationItem,\n\t\tNcButton,\n\t\tNcCounterBubble,\n\t\tNcModal,\n\t\tNcNoteCard,\n\t\tPencil,\n\t},\n\tprops: {\n\t\t/**\n\t\t * If this group is currently selected\n\t\t */\n\t\tactive: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\t/**\n\t\t * Number of members within this group\n\t\t */\n\t\tcount: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Identifier of this group\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\t/**\n\t\t * Name of this group\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tloadingRenameGroup: false,\n\t\t\topenGroupMenu: false,\n\t\t\tshowRemoveGroupModal: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\t},\n\tmethods: {\n\t\thandleGroupMenuOpen() {\n\t\t\tthis.openGroupMenu = true\n\t\t},\n\t\tasync renameGroup(gid) {\n\t\t\t// check if group id is valid\n\t\t\tif (gid.trim() === '') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst displayName = this.$refs.displayNameInput.$el.querySelector('input[type=\"text\"]').value\n\n\t\t\t// check if group name is valid\n\t\t\tif (displayName.trim() === '') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tthis.openGroupMenu = false\n\t\t\t\tthis.loadingRenameGroup = true\n\t\t\t\tawait this.$store.dispatch('renameGroup', {\n\t\t\t\t\tgroupid: gid.trim(),\n\t\t\t\t\tdisplayName: displayName.trim(),\n\t\t\t\t})\n\n\t\t\t\tthis.loadingRenameGroup = false\n\t\t\t} catch {\n\t\t\t\tthis.openGroupMenu = true\n\t\t\t\tthis.loadingRenameGroup = false\n\t\t\t}\n\t\t},\n\t\tasync removeGroup() {\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('removeGroup', this.id)\n\t\t\t\tthis.showRemoveGroupModal = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('settings', 'Failed to delete group \"{group}\"', { group: this.name }))\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.modal {\n\t&__header {\n\t\tmargin: 0;\n\t}\n\n\t&__content {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 20px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__button-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\tjustify-content: space-between;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.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!./GroupListItem.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!./GroupListItem.vue?vue&type=style&index=0&id=34669961&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./GroupListItem.vue?vue&type=style&index=0&id=34669961&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./GroupListItem.vue?vue&type=template&id=34669961&scoped=true\"\nimport script from \"./GroupListItem.vue?vue&type=script&lang=js\"\nexport * from \"./GroupListItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./GroupListItem.vue?vue&type=style&index=0&id=34669961&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 \"34669961\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showRemoveGroupModal)?_c('NcModal',{on:{\"close\":function($event){_vm.showRemoveGroupModal = false}}},[_c('div',{staticClass:\"modal__content\"},[_c('h2',{staticClass:\"modal__header\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Please confirm the group removal'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcNoteCard',{attrs:{\"type\":\"warning\",\"show-alert\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You are about to delete the group \"{group}\". The accounts will NOT be deleted.', { group: _vm.name }))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"modal__button-row\"},[_c('NcButton',{attrs:{\"type\":\"secondary\"},on:{\"click\":function($event){_vm.showRemoveGroupModal = false}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.removeGroup}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Confirm'))+\"\\n\\t\\t\\t\\t\")])],1)],1)]):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{key:_vm.id,ref:\"listItem\",attrs:{\"exact\":true,\"name\":_vm.name,\"to\":{ name: 'group', params: { selectedGroup: encodeURIComponent(_vm.id) } },\"loading\":_vm.loadingRenameGroup,\"menu-open\":_vm.openGroupMenu},on:{\"update:menuOpen\":_vm.handleGroupMenuOpen},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true},{key:\"counter\",fn:function(){return [(_vm.count)?_c('NcCounterBubble',{attrs:{\"type\":_vm.active ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.count)+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true},{key:\"actions\",fn:function(){return [(_vm.id !== 'admin' && _vm.id !== 'disabled' && (_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin))?_c('NcActionInput',{ref:\"displayNameInput\",attrs:{\"trailing-button-label\":_vm.t('settings', 'Submit'),\"type\":\"text\",\"value\":_vm.name,\"label\":_vm.t('settings', 'Rename group')},on:{\"submit\":function($event){return _vm.renameGroup(_vm.id)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Pencil',{attrs:{\"size\":20}})]},proxy:true}],null,false,580569589)}):_vm._e(),_vm._v(\" \"),(_vm.id !== 'admin' && _vm.id !== 'disabled' && (_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin))?_c('NcActionButton',{on:{\"click\":function($event){_vm.showRemoveGroupModal = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20}})]},proxy:true}],null,false,2705356561)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Delete group'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { computed } from 'vue';\n/**\n * Format a group to a menu entry\n *\n * @param group the group\n */\nfunction formatGroupMenu(group) {\n if (typeof group === 'undefined') {\n return null;\n }\n return {\n id: group.id,\n title: group.name,\n usercount: group.usercount ?? 0,\n count: Math.max(0, (group.usercount ?? 0) - (group.disabled ?? 0)),\n };\n}\nexport const useFormatGroups = (groups) => {\n /**\n * All non-disabled non-admin groups\n */\n const userGroups = computed(() => {\n const formatted = groups.value\n // filter out disabled and admin\n .filter(group => group.id !== 'disabled' && group.id !== '__nc_internal_recent' && group.id !== 'admin')\n // format group\n .map(group => formatGroupMenu(group))\n // remove invalid\n .filter(group => group !== null);\n return formatted;\n });\n /**\n * The admin group if found otherwise null\n */\n const adminGroup = computed(() => formatGroupMenu(groups.value.find(group => group.id === 'admin')));\n /**\n * The group of disabled users\n */\n const disabledGroup = computed(() => formatGroupMenu(groups.value.find(group => group.id === 'disabled')));\n /**\n * The group of recent users\n */\n const recentGroup = computed(() => formatGroupMenu(groups.value.find(group => group.id === '__nc_internal_recent')));\n return { adminGroup, recentGroup, disabledGroup, userGroups };\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!./AppNavigationGroupList.vue?vue&type=script&setup=true&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!./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./AppNavigationGroupList.vue?vue&type=template&id=3aa65384\"\nimport script from \"./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"\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!./UserManagementNavigation.vue?vue&type=script&setup=true&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!./UserManagementNavigation.vue?vue&type=script&setup=true&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!./UserManagementNavigation.vue?vue&type=style&index=0&id=a52e1068&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./UserManagementNavigation.vue?vue&type=style&index=0&id=a52e1068&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserManagementNavigation.vue?vue&type=template&id=a52e1068&scoped=true\"\nimport script from \"./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./UserManagementNavigation.vue?vue&type=style&index=0&id=a52e1068&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 \"a52e1068\",\n null\n \n)\n\nexport default component.exports","// 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-253f9eec]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/UserManagement.vue\"],\"names\":[],\"mappings\":\"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA\",\"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\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../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 * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-1133b4da] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.app-navigation-caption[data-v-1133b4da] {\n display: flex;\n justify-content: space-between;\n}\n.app-navigation-caption--heading[data-v-1133b4da] {\n padding: var(--app-navigation-padding);\n}\n.app-navigation-caption--heading[data-v-1133b4da]:not(:first-child):not(:last-child) {\n padding: 0 var(--app-navigation-padding);\n}\n.app-navigation-caption__name[data-v-1133b4da] {\n font-weight: bold;\n color: var(--color-main-text);\n font-size: var(--default-font-size);\n line-height: var(--default-clickable-area);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n box-shadow: none !important;\n flex-shrink: 1;\n padding-block: 0;\n padding-inline: calc(var(--default-grid-baseline, 4px) * 2) 0;\n margin-top: 0px;\n margin-bottom: var(--default-grid-baseline);\n}\n.app-navigation-caption__actions[data-v-1133b4da] {\n flex: 0 0 var(--default-clickable-area);\n}\n.app-navigation-caption[data-v-1133b4da]:not(:first-child) {\n margin-top: calc(var(--default-clickable-area) / 2);\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationCaption-DU9PxTvu.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,8BAA8B;AAChC;AACA;EACE,sCAAsC;AACxC;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,iBAAiB;EACjB,6BAA6B;EAC7B,mCAAmC;EACnC,0CAA0C;EAC1C,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,2BAA2B;EAC3B,cAAc;EACd,gBAAgB;EAChB,6DAA6D;EAC7D,eAAe;EACf,2CAA2C;AAC7C;AACA;EACE,uCAAuC;AACzC;AACA;EACE,mDAAmD;AACrD\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-1133b4da] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.app-navigation-caption[data-v-1133b4da] {\\n display: flex;\\n justify-content: space-between;\\n}\\n.app-navigation-caption--heading[data-v-1133b4da] {\\n padding: var(--app-navigation-padding);\\n}\\n.app-navigation-caption--heading[data-v-1133b4da]:not(:first-child):not(:last-child) {\\n padding: 0 var(--app-navigation-padding);\\n}\\n.app-navigation-caption__name[data-v-1133b4da] {\\n font-weight: bold;\\n color: var(--color-main-text);\\n font-size: var(--default-font-size);\\n line-height: var(--default-clickable-area);\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n box-shadow: none !important;\\n flex-shrink: 1;\\n padding-block: 0;\\n padding-inline: calc(var(--default-grid-baseline, 4px) * 2) 0;\\n margin-top: 0px;\\n margin-bottom: var(--default-grid-baseline);\\n}\\n.app-navigation-caption__actions[data-v-1133b4da] {\\n flex: 0 0 var(--default-clickable-area);\\n}\\n.app-navigation-caption[data-v-1133b4da]:not(:first-child) {\\n margin-top: calc(var(--default-clickable-area) / 2);\\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, `.dialog__form[data-v-1195b9bc]{display:flex;flex-direction:column;align-items:center;padding:0 8px;gap:4px 0}.dialog__item[data-v-1195b9bc]{width:100%}.dialog__item[data-v-1195b9bc]:not(:focus):not(:active){border-color:var(--color-border-dark)}.dialog__hint[data-v-1195b9bc]{color:var(--color-text-maxcontrast);margin-top:8px;align-self:flex-start}.dialog__label[data-v-1195b9bc]{display:block;padding:4px 0}.dialog__select[data-v-1195b9bc]{width:100%}.dialog__managers[data-v-1195b9bc]{margin-bottom:12px}.dialog__submit[data-v-1195b9bc]{margin-top:4px;margin-bottom:8px}.dialog[data-v-1195b9bc] .dialog__actions{margin:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/NewUserDialog.vue\"],\"names\":[],\"mappings\":\"AAEC,+BACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,aAAA,CACA,SAAA,CAGD,+BACC,UAAA,CAEA,wDACC,qCAAA,CAIF,+BACC,mCAAA,CACA,cAAA,CACA,qBAAA,CAGD,gCACC,aAAA,CACA,aAAA,CAGD,iCACC,UAAA,CAGD,mCACC,kBAAA,CAGD,iCACC,cAAA,CACA,iBAAA,CAIA,0CACC,WAAA\",\"sourcesContent\":[\"\\n.dialog {\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tpadding: 0 8px;\\n\\t\\tgap: 4px 0;\\n\\t}\\n\\n\\t&__item {\\n\\t\\twidth: 100%;\\n\\n\\t\\t&:not(:focus):not(:active) {\\n\\t\\t\\tborder-color: var(--color-border-dark);\\n\\t\\t}\\n\\t}\\n\\n\\t&__hint {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-top: 8px;\\n\\t\\talign-self: flex-start;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: block;\\n\\t\\tpadding: 4px 0;\\n\\t}\\n\\n\\t&__select {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__managers {\\n\\t\\tmargin-bottom: 12px;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tmargin-top: 4px;\\n\\t\\tmargin-bottom: 8px;\\n\\t}\\n\\n\\t:deep {\\n\\t\\t.dialog__actions {\\n\\t\\t\\tmargin: auto;\\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, `.modal__header[data-v-34669961]{margin:0}.modal__content[data-v-34669961]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__button-row[data-v-34669961]{display:flex;width:100%;justify-content:space-between}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/GroupListItem.vue\"],\"names\":[],\"mappings\":\"AAEC,gCACC,QAAA,CAGD,iCACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGD,oCACC,YAAA,CACA,UAAA,CACA,6BAAA\",\"sourcesContent\":[\"\\n.modal {\\n\\t&__header {\\n\\t\\tmargin: 0;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tpadding: 20px;\\n\\t\\tgap: 4px 0;\\n\\t}\\n\\n\\t&__button-row {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\tjustify-content: space-between;\\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, `.footer[data-v-db2a7c4e]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.footer__cell[data-v-db2a7c4e]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.footer__cell strong[data-v-db2a7c4e],.footer__cell span[data-v-db2a7c4e],.footer__cell label[data-v-db2a7c4e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.footer__cell--avatar[data-v-db2a7c4e],.footer__cell--displayname[data-v-db2a7c4e]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.footer__cell--avatar[data-v-db2a7c4e]{inset-inline-start:0}.footer__cell--displayname[data-v-db2a7c4e]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.footer__cell--username[data-v-db2a7c4e]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.footer__cell--avatar[data-v-db2a7c4e]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.footer__cell--multiline span[data-v-db2a7c4e]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.footer__cell--multiline span[data-v-db2a7c4e]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.footer__cell--large[data-v-db2a7c4e]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.footer__cell--obfuscated[data-v-db2a7c4e]{min-width:400px;width:400px}.footer__cell--fill[data-v-db2a7c4e]{min-width:var(--cell-width-large);width:100%}.footer__cell--actions[data-v-db2a7c4e]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.footer__subtitle[data-v-db2a7c4e]{color:var(--color-text-maxcontrast)}.footer__cell[data-v-db2a7c4e]{position:sticky;color:var(--color-text-maxcontrast)}.footer__cell--loading[data-v-db2a7c4e]{inset-inline-start:0;min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0}.footer__cell--count[data-v-db2a7c4e]{inset-inline-start:var(--avatar-cell-width);min-width:var(--cell-width);width:var(--cell-width)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserListFooter.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,yBCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA,CDpGD,+BACC,eAAA,CACA,mCAAA,CAEA,wCACC,oBAAA,CACA,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CAGD,sCACC,2CAAA,CACA,2BAAA,CACA,uBAAA\",\"sourcesContent\":[\"\\n@use './shared/styles';\\n\\n.footer {\\n\\t@include styles.row;\\n\\t@include styles.cell;\\n\\n\\t&__cell {\\n\\t\\tposition: sticky;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\n\\t\\t&--loading {\\n\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t&--count {\\n\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\tmin-width: var(--cell-width);\\n\\t\\t\\twidth: var(--cell-width);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-inline-end: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--username {\\n\\t\\t\\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tinset-inline-end: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-inline-start: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { translate as t } from '@nextcloud/l10n';\nexport const unlimitedQuota = {\n id: 'none',\n label: t('settings', 'Unlimited'),\n};\nexport const defaultQuota = {\n id: 'default',\n label: t('settings', 'Default quota'),\n};\n/**\n * Return `true` if the logged in user does not have permissions to view the\n * data of `user`\n * @param user The user to check\n * @param user.id Id of the user\n */\nexport const isObfuscated = (user) => {\n const keys = Object.keys(user);\n return keys.length === 1 && keys.at(0) === 'id';\n};\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../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 * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-cbad78fb] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#guest-content-vue[data-v-cbad78fb] {\n color: var(--color-main-text);\n background-color: var(--color-main-background);\n min-width: 0;\n border-radius: var(--border-radius-large);\n box-shadow: 0 0 10px var(--color-box-shadow);\n height: fit-content;\n padding: 15px;\n margin: 20px auto;\n}/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n#content.nc-guest-content {\n overflow: auto;\n margin-bottom: 0;\n height: calc(var(--body-height) + var(--body-container-margin));\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcGuestContent-B0ivUQHg.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,6BAA6B;EAC7B,8CAA8C;EAC9C,YAAY;EACZ,yCAAyC;EACzC,4CAA4C;EAC5C,mBAAmB;EACnB,aAAa;EACb,iBAAiB;AACnB,CAAC;;;EAGC;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,cAAc;EACd,gBAAgB;EAChB,+DAA+D;AACjE\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-cbad78fb] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n#guest-content-vue[data-v-cbad78fb] {\\n color: var(--color-main-text);\\n background-color: var(--color-main-background);\\n min-width: 0;\\n border-radius: var(--border-radius-large);\\n box-shadow: 0 0 10px var(--color-box-shadow);\\n height: fit-content;\\n padding: 15px;\\n margin: 20px auto;\\n}/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n#content.nc-guest-content {\\n overflow: auto;\\n margin-bottom: 0;\\n height: calc(var(--body-height) + var(--body-container-margin));\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","_sfc_main","name","components","NcActions","inheritAttrs","props","type","String","required","headingId","default","isHeading","Boolean","headingLevel","Number","computed","wrapperTag","this","captionTag","Math","max","hasActions","$slots","actions","_sfc_render","_vm","_c","_self","tag","staticClass","class","attrs","_v","_s","_g","_b","scopedSlots","_u","key","fn","_t","proxy","$attrs","$listeners","_e","_sfc_staticRenderFns","NcAppNavigationCaption","n","exports","storage","persist","build","emojiIndex","emojiSearch","query","maxResults","EmojiIndex","currentSkinTone","getCurrentSkinTone","results","search","length","concat","frequently","get","map","emoji","getSkin","emojiAddRecent","emojiData","add","skinTone","parseInt","getItem","min","setCurrentSkinTone","setItem","toString","Vue","directive","vElementVisibility","extend","dataComponent","Object","Function","dataKey","dataSources","Array","itemHeight","extraProps","data","bufferItems","index","headerHeight","tableHeight","resizeObserver","startIndex","shownItems","ceil","renderedItems","slice","tbodyStyle","isOverScrolled","lastIndex","hiddenAfterItems","paddingTop","paddingBottom","mounted","root","$el","tfoot","$refs","thead","ResizeObserver","debounce","clientHeight","logger","debug","onScroll","observe","addEventListener","beforeDestroy","disconnect","methods","handleFooterVisibility","visible","$emit","round","scrollTop","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_setupProxy","ref","style","_l","item","i","directives","rawName","value","expression","NcButton","NcDialog","NcPasswordField","NcSelect","NcTextField","loading","newUser","quotaOptions","possibleManagers","managerInputLabel","t","managerLabel","promise","showConfig","$store","getters","getShowConfig","settings","getServerData","usernameLabel","newUserGenerateUserID","minPasswordLength","getPasswordPolicyMinLength","availableGroups","isAdmin","isDelegatedAdmin","getSortedGroups","getSubAdminGroups","filter","group","languages","commonLanguages","otherLanguages","beforeMount","searchUserManager","username","focus","createUser","all","dispatch","userid","password","displayName","email","mailAddress","groups","subadmin","subAdminsGroups","quota","language","code","manager","error","response","ocs","meta","statuscode","searchGroups","toggleLoading","cancel","offset","limit","commit","createGroup","_ref","gid","addGroup","isCreating","canAdd","validateQuota","validQuota","OC","Util","computerFileSize","formatFileSize","parseFileSize","label","languageFilterBy","option","some","_ref2","toLocaleLowerCase","includes","then","users","values","on","$event","preventDefault","apply","arguments","$set","newUserRequireEmail","at","model","callback","$$v","showLanguages","NcLoadingIcon","filteredUsers","userCount","hasObfuscated","passwordLabel","showUserBackend","showStoragePath","showFirstLogin","showLastLogin","namespaceMapping","ext","mime","rootNameMapping","rss","svg","XmlTextDetector","constructor","firstTag","onEnd","parser","sax","xmlns","nesting","onerror","e","message","startsWith","fileType","undefined","onopentag","node","uri","toLowerCase","fullScan","onclosetag","write","text","close","isValid","defineComponent","NcActionButton","NcIconSvgWrapper","disabled","edit","user","editSvg","SvgCheck","SvgPencil","enabledActions","action","enabled","isSvg","string","TypeError","trim","xmlTextDetector","toggleEdit","icon","event","r","inject","isInSemanticMenu","from","setup","labelId","G","mixins","A","prop","validator","checked","modelValue","emits","util","warn","u","isFocusable","ariaChecked","toggleInput","click","onChange","focusable","domProps","_q","indexOf","_k","keyCode","ctrlKey","shiftKey","altKey","metaKey","mdiArrowRight","computedId","onInput","target","onSubmit","stopPropagation","onClick","isIconUrl","backgroundImage","selection","showDetails","showdetails","color","test","formattedColor","backgroundColor","NcInputConfirmCancel","editLabel","editPlaceholder","newItemValue","newItemActive","handleNewItem","$nextTick","newItemInput","focusInput","cancelNewItem","handleNewItemDone","_sfc_main$1","title","fillColor","size","_sfc_render$1","_sfc_staticRenderFns$1","Cog","ClickOutside","clickOutsideOptions","open","clickOutsideConfig","closeMenu","toggleMenu","queue","concurrency","__name","hash","alt","src","__props","emit","canvas","imageLoaded","drawBlurHash","l","height","width","pixels","ctx","getContext","imageData","createImageData","set","putImageData","immediate","url","resolve","Promise","withResolvers","image","Image","onload","preloadImage","success","__sfc","_setup","$style","fadeTransition","fadeTransitionActive","__cssModules","_sfc_injectStyles","NcAvatar","collection","detailsOpen","newName","getIcon","resource","iconClass","typeClass","resources","isArray","getComponent","route","g","$router","link","component","to","href","iconUrl","mimetype","MimeType","getIconUrl","toggleDetails","removeResource","collectionId","resourceType","resourceId","openRename","renameCollection","composing","extractOcsData","NcCollectionListItem","isActive","storedCollections","fetchCollectionsByResource","createCollection","addResourceToCollection","removeResourceFromCollection","addCollection","updateCollection","findIndex","async","post","addResourceService","collections","getCollectionsByResourceService","addCollections","baseResourceType","baseResourceId","createCollectionService","collectionName","put","renameCollectionService","delete","params","removeResourceService","removeCollection","useCollections","searchCollections","searchService","catch","console","finally","selectIsOpen","generatingCodes","codes","collectionsError","isSelectOpen","placeholder","window","OCP","Collaboration","getTypes","sort","forEach","method","getLabel","trigger","find","resourceIdentifier","watch","deep","handler","select","selectedOption","setError","showSelect","setTimeout","renameCollectionFromItem","_m","document","getElementById","classList","destroyed","remove","ariaLabel","description","descriptionId","_sfc_main$4","_sfc_render$4","_sfc_staticRenderFns$4","AccountGroup","_sfc_main$3","_sfc_render$3","_sfc_staticRenderFns$3","OpenInNew","teamResourceProviders","circles","_sfc_main$2","ChevronDown","ChevronUp","providerId","itemId","appEnabled","appswebroots","config","version","split","teamResources","teamOpen","isVisible","teamProviders","teamId","team","t2","reduce","acc","provider","fetchTeamResources","created","teams","toggleOpen","splice","_sfc_render$2","iconEmoji","iconSvg","iconURL","_sfc_staticRenderFns$2","NcTeamResources","labelTranslated","resourceName","NcResource","fileInfo","header","primary","related_resources","subline","hasResourceInfo","isFiles","fetchRelatedResources","saving","indicatorColor","__default__","assign","ariaLabelClearSelected","ariaLabelListbox","ariaLabelDeselectOption","optionLabel","keepOpen","filterBy","inputId","inputLabel","labelOutside","multiple","noWrap","clickableArea","getComputedStyle","body","getPropertyValue","gridBaseLine","avatarSize","localFilterBy","search2","match","subname","NcListItemIcon","$props","hint","submitTranslated","idSubmit","checkIfDarkTheme","el","backgroundInvertIfDark","isDarkTheme","isDarkSystemTheme","updateIsDarkTheme","attributes","useIsDarkThemeElement","Symbol","toStringTag","externalActions","formattedFullTime","useFormatDateTime","firstLoginTimestamp","relativeTime","format","timeStyle","dateStyle","selectedGroups","selectedSubAdminGroups","userGroups","userSubAdminGroups","usedSpace","quotaUsed","used","usedQuota","pow","isNaN","userQuota","humanQuota","userLanguage","userLang","lang","userFirstLogin","userLastLoginTooltip","lastLoginTimestamp","formatDate","userLastLogin","relativeModifiedDate","NcProgressBar","UserRowActions","UserRowMixin","selectedQuota","rand","random","substring","loadingPossibleManagers","currentManager","editing","groupsDetails","subAdminGroupsDetails","subadmins","disable","wipe","editedDisplayName","displayname","editedPassword","editedMail","isObfuscated","isLoadingUser","isLoadingField","uniqueId","encodeURIComponent","availableSubAdminGroups","userGroupsLabels","availableGroup","join","userSubAdminGroupsLabels","canEdit","getCurrentUser","uid","defaultQuota","userActions","deleteUser","wipeUserDevices","enableDisableUser","sendWelcomeMail","editedUserQuota","unlimitedQuota","availableLanguages","initManager","confirmPassword","dialogs","confirmDestructive","YES_NO_BUTTONS","confirm","confirmClasses","result","showSuccess","timeout","filterManagers","managers","userId","searchInitialUserManager","loadGroupsDetails","loadUserGroups","selectedGroup","loadSubAdminGroupsDetails","loadUserSubAdminGroups","updateUserManager","previousManager","showError","updateDisplayName","updatePassword","updateEmail","addUserGroup","removeUserGroup","canRemove","$route","addUserSubAdmin","removeUserSubAdmin","setUserQuota","setUserLanguage","displayNameField","inputField","input","backendCapabilities","setDisplayName","canChangePassword","setPassword","backend","storageLocation","freeze","Fragment","NcEmptyContent","NewUserDialog","UserListFooter","UserListHeader","VirtualList","mdiAccountGroupOutline","rowHeight","UserRow","isInitialLoad","searchQuery","getUsers","quotaPreset","cur","allowUnlimitedQuota","unshift","usersOffset","getUsersOffset","usersLimit","getUsersLimit","disabledUsersOffset","getDisabledUsersOffset","disabledUsersLimit","getDisabledUsersLimit","usersCount","val","redirectIfDisabled","loadUsers","setNewUserDefaultGroup","Notification","showTemporary","resetForm","subscribe","resetSearch","unsubscribe","handleScrollEnd","closeDialog","defaultLanguage","currentGroup","allGroups","getGroups","usercount","showNewUserForm","NcAppContent","UserList","pageHeading","selectedGroupDecoded","admin","decodeURIComponent","OCA","Settings","registerAction","formatGroup","controller","AbortController","CancelablePromise","reject","onCancel","abort","axios","generateOcsUrl","signal","_ref3","_sfc_main$8","reference","interactive","interactiveOptIn","widgetRoot","entry","isIntersecting","showInteractive","rendered","idleTimeout","isInteractive","hasFullWidth","richObjectType","hasCustomWidget","hasInteractiveView","h","noAccess","accessible","descriptionStyle","numberOfLines","display","lineClamp","webkitLineClamp","Infinity","compactLink","openGraphObject","referenceWidgetLinkComponent","referenceWidgetLinkProps","clearTimeout","renderWidget","destroyWidget","enableInteractive","customWidget","innerHTML","widget","createElement","appendChild","_sfc_render$8","thumb","_sfc_staticRenderFns$8","NcReferenceWidget","_sfc_main$7","isRegistered","renderResult","renderElement","domElement","renderFunctionResult","object","_isVue","$on","element","detail","_sfc_render$7","_sfc_staticRenderFns$7","NcCustomPickerElement","anyLinkProviderId","anyLinkProvider","icon_url","getProviders","_vue_richtext_reference_providers","p","keep","search_providers_ids","searchProvider","providers","escapedQuery","replace","regexp","RegExp","filteredSortedProviders","providerList","timestamps","_vue_richtext_reference_provider_timestamps","a","b","order","ta","tb","sortProviders","searchResult","mytimer","delay","ms","context","args","isUrl","str","URL","_sfc_main$6","_sfc_render$6","_sfc_staticRenderFns$6","LinkVariantIcon","_sfc_main$5","NcHighlight","selectedProvider","multiselectPlaceholder","providerIconAlt","isLink","querySelector","onProviderSelected","onSearch","_sfc_render$5","_sfc_staticRenderFns$5","NcProviderList","inputValue","abortController","inputPlaceholder","isLinkValid","getElementsByTagName","onClear","updateReference","references","nativeOn","NcRawLinkInput","rounded","thumbnailUrl","NcSearchResult","DotsHorizontalIcon","D","showEmptyContent","searchPlaceholder","selectedResult","resultsBySearchProvider","searching","searchingMoreOf","noOptionsText","mySearchPlaceholder","searchProviderIds","rawLinkEntry","formattedSearchResults","resourceUrl","isRawLink","pid","entries","isCustomGroupTitle","providerEntriesWithId","isPaginated","isMore","isLoading","resetResults","cancelSearchRequests","onSearchInput","updateSearch","onSelectResultSelected","searchMoreOf","searchProviderId","searchProviders","searchPromises","searchOneProvider","cursor","allSettled","promises","status","reason","term","NcSearch","MODES","standardLinkInput","searchInput","customElement","initialProvider","focusOnCreate","mode","pickerWrapperStyle","onEscapePressed","deselectProvider","cancelProviderSelection","cancelCustomElement","cancelSearch","cancelRawLinkInput","submitLink","timestamp","floor","Date","now","touchProvider","NcReferencePicker","NcModal","ArrowLeftIcon","CloseIcon","C","isInsideViewer","show","backButtonTitle","closeButtonTitle","closeButtonLabel","isProviderSelected","showBackButton","modalSize","showModalName","modalName","elem","modal_content","onProviderSelect","onBackClicked","referencePicker","NcReferencePickerModal","getLinkWithPicker","modalElement","append","getProvider","view","propsData","$mount","$destroy","Error","buttonId","variant","NcAppNavigationNew","strict","opt","SAXParser","SAXStream","createStream","MAX_BUFFER_LENGTH","Stream","buffers","clearBuffers","q","c","bufferCheckPosition","lowercase","lowercasetags","looseCase","tags","closed","closedRoot","sawRoot","noscript","state","S","BEGIN","strictEntities","ENTITIES","create","XML_ENTITIES","attribList","ns","rootNS","unquotedAttributeValues","trackPosition","position","line","column","EVENTS","o","F","prototype","keys","hasOwnProperty","end","chunk","charAt","BEGIN_WHITESPACE","beginWhiteSpace","TEXT","starti","textNode","isWhitespace","strictFail","TEXT_ENTITY","OPEN_WAKA","startTagPosition","SCRIPT","SCRIPT_ENDING","script","CLOSE_TAG","SGML_DECL","sgmlDecl","isMatch","nameStart","OPEN_TAG","tagName","PROC_INST","procInstName","procInstBody","pad","COMMENT","comment","doctype","DOCTYPE_DTD","toUpperCase","CDATA","emitNode","cdata","DOCTYPE","isQuote","SGML_DECL_QUOTED","DOCTYPE_QUOTED","DOCTYPE_DTD_QUOTED","COMMENT_ENDING","COMMENT_ENDED","textopts","CDATA_ENDING","CDATA_ENDING_2","PROC_INST_ENDING","PROC_INST_BODY","nameBody","newTag","openTag","OPEN_TAG_SLASH","ATTRIB","closeTag","attribName","attribValue","ATTRIB_NAME","ATTRIB_VALUE","attrib","ATTRIB_NAME_SAW_WHITE","ATTRIB_VALUE_QUOTED","ATTRIB_VALUE_UNQUOTED","ATTRIB_VALUE_ENTITY_Q","ATTRIB_VALUE_CLOSED","isAttribEnd","ATTRIB_VALUE_ENTITY_U","CLOSE_TAG_SAW_WHITE","notMatch","returnState","buffer","parsedEntity","parseEntity","unparsedEntities","entity","entityBody","entityStart","maxAllowed","maxActual","len","closeText","m","checkBufferLength","resume","flush","ex","streamWraps","ev","_parser","writable","readable","me","onend","er","_decoder","defineProperty","removeAllListeners","enumerable","configurable","Buffer","isBuffer","SD","call","XML_NAMESPACE","XMLNS_NAMESPACE","xml","regex","stringFromCharCode","fromCodePoint","s","STATE","COMMENT_STARTING","fromCharCode","nodeType","normalize","parent","qname","attribute","qualName","prefix","local","qn","selfClosing","JSON","stringify","nv","isSelfClosing","closeTo","pop","x","num","entityLC","numStr","highSurrogate","lowSurrogate","codeUnits","codePoint","isFinite","RangeError","referenceData","displayFallback","displayedReferences","fallbackReference","firstReference","fetch","U","exec","isPublic","sharingToken","NcReferenceList","remarkPlaceholder","ast","node2","placeholders","index2","list2","matches","children","remarkUnescape","tree","ccount","character","source","count","asciiAlpha","regexCheck","asciiAlphanumeric","markdownLineEnding","code2","markdownLineEndingOrSpace","markdownSpace","unicodePunctuation","unicodeWhitespace","convert","ok","castFactory","tests","checks","parameters","anyFactory","check","checkAsRecord","nodeAsRecord","propsFactory","testFunction","looksLikeANode","empty","CONTINUE","EXIT","SKIP","visitParents","visitor","reverse","is","factory","parents","visit2","subresult","grandparents","toResult","nodeAsParent","child","toFunction","replace2","inConstruct","notInConstruct","enterLiteralAutolink","token","enter","enterLiteralAutolinkValue","autolinkProtocol","exitLiteralAutolinkHttp","exit","exitLiteralAutolinkWww","stack","sliceSerialize","exitLiteralAutolinkEmail","autolinkEmail","exitLiteralAutolink","transformGfmAutolinkLiterals","ignored","ignore","pairs","tupleOrList","tuple","escapeStringRegexp","toPairs","pairIndex","grandparent","siblings","start","change","nodes","matchObject","global","findAndReplace","findUrl","findEmail","_","protocol","domain2","path2","previous","parts","isCorrectDomain","trailExec","trail2","closingParenIndex","openingParens","closingParens","splitUrl","atext","charCodeAt","normalizeIdentifier","enterFootnoteDefinition","identifier","enterFootnoteDefinitionLabelString","exitFootnoteDefinitionLabelString","exitFootnoteDefinition","enterFootnoteCall","enterFootnoteCallString","exitFootnoteCallString","exitFootnoteCall","footnoteReference","info","tracker","createTracker","move","exit2","subexit","safe","associationId","current","before","after","footnoteDefinition","shift","indentLines","containerFlow","map$2","blank","peek","constructsWithoutStrikethrough","enterStrikethrough","exitStrikethrough","handleDelete","containerPhrasing","defaultStringLength","toAlignment","codePointAt","map$1","listInScope","none","hardBreak","_1","unsafe","pattern","checkQuote","marker","quote","emphasis","checkEmphasis","emptyOptions$1","one","includeImageAlt","includeHtml","html","suffix","imageReference","referenceType","inlineCode","sequence","compilePattern","atBreak","formatLinkAsAutolink","raw","resourceLink","value2","linkReference","text2","checkBullet","bullet","checkRule","rule","phrasing","strong","checkStrong","handle","blockquote","break","fence","checkFence","fences","formatCodeAsIndented","exit3","repeat","expected","longestStreak","encode","definition","heading","rank","depth","literalWithBreak","node3","setext","formatHeadingAsSetext","subexit2","lastIndexOf","closeAtx","list","bulletCurrent","ordered","bulletOrdered","checkBulletOrdered","bulletOther","checkBulletOther","useDifferentMarker","bulletLastUsed","firstListItem","indexStack","listItem","listItemIndent","checkListItemIndent","incrementListMarker","spread","paragraph","d","thematicBreak","ruleSpaces","repetition","ruleRepetition","checkRuleRepetition","enterTable","align","_align","inTable","exitTable","enterRow","enterCell","exitCodeText","$0","$1","gfmTableToMarkdown","padding","tableCellPadding","alignDelimiters","tablePipeAlign","stringLength","around","handlers","table","serializeData","handleTableRowAsData","handleTableAsData","tableCell","handleTableCell","tableRow","matrix","alignments","cellMatrix","sizeMatrix","longestCellByColumn","mostCellsPerRow","rowIndex","row2","sizes2","columnIndex2","cell","columnIndex","row","sizes","lines","delimiterStart","delimiterEnd","markdownTable","exitCheck","exitParagraphWithTaskListItem","head","firstParaghraph","sibling","listItemWithTaskListItem","checkable","checkbox","items","chunkStart","syntaxExtension","all2","extension","hook","left","right","constructs","existing","wwwPrefix","tokenize","effects","ok2","nok","wwwPrefixInside","consume","wwwPrefixAfter","partial","domain","underscoreInLastSegment","underscoreInLastLastSegment","seen","domainInside","trail","domainAfter","domainAtPunctuation","path","sizeOpen","sizeClose","pathInside","pathAtPunctuation","trailCharRefStart","trailBracketAfter","trailCharRefInside","emailDomainDotTrail","wwwAutolink","self","previousWww","previousUnbalanced","events","attempt","wwwAfter","protocolAutolink","previousProtocol","protocolPrefixInside","protocolSlashesInside","afterProtocol","asciiControl","protocolAfter","emailAutolink","dot","gfmAtext","previousEmail","emailDomain","emailDomainAfter","emailDomainDot","_balanced","_gfmAutolinkLiteralWalkedInto","classifyCharacter","resolveAll","constructs2","called","factorySpace","POSITIVE_INFINITY","blankLine","indent","tail","tokenizePotentialGfmFootnoteCall","defined","gfmFootnotes","labelStart","resolveToPotentialGfmFootnoteCall","_bufferIndex","contentType","replacement","tokenizeGfmFootnoteCall","callStart","callData","callEscape","tokenizeDefinitionStart","_container","labelAtMarker","labelInside","labelAfter","labelEscape","whitespaceAfter","tokenizeDefinitionContinuation","gfmFootnoteDefinitionEnd","gfmStrikethrough","single","singleTilde","tokenizer","previous2","more","_open","_close","strikethrough","nextEvents","insideSpan","null","attentionMarkers","EditMap","editMap","addImpl","vecs","gfmTableAlign","inDelimiterRow","alignIndex","tokenizeTable","sizeB","next","bodyRowStart","headRowBefore","lazy","headRowBreak","headRowStart","interrupt","headDelimiterStart","headRowData","headRowEscape","headDelimiterBefore","headDelimiterValueBefore","headDelimiterCellBefore","headDelimiterNok","headDelimiterLeftAlignmentAfter","headDelimiterCellAfter","headDelimiterFiller","headDelimiterRightAlignmentAfter","bodyRowBreak","bodyRowData","bodyRowEscape","resolveTable","currentTable","currentBody","currentCell","inFirstCellAwaitingPipe","rowKind","lastCell","afterHeadAwaitingFirstBodyRow","lastTableEnd","map2","flushTableEnd","flushCell","range","rowEnd","previousCell","groupName","getPoint","relatedStart","relatedEnd","valueToken","tableBody","exits","related","side","tasklistCheck","_gfmTasklistFirstContentOfListItem","inside","spaceThenNonSpace","emptyOptions","remarkGfm","micromarkExtensions","fromMarkdownExtensions","toMarkdownExtensions","extensions","combineExtensions","continuation","resolveTo","flow","gfm","transforms","literalAutolink","literalAutolinkEmail","literalAutolinkHttp","literalAutolinkWww","gfmFootnoteDefinition","gfmFootnoteDefinitionLabelString","gfmFootnoteCall","gfmFootnoteCallString","canContainEols","tableData","tableHeader","codeText","taskListCheckValueChecked","taskListCheckValueUnchecked","gfmToMarkdown","LINK_PROTOCOLS","rehypeHighlight","referenceLimit","referenceInteractive","referenceInteractiveOptIn","useMarkdown","useExtendedMarkdown","autolink","parentId","renderPlaintext","componentClass","prepareTextNode","argumentId","argument","flat","renderMarkdown","renderedMarkdown","use","except","toHast","rel","importRehypeHighlightLibrary","nestedNode","inputNode","labelParts","nestedNodeIndex","inputComponent","N","processSync","render","NcRichText","NcAppSettingsDialog","NcAppSettingsSection","NcCheckboxRadioSwitch","NcNoteCard","loadingSendMail","groupSorting","getGroupSorting","GroupSorting","GroupName","sorting","UserCount","isGroupSortingEnforced","forceSortGroupByName","isModalOpen","setShowConfig","newUserSendEmail","generateUrl","filterQuotas","searchValue","replaceAll","setDefaultQuota","app","Delete","NcActionInput","NcAppNavigationItem","NcCounterBubble","Pencil","active","loadingRenameGroup","openGroupMenu","showRemoveGroupModal","handleGroupMenuOpen","renameGroup","displayNameInput","groupid","removeGroup","formatGroupMenu","useFormatGroups","adminGroup","disabledGroup","recentGroup","_defineComponent","store","useStore","useRoute","router","useRouter","onBeforeMount","loadGroups","isAdminOrDelegatedAdmin","isAddGroupOpen","loadingAddGroup","hasAddGroupError","newGroupName","loadingGroups","groupsSearchQuery","filteredGroups","groupListItems","lastGroupListItem","findLast","$vnode","isLastGroupVisible","useElementVisibility","groupId","newGroupListItem","scrollIntoView","behavior","block","mdiPlus","NcActionText","NcAppNavigationList","NcAppNavigationSearch","GroupListItem","refInFor","isDialogOpen","getUserCount","showNewUserMenu","mdiAccountOutline","mdiAccountOffOutline","mdiCogOutline","mdiShieldAccountOutline","mdiHistory","NcAppNavigation","UserSettingsDialog","AppNavigationGroupList"],"sourceRoot":""}
|