File: /home/wbwebdes/domains/files.wb-cloud.nl/public_html/dist/settings-users-3239.js.map
{"version":3,"file":"settings-users-3239.js?v=9b9dc3b464dfcbcbdaf6","mappings":"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","sources":["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/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?373b","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/components/Users/UserSettingsDialog.vue?vue&type=style&index=0&id=9f7a355c&prod&scoped=true&lang=scss","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationCaption-hDsiQMLr.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcRichText-CmuVmSzl.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/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationSettings-_Qi3rUlw.css","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=style&index=0&id=43e016dd&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcActionButtonGroup-oAqMyrzr.css","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=54280d98&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcGuestContent-ByAkjts7.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/components/Users/VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true","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-oAqMyrzr.css?6a19","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcActionButtonGroup-hhh3GBSS.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-i1KSVe0J.css?91e7","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcActionTextEditable-xWQGdOVl.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-CS2gLROV.css?137b","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationNewItem-D4fJeBl0.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationSettings-_Qi3rUlw.css?7e09","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationSettings-BV34ogWP.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/NcGuestContent-ByAkjts7.css?a151","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcGuestContent.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcRelatedResourcesPanel-DhStLIO2.css?1484","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcRelatedResourcesPanel-DyvwxDjI.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcSavingIndicatorIcon-U7AIamCl.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcSelectUsers-BOwQNNMf.css?c520","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcSelectUsers-DaHVPRPE.mjs","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcSettingsInputText-Bsp_6DjJ.css?387e","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcSettingsInputText-BKoaCiQU.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcThemeProvider-25ResoIv.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?c902","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/GroupListItem.vue?vue&type=style&index=0&id=cd041e98&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcActionTextEditable-i1KSVe0J.css","webpack:///nextcloud/apps/settings/src/service/groups.ts","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcSettingsInputText-Bsp_6DjJ.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNewItem-CS2gLROV.css","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/assets/NcBlurHash-7aGtE-_T.css","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationNew-Dbo2rvXH.css?7340","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/node_modules/@nextcloud/vue/dist/chunks/referencePickerModal-CtMUY45l.mjs","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"],"sourcesContent":["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 }","<!--\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/TrashCanOutline.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=cd041e98&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=cd041e98&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=cd041e98&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=cd041e98&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 \"cd041e98\",\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, `.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","import '../assets/NcAppNavigationCaption-DU9PxTvu.css';\nimport { N as NcActions } from \"./NcActions-BKZA1xVL.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-hDsiQMLr.mjs.map\n","import '../assets/NcRichText-CWVHZl8s.css';\nimport { ref } from \"vue\";\nimport { N as NcReferenceWidget } from \"./referencePickerModal-CtMUY45l.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-ip_mRd2T.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-CmuVmSzl.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","// 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-3862a820] {\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-3862a820] {\n margin-top: auto;\n padding: 3px;\n}\n#app-settings__header[data-v-3862a820] {\n box-sizing: border-box;\n margin: 0 3px 3px 3px;\n}\n#app-settings__header .settings-button[data-v-3862a820] {\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-3862a820]:hover, #app-settings__header .settings-button[data-v-3862a820]:focus {\n background-color: var(--color-background-hover);\n}\n#app-settings__header .settings-button__label[data-v-3862a820] {\n overflow: hidden;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n#app-settings__content[data-v-3862a820] {\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-3862a820],\n.slide-up-enter-active[data-v-3862a820] {\n transition-duration: var(--animation-slow);\n transition-property: max-height, padding;\n overflow-y: hidden !important;\n}\n.slide-up-enter[data-v-3862a820],\n.slide-up-leave-to[data-v-3862a820] {\n max-height: 0 !important;\n padding: 0 10px !important;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcAppNavigationSettings-_Qi3rUlw.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,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-3862a820] {\\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-3862a820] {\\n margin-top: auto;\\n padding: 3px;\\n}\\n#app-settings__header[data-v-3862a820] {\\n box-sizing: border-box;\\n margin: 0 3px 3px 3px;\\n}\\n#app-settings__header .settings-button[data-v-3862a820] {\\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-3862a820]:hover, #app-settings__header .settings-button[data-v-3862a820]:focus {\\n background-color: var(--color-background-hover);\\n}\\n#app-settings__header .settings-button__label[data-v-3862a820] {\\n overflow: hidden;\\n max-width: 100%;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n#app-settings__content[data-v-3862a820] {\\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-3862a820],\\n.slide-up-enter-active[data-v-3862a820] {\\n transition-duration: var(--animation-slow);\\n transition-property: max-height, padding;\\n overflow-y: hidden !important;\\n}\\n.slide-up-enter[data-v-3862a820],\\n.slide-up-leave-to[data-v-3862a820] {\\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 \"../../../../../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-43e016dd]{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-43e016dd]:hover{background-color:var(--color-background-hover)}.user-list__row:hover .row__cell[data-v-43e016dd]:not(.row__cell--actions){background-color:var(--color-background-hover)}.user-list__row .select--fill[data-v-43e016dd]{max-width:calc(var(--cell-width-large) - 2*var(--cell-padding))}.row__cell[data-v-43e016dd]{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-43e016dd],.row__cell span[data-v-43e016dd],.row__cell label[data-v-43e016dd]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.row__cell--avatar[data-v-43e016dd],.row__cell--displayname[data-v-43e016dd]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.row__cell--avatar[data-v-43e016dd]{inset-inline-start:0}.row__cell--displayname[data-v-43e016dd]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.row__cell--username[data-v-43e016dd]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.row__cell--avatar[data-v-43e016dd]{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-43e016dd]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.row__cell--multiline span[data-v-43e016dd]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.row__cell--large[data-v-43e016dd]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.row__cell--obfuscated[data-v-43e016dd]{min-width:400px;width:400px}.row__cell--fill[data-v-43e016dd]{min-width:var(--cell-width-large);width:100%}.row__cell--actions[data-v-43e016dd]{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-43e016dd]{color:var(--color-text-maxcontrast)}.row__cell[data-v-43e016dd]{border-bottom:1px solid var(--color-border)}.row__cell[data-v-43e016dd] .v-select.select{min-width:var(--cell-min-width)}.row__progress[data-v-43e016dd]{margin-top:4px}.row__progress--warn[data-v-43e016dd]::-moz-progress-bar{background:var(--color-warning) !important}.row__progress--warn[data-v-43e016dd]::-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-bc844f45] {\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[data-v-bc844f45] {\n text-align: center;\n color: var(--color-text-maxcontrast);\n}\n.nc-button-group-base ul.nc-button-group-content[data-v-bc844f45] {\n display: flex;\n gap: 4px;\n justify-content: space-between;\n}\n.nc-button-group-base ul.nc-button-group-content[data-v-bc844f45] li {\n flex: 1 1;\n}\n.nc-button-group-base ul.nc-button-group-content[data-v-bc844f45] .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[data-v-bc844f45] .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[data-v-bc844f45] .action-button.action-button--active:hover, .nc-button-group-base ul.nc-button-group-content[data-v-bc844f45] .action-button.action-button--active:focus, .nc-button-group-base ul.nc-button-group-content[data-v-bc844f45] .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[data-v-bc844f45] .action-button .action-button__pressed-icon {\n display: none;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcActionButtonGroup-oAqMyrzr.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[data-v-bc844f45] {\\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[data-v-bc844f45] {\\n text-align: center;\\n color: var(--color-text-maxcontrast);\\n}\\n.nc-button-group-base ul.nc-button-group-content[data-v-bc844f45] {\\n display: flex;\\n gap: 4px;\\n justify-content: space-between;\\n}\\n.nc-button-group-base ul.nc-button-group-content[data-v-bc844f45] li {\\n flex: 1 1;\\n}\\n.nc-button-group-base ul.nc-button-group-content[data-v-bc844f45] .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[data-v-bc844f45] .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[data-v-bc844f45] .action-button.action-button--active:hover, .nc-button-group-base ul.nc-button-group-content[data-v-bc844f45] .action-button.action-button--active:focus, .nc-button-group-base ul.nc-button-group-content[data-v-bc844f45] .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[data-v-bc844f45] .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, `.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 \"../../../../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-29a083f5] {\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-29a083f5] {\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-ByAkjts7.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-29a083f5] {\\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-29a083f5] {\\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","// 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","// 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","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\[email protected]=\"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, {validate = true} = {}) {\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({fullScan: validate});\n\n\tif (validate) {\n\t\txmlTextDetector.write(string);\n\n\t\tif (!xmlTextDetector.isValid()) {\n\t\t\treturn false;\n\t\t}\n\t} else {\n\t\tconst chunkSize = 128;\n\n\t\tlet offset = 0;\n\t\twhile (string.length > offset && !xmlTextDetector.onEnd) {\n\t\t\txmlTextDetector.write(string.slice(offset, Math.min(offset + chunkSize, string.length)));\n\t\t\toffset += chunkSize;\n\t\t}\n\t}\n\n\treturn 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-oAqMyrzr.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-oAqMyrzr.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcActionButtonGroup-oAqMyrzr.css';\nimport { defineComponent } from \"vue\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { r as register, a as t } from \"./_l10n-CW0YfIWk.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 \"bc844f45\"\n);\nconst NcActionButtonGroup = __component__.exports;\nexport {\n NcActionButtonGroup as N\n};\n//# sourceMappingURL=NcActionButtonGroup-hhh3GBSS.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-i1KSVe0J.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-i1KSVe0J.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcActionTextEditable-i1KSVe0J.css';\nimport { d as mdiArrowRight } from \"./mdi-DoaiuWye.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-xWQGdOVl.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-CS2gLROV.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-CS2gLROV.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcAppNavigationNewItem-CS2gLROV.css';\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-DA740BJ-.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-D4fJeBl0.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-_Qi3rUlw.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-_Qi3rUlw.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcMentionBubble-UsTMm5VD.css';\nimport '../assets/NcAppNavigationSettings-_Qi3rUlw.css';\nimport { g as mdiCogOutline, h as mdiCog } from \"./mdi-DoaiuWye.mjs\";\nimport { vOnClickOutside } from \"@vueuse/components\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Cb-cPj1R.mjs\";\nimport clickOutsideOptions from \"../Mixins/clickOutsideOptions.mjs\";\nimport \"../Composables/useIsFullscreen.mjs\";\nimport \"../Composables/useIsMobile.mjs\";\nimport \"../Composables/useIsDarkTheme.mjs\";\nimport \"@nextcloud/router\";\nimport \"../Functions/isDarkTheme.mjs\";\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 { i as isLegacy32 } from \"./legacy-MK4GvP26.mjs\";\nimport { r as register, p as t45, a as t } from \"./_l10n-CW0YfIWk.mjs\";\nregister(t45);\nconst _sfc_main = {\n directives: {\n ClickOutside: vOnClickOutside\n },\n components: {\n NcIconSvgWrapper\n },\n mixins: [\n clickOutsideOptions\n ],\n props: {\n name: {\n type: String,\n required: false,\n default: t(\"Settings\")\n }\n },\n setup() {\n return {\n isLegacy32,\n mdiCog,\n mdiCogOutline\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 render() {\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(\"NcIconSvgWrapper\", { staticClass: \"settings-button__icon\", attrs: { \"path\": _vm.isLegacy32 ? _vm.mdiCog : _vm.mdiCogOutline } }), _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 \"3862a820\"\n);\nconst NcAppNavigationSettings = __component__.exports;\nexport {\n NcAppNavigationSettings as N\n};\n//# sourceMappingURL=NcAppNavigationSettings-BV34ogWP.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!./NcGuestContent-ByAkjts7.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-ByAkjts7.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcGuestContent-ByAkjts7.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 \"29a083f5\"\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!./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, Q as t39, a as t, R as t36, S as t8 } from \"./_l10n-CW0YfIWk.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-DyvwxDjI.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-text-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-U7AIamCl.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-CW0YfIWk.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { N as NcListItemIcon } from \"./NcListItemIcon-CTfYEjBB.mjs\";\nimport { N as NcSelect } from \"./NcSelect-BUOuXJUQ.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-DaHVPRPE.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-CW0YfIWk.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-BKoaCiQU.mjs.map\n","import { computed, provide } from \"vue\";\nimport { I as INJECTION_KEY_THEME } from \"./constants-Bls5liKo.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n __name: \"NcThemeProvider\",\n props: {\n /**\n * Enforce the dark theme for the content.\n */\n dark: {\n type: Boolean,\n default: false\n },\n /**\n * Enforce the light theme for the content\n */\n light: {\n type: Boolean,\n default: false\n }\n },\n setup(__props) {\n const props = __props;\n const theme = computed(() => {\n if (props.dark) {\n return \"dark\";\n } else if (props.light) {\n return \"light\";\n }\n return \"\";\n });\n provide(INJECTION_KEY_THEME, theme);\n return { __sfc: true, props, theme };\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(\"div\", _vm._b({}, \"div\", _vm._d({}, [`data-theme-${_setup.theme}`, _setup.theme])), [_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 NcThemeProvider = __component__.exports;\nexport {\n NcThemeProvider as N\n};\n//# sourceMappingURL=NcThemeProvider-25ResoIv.mjs.map\n","import { N as NcActionButton } from \"./chunks/NcActionButton-rjMoymt-.mjs\";\nimport { N as NcActionButtonGroup } from \"./chunks/NcActionButtonGroup-hhh3GBSS.mjs\";\nimport NcActionCaption from \"./Components/NcActionCaption.mjs\";\nimport { N as NcActionCheckbox } from \"./chunks/NcActionCheckbox-DSMKeccY.mjs\";\nimport { N as NcActionInput } from \"./chunks/NcActionInput-CQ_WEPqQ.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-BKZA1xVL.mjs\";\nimport NcActionSeparator from \"./Components/NcActionSeparator.mjs\";\nimport NcActionText from \"./Components/NcActionText.mjs\";\nimport { N as NcActionTextEditable } from \"./chunks/NcActionTextEditable-xWQGdOVl.mjs\";\nimport { N as NcAppContent } from \"./chunks/NcAppContent-BS7BiMG0.mjs\";\nimport NcAppContentDetails from \"./Components/NcAppContentDetails.mjs\";\nimport NcAppContentList from \"./Components/NcAppContentList.mjs\";\nimport { N as NcAppNavigation } from \"./chunks/NcAppNavigation-BvEa92PC.mjs\";\nimport { N as NcAppNavigationCaption } from \"./chunks/NcAppNavigationCaption-hDsiQMLr.mjs\";\nimport NcAppNavigationIconBullet from \"./Components/NcAppNavigationIconBullet.mjs\";\nimport { N as NcAppNavigationItem } from \"./chunks/NcAppNavigationItem-NIMhmJHh.mjs\";\nimport NcAppNavigationList from \"./Components/NcAppNavigationList.mjs\";\nimport NcAppNavigationNew from \"./Components/NcAppNavigationNew.mjs\";\nimport { N as NcAppNavigationNewItem } from \"./chunks/NcAppNavigationNewItem-D4fJeBl0.mjs\";\nimport { N as NcAppNavigationSearch } from \"./chunks/NcAppNavigationSearch-B9OkdsuE.mjs\";\nimport { N as NcAppNavigationSettings } from \"./chunks/NcAppNavigationSettings-BV34ogWP.mjs\";\nimport NcAppNavigationSpacer from \"./Components/NcAppNavigationSpacer.mjs\";\nimport { N as NcAppSettingsDialog } from \"./chunks/NcAppSettingsDialog-BwsIc_QT.mjs\";\nimport NcAppSettingsSection from \"./Components/NcAppSettingsSection.mjs\";\nimport { N as NcAppSidebar } from \"./chunks/NcAppSidebar-BJgPYOcZ.mjs\";\nimport { N as NcAppSidebarHeader } from \"./chunks/NcAppSidebarHeader-G2VD8Nfl.mjs\";\nimport NcAppSidebarTab from \"./Components/NcAppSidebarTab.mjs\";\nimport { N as NcAvatar } from \"./chunks/NcAvatar-CgF-MFtU.mjs\";\nimport { u } from \"./chunks/NcAvatar-CgF-MFtU.mjs\";\nimport { N as NcBlurHash } from \"./chunks/NcBlurHash-do2wxY-0.mjs\";\nimport { N as NcBreadcrumb } from \"./chunks/NcBreadcrumb-DJpYjXCe.mjs\";\nimport { N as NcBreadcrumbs } from \"./chunks/NcBreadcrumbs-B722pBOd.mjs\";\nimport NcButton from \"./Components/NcButton.mjs\";\nimport { N as NcCheckboxRadioSwitch } from \"./chunks/NcCheckboxRadioSwitch-ip_mRd2T.mjs\";\nimport { N as NcCollectionList } from \"./chunks/NcCollectionList-Khg3X3Zq.mjs\";\nimport { N as NcColorPicker } from \"./chunks/NcColorPicker-MXMbRaLk.mjs\";\nimport { N as NcContent } from \"./chunks/NcContent-BbmqoSY7.mjs\";\nimport { N as NcCounterBubble } from \"./chunks/NcCounterBubble-CDfRYl8B.mjs\";\nimport { N as NcDashboardWidget } from \"./chunks/NcDashboardWidget-D0cFVt4i.mjs\";\nimport { N as NcDashboardWidgetItem } from \"./chunks/NcDashboardWidgetItem-D33MR-DH.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-C1b3UtA7.mjs\";\nimport { N as NcDialogButton } from \"./chunks/NcDialogButton-Di9tU3e_.mjs\";\nimport NcEllipsisedOption from \"./Components/NcEllipsisedOption.mjs\";\nimport { N as NcEmojiPicker } from \"./chunks/NcEmojiPicker-DJHvkF--.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-Dq_Avv2T.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-BNSfmQqu.mjs\";\nimport { N as NcListItem } from \"./chunks/NcListItem-CnxZixD_.mjs\";\nimport { N as NcListItemIcon } from \"./chunks/NcListItemIcon-CTfYEjBB.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-DSdrAkZy.mjs\";\nimport { N as NcPopover } from \"./chunks/NcPopover-CAJVK-MR.mjs\";\nimport { N as NcProgressBar } from \"./chunks/NcProgressBar-CI_nOrPg.mjs\";\nimport { N as NcRelatedResourcesPanel } from \"./chunks/NcRelatedResourcesPanel-DyvwxDjI.mjs\";\nimport { N as NcMentionBubble } from \"./chunks/index-B8gPNa8c.mjs\";\nimport { r } from \"./chunks/index-B8gPNa8c.mjs\";\nimport { N as NcAutoCompleteResult, a as NcRichContenteditable } from \"./chunks/NcRichContenteditable-cpptFUeI.mjs\";\nimport { N as NcRichText } from \"./chunks/NcRichText-CmuVmSzl.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-CtMUY45l.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-BUOuXJUQ.mjs\";\nimport { N as NcTextField } from \"./chunks/NcTextField-Do6wBDGH.mjs\";\nimport \"@nextcloud/event-bus\";\nimport { N as NcSavingIndicatorIcon } from \"./chunks/NcSavingIndicatorIcon-U7AIamCl.mjs\";\nimport { N as NcSelectTags } from \"./chunks/NcSelectTags-hP98xYkg.mjs\";\nimport { N as NcSelectUsers } from \"./chunks/NcSelectUsers-DaHVPRPE.mjs\";\nimport { N as NcSettingsInputText } from \"./chunks/NcSettingsInputText-BKoaCiQU.mjs\";\nimport { N as NcSettingsSection } from \"./chunks/NcSettingsSection-fe_YIg-L.mjs\";\nimport { N as NcSettingsSelectGroup } from \"./chunks/NcSettingsSelectGroup-SuQNKdqU.mjs\";\nimport { N as NcTextArea } from \"./chunks/NcTextArea-BFLuhsEv.mjs\";\nimport { N as NcThemeProvider } from \"./chunks/NcThemeProvider-25ResoIv.mjs\";\nimport { N as NcTimezonePicker } from \"./chunks/NcTimezonePicker-bIwFQlmV.mjs\";\nimport { N as NcUserBubble } from \"./chunks/NcUserBubble-BmPOx3MW.mjs\";\nimport { N as NcUserStatusIcon } from \"./chunks/NcUserStatusIcon-DQr5EGWZ.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 { usernameToColor } from \"./Functions/usernameToColor.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 NcThemeProvider,\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 NcThemeProvider,\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 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\nconst productName = window.OC.theme.productName\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',\n\t\t\t\t\t'In case of lost device or exiting the organization, this can remotely wipe the {productName} data from all devices associated with {userid}. Only works if the devices are connected to the internet.',\n\t\t\t\t\t{ userid, productName },\n\t\t\t\t),\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=43e016dd&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=43e016dd&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=43e016dd&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=43e016dd&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 \"43e016dd\",\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, `.modal__header[data-v-cd041e98]{margin:0}.modal__content[data-v-cd041e98]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__button-row[data-v-cd041e98]{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 \"../../../../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-border-error, 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-i1KSVe0J.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,2DAA2D;EAC3D,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-border-error, 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","/**\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-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-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__actions[data-v-46fee9ac]:hover .button-vue {\n background-color: var(--color-background-dark) !important;\n}\n.app-navigation-entry.active .app-navigation-entry__actions[data-v-46fee9ac]:hover .button-vue {\n background-color: var(--color-primary-element) !important;\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-CS2gLROV.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,yDAAyD;AAC3D;AACA;EACE,yDAAyD;AAC3D;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__actions[data-v-46fee9ac]:hover .button-vue {\\n background-color: var(--color-background-dark) !important;\\n}\\n.app-navigation-entry.active .app-navigation-entry__actions[data-v-46fee9ac]:hover .button-vue {\\n background-color: var(--color-primary-element) !important;\\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","\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","// 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 \"../../../../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","import '../assets/referencePickerModal-BgSz7IyB.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, x as t40, _ as t29, n as t17, $ as t11 } from \"./_l10n-CW0YfIWk.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-BUOuXJUQ.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-Do6wBDGH.mjs\";\nimport { D as DotsHorizontalIcon } from \"./NcActions-BKZA1xVL.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,\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 \"a3c031e1\"\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-CtMUY45l.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, `.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"],"names":["name","components","NcAppSettingsDialog","NcAppSettingsSection","NcCheckboxRadioSwitch","NcNoteCard","NcSelect","props","open","type","Boolean","required","data","selectedQuota","loadingSendMail","computed","groupSorting","get","$store","getters","getGroupSorting","GroupSorting","GroupName","set","sorting","commit","UserCount","isGroupSortingEnforced","getServerData","forceSortGroupByName","isModalOpen","$emit","showConfig","getShowConfig","settings","showLanguages","status","setShowConfig","showFirstLogin","showLastLogin","showUserBackend","showStoragePath","quotaOptions","quotaPreset","reduce","acc","cur","concat","id","label","allowUnlimitedQuota","unshift","unlimitedQuota","defaultQuota","OC","Util","computerFileSize","quota","sendWelcomeMail","newUserSendEmail","value","axios","post","generateUrl","error","logger","methods","filterQuotas","option","search","searchValue","toLocaleLowerCase","replaceAll","indexOf","key","validateQuota","validQuota","parseFileSize","formatFileSize","setDefaultQuota","arguments","length","undefined","dispatch","app","then","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","attrs","t","on","$event","_v","_s","_e","staticClass","model","callback","$$v","expression","AccountGroup","Delete","Fragment","NcActionButton","NcActionInput","NcAppNavigationItem","NcButton","NcCounterBubble","NcModal","Pencil","active","count","Number","default","String","loadingRenameGroup","openGroupMenu","showRemoveGroupModal","handleGroupMenuOpen","renameGroup","gid","trim","displayName","$refs","displayNameInput","$el","querySelector","groupid","removeGroup","showError","group","ref","params","selectedGroup","encodeURIComponent","scopedSlots","_u","fn","proxy","isAdmin","isDelegatedAdmin","formatGroupMenu","title","usercount","Math","max","disabled","useFormatGroups","groups","userGroups","filter","map","adminGroup","find","disabledGroup","recentGroup","_defineComponent","__name","setup","__props","store","useStore","route","useRoute","router","useRouter","onBeforeMount","loadGroups","selectedGroupDecoded","decodeURIComponent","isAdminOrDelegatedAdmin","getSortedGroups","getSubAdminGroups","isAddGroupOpen","loadingAddGroup","hasAddGroupError","newGroupName","loadingGroups","offset","groupsSearchQuery","filteredGroups","substring","toLowerCase","groupListItems","lastGroupListItem","findLast","component","$vnode","at","listItem","isLastGroupVisible","useElementVisibility","watch","promise","cancel","searchGroups","limit","__sfc","createGroup","groupId","push","newGroupListItem","scrollIntoView","behavior","block","mdiAccountGroupOutline","mdiPlus","NcActionText","NcAppNavigationCaption","NcAppNavigationList","NcAppNavigationSearch","NcIconSvgWrapper","NcLoadingIcon","GroupListItem","_setup","_setupProxy","_l","refInFor","isDialogOpen","userCount","getUserCount","showNewUserMenu","mdiAccountOutline","mdiAccountOffOutline","mdiCogOutline","mdiShieldAccountOutline","mdiHistory","NcAppNavigation","NcAppNavigationNew","UserSettingsDialog","AppNavigationGroupList","_k","keyCode","apply","___CSS_LOADER_EXPORT___","module","_sfc_main","NcActions","inheritAttrs","headingId","isHeading","headingLevel","wrapperTag","captionTag","hasActions","$slots","actions","_sfc_render","tag","class","_g","_b","_t","$attrs","$listeners","_sfc_staticRenderFns","n","exports","_sfc_main$1","NcReferenceWidget","text","referenceData","Array","displayFallback","interactive","interactiveOptIn","references","loading","isVisible","displayedReferences","values","Object","fallbackReference","firstReference","slice","accessible","openGraphObject","link","richObjectType","mounted","fetch","RegExp","U","exec","resolve","response","ocs","catch","console","match","isPublic","sharingToken","_sfc_render$1","reference","_sfc_staticRenderFns$1","NcReferenceList","remarkPlaceholder","ast","node2","index","parent","placeholders","split","entry","index2","list2","matches","u","tagName","children","splice","remarkUnescape","tree","includes","replace","ccount","character","source","TypeError","asciiAlpha","regexCheck","asciiAlphanumeric","markdownLineEnding","code2","markdownLineEndingOrSpace","markdownSpace","unicodePunctuation","unicodeWhitespace","regex","test","fromCharCode","convert","ok","castFactory","isArray","tests","checks","parameters","anyFactory","check","checkAsRecord","nodeAsRecord","propsFactory","Error","testFunction","looksLikeANode","call","empty","EXIT","visitParents","visitor","reverse","is","factory","parents","defineProperty","visit2","subresult","grandparents","result","toResult","nodeAsParent","child","toExpression","string","escapeStringRegexp","toFunction","replace2","inConstruct","notInConstruct","enterLiteralAutolink","token","enter","url","enterLiteralAutolinkValue","config","autolinkProtocol","exitLiteralAutolinkHttp","exit","exitLiteralAutolinkWww","stack","sliceSerialize","exitLiteralAutolinkEmail","autolinkEmail","exitLiteralAutolink","transformGfmAutolinkLiterals","ignored","ignore","pairs","tupleOrList","tuple","toPairs","pairIndex","grandparent","siblings","start","change","nodes","lastIndex","position","matchObject","input","global","handler","findAndReplace","findUrl","findEmail","_","protocol","domain2","path2","prefix","previous","parts","isCorrectDomain","trailExec","trail2","closingParenIndex","openingParens","closingParens","splitUrl","atext","email","charCodeAt","normalizeIdentifier","toUpperCase","enterFootnoteDefinition","identifier","enterFootnoteDefinitionLabelString","buffer","exitFootnoteDefinitionLabelString","resume","exitFootnoteDefinition","enterFootnoteCall","enterFootnoteCallString","exitFootnoteCallString","exitFootnoteCall","footnoteReference","state","info","tracker","createTracker","move","exit2","subexit","safe","associationId","current","before","after","footnoteDefinition","shift","indentLines","containerFlow","map$2","line","blank","peek","constructsWithoutStrikethrough","enterStrikethrough","exitStrikethrough","handleDelete","containerPhrasing","serialize","defaultStringLength","toAlignment","codePointAt","map$1","patternInScope","pattern","listInScope","none","hardBreak","_1","unsafe","checkQuote","marker","quote","emphasis","checkEmphasis","emptyOptions$1","toString","one","includeImageAlt","includeHtml","node","alt","all","join","html","image","suffix","imageReference","referenceType","inlineCode","sequence","compilePattern","atBreak","formatLinkAsAutolink","raw","resourceLink","value2","linkReference","text2","checkBullet","bullet","checkRule","rule","phrasing","strong","checkStrong","handle","blockquote","break","code","fence","checkFence","fences","lang","formatCodeAsIndented","exit3","repeat","expected","longestStreak","encode","meta","definition","heading","rank","min","depth","literalWithBreak","node3","setext","formatHeadingAsSetext","subexit2","lastIndexOf","closeAtx","list","bulletCurrent","ordered","bulletOrdered","checkBulletOrdered","bulletOther","checkBulletOther","useDifferentMarker","bulletLastUsed","firstListItem","indexStack","item","listItemIndent","style","checkListItemIndent","incrementListMarker","size","spread","ceil","paragraph","root","some","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","checked","exitParagraphWithTaskListItem","head","firstParaghraph","sibling","column","assign","listItemWithTaskListItem","checkable","checkbox","remove","items","end","chunkStart","from","hasOwnProperty","syntaxExtension","all2","extension","hook","left","right","constructs","existing","add","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","fromCodePoint","protocolPrefixInside","protocolSlashesInside","afterProtocol","asciiControl","protocolAfter","emailAutolink","dot","gfmAtext","previousEmail","emailDomain","emailDomainAfter","emailDomainDot","_balanced","_gfmAutolinkLiteralWalkedInto","classifyCharacter","resolveAll","constructs2","context","called","factorySpace","POSITIVE_INFINITY","blankLine","indent","tail","tokenizePotentialGfmFootnoteCall","defined","parser","gfmFootnotes","labelStart","now","resolveToPotentialGfmFootnoteCall","_bufferIndex","chunk","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","constructor","editMap","addImpl","sort","a","b","vecs","pop","gfmTableAlign","inDelimiterRow","event","alignIndex","tokenizeTable","sizeB","next","bodyRowStart","headRowBefore","lazy","headRowBreak","headRowStart","interrupt","headDelimiterStart","headRowData","headRowEscape","headDelimiterBefore","disable","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","close","spaceThenNonSpace","emptyOptions","remarkGfm","micromarkExtensions","fromMarkdownExtensions","toMarkdownExtensions","extensions","combineExtensions","document","continuation","resolveTo","flow","gfm","transforms","literalAutolink","literalAutolinkEmail","literalAutolinkHttp","literalAutolinkWww","gfmFootnoteDefinition","gfmFootnoteDefinitionLabelString","gfmFootnoteCall","gfmFootnoteCallString","canContainEols","tableData","tableHeader","codeText","taskListCheckValueChecked","taskListCheckValueUnchecked","delete","gfmToMarkdown","LINK_PROTOCOLS","rehypeHighlight","referenceLimit","referenceInteractive","referenceInteractiveOptIn","useMarkdown","useExtendedMarkdown","autolink","emits","parentId","G","renderPlaintext","h","p","componentClass","prepareTextNode","argumentId","argument","flat","renderMarkdown","renderedMarkdown","use","r","except","toHast","target","rel","createElement","startsWith","async","importRehypeHighlightLibrary","nestedNode","inputNode","labelParts","nestedNodeIndex","findIndex","inputComponent","N","g","$router","href","to","placeholder","processSync","render","NcRichText","storage","persist","build","emojiIndex","emojiSearch","query","maxResults","EmojiIndex","currentSkinTone","getCurrentSkinTone","results","frequently","emoji","getSkin","emojiAddRecent","emojiData","skinTone","parseInt","getItem","setCurrentSkinTone","setItem","Vue","directive","vElementVisibility","extend","dataComponent","Function","dataKey","dataSources","itemHeight","extraProps","bufferItems","headerHeight","tableHeight","resizeObserver","startIndex","shownItems","renderedItems","tbodyStyle","isOverScrolled","hiddenAfterItems","paddingTop","paddingBottom","tfoot","thead","ResizeObserver","debounce","clientHeight","debug","onScroll","observe","addEventListener","beforeDestroy","disconnect","handleFooterVisibility","visible","round","scrollTop","i","directives","rawName","NcDialog","NcPasswordField","NcTextField","newUser","possibleManagers","managerInputLabel","managerLabel","usernameLabel","newUserGenerateUserID","minPasswordLength","getPasswordPolicyMinLength","availableGroups","languages","commonLanguages","otherLanguages","beforeMount","searchUserManager","username","focus","createUser","userid","password","mailAddress","subadmin","subAdminsGroups","language","manager","statuscode","toggleLoading","_ref","addGroup","isCreating","canAdd","languageFilterBy","_ref2","users","preventDefault","$set","newUserRequireEmail","filteredUsers","hasObfuscated","passwordLabel","namespaceMapping","ext","mime","rootNameMapping","rss","svg","XmlTextDetector","firstTag","onEnd","sax","xmlns","nesting","onerror","e","message","fileType","onopentag","uri","fullScan","onclosetag","write","isValid","defineComponent","edit","user","editSvg","SvgCheck","SvgPencil","enabledActions","action","enabled","isSvg","validate","xmlTextDetector","chunkSize","toggleEdit","icon","inject","isInSemanticMenu","labelId","mixins","A","prop","validator","modelValue","util","warn","isFocusable","ariaChecked","toggleInput","click","onChange","focusable","domProps","_q","ctrlKey","shiftKey","altKey","metaKey","mdiArrowRight","computedId","onInput","onSubmit","stopPropagation","onClick","isIconUrl","backgroundImage","selection","showDetails","showdetails","color","formattedColor","backgroundColor","NcInputConfirmCancel","editLabel","editPlaceholder","newItemValue","newItemActive","handleNewItem","$nextTick","newItemInput","focusInput","cancelNewItem","handleNewItemDone","ClickOutside","clickOutsideOptions","isLegacy32","mdiCog","clickOutsideConfig","closeMenu","toggleMenu","queue","concurrency","hash","src","emit","canvas","imageLoaded","drawBlurHash","l","height","width","pixels","ctx","getContext","imageData","createImageData","putImageData","immediate","Promise","withResolvers","Image","onload","preloadImage","success","$style","fadeTransition","fadeTransitionActive","__cssModules","_sfc_injectStyles","getElementById","classList","destroyed","_sfc_main$4","fillColor","_sfc_render$4","_sfc_staticRenderFns$4","_sfc_main$3","_sfc_render$3","_sfc_staticRenderFns$3","OpenInNew","teamResourceProviders","circles","_sfc_main$2","ChevronDown","ChevronUp","providerId","itemId","appEnabled","appswebroots","version","teamResources","teamOpen","teamProviders","teamId","team","t2","resources","resource","provider","fetchTeamResources","created","teams","toggleOpen","_sfc_render$2","iconEmoji","iconSvg","iconURL","_sfc_staticRenderFns$2","NcTeamResources","labelTranslated","resourceName","NcResource","resourceType","fileInfo","header","description","primary","related_resources","subline","hasResourceInfo","isFiles","fetchRelatedResources","saving","indicatorColor","__default__","ariaLabelClearSelected","ariaLabelListbox","ariaLabelDeselectOption","optionLabel","keepOpen","filterBy","inputId","inputLabel","labelOutside","multiple","noWrap","clickableArea","window","getComputedStyle","body","getPropertyValue","gridBaseLine","avatarSize","localFilterBy","search2","subname","NcListItemIcon","selectedOption","$props","hint","submitTranslated","idSubmit","dark","light","theme","I","_d","Symbol","toStringTag","externalActions","formattedFullTime","useFormatDateTime","firstLoginTimestamp","relativeTime","format","timeStyle","dateStyle","selectedGroups","selectedSubAdminGroups","userSubAdminGroups","usedSpace","quotaUsed","used","usedQuota","pow","isNaN","userQuota","humanQuota","userLanguage","userLang","userFirstLogin","userLastLoginTooltip","lastLoginTimestamp","formatDate","userLastLogin","relativeModifiedDate","productName","NcAvatar","NcProgressBar","UserRowActions","UserRowMixin","rand","random","loadingPossibleManagers","currentManager","editing","groupsDetails","subAdminGroupsDetails","subadmins","wipe","editedDisplayName","displayname","editedPassword","editedMail","isObfuscated","isLoadingUser","isLoadingField","uniqueId","availableSubAdminGroups","userGroupsLabels","availableGroup","userSubAdminGroupsLabels","canEdit","getCurrentUser","uid","userActions","deleteUser","wipeUserDevices","enableDisableUser","editedUserQuota","availableLanguages","initManager","confirmPassword","dialogs","confirmDestructive","YES_NO_BUTTONS","confirm","confirmClasses","showSuccess","timeout","finally","filterManagers","managers","userId","searchInitialUserManager","loadGroupsDetails","loadUserGroups","loadSubAdminGroupsDetails","loadUserSubAdminGroups","updateUserManager","previousManager","updateDisplayName","updatePassword","updateEmail","addUserGroup","removeUserGroup","canRemove","$route","addUserSubAdmin","removeUserSubAdmin","setUserQuota","setUserLanguage","displayNameField","inputField","backendCapabilities","setDisplayName","canChangePassword","setPassword","backend","storageLocation","freeze","NcEmptyContent","NewUserDialog","UserListFooter","UserListHeader","VirtualList","rowHeight","UserRow","isInitialLoad","searchQuery","getUsers","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","showNewUserForm","NcAppContent","UserList","pageHeading","admin","OCA","Settings","registerAction","formatGroup","controller","AbortController","CancelablePromise","reject","onCancel","abort","generateOcsUrl","signal","_ref3","buttonId","variant","strict","opt","SAXParser","SAXStream","createStream","MAX_BUFFER_LENGTH","Stream","buffers","clearBuffers","q","c","bufferCheckPosition","lowercase","lowercasetags","looseCase","tags","closed","closedRoot","sawRoot","noscript","S","BEGIN","strictEntities","ENTITIES","create","XML_ENTITIES","attribList","ns","rootNS","unquotedAttributeValues","trackPosition","EVENTS","o","F","prototype","keys","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","PROC_INST","procInstName","procInstBody","pad","COMMENT","comment","doctype","DOCTYPE_DTD","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","attributes","ATTRIB_VALUE_QUOTED","ATTRIB_VALUE_UNQUOTED","ATTRIB_VALUE_ENTITY_Q","ATTRIB_VALUE_CLOSED","isAttribEnd","ATTRIB_VALUE_ENTITY_U","CLOSE_TAG_SAW_WHITE","notMatch","returnState","parsedEntity","parseEntity","unparsedEntities","entity","entityBody","entityStart","maxAllowed","maxActual","len","closeText","m","checkBufferLength","flush","ex","streamWraps","ev","_parser","writable","readable","me","onend","er","_decoder","forEach","removeAllListeners","enumerable","configurable","Buffer","isBuffer","SD","args","XML_NAMESPACE","XMLNS_NAMESPACE","xml","stringFromCharCode","floor","s","STATE","COMMENT_STARTING","nodeType","normalize","qname","attribute","qualName","local","qn","selfClosing","JSON","stringify","nv","isSelfClosing","closeTo","x","num","entityLC","numStr","highSurrogate","lowSurrogate","codeUnits","codePoint","isFinite","RangeError","_sfc_main$8","widgetRoot","isIntersecting","showInteractive","rendered","idleTimeout","isInteractive","hasFullWidth","hasCustomWidget","hasInteractiveView","noAccess","descriptionStyle","numberOfLines","display","lineClamp","webkitLineClamp","Infinity","compactLink","referenceWidgetLinkComponent","referenceWidgetLinkProps","clearTimeout","renderWidget","setTimeout","destroyWidget","enableInteractive","customWidget","innerHTML","widget","appendChild","_sfc_render$8","thumb","_sfc_staticRenderFns$8","_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","keep","search_providers_ids","searchProvider","providers","escapedQuery","regexp","filteredSortedProviders","providerList","timestamps","_vue_richtext_reference_provider_timestamps","order","ta","tb","sortProviders","searchResult","mytimer","delay","ms","isUrl","str","URL","_sfc_main$6","_sfc_render$6","_sfc_staticRenderFns$6","LinkVariantIcon","_sfc_main$5","NcHighlight","selectedProvider","multiselectPlaceholder","providerIconAlt","isLink","onProviderSelected","onSearch","_sfc_render$5","_sfc_staticRenderFns$5","NcProviderList","inputValue","abortController","inputPlaceholder","isLinkValid","getElementsByTagName","onClear","updateReference","nativeOn","NcRawLinkInput","rounded","thumbnailUrl","NcSearchResult","DotsHorizontalIcon","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","reason","term","NcSearch","MODES","standardLinkInput","searchInput","customElement","initialProvider","focusOnCreate","mode","pickerWrapperStyle","onEscapePressed","deselectProvider","cancelProviderSelection","cancelCustomElement","cancelSearch","cancelRawLinkInput","submitLink","timestamp","Date","put","touchProvider","NcReferencePicker","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"],"sourceRoot":""}