@nextcloud/vue 3.10.2 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +114 -19
- package/README.md +9 -10
- package/dist/Components/ActionButton.js +24 -3
- package/dist/Components/ActionButton.js.map +1 -1
- package/dist/Components/ActionCaption.js +23 -0
- package/dist/Components/ActionCaption.js.map +1 -0
- package/dist/Components/ActionCheckbox.js +24 -3
- package/dist/Components/ActionCheckbox.js.map +1 -1
- package/dist/Components/ActionInput.js +124 -21
- package/dist/Components/ActionInput.js.map +1 -1
- package/dist/Components/ActionLink.js +24 -3
- package/dist/Components/ActionLink.js.map +1 -1
- package/dist/Components/ActionRadio.js +24 -3
- package/dist/Components/ActionRadio.js.map +1 -1
- package/dist/Components/ActionRouter.js +23 -2
- package/dist/Components/ActionRouter.js.map +1 -1
- package/dist/Components/ActionSeparator.js +1 -1
- package/dist/Components/ActionSeparator.js.map +1 -1
- package/dist/Components/ActionText.js +23 -2
- package/dist/Components/ActionText.js.map +1 -1
- package/dist/Components/ActionTextEditable.js +45 -3
- package/dist/Components/ActionTextEditable.js.map +1 -1
- package/dist/Components/Actions.js +25 -4
- package/dist/Components/Actions.js.map +1 -1
- package/dist/Components/AppContent.js +21 -1
- package/dist/Components/AppContent.js.map +1 -1
- package/dist/Components/AppContentDetails.js +1 -1
- package/dist/Components/AppContentDetails.js.map +1 -1
- package/dist/Components/AppContentList.js +1 -1
- package/dist/Components/AppContentList.js.map +1 -1
- package/dist/Components/AppNavigation.js +109 -2
- package/dist/Components/AppNavigation.js.map +1 -1
- package/dist/Components/AppNavigationCaption.js +66 -1
- package/dist/Components/AppNavigationCaption.js.map +1 -1
- package/dist/Components/AppNavigationCounter.js +2 -2
- package/dist/Components/AppNavigationCounter.js.map +1 -1
- package/dist/Components/AppNavigationIconBullet.js +2 -2
- package/dist/Components/AppNavigationIconBullet.js.map +1 -1
- package/dist/Components/AppNavigationItem.js +49 -7
- package/dist/Components/AppNavigationItem.js.map +1 -1
- package/dist/Components/AppNavigationNew.js +1 -1
- package/dist/Components/AppNavigationNew.js.map +1 -1
- package/dist/Components/AppNavigationNewItem.js +2 -2
- package/dist/Components/AppNavigationNewItem.js.map +1 -1
- package/dist/Components/AppNavigationSettings.js +5 -5
- package/dist/Components/AppNavigationSettings.js.map +1 -1
- package/dist/Components/AppNavigationSpacer.js +1 -1
- package/dist/Components/AppNavigationSpacer.js.map +1 -1
- package/dist/Components/AppNavigationToggle.js +109 -2
- package/dist/Components/AppNavigationToggle.js.map +1 -1
- package/dist/Components/AppSettingsDialog.js +64 -22
- package/dist/Components/AppSettingsDialog.js.map +1 -1
- package/dist/Components/AppSettingsSection.js +1 -1
- package/dist/Components/AppSettingsSection.js.map +1 -1
- package/dist/Components/AppSidebar.js +38 -17
- package/dist/Components/AppSidebar.js.map +1 -1
- package/dist/Components/AppSidebarTab.js +1 -1
- package/dist/Components/AppSidebarTab.js.map +1 -1
- package/dist/Components/Avatar.js +9 -10
- package/dist/Components/Avatar.js.map +1 -1
- package/dist/Components/Breadcrumb.js +33 -12
- package/dist/Components/Breadcrumb.js.map +1 -1
- package/dist/Components/Breadcrumbs.js +59 -17
- package/dist/Components/Breadcrumbs.js.map +1 -1
- package/dist/Components/CheckboxRadioSwitch.js +44 -0
- package/dist/Components/CheckboxRadioSwitch.js.map +1 -0
- package/dist/Components/ColorPicker.js +6 -7
- package/dist/Components/ColorPicker.js.map +1 -1
- package/dist/Components/Content.js +2 -2
- package/dist/Components/Content.js.map +1 -1
- package/dist/Components/CounterBubble.js +23 -0
- package/dist/Components/CounterBubble.js.map +1 -0
- package/dist/Components/DatetimePicker.js +341 -3
- package/dist/Components/DatetimePicker.js.map +1 -1
- package/dist/Components/EmojiPicker.js +14 -14
- package/dist/Components/EmojiPicker.js.map +1 -1
- package/dist/Components/EmptyContent.js +2 -2
- package/dist/Components/EmptyContent.js.map +1 -1
- package/dist/Components/Highlight.js +3 -3
- package/dist/Components/Highlight.js.map +1 -1
- package/dist/Components/ListItem.js +130 -0
- package/dist/Components/ListItem.js.map +1 -0
- package/dist/Components/ListItemIcon.js +20 -21
- package/dist/Components/ListItemIcon.js.map +1 -1
- package/dist/Components/Modal.js +53 -11
- package/dist/Components/Modal.js.map +1 -1
- package/dist/Components/Multiselect.js +22 -23
- package/dist/Components/Multiselect.js.map +1 -1
- package/dist/Components/MultiselectTags.js +24 -25
- package/dist/Components/MultiselectTags.js.map +1 -1
- package/dist/Components/Popover.js +2 -2
- package/dist/Components/Popover.js.map +1 -1
- package/dist/Components/PopoverMenu.js +1 -1
- package/dist/Components/PopoverMenu.js.map +1 -1
- package/dist/Components/ProgressBar.js +2 -2
- package/dist/Components/ProgressBar.js.map +1 -1
- package/dist/Components/RichContenteditable.js +2 -2
- package/dist/Components/RichContenteditable.js.map +1 -1
- package/dist/Components/SettingsInputText.js +22 -1
- package/dist/Components/SettingsInputText.js.map +1 -1
- package/dist/Components/SettingsSection.js +2 -2
- package/dist/Components/SettingsSection.js.map +1 -1
- package/dist/Components/SettingsSelectGroup.js +41 -21
- package/dist/Components/SettingsSelectGroup.js.map +1 -1
- package/dist/Components/TimezonePicker.js +340 -0
- package/dist/Components/TimezonePicker.js.map +1 -0
- package/dist/Components/UserBubble.js +35 -36
- package/dist/Components/UserBubble.js.map +1 -1
- package/dist/Directives/Focus.js +1 -1
- package/dist/Directives/Focus.js.map +1 -1
- package/dist/Directives/Linkify.js +1 -1
- package/dist/Directives/Linkify.js.map +1 -1
- package/dist/Directives/Tooltip.js +2 -2
- package/dist/Directives/Tooltip.js.map +1 -1
- package/dist/Functions/usernameToColor.js +2 -3
- package/dist/Functions/usernameToColor.js.map +1 -1
- package/dist/Mixins/excludeClickOutsideClasses.js +2 -2
- package/dist/Mixins/excludeClickOutsideClasses.js.map +1 -1
- package/dist/Mixins/isFullscreen.js +1 -1
- package/dist/Mixins/isFullscreen.js.map +1 -1
- package/dist/Mixins/isMobile.js +1 -1
- package/dist/Mixins/isMobile.js.map +1 -1
- package/dist/Mixins/richEditor.js +1 -1
- package/dist/Mixins/richEditor.js.map +1 -1
- package/dist/ncvuecomponents.js +276 -69
- package/dist/ncvuecomponents.js.map +1 -1
- package/package.json +28 -43
- package/src/assets/action.scss +0 -132
- package/src/assets/iconfont/README.md +0 -30
- package/src/assets/iconfont/arrow-left-double.svg +0 -3
- package/src/assets/iconfont/arrow-left.svg +0 -3
- package/src/assets/iconfont/arrow-right-double.svg +0 -3
- package/src/assets/iconfont/arrow-right.svg +0 -3
- package/src/assets/iconfont/breadcrumb.svg +0 -1
- package/src/assets/iconfont/checkmark.svg +0 -1
- package/src/assets/iconfont/close.svg +0 -1
- package/src/assets/iconfont/confirm.svg +0 -1
- package/src/assets/iconfont/info.svg +0 -1
- package/src/assets/iconfont/menu.svg +0 -1
- package/src/assets/iconfont/more.svg +0 -1
- package/src/assets/iconfont/pause.svg +0 -1
- package/src/assets/iconfont/play.svg +0 -1
- package/src/assets/iconfont/triangle-s.svg +0 -1
- package/src/assets/iconfont/user-status-away.svg +0 -2
- package/src/assets/iconfont/user-status-dnd.svg +0 -2
- package/src/assets/iconfont/user-status-invisible.svg +0 -2
- package/src/assets/iconfont/user-status-online.svg +0 -2
- package/src/assets/inputs.scss +0 -104
- package/src/assets/variables.scss +0 -57
- package/src/components/ActionButton/ActionButton.vue +0 -160
- package/src/components/ActionButton/index.js +0 -24
- package/src/components/ActionCheckbox/ActionCheckbox.vue +0 -220
- package/src/components/ActionCheckbox/index.js +0 -24
- package/src/components/ActionInput/ActionInput.vue +0 -418
- package/src/components/ActionInput/index.js +0 -24
- package/src/components/ActionLink/ActionLink.vue +0 -132
- package/src/components/ActionLink/index.js +0 -24
- package/src/components/ActionRadio/ActionRadio.vue +0 -219
- package/src/components/ActionRadio/index.js +0 -24
- package/src/components/ActionRouter/ActionRouter.vue +0 -100
- package/src/components/ActionRouter/index.js +0 -24
- package/src/components/ActionSeparator/ActionSeparator.vue +0 -43
- package/src/components/ActionSeparator/index.js +0 -24
- package/src/components/ActionText/ActionText.vue +0 -87
- package/src/components/ActionText/index.js +0 -24
- package/src/components/ActionTextEditable/ActionTextEditable.vue +0 -306
- package/src/components/ActionTextEditable/index.js +0 -24
- package/src/components/Actions/Actions.vue +0 -764
- package/src/components/Actions/index.js +0 -24
- package/src/components/AppContent/AppContent.vue +0 -93
- package/src/components/AppContent/index.js +0 -23
- package/src/components/AppContentDetails/AppContentDetails.vue +0 -34
- package/src/components/AppContentDetails/index.js +0 -23
- package/src/components/AppContentList/AppContentList.vue +0 -44
- package/src/components/AppContentList/index.js +0 -23
- package/src/components/AppNavigation/AppNavigation.vue +0 -190
- package/src/components/AppNavigation/index.js +0 -23
- package/src/components/AppNavigationCaption/AppNavigationCaption.vue +0 -39
- package/src/components/AppNavigationCaption/index.js +0 -3
- package/src/components/AppNavigationCounter/AppNavigationCounter.vue +0 -82
- package/src/components/AppNavigationCounter/index.js +0 -25
- package/src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue +0 -95
- package/src/components/AppNavigationIconBullet/index.js +0 -24
- package/src/components/AppNavigationItem/AppNavigationIconCollapsible.vue +0 -90
- package/src/components/AppNavigationItem/AppNavigationItem.vue +0 -629
- package/src/components/AppNavigationItem/InputConfirmCancel.vue +0 -134
- package/src/components/AppNavigationItem/index.js +0 -24
- package/src/components/AppNavigationNew/AppNavigationNew.vue +0 -76
- package/src/components/AppNavigationNew/index.js +0 -23
- package/src/components/AppNavigationNewItem/AppNavigationNewItem.vue +0 -165
- package/src/components/AppNavigationNewItem/index.js +0 -24
- package/src/components/AppNavigationSettings/AppNavigationSettings.vue +0 -105
- package/src/components/AppNavigationSettings/index.js +0 -23
- package/src/components/AppNavigationSpacer/AppNavigationSpacer.vue +0 -39
- package/src/components/AppNavigationSpacer/index.js +0 -23
- package/src/components/AppNavigationToggle/AppNavigationToggle.vue +0 -78
- package/src/components/AppNavigationToggle/index.js +0 -24
- package/src/components/AppSettingsDialog/AppSettingsDialog.vue +0 -331
- package/src/components/AppSettingsDialog/index.js +0 -25
- package/src/components/AppSettingsSection/AppSettingsSection.vue +0 -64
- package/src/components/AppSettingsSection/index.js +0 -25
- package/src/components/AppSidebar/AppSidebar.vue +0 -802
- package/src/components/AppSidebar/AppSidebarTabs.vue +0 -348
- package/src/components/AppSidebar/index.js +0 -23
- package/src/components/AppSidebarTab/AppSidebarTab.vue +0 -103
- package/src/components/AppSidebarTab/index.js +0 -23
- package/src/components/Avatar/Avatar.vue +0 -758
- package/src/components/Avatar/index.js +0 -25
- package/src/components/Breadcrumb/Breadcrumb.vue +0 -262
- package/src/components/Breadcrumb/index.js +0 -25
- package/src/components/Breadcrumbs/Breadcrumbs.vue +0 -537
- package/src/components/Breadcrumbs/index.js +0 -25
- package/src/components/ColorPicker/ColorPicker.vue +0 -380
- package/src/components/ColorPicker/index.js +0 -25
- package/src/components/Content/Content.vue +0 -77
- package/src/components/Content/index.js +0 -23
- package/src/components/DatetimePicker/DatetimePicker.vue +0 -195
- package/src/components/DatetimePicker/index.js +0 -28
- package/src/components/DatetimePicker/index.scss +0 -405
- package/src/components/EmojiPicker/EmojiPicker.vue +0 -302
- package/src/components/EmojiPicker/index.js +0 -23
- package/src/components/EmptyContent/EmptyContent.vue +0 -120
- package/src/components/EmptyContent/index.js +0 -24
- package/src/components/Highlight/Highlight.vue +0 -183
- package/src/components/Highlight/index.js +0 -25
- package/src/components/ListItemIcon/ListItemIcon.vue +0 -277
- package/src/components/ListItemIcon/index.js +0 -25
- package/src/components/Modal/Modal.vue +0 -833
- package/src/components/Modal/index.js +0 -27
- package/src/components/Multiselect/EllipsisedOption.vue +0 -141
- package/src/components/Multiselect/Multiselect.vue +0 -430
- package/src/components/Multiselect/index.js +0 -28
- package/src/components/Multiselect/index.scss +0 -290
- package/src/components/MultiselectTags/MultiselectTags.vue +0 -179
- package/src/components/MultiselectTags/api.js +0 -115
- package/src/components/MultiselectTags/index.js +0 -23
- package/src/components/Popover/Popover.vue +0 -208
- package/src/components/Popover/index.js +0 -25
- package/src/components/PopoverMenu/PopoverMenu.vue +0 -62
- package/src/components/PopoverMenu/PopoverMenuItem.vue +0 -382
- package/src/components/PopoverMenu/index.js +0 -24
- package/src/components/ProgressBar/ProgressBar.vue +0 -135
- package/src/components/ProgressBar/index.js +0 -25
- package/src/components/RichContenteditable/AutoCompleteResult.vue +0 -191
- package/src/components/RichContenteditable/MentionBubble.vue +0 -165
- package/src/components/RichContenteditable/RichContenteditable.vue +0 -517
- package/src/components/RichContenteditable/index.js +0 -25
- package/src/components/SettingsInputText/SettingsInputText.vue +0 -207
- package/src/components/SettingsInputText/index.js +0 -24
- package/src/components/SettingsSection/SettingsSection.vue +0 -151
- package/src/components/SettingsSection/index.js +0 -24
- package/src/components/SettingsSelectGroup/SettingsSelectGroup.vue +0 -149
- package/src/components/SettingsSelectGroup/index.js +0 -25
- package/src/components/UserBubble/UserBubble.vue +0 -319
- package/src/components/UserBubble/index.js +0 -25
- package/src/components/index.js +0 -110
- package/src/directives/Focus/index.js +0 -29
- package/src/directives/Linkify/index.js +0 -31
- package/src/directives/Tooltip/index.js +0 -32
- package/src/directives/Tooltip/index.scss +0 -117
- package/src/directives/index.js +0 -31
- package/src/fonts/iconfont-vue-f56d517.eot +0 -0
- package/src/fonts/iconfont-vue-f56d517.svg +0 -1
- package/src/fonts/iconfont-vue-f56d517.ttf +0 -0
- package/src/fonts/iconfont-vue-f56d517.woff +0 -0
- package/src/fonts/scss/iconfont-vue.scss +0 -115
- package/src/functions/usernameToColor/index.js +0 -25
- package/src/functions/usernameToColor/usernameToColor.js +0 -68
- package/src/index.js +0 -40
- package/src/l10n.js +0 -42
- package/src/mixins/actionGlobal.js +0 -59
- package/src/mixins/actionText.js +0 -85
- package/src/mixins/excludeClickOutsideClasses/index.js +0 -72
- package/src/mixins/index.js +0 -35
- package/src/mixins/isFullscreen/index.js +0 -46
- package/src/mixins/isMobile/index.js +0 -43
- package/src/mixins/l10n.js +0 -8
- package/src/mixins/richEditor/index.js +0 -160
- package/src/mixins/userStatus.js +0 -76
- package/src/utils/FindRanges.js +0 -47
- package/src/utils/GenColors.js +0 -79
- package/src/utils/GenRandomId.js +0 -31
- package/src/utils/GetChildren.js +0 -47
- package/src/utils/GetParent.js +0 -41
- package/src/utils/IsMobileState.js +0 -49
- package/src/utils/IsOutOfViewport.js +0 -36
- package/src/utils/ScopeComponent.js +0 -37
- package/src/utils/Timer.js +0 -61
- package/src/utils/ValidateChildren.js +0 -50
- package/src/utils/ValidateSlot.js +0 -57
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://NextcloudVue.[name]/webpack/universalModuleDefinition","webpack://NextcloudVue.[name]/webpack/bootstrap","webpack://NextcloudVue.[name]/./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack://NextcloudVue.[name]/./node_modules/css-loader/dist/runtime/api.js","webpack://NextcloudVue.[name]/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://NextcloudVue.[name]/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://NextcloudVue.[name]/./node_modules/css-loader/dist/runtime/getUrl.js","webpack://NextcloudVue.[name]/external \"core-js/modules/es.object.to-string.js\"","webpack://NextcloudVue.[name]/external \"v-tooltip\"","webpack://NextcloudVue.[name]/./src/fonts/iconfont-vue-f56d517.eot","webpack://NextcloudVue.[name]/./src/fonts/iconfont-vue-f56d517.woff","webpack://NextcloudVue.[name]/./src/fonts/iconfont-vue-f56d517.ttf","webpack://NextcloudVue.[name]/./src/fonts/iconfont-vue-f56d517.svg","webpack://NextcloudVue.[name]/external \"vue\"","webpack://NextcloudVue.[name]/./src/l10n.js","webpack://NextcloudVue.[name]/external \"@nextcloud/router\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.function.name.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.regexp.exec.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.array.iterator.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.string.iterator.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/web.dom-collections.iterator.js\"","webpack://NextcloudVue.[name]/./src/components/Popover/Popover.vue?463f","webpack://NextcloudVue.[name]/./src/directives/Tooltip/index.scss?afe8","webpack://NextcloudVue.[name]/./src/directives/Tooltip/index.js","webpack://NextcloudVue.[name]/external \"core-js/modules/es.string.trim.js\"","webpack://NextcloudVue.[name]/./src/directives/Tooltip/index.scss","webpack://NextcloudVue.[name]/external \"core-js/modules/es.array.map.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.string.replace.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.regexp.to-string.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/web.dom-collections.for-each.js\"","webpack://NextcloudVue.[name]/./src/components/Popover/Popover.vue?45a5","webpack://NextcloudVue.[name]/./src/components/Popover/Popover.vue?01d2","webpack://NextcloudVue.[name]/src/components/Popover/Popover.vue","webpack://NextcloudVue.[name]/./src/components/Popover/Popover.vue?266e","webpack://NextcloudVue.[name]/./src/components/Popover/Popover.vue","webpack://NextcloudVue.[name]/external \"@nextcloud/event-bus\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.number.constructor.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.symbol.js\"","webpack://NextcloudVue.[name]/external \"@nextcloud/l10n/dist/gettext\"","webpack://NextcloudVue.[name]/./src/utils/GenRandomId.js","webpack://NextcloudVue.[name]/external \"@nextcloud/auth\"","webpack://NextcloudVue.[name]/./src/utils/IsMobileState.js","webpack://NextcloudVue.[name]/./src/mixins/isMobile/index.js","webpack://NextcloudVue.[name]/external \"@nextcloud/axios\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.symbol.description.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/web.url.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.array.slice.js\"","webpack://NextcloudVue.[name]/external \"v-click-outside\"","webpack://NextcloudVue.[name]/external \"striptags\"","webpack://NextcloudVue.[name]/./src/components/RichContenteditable/MentionBubble.vue?6186","webpack://NextcloudVue.[name]/./src/mixins/userStatus.js","webpack://NextcloudVue.[name]/external \"core-js/modules/es.symbol.iterator.js\"","webpack://NextcloudVue.[name]/external \"linkifyjs/string\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.array.concat.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.array.filter.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.array.from.js\"","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?2d7e","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?14f7","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenu.vue?154d","webpack://NextcloudVue.[name]/external \"core-js/modules/es.array.join.js\"","webpack://NextcloudVue.[name]/external \"regenerator-runtime/runtime.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.promise.js\"","webpack://NextcloudVue.[name]/./src/components/RichContenteditable/MentionBubble.vue?6825","webpack://NextcloudVue.[name]/src/components/RichContenteditable/MentionBubble.vue","webpack://NextcloudVue.[name]/./src/components/RichContenteditable/MentionBubble.vue?dd58","webpack://NextcloudVue.[name]/./src/components/RichContenteditable/MentionBubble.vue","webpack://NextcloudVue.[name]/./src/components/RichContenteditable/MentionBubble.vue?2857","webpack://NextcloudVue.[name]/./src/mixins/richEditor/index.js","webpack://NextcloudVue.[name]/./src/mixins/l10n.js","webpack://NextcloudVue.[name]/external \"escape-html\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.string.starts-with.js\"","webpack://NextcloudVue.[name]/./src/utils/GenColors.js","webpack://NextcloudVue.[name]/./src/components/Avatar/Avatar.vue?e8c5","webpack://NextcloudVue.[name]/external \"core-js/modules/es.object.keys.js\"","webpack://NextcloudVue.[name]/./src/utils/FindRanges.js","webpack://NextcloudVue.[name]/external \"core-js/modules/es.object.get-own-property-descriptor.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.object.get-own-property-descriptors.js\"","webpack://NextcloudVue.[name]/src/components/Highlight/Highlight.vue","webpack://NextcloudVue.[name]/./src/components/Highlight/Highlight.vue?4290","webpack://NextcloudVue.[name]/./src/components/Highlight/Highlight.vue","webpack://NextcloudVue.[name]/./src/components/Highlight/index.js","webpack://NextcloudVue.[name]/./src/mixins/excludeClickOutsideClasses/index.js","webpack://NextcloudVue.[name]/./src/mixins/isFullscreen/index.js","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenu.vue?cfe3","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?63e6","webpack://NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?d916","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?eb85","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenu.vue?7e94","webpack://NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?4aab","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenu.vue?5a99","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenu.vue","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/index.js","webpack://NextcloudVue.[name]/external \"core-js/modules/es.string.split.js\"","webpack://NextcloudVue.[name]/./src/components/Avatar/Avatar.vue?d705","webpack://NextcloudVue.[name]/src/components/Avatar/Avatar.vue","webpack://NextcloudVue.[name]/./src/components/Avatar/Avatar.vue?d51d","webpack://NextcloudVue.[name]/./src/components/Avatar/Avatar.vue?4262","webpack://NextcloudVue.[name]/./src/components/Avatar/Avatar.vue","webpack://NextcloudVue.[name]/./src/components/Avatar/index.js","webpack://NextcloudVue.[name]/external \"md5\"","webpack://NextcloudVue.[name]/external \"@nextcloud/capabilities\"","webpack://NextcloudVue.[name]/./src/functions/usernameToColor/usernameToColor.js","webpack://NextcloudVue.[name]/./src/functions/usernameToColor/index.js","webpack://NextcloudVue.[name]/external \"@nextcloud/browser-storage\"","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/ListItemIcon.vue?0eea","webpack://NextcloudVue.[name]/external \"core-js/modules/es.array.includes.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.regexp.constructor.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.array.flat.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.string.match.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.array.reduce.js\"","webpack://NextcloudVue.[name]/./src/components/Multiselect/EllipsisedOption.vue?1f80","webpack://NextcloudVue.[name]/external \"core-js/modules/es.string.search.js\"","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/ListItemIcon.vue?7dc8","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/ListItemIcon.vue?5fd9","webpack://NextcloudVue.[name]/src/components/ListItemIcon/ListItemIcon.vue","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/ListItemIcon.vue?6275","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/ListItemIcon.vue","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/index.js","webpack://NextcloudVue.[name]/./src/components/Multiselect/Multiselect.vue?06c0","webpack://NextcloudVue.[name]/./src/components/Multiselect/EllipsisedOption.vue?c4e5","webpack://NextcloudVue.[name]/src/components/Multiselect/EllipsisedOption.vue","webpack://NextcloudVue.[name]/./src/components/Multiselect/EllipsisedOption.vue?5550","webpack://NextcloudVue.[name]/./src/components/Multiselect/EllipsisedOption.vue","webpack://NextcloudVue.[name]/./src/components/Multiselect/EllipsisedOption.vue?900a","webpack://NextcloudVue.[name]/src/components/Multiselect/Multiselect.vue","webpack://NextcloudVue.[name]/./src/components/Multiselect/Multiselect.vue?471d","webpack://NextcloudVue.[name]/./src/components/Multiselect/Multiselect.vue","webpack://NextcloudVue.[name]/external \"core-js/modules/es.string.from-code-point.js\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.string.code-point-at.js\"","webpack://NextcloudVue.[name]/external \"vue-multiselect\"","webpack://NextcloudVue.[name]/external \"core-js/modules/es.object.values.js\"","webpack://NextcloudVue.[name]/external \"@nextcloud/dialogs\"","webpack://NextcloudVue.[name]/./src/components/SettingsSelectGroup/SettingsSelectGroup.vue?7e81","webpack://NextcloudVue.[name]/src/components/SettingsSelectGroup/SettingsSelectGroup.vue","webpack://NextcloudVue.[name]/./src/components/SettingsSelectGroup/SettingsSelectGroup.vue?3b82","webpack://NextcloudVue.[name]/./src/components/SettingsSelectGroup/SettingsSelectGroup.vue","webpack://NextcloudVue.[name]/./src/components/SettingsSelectGroup/index.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_slicedToArray","arr","Array","isArray","_arrayWithHoles","iterator","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","length","err","_iterableToArrayLimit","minLen","_arrayLikeToArray","toString","slice","constructor","from","test","_unsupportedIterableToArray","TypeError","_nonIterableRest","len","arr2","item","_item","content","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","concat","sourceMapping","sourceURLs","sources","map","source","sourceRoot","join","cssWithMappingToString","list","this","mediaQuery","dedupe","alreadyImportedModules","id","memo","isOldIE","Boolean","document","all","atob","getTarget","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","e","stylesInDom","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","index","obj","css","media","sourceMap","references","updater","addStyle","insertStyleElement","style","createElement","attributes","nonce","nc","keys","forEach","setAttribute","insert","Error","appendChild","textStore","replaceText","replacement","filter","applyToSingletonTag","remove","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","applyToTag","removeAttribute","firstChild","singleton","singletonCounter","update","styleIndex","parentNode","removeStyleElement","newObj","lastIdentifiers","newList","newLastIdentifiers","_index","splice","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","__webpack_exports__","url","default","hash","needQuotes","replace","require","gtBuilder","getGettextBuilder","detectLocale","TRANSLATIONS","lang","translations","pluralId","msgid","msgid_plural","msgstr","addTranslation","locale","","gt","build","ngettext","gettext","_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__","_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","a","version","names","mappings","sourcesContent","injectStylesIntoStyleTag_default","Tooltip","locals","VTooltip","defaultTemplate","SCOPE_VERSION","defaultHtml","Popover_Popovervue_type_script_lang_js_","components","VPopover","mounted","_this","$watch","$refs","popover","isOpen","val","$emit","Popovervue_type_style_index_0_lang_scss_","component","componentNormalizer","_h","$createElement","_c","_self","_g","_b","ref","attrs","popover-base-class","popover-wrapper-class","popover-arrow-class","popover-inner-class","$attrs","$listeners","_t","_v","slot","Popovervue_type_custom_index_0_blockType_docs_default","GenRandomId","Math","random","substr","IsMobileState","Vue","isMobile","watch","created","addEventListener","handleWindowResize","beforeDestroy","removeEventListener","methods","documentElement","clientWidth","$on","onIsMobileChanged","$off","userStatus","hasStatus","status","message","icon","fetchUserStatus","userId","regeneratorRuntime","mark","_callee","capabilities","_yield$axios$get","_data$ocs$data","_e$response$data$ocs","_e$response$data$ocs$","wrap","_context","prev","getCapabilities","user_status","enabled","abrupt","getCurrentUser","axios","generateOcsUrl","sent","ocs","t0","response","console","error","stop","RichContenteditable_MentionBubblevue_type_script_lang_js_","props","type","String","required","label","primary","computed","avatarUrl","getAvatarUrl","mentionText","indexOf","user","size","router_","MentionBubblevue_type_style_index_0_id_724f9d58_lang_scss_scoped_true_","MentionBubble","_vm","staticClass","class","mention-bubble--primary","contenteditable","backgroundImage","role","title","USERID_REGEX","RegExp","USERID_REGEX_WITH_SPACE","userData","renderContent","escapeHtml","split","part","flat","startsWith","linkifyStr","defaultProtocol","className","rel","genSelectTemplate","parseContent","text","stripTags","renderComponentHtml","propsData","Item","extend","wrapper","mount","display","body","$mount","renderedHtml","innerHTML","$destroy","_l10n__WEBPACK_IMPORTED_MODULE_0__","Color","g","b","mixPalette","steps","color1","color2","palette","step","ends","stepCalc","parseInt","GenColors","red","yellow","blue","palette1","palette2","palette3","_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__","_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default","_fonts_iconfont_vue_f56d517_eot__WEBPACK_IMPORTED_MODULE_3__","_fonts_iconfont_vue_f56d517_woff__WEBPACK_IMPORTED_MODULE_4__","_fonts_iconfont_vue_f56d517_ttf__WEBPACK_IMPORTED_MODULE_5__","_fonts_iconfont_vue_f56d517_svg__WEBPACK_IMPORTED_MODULE_6__","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","FindRanges","search","ranges","currentIndex","toLowerCase","start","end","Highlight_Highlightvue_type_script_lang_js_","highlight","reduce","validRanges","range","chunks","currentRange","_objectSpread","chunk","Highlightvue_type_custom_index_0_blockType_docs_default","Highlight","excludeClickOutsideClasses","clickOutsideMiddleware","event","excludedClassList","hasNodeOrAnyParentClass","node","classArray","_step","_iterator","_createForOfIteratorHelper","_node$classList","classList","contains","f","parentElement","isFullscreen","_isFullscreen","beforeMount","_onResize","outerHeight","screen","height","PopoverMenu_PopoverMenuItemvue_type_script_lang_js_","href","validator","input","round","iconIsUrl","URL","_","action","PopoverMenuItemvue_type_style_index_0_id_54983729_scoped_true_lang_css_","PopoverMenuItemvue_type_style_index_1_id_54983729_lang_scss_scoped_true_options","PopoverMenuItemvue_type_style_index_1_id_54983729_lang_scss_scoped_true_","PopoverMenu_PopoverMenuvue_type_script_lang_js_","PopoverMenuItem","download","on","click","src","longtext","active","submit","$event","preventDefault","placeholder","domProps","directives","rawName","expression","checked","model","change","$$a","$$el","$$c","$$i","$set","_q","composing","for","stopPropagation","disabled","menu","PopoverMenuvue_type_style_index_0_id_4dae360a_lang_scss_scoped_true_options","PopoverMenuvue_type_style_index_0_id_4dae360a_lang_scss_scoped_true_","PopoverMenu_component","_l","PopoverMenuvue_type_custom_index_0_blockType_docs_default","PopoverMenu","browserStorage","browser_storage_","persist","getUserHasAvatar","flag","getItem","setUserHasAvatar","setItem","Avatar_Avatarvue_type_script_lang_js_","tooltip","ClickOutside","external_v_click_outside_","Popover","mixins","iconClass","showUserStatus","showUserStatusCompact","preloadedUserStatus","isGuest","displayName","Number","allowPlaceholder","disableTooltip","disableMenu","tooltipMessage","isNoUser","statusColor","menuPosition","menuContainer","avatarUrlLoaded","avatarSrcSetLoaded","userDoesNotExist","isAvatarLoaded","isMenuLoaded","contactsMenuLoading","contactsMenuActions","contactsMenuOpenState","canDisplayUserStatus","includes","showUserStatusIconOnAvatar","getUserIdentifier","isDisplayNameDefined","isUserDefined","isUrlDefined","hasMenu","_getCurrentUser","auth_","uid","shouldShowPlaceholder","avatarStyle","width","lineHeight","fontSize","rgb","usernameToColor","backgroundColor","initials","idx","fromCodePoint","codePointAt","toUpperCase","html","actions","hyperlink","loadAvatarUrl","event_bus_","handleUserStatusUpdated","beforeDestroyed","state","toggleMenu","_asyncToGenerator","fetchContactsMenu","closeMenu","_this2","_callee2","_yield$axios$post","_context2","axios_default","post","topAction","updateImageIfValid","avatarUrlGenerator","srcset","_getCurrentUser2","oc_userconfig","avatar","_this3","arguments","userHasAvatar","img","Image","onload","onerror","debug","Avatarvue_type_style_index_0_id_68aca969_scoped_true_lang_scss_","avatardiv--unknown","avatardiv--with-menu","alt","placement","container","open","xmlns","viewBox","fill","stroke","stroke-width","stroke-linecap","Avatarvue_type_custom_index_0_blockType_docs_default","Avatar","username","match","md5","maximum","finalInt","charAt","j","hashToInt","ListItemIcon_ListItemIconvue_type_script_lang_js_","subtitle","avatarSize","noMargin","margin","hasIcon","hasSlot","$slots","isValidSubtitle","_this$subtitle","_this$subtitle$trim","trim","isSizeBigEnough","cssVars","--height","--margin","ListItemIconvue_type_style_index_0_id_28d338d4_lang_scss_scoped_true_","disable-menu","disable-tooltip","display-name","is-no-user","ListItemIconvue_type_custom_index_0_blockType_docs_default","ListItemIcon","Multiselect_EllipsisedOptionvue_type_script_lang_js_","option","needsTruncate","min","floor","part1","part2","highlight1","highlight2","EllipsisedOptionvue_type_style_index_0_id_f855c4b8_lang_scss_scoped_true_","EllipsisedOption","Multiselect_Multiselectvue_type_script_lang_js_","VueMultiselect","external_vue_multiselect_default","l10n","inheritAttrs","multiple","limit","trackBy","userSelect","loading","autoLimit","tagWidth","elWidth","maxOptions","limitString","localValue","_typeof","set","updateWidth","getOptionLabel","_this$$refs$VueMultis","formatLimitTitle","selection","$el","offsetWidth","Multiselect_component","icon-loading-small","close-on-select","track-by","tag-placeholder","scopedSlots","_u","fn","scope","$scopedSlots","modifiers","auto","proxy","callback","$$v","Multiselectvue_type_custom_index_0_blockType_docs_default","SettingsSelectGroup_SettingsSelectGroupvue_type_script_lang_js_","Multiselect","hint","groups","randId","inputValue","getValueObject","group","displayname","groupsArray","values","element","findGroup","query","encodeURI","dialogs_","SettingsSelectGroup","options-limit","tag-width","search-change"],"mappings":"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","file":"Components/SettingsSelectGroup.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Components/SettingsSelectGroup\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Components/SettingsSelectGroup\"] = factory();\n\telse\n\t\troot[\"NextcloudVue\"] = root[\"NextcloudVue\"] || {}, root[\"NextcloudVue\"][\"Components/SettingsSelectGroup\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 234);\n","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n // eslint-disable-next-line no-param-reassign\n options = {};\n } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n url = url && url.__esModule ? url.default : url;\n\n if (typeof url !== \"string\") {\n return url;\n } // If url is already wrapped in quotes, remove them\n\n\n if (/^['\"].*['\"]$/.test(url)) {\n // eslint-disable-next-line no-param-reassign\n url = url.slice(1, -1);\n }\n\n if (options.hash) {\n // eslint-disable-next-line no-param-reassign\n url += options.hash;\n } // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n\n\n if (/[\"'() \\t\\n]/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n\n return url;\n};","module.exports = require(\"core-js/modules/es.object.to-string.js\");","module.exports = require(\"v-tooltip\");","export default \"data:application/vnd.ms-fontobject;base64,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\"","export default \"data:font/woff;base64,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PAE55eh8gAAAAQAAAAEAAEszNwdfDzz1AAsTiAAAAADdaPPWAAAAAN0YF9f/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtZjU2ZDUxN1JlZ3VsYXJpY29uZm9udC12dWUtZjU2ZDUxN2ljb25mb250LXZ1ZS1mNTZkNTE3VmVyc2lvbiAxLjBpY29uZm9udC12dWUtZjU2ZDUxN0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AZgA1ADYAZAA1ADEANwBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AZgA1ADYAZAA1ADEANwBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGYANQA2AGQANQAxADcAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AZgA1ADYAZAA1ADEANwBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"","export default \"data:font/ttf;base64,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AAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtZjU2ZDUxN1JlZ3VsYXJpY29uZm9udC12dWUtZjU2ZDUxN2ljb25mb250LXZ1ZS1mNTZkNTE3VmVyc2lvbiAxLjBpY29uZm9udC12dWUtZjU2ZDUxN0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AZgA1ADYAZAA1ADEANwBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AZgA1ADYAZAA1ADEANwBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGYANQA2AGQANQAxADcAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AZgA1ADYAZAA1ADEANwBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLWY1NmQ1MTciIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtZjU2ZDUxNyIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0zMiAwIDUwMTEgNTAwMCIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMCIgdW5kZXJsaW5lLXBvc2l0aW9uPSI1MCIgdW5pY29kZS1yYW5nZT0iVStlYTAxLWVhMTIiIC8+PG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjAiICAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1sZWZ0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMTsiIGQ9Ik0zNzUwIDM5MDYgbC0xNDA2IC0xNDA2IGwxNDA2IC0xNDA2IGwwIDMxMiBsLTEwOTQgMTA5NCBsMTA5NCAxMDk0IGwwIDMxMiBaTTIzNDQgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQiIHVuaWNvZGU9IiYjeGVhMDI7IiBkPSJNMTU2MyAyNTAwIGwxODc1IC0xODc1IGwwIC0zMTIgbC0yMTg4IDIxODcgbDIxODggMjE4OCBsMCAtMzEzIGwtMTg3NSAtMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodC1kb3VibGUiIHVuaWNvZGU9IiYjeGVhMDM7IiBkPSJNMTI1MCAxMDk0IGwxNDA2IDE0MDYgbC0xNDA2IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaTTI2NTYgMTA5NCBsMTQwNyAxNDA2IGwtMTQwNyAxNDA2IGwwIC0zMTIgbDEwOTQgLTEwOTQgbC0xMDk0IC0xMDk0IGwwIC0zMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctcmlnaHQiIHVuaWNvZGU9IiYjeGVhMDQ7IiBkPSJNMzQzOCAyNTAwIGwtMTg3NSAxODc1IGwwIDMxMyBsMjE4NyAtMjE4OCBsLTIxODcgLTIxODcgbDAgMzEyIGwxODc1IDE4NzUgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYnJlYWRjcnVtYiIgdW5pY29kZT0iJiN4ZWEwNTsiIGQ9Ik0xNDggNTAwMCBsLTE0OCAtODUgbDEzOTQgLTI0MTUgbC0xMzk0IC0yNDE1IGwxNDggLTg1IGwxNDQzIDI1MDAgbC0xNDQzIDI1MDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2ttYXJrIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQwNDUgMzk3MSBsLTIwNjEgLTIwNjEgbC0xMDI5IDEwMjkgbC00NDIgLTQ0MSBsMTQ3MSAtMTQ3MSBsMjUwMyAyNTAyIGwtNDQyIDQ0MiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjbG9zZSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik00Mzc1IDExNTYgbC01MzEgLTUzMSBsLTEzNDQgMTM0NCBsLTEzNDQgLTEzNDQgbC01MzEgNTMxIGwxMzQ0IDEzNDQgbC0xMzQ0IDEzNDQgbDUzMSA1MzEgbDEzNDQgLTEzNDQgbDEzNDQgMTM0NCBsNTMxIC01MzEgbC0xMzQ0IC0xMzQ0IGwxMzQ0IC0xMzQ0IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNvbmZpcm0iIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNMjY1NiA0ODQ0IHEtMTAxIDAgLTE4MCAtNTcgcS03NCAtNTIgLTEwOSAtMTM4IHEtMzUgLTg2IC0xOSAtMTc1IHExOCAtOTYgOTAgLTE2NyBsMTQ5NSAtMTQ5NCBsLTM2MTYgMCBxLTc3IDEgLTEzOSAtMjYgcS01OCAtMjQgLTk5IC03MCBxLTM5IC00NCAtNTkgLTEwMSBxLTIwIC01NiAtMjAgLTExNiBxMCAtNjAgMjAgLTExNiBxMjAgLTU3IDU5IC0xMDEgcTQxIC00NiA5OSAtNzAgcTYyIC0yNyAxMzkgLTI1IGwzNjE2IDAgbC0xNDk1IC0xNDk1IHEtNTUgLTUzIC04MSAtMTE2IHEtMjQgLTU5IC0yMSAtMTIxIHEzIC01OCAzMCAtMTEzIHEyNSAtNTQgNjggLTk3IHE0MyAtNDMgOTYgLTY4IHE1NSAtMjYgMTE0IC0yOSBxNjIgLTMgMTIwIDIxIHE2MyAyNSAxMTYgODEgbDIwMjkgMjAyOCBxNTkgNjAgODAgMTQxIHEyMSA4MCAxIDE1OSBxLTIxIDgyIC04MSAxNDIgbC0yMDI5IDIwMjggcS00NCA0NSAtMTAyIDcwIHEtNTggMjUgLTEyMiAyNSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJpbmZvIiB1bmljb2RlPSImI3hlYTA5OyIgZD0iTTI0MjIgNDY4OCBxLTExMSAwIC0yMTMgLTQzIHEtOTggLTQyIC0xNzQgLTExNy41IHEtNzYgLTc1LjUgLTExNyAtMTc0LjUgcS00MyAtMTAxIC00MyAtMjEyLjUgcTAgLTExMS41IDQzIC0yMTIuNSBxNDEgLTk4IDExNyAtMTc0IHE3NiAtNzYgMTc0IC0xMTcgcTEwMiAtNDMgMjEzIC00MyBxMTExIDAgMjEzIDQzIHE5OCA0MSAxNzMuNSAxMTcgcTc1LjUgNzYgMTE3LjUgMTc0IHE0MyAxMDEgNDMgMjEyLjUgcTAgMTExLjUgLTQzIDIxMi41IHEtNDIgOTkgLTExNy41IDE3NC41IHEtNzUuNSA3NS41IC0xNzMuNSAxMTcuNSBxLTEwMiA0MyAtMjEzIDQzIFpNMTU2MyAzMTI1IHEtODYgMCAtMTU4IC00MyBxLTcxIC00MSAtMTEyIC0xMTIgcS00MyAtNzIgLTQzIC0xNTcuNSBxMCAtODUuNSA0MyAtMTU3LjUgcTQxIC03MSAxMTIgLTExMiBxNzIgLTQzIDE1OCAtNDMgbDYyNSAwIGwwIC0xNTYyIGwtNjI1IDAgcS04NiAwIC0xNTggLTQzIHEtNzEgLTQxIC0xMTIgLTExMiBxLTQzIC03MyAtNDMgLTE1OCBxMCAtODUgNDMgLTE1OCBxNDEgLTcxIDExMiAtMTEyIHE3MiAtNDMgMTU4IC00MiBsMTg3NSAwIHE4NSAwIDE1NyA0MiBxNzEgNDEgMTEyIDExMiBxNDMgNzMgNDMgMTU4IHEwIDg1IC00MyAxNTggcS00MSA3MSAtMTEyIDExMiBxLTcyIDQzIC0xNTcgNDMgbC02MjUgMCBsMCAxODc1IHEwIDg1IC00MyAxNTcgcS00MSA3MSAtMTEyIDExMiBxLTczIDQzIC0xNTggNDMgbC05MzcgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtZW51IiB1bmljb2RlPSImI3hlYTBhOyIgZD0iTTYyNSA0Mzc1IGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMjgxMyBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFpNNjI1IDEyNTAgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtb3JlIiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTc4MSAzMDQ3IHExMTIgMCAyMTMgLTQzIHE5OCAtNDIgMTc0IC0xMTcuNSBxNzYgLTc1LjUgMTE3IC0xNzMuNSBxNDMgLTEwMiA0MyAtMjEzIHEwIC0xMTEgLTQzIC0yMTMgcS00MSAtOTggLTExNyAtMTczLjUgcS03NiAtNzUuNSAtMTc0IC0xMTcuNSBxLTEwMSAtNDMgLTIxMi41IC00MyBxLTExMS41IDAgLTIxMy41IDQzIHEtOTggNDIgLTE3My41IDExNy41IHEtNzUuNSA3NS41IC0xMTcuNSAxNzMuNSBxLTQzIDEwMiAtNDMgMjEzIHEwIDExMSA0MyAyMTMgcTQyIDk4IDExNy41IDE3My41IHE3NS41IDc1LjUgMTczLjUgMTE3LjUgcTEwMiA0MyAyMTMgNDMgWk0yNTAwIDMwNDcgcTExMSAwIDIxMyAtNDMgcTk4IC00MiAxNzMuNSAtMTE3LjUgcTc1LjUgLTc1LjUgMTE3LjUgLTE3My41IHE0MyAtMTAyIDQzIC0yMTMgcTAgLTExMSAtNDMgLTIxMyBxLTQyIC05OCAtMTE3LjUgLTE3My41IHEtNzUuNSAtNzUuNSAtMTczLjUgLTExNy41IHEtMTAyIC00MyAtMjEzIC00MyBxLTExMSAwIC0yMTMgNDMgcS05OCA0MiAtMTczLjUgMTE3LjUgcS03NS41IDc1LjUgLTExNy41IDE3My41IHEtNDMgMTAyIC00MyAyMTMgcTAgMTExIDQzIDIxMyBxNDIgOTggMTE3LjUgMTczLjUgcTc1LjUgNzUuNSAxNzMuNSAxMTcuNSBxMTAyIDQzIDIxMyA0MyBaTTQyMTkgMzA0NyBxMTExIDAgMjEzIC00MyBxOTggLTQyIDE3My41IC0xMTcuNSBxNzUuNSAtNzUuNSAxMTcuNSAtMTczLjUgcTQzIC0xMDIgNDMgLTIxMyBxMCAtMTExIC00MyAtMjEzIHEtNDIgLTk4IC0xMTcuNSAtMTczLjUgcS03NS41IC03NS41IC0xNzMuNSAtMTE3LjUgcS0xMDIgLTQzIC0yMTMuNSAtNDMgcS0xMTEuNSAwIC0yMTIuNSA0MyBxLTk4IDQyIC0xNzQgMTE3LjUgcS03NiA3NS41IC0xMTcgMTczLjUgcS00MyAxMDIgLTQzIDIxMyBxMCAxMTEgNDMgMjEzIHE0MSA5OCAxMTcgMTczLjUgcTc2IDc1LjUgMTc0IDExNy41IHExMDEgNDMgMjEzIDQzIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InBhdXNlIiB1bmljb2RlPSImI3hlYTBjOyIgZD0iTTkzOCA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaTTI4MTMgNDA2MyBsMCAtMzEyNSBsMTI1MCAwIGwwIDMxMjUgbC0xMjUwIDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGxheSIgdW5pY29kZT0iJiN4ZWEwZDsiIGQ9Ik02MjUgNDM3NSBsMzc1MCAtMTg3NSBsLTM3NTAgLTE4NzUgbDAgMzc1MCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJ0cmlhbmdsZS1zIiB1bmljb2RlPSImI3hlYTBlOyIgZD0iTTEyNTAgMzEyNSBsMTI1MCAtMTI1MCBsMTI1MCAxMjQ4IGwtMjUwMCAyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWF3YXkiIHVuaWNvZGU9IiYjeGVhMGY7IiBkPSJNMjE1NiA0OTY5IHEtMzYwIC00NiAtNjk1IC0xOTcgcS0zMjYgLTE0NyAtNjAxIC0zODAgcS0yNzQgLTIzMSAtNDcyIC01MjggcS0yMDIgLTMwMSAtMzA5IC02NDIgcS0xMTAgLTM1MyAtMTEwIC03MjIgcTAgLTQwNiAxMjggLTc4OCBxMTIzIC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTM2OSAwIDcyMiAxMDcgcTM0MiAxMDQgNjQ0IDMwMSBxMjk4IDE5NCA1MzMgNDYzIHEyMzYgMjcwIDM4OSA1OTMgcTE1NiAzMzEgMjEyIDY5MiBxLTE4OCAtMjA0IC00MjMuNSAtMzUxIHEtMjM1LjUgLTE0NyAtNDk4LjUgLTIyNSBxLTI2OSAtODAgLTU0NyAtODAgcS0zMjIgMCAtNjI4IDEwMyBxLTI5NSA5OSAtNTQ4IDI4NiBxLTI1MSAxODQgLTQzNSA0MzUgcS0xODcgMjUzIC0yODYgNTQ4IHEtMTAzIDMwNiAtMTAzIDYyOCBxMCAyOTMgODAgNTY4IHE3OCAyNjkgMjI1LjUgNDk4LjUgcTE0Ny41IDIyOS41IDM1MC41IDQwMi41IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWRuZCIgdW5pY29kZT0iJiN4ZWExMDsiIGQ9Ik0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFpNMTU2MyAyOTY5IGwxODc1IDAgcTkxIDAgMTc4IC0zOCBxODQgLTM3IDE1MCAtMTAzIHE2NiAtNjYgMTAyIC0xNDkgcTM4IC04NyAzOCAtMTc5IHEwIC05MiAtMzggLTE3OSBxLTM2IC04MyAtMTAyIC0xNDkgcS02NiAtNjYgLTE1MCAtMTAzIHEtODcgLTM4IC0xNzggLTM4IGwtMTg3NSAwIHEtOTIgMCAtMTc5IDM4IHEtODQgMzcgLTE1MCAxMDMgcS02NiA2NiAtMTAyIDE0OSBxLTM4IDg3IC0zOCAxNzkgcTAgOTIgMzggMTc5IHEzNiA4MyAxMDIgMTQ5IHE2NiA2NiAxNTAgMTAzIHE4NyAzOCAxNzkgMzggWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtaW52aXNpYmxlIiB1bmljb2RlPSImI3hlYTExOyIgZD0iTTI1MDAgNTAwMCBxLTQwNiAwIC03ODggLTEyOCBxLTM3MCAtMTI0IC02ODYgLTM1NiBxLTMxMyAtMjI5IC01NDIgLTU0MiBxLTIzMiAtMzE2IC0zNTYgLTY4NiBxLTEyOCAtMzgyIC0xMjggLTc4OCBxMCAtNDA2IDEyOCAtNzg4IHExMjQgLTM3MCAzNTYgLTY4NiBxMjI5IC0zMTMgNTQyIC01NDIgcTMxNiAtMjMyIDY4NiAtMzU2IHEzODIgLTEyOCA3ODggLTEyOCBxNDA2IDAgNzg4IDEyOCBxMzcwIDEyNCA2ODYgMzU2IHEzMTMgMjI5IDU0MiA1NDIgcTIzMiAzMTYgMzU2IDY4NiBxMTI4IDM4MiAxMjggNzg4IHEwIDQwNiAtMTI4IDc4OCBxLTEyNCAzNzAgLTM1NiA2ODYgcS0yMjkgMzEzIC01NDIgNTQyIHEtMzE2IDIzMiAtNjg2IDM1NiBxLTM4MiAxMjggLTc4OCAxMjggWk0yNTAwIDQwMDAgcTMxMSAwIDU5MCAtMTE2IHEyNzEgLTExMiA0NzYuNSAtMzE3LjUgcTIwNS41IC0yMDUuNSAzMTcuNSAtNDc2LjUgcTExNiAtMjc5IDExNiAtNTkwIHEwIC0zMTEgLTExNiAtNTkwIHEtMTEyIC0yNzEgLTMxNy41IC00NzYuNSBxLTIwNS41IC0yMDUuNSAtNDc2LjUgLTMxNy41IHEtMjc5IC0xMTYgLTU5MCAtMTE2IHEtMzExIDAgLTU5MCAxMTYgcS0yNzEgMTEyIC00NzYuNSAzMTcuNSBxLTIwNS41IDIwNS41IC0zMTcuNSA0NzYuNSBxLTExNiAyNzkgLTExNiA1OTAgcTAgMzExIDExNiA1OTAgcTExMiAyNzEgMzE3LjUgNDc2LjUgcTIwNS41IDIwNS41IDQ3Ni41IDMxNy41IHEyNzkgMTE2IDU5MCAxMTYgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtb25saW5lIiB1bmljb2RlPSImI3hlYTEyOyIgZD0iTTE1MDAgMTUwMCBsMjAwMCAwIGwwIDIwMDAgbC0yMDAwIDAgbDAgLTIwMDAgWk0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFoiIC8+PC9mb250PjwvZGVmcz48L3N2Zz4=\"","module.exports = require(\"vue\");","import { getGettextBuilder } from '@nextcloud/l10n/dist/gettext'\n\nconst gtBuilder = getGettextBuilder()\n\t.detectLocale()\n\n// Decompress Translations to gettext format and add to gtBuilder\nTRANSLATIONS.forEach((lang) => {\n\tconst translations = {}\n\n\tfor (const key in lang.translations) {\n\t\t// Plural\n\t\tif (lang.translations[key].pluralId) {\n\t\t\ttranslations[key] = {\n\t\t\t\tmsgid: key,\n\t\t\t\tmsgid_plural: lang.translations[key].pluralId,\n\t\t\t\tmsgstr: lang.translations[key].msgstr,\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\t// Singular\n\t\ttranslations[key] = {\n\t\t\tmsgid: key,\n\t\t\tmsgstr: [\n\t\t\t\tlang.translations[key],\n\t\t\t],\n\t\t}\n\t}\n\n\tgtBuilder.addTranslation(lang.locale, {\n\t\ttranslations: {\n\t\t\t'': translations,\n\t\t},\n\t})\n})\n\nconst gt = gtBuilder.build()\n\nconst n = gt.ngettext.bind(gt)\nconst t = gt.gettext.bind(gt)\n\nexport { t, n }\n","module.exports = require(\"@nextcloud/router\");","module.exports = require(\"core-js/modules/es.function.name.js\");","module.exports = require(\"core-js/modules/es.regexp.exec.js\");","module.exports = require(\"core-js/modules/es.array.iterator.js\");","module.exports = require(\"core-js/modules/es.string.iterator.js\");","module.exports = require(\"core-js/modules/web.dom-collections.iterator.js\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./Popover.vue\"],\"names\":[],\"mappings\":\"AAgHA,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",\"sourcesContent\":[\"$scope_version:\\\"f56d517\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!./index.scss\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { VTooltip } from 'v-tooltip'\nimport './index.scss'\n\n// force scope the tooltip and use .vue-tooltip\n// instead of .tooltip to avoid server compatibility\n// issues and the use of !important\nVTooltip.options.defaultTemplate = `<div class=\"vue-tooltip\" role=\"tooltip\" data-v-${SCOPE_VERSION}><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>`\nVTooltip.options.defaultHtml = false\n\nexport default VTooltip\n","module.exports = require(\"core-js/modules/es.string.trim.js\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".vue-tooltip[data-v-f56d517]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-f56d517][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-f56d517][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-f56d517][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-f56d517][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-f56d517][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-f56d517][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-f56d517] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-f56d517] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./index.scss\"],\"names\":[],\"mappings\":\"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",\"sourcesContent\":[\"$scope_version:\\\"f56d517\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = require(\"core-js/modules/es.array.map.js\");","module.exports = require(\"core-js/modules/es.string.replace.js\");","module.exports = require(\"core-js/modules/es.regexp.to-string.js\");","module.exports = require(\"core-js/modules/web.dom-collections.for-each.js\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VPopover',_vm._g(_vm._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"}},'VPopover',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"trigger\"),_vm._v(\" \"),_c('template',{slot:\"popover\"},[_vm._t(\"default\")],2)],2)}\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!./Popover.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!./Popover.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n -\n - @author Marco Ambrosini <marcoambrosini@pm.me>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<docs>\n\n### General description\n\nThis component is just a wrapper for the v-component plugin by Akryum,\nplease refer to this documentation for customization:\nhttps://github.com/Akryum/v-tooltip\n\nThis components has two slots:\n* 'trigger' which can be any html element and it will trigger the popover\nthis slot is optional since you can toggle the popover also by updating the\nopen prop on this component;\n\n* a default slot that is for the content of the popover.\n\n### Examples\n\nWith a `<button>` as a trigger:\n```vue\n<template>\n\t<Popover>\n\t\t<button slot=\"trigger\"> I am the trigger </button>\n\t\t<template>\n\t\t<h2>this is some content</h2>\n\t\t</template>\n\t</Popover>\n</template>\n```\n</docs>\n\n<template>\n\t<VPopover\n\t\tref=\"popover\"\n\t\tv-bind=\"$attrs\"\n\t\tpopover-base-class=\"popover\"\n\t\tpopover-wrapper-class=\"popover__wrapper\"\n\t\tpopover-arrow-class=\"popover__arrow\"\n\t\tpopover-inner-class=\"popover__inner\"\n\t\tv-on=\"$listeners\">\n\t\t<!-- This will be the popover target (for the events and position) -->\n\t\t<slot name=\"trigger\" />\n\t\t<!-- This will be the content of the popover -->\n\t\t<template slot=\"popover\">\n\t\t\t<slot />\n\t\t</template>\n\t</VPopover>\n</template>\n\n<script>\nimport { VPopover } from 'v-tooltip'\n\nexport default {\n\tname: 'Popover',\n\tcomponents: {\n\t\tVPopover,\n\t},\n\n\tmounted() {\n\t\tthis.$watch(\n\t\t\t() => {\n\t\t\t\t// required because v-tooltip doesn't provide events\n\t\t\t\t// and @show is too early\n\t\t\t\t// see https://github.com/Akryum/v-tooltip/issues/661\n\t\t\t\treturn this.$refs.popover.isOpen\n\t\t\t},\n\t\t\t(val) => {\n\t\t\t\tif (val) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggered after the tooltip was visually displayed.\n\t\t\t\t\t *\n\t\t\t\t\t * This is different from the 'show' and 'apply-show' which\n\t\t\t\t\t * run earlier than this where there is no guarantee that the\n\t\t\t\t\t * tooltip is already visible and in the DOM.\n\t\t\t\t\t */\n\t\t\t\t\tthis.$emit('after-show')\n\t\t\t\t} else {\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggered after the tooltip was visually hidden.\n\t\t\t\t\t */\n\t\t\t\t\tthis.$emit('after-hide')\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n$arrow-width: 10px;\n\n.popover {\n\tz-index: 100000;\n\tdisplay: block !important;\n\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t&__inner {\n\t\tpadding: 0;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground: var(--color-main-background);\n\t}\n\n\t&__arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: $arrow-width;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n\n\t&[x-placement^='top'] {\n\t\tmargin-bottom: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\tbottom: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='bottom'] {\n\t\tmargin-top: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='right'] {\n\t\tmargin-left: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tleft: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width $arrow-width $arrow-width 0;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='left'] {\n\t\tmargin-right: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tright: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t}\n\t}\n\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\topacity: 0;\n\t}\n\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity var(--animation-quick);\n\t\topacity: 1;\n\t}\n}\n\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Popover.vue?vue&type=style&index=0&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./Popover.vue?vue&type=template&id=0522d459&\"\nimport script from \"./Popover.vue?vue&type=script&lang=js&\"\nexport * from \"./Popover.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Popover.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Popover.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","module.exports = require(\"@nextcloud/event-bus\");","module.exports = require(\"core-js/modules/es.number.constructor.js\");","module.exports = require(\"core-js/modules/es.symbol.js\");","module.exports = require(\"@nextcloud/l10n/dist/gettext\");","\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst GenRandomId = (length) => {\n\treturn Math.random()\n\t\t.toString(36)\n\t\t.replace(/[^a-z]+/g, '')\n\t\t.substr(0, length || 5)\n}\n\nexport default GenRandomId\n","module.exports = require(\"@nextcloud/auth\");","/**\n * @copyright Copyright (c) 2019 Kristof Hamann, Paul Schwörer\n *\n * @author Kristof Hamann\n * @author Paul Schwörer\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\n\nexport const IsMobileState = new Vue({\n\tdata() {\n\t\treturn {\n\t\t\tisMobile: false,\n\t\t}\n\t},\n\twatch: {\n\t\tisMobile(val) {\n\t\t\tthis.$emit('changed', val)\n\t\t},\n\t},\n\tcreated() {\n\t\twindow.addEventListener('resize', this.handleWindowResize)\n\t\tthis.handleWindowResize()\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this.handleWindowResize)\n\t},\n\tmethods: {\n\t\thandleWindowResize() {\n\t\t\tthis.isMobile = document.documentElement.clientWidth < 1024\n\t\t},\n\t},\n})\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { IsMobileState } from '../../utils/IsMobileState'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tisMobile: false,\n\t\t}\n\t},\n\tmounted() {\n\t\tIsMobileState.$on('changed', this.onIsMobileChanged)\n\t\tthis.isMobile = IsMobileState.isMobile\n\t},\n\tbeforeDestroy() {\n\t\tIsMobileState.$off('changed', this.onIsMobileChanged)\n\t},\n\tmethods: {\n\t\tonIsMobileChanged(val) {\n\t\t\tthis.isMobile = val\n\t\t},\n\t},\n}\n","module.exports = require(\"@nextcloud/axios\");","module.exports = require(\"core-js/modules/es.symbol.description.js\");","module.exports = require(\"core-js/modules/web.url.js\");","module.exports = require(\"core-js/modules/es.array.slice.js\");","module.exports = require(\"v-click-outside\");","module.exports = require(\"striptags\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./MentionBubble.vue\"],\"names\":[],\"mappings\":\"AAsGC,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",\"sourcesContent\":[\"$scope_version:\\\"f56d517\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { getCurrentUser } from '@nextcloud/auth'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\thasStatus: false,\n\t\t\tuserStatus: {\n\t\t\t\tstatus: null,\n\t\t\t\tmessage: null,\n\t\t\t\ticon: null,\n\t\t\t},\n\t\t}\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Fetches the user-status from the server\n\t\t * @param {String} userId UserId of the user to fetch the status for\n\t\t *\n\t\t * @returns {Promise<void>}\n\t\t */\n\t\tasync fetchUserStatus(userId) {\n\t\t\tconst capabilities = getCapabilities()\n\t\t\tif (!Object.prototype.hasOwnProperty.call(capabilities, 'user_status') || !capabilities.user_status.enabled) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// User status endpoint is not available for guests.\n\t\t\tif (!getCurrentUser()) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst { data } = await axios.get(generateOcsUrl('apps/user_status/api/v1', 2) + `statuses/${encodeURIComponent(userId)}`)\n\t\t\t\tconst {\n\t\t\t\t\tstatus,\n\t\t\t\t\tmessage,\n\t\t\t\t\ticon,\n\t\t\t\t} = data.ocs.data\n\t\t\t\tthis.userStatus.status = status\n\t\t\t\tthis.userStatus.message = message || ''\n\t\t\t\tthis.userStatus.icon = icon || ''\n\t\t\t\tthis.hasStatus = true\n\t\t\t} catch (e) {\n\t\t\t\tif (e.response.status === 404 && e.response.data.ocs?.data?.length === 0) {\n\t\t\t\t\t// User just has no status set, so don't log it\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tconsole.error(e)\n\t\t\t}\n\t\t},\n\t},\n}\n","module.exports = require(\"core-js/modules/es.symbol.iterator.js\");","module.exports = require(\"linkifyjs/string\");","module.exports = require(\"core-js/modules/es.array.concat.js\");","module.exports = require(\"core-js/modules/es.array.filter.js\");","module.exports = require(\"core-js/modules/es.array.from.js\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \"\\nbutton.menuitem[data-v-54983729] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-54983729] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-54983729]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-54983729] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-54983729] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenuItem.vue\"],\"names\":[],\"mappings\":\";AAoLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n -->\\n\\n<template>\\n\\t<li class=\\\"popover__menuitem\\\">\\n\\t\\t<!-- If item.href is set, a link will be directly used -->\\n\\t\\t<a v-if=\\\"item.href\\\"\\n\\t\\t\\t:href=\\\"(item.href) ? item.href : '#' \\\"\\n\\t\\t\\t:target=\\\"(item.target) ? item.target : '' \\\"\\n\\t\\t\\t:download=\\\"item.download\\\"\\n\\t\\t\\tclass=\\\"focusable\\\"\\n\\t\\t\\trel=\\\"noreferrer noopener\\\"\\n\\t\\t\\t@click=\\\"action\\\">\\n\\t\\t\\t<span v-if=\\\"!iconIsUrl\\\" :class=\\\"item.icon\\\" />\\n\\t\\t\\t<img v-else :src=\\\"item.icon\\\">\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t<!-- If item.input is set instead, an put will be used -->\\n\\t\\t<span v-else-if=\\\"item.input\\\" class=\\\"menuitem\\\" :class=\\\"{active: item.active}\\\">\\n\\t\\t\\t<!-- does not show if input is checkbox -->\\n\\t\\t\\t<span v-if=\\\"item.input !== 'checkbox'\\\" :class=\\\"item.icon\\\" />\\n\\n\\t\\t\\t<!-- only shows if input is text -->\\n\\t\\t\\t<form v-if=\\\"item.input === 'text'\\\"\\n\\t\\t\\t\\t:class=\\\"item.input\\\"\\n\\t\\t\\t\\t@submit.prevent=\\\"item.action\\\">\\n\\t\\t\\t\\t<input :type=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t:value=\\\"item.value\\\"\\n\\t\\t\\t\\t\\t:placeholder=\\\"item.text\\\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\\\"submit\\\" value=\\\"\\\" class=\\\"icon-confirm\\\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t<!-- checkbox -->\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t<!-- eslint-disable-next-line -->\\n\\t\\t\\t\\t<input :id=\\\"key\\\" v-model=\\\"item.model\\\"\\n\\t\\t\\t\\t\\t:type=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t:class=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t@change=\\\"item.action\\\">\\n\\t\\t\\t\\t<label :for=\\\"key\\\" @click.stop.prevent=\\\"item.action\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t<!-- If item.action is set instead, a button will be used -->\\n\\t\\t<button v-else-if=\\\"item.action\\\"\\n\\t\\t\\tclass=\\\"menuitem focusable\\\"\\n\\t\\t\\t:class=\\\"{active: item.active}\\\"\\n\\t\\t\\t:disabled=\\\"item.disabled\\\"\\n\\t\\t\\ttype=\\\"button\\\"\\n\\t\\t\\t@click.stop.prevent=\\\"item.action\\\">\\n\\t\\t\\t<span :class=\\\"item.icon\\\" />\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t<!-- If item.longtext is set AND the item does not have an action -->\\n\\t\\t<span v-else class=\\\"menuitem\\\" :class=\\\"{active: item.active}\\\">\\n\\t\\t\\t<span :class=\\\"item.icon\\\" />\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: 'PopoverMenuItem',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: 'nextcloud-link',\\n\\t\\t\\t\\t\\thref: 'https://nextcloud.com',\\n\\t\\t\\t\\t\\ticon: 'icon-links',\\n\\t\\t\\t\\t\\ttext: 'Nextcloud',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn ['text', 'checkbox'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\\\"scss\\\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \"li[data-v-54983729]{display:flex;flex:0 0 auto}li.hidden[data-v-54983729]{display:none}li>button[data-v-54983729],li>a[data-v-54983729],li>.menuitem[data-v-54983729]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{padding:0 14px 0 44px}li>button[data-v-54983729]:not(:disabled):hover,li>button[data-v-54983729]:not(:disabled):focus,li>button:not(:disabled).active[data-v-54983729],li>a[data-v-54983729]:not(:disabled):hover,li>a[data-v-54983729]:not(:disabled):focus,li>a:not(:disabled).active[data-v-54983729],li>.menuitem[data-v-54983729]:not(:disabled):hover,li>.menuitem[data-v-54983729]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-54983729]{opacity:1 !important}li>button.action[data-v-54983729],li>a.action[data-v-54983729],li>.menuitem.action[data-v-54983729]{padding:inherit !important}li>button>span[data-v-54983729],li>a>span[data-v-54983729],li>.menuitem>span[data-v-54983729]{cursor:pointer;white-space:nowrap}li>button>p[data-v-54983729],li>a>p[data-v-54983729],li>.menuitem>p[data-v-54983729]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-54983729],li>a>select[data-v-54983729],li>.menuitem>select[data-v-54983729]{margin:0;margin-left:6px}li>button[data-v-54983729]:not(:empty),li>a[data-v-54983729]:not(:empty),li>.menuitem[data-v-54983729]:not(:empty){padding-right:14px !important}li>button>img[data-v-54983729],li>a>img[data-v-54983729],li>.menuitem>img[data-v-54983729]{width:16px;padding:14px}li>button>input.radio+label[data-v-54983729],li>button>input.checkbox+label[data-v-54983729],li>a>input.radio+label[data-v-54983729],li>a>input.checkbox+label[data-v-54983729],li>.menuitem>input.radio+label[data-v-54983729],li>.menuitem>input.checkbox+label[data-v-54983729]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-54983729]::before,li>a>input.checkbox+label[data-v-54983729]::before,li>.menuitem>input.checkbox+label[data-v-54983729]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-54983729]::before,li>a>input.radio+label[data-v-54983729]::before,li>.menuitem>input.radio+label[data-v-54983729]::before{margin:-2px 12px 0}li>button>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-54983729],li>a form[data-v-54983729],li>.menuitem form[data-v-54983729]{display:flex;flex:1 1 auto}li>button form[data-v-54983729]:not(:first-child),li>a form[data-v-54983729]:not(:first-child),li>.menuitem form[data-v-54983729]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-54983729],li>button>span[style*='display:none']+form[data-v-54983729],li>a>span.hidden+form[data-v-54983729],li>a>span[style*='display:none']+form[data-v-54983729],li>.menuitem>span.hidden+form[data-v-54983729],li>.menuitem>span[style*='display:none']+form[data-v-54983729]{margin-left:0}li>button input[data-v-54983729],li>a input[data-v-54983729],li>.menuitem input[data-v-54983729]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-54983729]:not(:first-child),li>a input[data-v-54983729]:not(:first-child),li>.menuitem input[data-v-54983729]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-54983729]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-54983729]{margin-bottom:12px}li>button[data-v-54983729]{padding:0}li>button span[data-v-54983729]{opacity:1}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AA6MA,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,YCrR6C,CD4KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cCjUkB,CDkUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC9Ua\",\"sourcesContent\":[\"$scope_version:\\\"f56d517\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \"ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenu.vue\"],\"names\":[],\"mappings\":\"AA0DA,oBACC,YAAa,CACb,qBAAsB\",\"sourcesContent\":[\"$scope_version:\\\"f56d517\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = require(\"core-js/modules/es.array.join.js\");","module.exports = require(\"regenerator-runtime/runtime.js\");","module.exports = require(\"core-js/modules/es.promise.js\");","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MentionBubble.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!./MentionBubble.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<template>\n\t<span :class=\"{'mention-bubble--primary': primary}\"\n\t\tclass=\"mention-bubble\"\n\t\tcontenteditable=\"false\">\n\t\t<span class=\"mention-bubble__wrapper\">\n\t\t\t<span class=\"mention-bubble__content\">\n\t\t\t\t<!-- Avatar or icon -->\n\t\t\t\t<span :class=\"[icon, `mention-bubble__icon--${avatarUrl ? 'with-avatar' : ''}`]\"\n\t\t\t\t\t:style=\"avatarUrl ? { backgroundImage: `url(${avatarUrl})` } : null\"\n\t\t\t\t\tclass=\"mention-bubble__icon\" />\n\n\t\t\t\t<!-- Title -->\n\t\t\t\t<span role=\"heading\" class=\"mention-bubble__title\" :title=\"label\" />\n\t\t\t</span>\n\n\t\t\t<!-- Selectable text for copy/paste -->\n\t\t\t<span role=\"none\" class=\"mention-bubble__select\">{{ mentionText }}</span>\n\t\t</span>\n\t</span>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\n\nexport default {\n\tname: 'MentionBubble',\n\n\tprops: {\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tsource: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tcomputed: {\n\t\tavatarUrl() {\n\t\t\treturn this.id && this.source === 'users'\n\t\t\t\t? this.getAvatarUrl(this.id, 44)\n\t\t\t\t: null\n\t\t},\n\t\tmentionText() {\n\t\t\treturn this.id.indexOf(' ') === -1\n\t\t\t\t? `@${this.id}`\n\t\t\t\t: `@\"${this.id}\"`\n\t\t},\n\t},\n\n\tmethods: {\n\t\tgetAvatarUrl(user, size) {\n\t\t\treturn generateUrl('/avatar/{user}/{size}', {\n\t\t\t\tuser,\n\t\t\t\tsize,\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$bubble-height: 20px;\n$bubble-max-width: 150px;\n$bubble-padding: 2px;\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\n\n.mention-bubble {\n\t&--primary &__content {\n\t\tcolor: var(--color-primary-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t&__wrapper {\n\t\tmax-width: $bubble-max-width;\n\t\t// Align with text\n\t\theight: $bubble-height - $bubble-padding;\n\t\tvertical-align: text-bottom;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tmax-width: 100%;\n\t\theight: $bubble-height ;\n\t\t-webkit-user-select: none;\n\t\tuser-select: none;\n\t\tpadding-right: $bubble-padding * 3;\n\t\tpadding-left: $bubble-padding;\n\t\tborder-radius: $bubble-height / 2;\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\twidth: $bubble-avatar-size;\n\t\theight: $bubble-avatar-size;\n\t\tborder-radius: $bubble-avatar-size / 2;\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\n\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tmargin-left: $bubble-padding;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Put label in ::before so it is not selectable\n\t\t&::before {\n\t\t\tcontent: attr(title);\n\t\t}\n\t}\n\n\t// Hide the mention id so it is selectable\n\t&__select {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\tleft: -1000px;\n\t}\n}\n\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MentionBubble.vue?vue&type=style&index=0&id=724f9d58&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./MentionBubble.vue?vue&type=template&id=724f9d58&scoped=true&\"\nimport script from \"./MentionBubble.vue?vue&type=script&lang=js&\"\nexport * from \"./MentionBubble.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MentionBubble.vue?vue&type=style&index=0&id=724f9d58&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 \"724f9d58\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"mention-bubble\",class:{'mention-bubble--primary': _vm.primary},attrs:{\"contenteditable\":\"false\"}},[_c('span',{staticClass:\"mention-bubble__wrapper\"},[_c('span',{staticClass:\"mention-bubble__content\"},[_c('span',{staticClass:\"mention-bubble__icon\",class:[_vm.icon, (\"mention-bubble__icon--\" + (_vm.avatarUrl ? 'with-avatar' : ''))],style:(_vm.avatarUrl ? { backgroundImage: (\"url(\" + _vm.avatarUrl + \")\") } : null)}),_vm._v(\" \"),_c('span',{staticClass:\"mention-bubble__title\",attrs:{\"role\":\"heading\",\"title\":_vm.label}})]),_vm._v(\" \"),_c('span',{staticClass:\"mention-bubble__select\",attrs:{\"role\":\"none\"}},[_vm._v(_vm._s(_vm.mentionText))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport escapeHtml from 'escape-html'\nimport linkifyStr from 'linkifyjs/string'\nimport stripTags from 'striptags'\nimport Vue from 'vue'\n\nimport MentionBubble from '../../components/RichContenteditable/MentionBubble'\n\n// Beginning or whitespace. Non-capturing group\nconst MENTION_START = '(?:^|\\\\s)'\n// Anything that is not text or end-of-line. Non-capturing group\nconst MENTION_END = '(?:[^a-z]|$)'\nexport const USERID_REGEX = new RegExp(`${MENTION_START}(@[a-zA-Z0-9_.@\\\\-']+)(${MENTION_END})`, 'gi')\nexport const USERID_REGEX_WITH_SPACE = new RegExp(`${MENTION_START}(@\"[a-zA-Z0-9 _.@\\\\-']+\")(${MENTION_END})`, 'gi')\n\nexport default {\n\tprops: {\n\t\tuserData: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Convert the value string to html for the inner content\n\t\t *\n\t\t * @param {string} value the content without html\n\t\t * @returns {string} rendered html\n\t\t */\n\t\trenderContent(value) {\n\t\t\t// Sanitize the value prop\n\t\t\tconst sanitizedValue = escapeHtml(value)\n\n\t\t\t// Extract all the userIds\n\t\t\tconst splitValue = sanitizedValue.split(USERID_REGEX)\n\t\t\t\t.map(part => part.split(USERID_REGEX_WITH_SPACE)).flat()\n\n\t\t\t// Replace userIds by html\n\t\t\treturn splitValue\n\t\t\t\t.map(part => {\n\t\t\t\t\t// When splitting, the string is always putting the userIds\n\t\t\t\t\t// on the the uneven indexes. We only want to generate the mentions html\n\t\t\t\t\tif (!part.startsWith('@')) {\n\t\t\t\t\t\t// This part doesn't contain a mention, let's make sure links are parsed\n\t\t\t\t\t\treturn linkifyStr(part, {\n\t\t\t\t\t\t\tdefaultProtocol: 'https',\n\t\t\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\t\t\tclassName: 'external',\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\t// Extracting the id, nuking the \" and @\n\t\t\t\t\tconst id = part.replace(/[@\"]/gi, '')\n\n\t\t\t\t\t// Compiling template and prepend with the space we removed during the split\n\t\t\t\t\treturn ' ' + this.genSelectTemplate(id)\n\t\t\t\t})\n\t\t\t\t.join('')\n\t\t\t\t.replace(/\\n/gmi, '<br>')\n\t\t\t\t.replace(/&/gmi, '&')\n\t\t},\n\n\t\t/**\n\t\t * Convert the innerHtml content to a string with mentions as text\n\t\t *\n\t\t * @param {string} content the content without html\n\t\t * @returns {string}\n\t\t */\n\t\tparseContent(content) {\n\t\t\tlet text = content.replace(/<br>/gmi, '\\n')\n\t\t\ttext = text.replace(/ /gmi, ' ')\n\t\t\ttext = text.replace(/&/gmi, '&')\n\n\t\t\t// Convert the mentions to text only\n\t\t\t// first we replace divs with new lines\n\t\t\ttext = text.replace(/<\\/div>/gmi, '\\n')\n\t\t\t// then we remove all leftover html\n\t\t\ttext = stripTags(text, '<div>')\n\t\t\ttext = stripTags(text)\n\n\t\t\treturn text\n\t\t},\n\n\t\t/**\n\t\t * Generate an autocompletion popup entry template\n\t\t *\n\t\t * @param {string} value the value to match against the userData\n\t\t * @returns {string}\n\t\t */\n\t\tgenSelectTemplate(value) {\n\t\t\tconst data = this.userData[value]\n\n\t\t\t// Fallback to @mention in case no data matches\n\t\t\tif (!data) {\n\t\t\t\t// return `@${value}`\n\t\t\t\treturn value.indexOf(' ') === -1\n\t\t\t\t\t? `@${value}`\n\t\t\t\t\t: `@\"${value}\"`\n\t\t\t}\n\n\t\t\t// Return template and make sure we strip of new lines and tabs\n\t\t\treturn this.renderComponentHtml(data, MentionBubble).replace(/[\\n\\t]/gmi, '')\n\t\t},\n\n\t\t/**\n\t\t * Render a component and return its html content\n\t\t *\n\t\t * @param {Object} propsData the props to pass to the component\n\t\t * @param {Object} component the component to render\n\t\t * @returns {string} the rendered html\n\t\t */\n\t\trenderComponentHtml(propsData, component) {\n\t\t\tconst View = Vue.extend(component)\n\t\t\tconst Item = new View({\n\t\t\t\tpropsData,\n\t\t\t})\n\n\t\t\t// Prepare mountpoint\n\t\t\tconst wrapper = document.createElement('div')\n\t\t\tconst mount = document.createElement('div')\n\t\t\twrapper.style.display = 'none'\n\t\t\twrapper.appendChild(mount)\n\t\t\tdocument.body.appendChild(wrapper)\n\n\t\t\t// Mount and get raw html\n\t\t\tItem.$mount(mount)\n\t\t\tconst renderedHtml = wrapper.innerHTML\n\n\t\t\t// Destroy\n\t\t\tItem.$destroy()\n\t\t\twrapper.remove()\n\n\t\t\treturn renderedHtml\n\t\t},\n\t},\n}\n","import { n, t } from '../l10n'\n\nexport default {\n\tmethods: {\n\t\tn,\n\t\tt,\n\t},\n}\n","module.exports = require(\"escape-html\");","module.exports = require(\"core-js/modules/es.string.starts-with.js\");","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Originally taken from https://github.com/nextcloud/server/blob/master/core/js/placeholder.js\n */\n\nfunction Color(r, g, b) {\n\tthis.r = r\n\tthis.g = g\n\tthis.b = b\n}\n\nfunction stepCalc(steps, ends) {\n\tconst step = new Array(3)\n\tstep[0] = (ends[1].r - ends[0].r) / steps\n\tstep[1] = (ends[1].g - ends[0].g) / steps\n\tstep[2] = (ends[1].b - ends[0].b) / steps\n\treturn step\n}\n\nfunction mixPalette(steps, color1, color2) {\n\tconst palette = []\n\tpalette.push(color1)\n\tconst step = stepCalc(steps, [color1, color2])\n\tfor (let i = 1; i < steps; i++) {\n\t\tconst r = parseInt(color1.r + step[0] * i, 10)\n\t\tconst g = parseInt(color1.g + step[1] * i, 10)\n\t\tconst b = parseInt(color1.b + step[2] * i, 10)\n\t\tpalette.push(new Color(r, g, b))\n\t}\n\treturn palette\n}\n\n/**\n * Generate colors from the official nextcloud color\n * You can provide how many colors you want (multiplied by 3)\n * if step = 6\n * 3 colors * 6 will result in 18 generated colors\n *\n * @param {number} [steps=6] Number of steps to go from a color to another\n * @returns {Object[]}\n */\nfunction GenColors(steps) {\n\tif (!steps) {\n\t\tsteps = 6\n\t}\n\n\tconst red = new Color(182, 70, 157)\n\tconst yellow = new Color(221, 203, 85)\n\tconst blue = new Color(0, 130, 201) // Nextcloud blue\n\n\tconst palette1 = mixPalette(steps, red, yellow)\n\tconst palette2 = mixPalette(steps, yellow, blue)\n\tconst palette3 = mixPalette(steps, blue, red)\n\n\treturn palette1.concat(palette2).concat(palette3)\n}\n\nexport default GenColors\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nimport ___CSS_LOADER_URL_IMPORT_0___ from \"../../fonts/iconfont-vue-f56d517.eot\";\nimport ___CSS_LOADER_URL_IMPORT_1___ from \"../../fonts/iconfont-vue-f56d517.woff\";\nimport ___CSS_LOADER_URL_IMPORT_2___ from \"../../fonts/iconfont-vue-f56d517.ttf\";\nimport ___CSS_LOADER_URL_IMPORT_3___ from \"../../fonts/iconfont-vue-f56d517.svg\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@font-face{font-family:\\\"iconfont-vue-f56d517\\\";src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\")}.icon[data-v-68aca969]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.arrow-left[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.arrow-right-double[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.arrow-right[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.breadcrumb[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.checkmark[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.close[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.confirm[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.info[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.menu[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.more[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.pause[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.play[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.triangle-s[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.user-status-away[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.user-status-dnd[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.user-status-invisible[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.icon.user-status-online[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";content:\\\"\\\"}.avatardiv[data-v-68aca969]{position:relative;display:inline-block}.avatardiv--unknown[data-v-68aca969]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-68aca969]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-68aca969]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-68aca969]{cursor:pointer}.avatardiv--with-menu[data-v-68aca969] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-68aca969],.avatardiv--with-menu .icon-loading[data-v-68aca969]{display:flex;cursor:pointer;background:none;font-size:18px;align-items:center;justify-content:center}.avatardiv--with-menu .icon-more[data-v-68aca969]:before,.avatardiv--with-menu .icon-loading[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";font-style:normal;font-weight:400;content:\\\"\\\"}.avatardiv--with-menu .icon-more[data-v-68aca969]::before,.avatardiv--with-menu .icon-loading[data-v-68aca969]::before{display:block}.avatardiv--with-menu .icon-more[data-v-68aca969]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-68aca969],.avatardiv--with-menu:hover .icon-more[data-v-68aca969]{opacity:1}.avatardiv--with-menu:focus img[data-v-68aca969],.avatardiv--with-menu:hover img[data-v-68aca969]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-68aca969],.avatardiv--with-menu img[data-v-68aca969]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-68aca969]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-68aca969]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__status[data-v-68aca969]{position:absolute;top:22px;left:22px;width:10px;height:10px;border:1px solid rgba(255,255,255,0.5);background-clip:content-box}.avatardiv .avatardiv__status--positive[data-v-68aca969]{border-radius:50%;background-color:var(--color-success)}.avatardiv .avatardiv__status--negative[data-v-68aca969]{background-color:var(--color-error)}.avatardiv .avatardiv__status--neutral[data-v-68aca969]{border:none;background-color:transparent !important}.avatardiv .avatardiv__status--neutral svg[data-v-68aca969]{position:absolute;top:-3px;left:-2px}.avatardiv .avatardiv__status--neutral svg path[data-v-68aca969]{fill:#aaa}.avatardiv .avatardiv__user-status[data-v-68aca969]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-68aca969]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-68aca969]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-68aca969]{color:#49b382}.avatardiv .avatardiv__user-status--online[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";font-style:normal;font-weight:400;content:\\\"\\\"}.avatardiv .avatardiv__user-status--dnd[data-v-68aca969]{background-color:#ffffff;color:#ed484c}.avatardiv .avatardiv__user-status--dnd[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";font-style:normal;font-weight:400;content:\\\"\\\"}.avatardiv .avatardiv__user-status--away[data-v-68aca969]{color:#f4a331}.avatardiv .avatardiv__user-status--away[data-v-68aca969]:before{font-family:\\\"iconfont-vue-f56d517\\\";font-style:normal;font-weight:400;content:\\\"\\\"}.avatardiv .avatardiv__user-status--icon[data-v-68aca969]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-68aca969]{position:relative;display:inline-block}.avatar-class-icon[data-v-68aca969]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./Avatar.vue\"],\"names\":[],\"mappings\":\"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,4BACb,iBC2eE,CACT,oBACA,CAAA,qCAEA,iBAAU,CACT,8CACkB,CAAA,qDAGZ,gCAEN,CAAA,yCAKoB,CAAA,sEAPd,gCAKL,CAAA,uCACA,cAAA,CAAA,iDAMD,iBAAiB,CAChB,KAAA,CAAA,MAAU,CAAA,uGAHX,YAOY,CAAA,cACF,CAAA,eACD,CAAA,cACI,CAAA,kBAEZ,CAAA,sBACA,CAAA,qHANW,kCDlnBb,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,uHC+hBU,aAAa,CAAA,kDAPzB,SAoBA,CAAA,gHApBA,SAyBC,CAAA,kGAzBD,WAAW,CAAA,6FAAX,yCAkCqB,CAAA,qCArDvB,iBAyDG,CAAQ,KACT,CAAA,MAAU,CAAA,aAEV,CAAA,UACA,CAAA,iBACO,CAAI,kBACO,CAClB,kCACO,CAAA,gCAAA,UAjET,CAAA,WAsEE,CAAA,gBACQ,CAAA,+CAKT,iBAAA,CAAkB,QACjB,CAAQ,SAAU,CAClB,UACA,CAAA,WACA,CAAA,sCAEkB,CAAA,2BAClB,CAAA,yDACC,iBAAA,CAAU,qCAEQ,CAAA,yDAElB,mCACgB,CAAE,wDAElB,WAAA,CAAA,uCAEkB,CAAA,4DAFlB,iBAGA,CAAG,QACF,CAAQ,SAAU,CAClB,iEALD,SAAS,CAGT,oDAWF,iBAAA,CAAuB,UACZ,CAAA,WACV,CAAA,WACA,CAAA,UACA,CAAA,gBACO,CAAA,kCAEI,CAAA,6CACO,CAAA,6CACA,CAAA,iBAAA,CAA4B,gEAT/C,0CAagB,CAAA,8CACI,CAAA,iEAdpB,uCAiBgB,CAAA,2CACI,CAAA,4DAGlB,aAAA,CAAA,mEAAA,kCDttBF,CAAA,iBAAA,CAAsB,eAkFP,CAAA,WACZ,CAAA,yDCuoBD,wBAEA,CAAA,aAAkB,CAAA,gEAFlB,kCD1tBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC4oBD,aAAA,CAAA,iEAAA,kCD/tBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DCgpBD,WAAA,CAAA,4BAEA,CAAA,iDA7IO,iBAiJT,CAAA,oBACW,CAAQ,oCACT,iBACT,CAAA,+CAKiB,CAAA,WAAA\",\"sourcesContent\":[\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-f56d517\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn 'Undefined Iconfont Family!';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn 'Undefined Iconfont Glyph!';\\n @return '';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, '/');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \\\"iconfont-vue-f56d517\\\";\\n src: url('../iconfont-vue-f56d517.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-f56d517.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-f56d517.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-f56d517.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-f56d517.svg') format('svg'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-f56d517\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-f56d517\\\";\\n content: iconfont-item(\\\"iconfont-vue-f56d517/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\",\"$scope_version:\\\"f56d517\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more, .icon-loading {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground: none;\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__status {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 22px;\\n\\t\\tleft: 22px;\\n\\t\\twidth: 10px;\\n\\t\\theight: 10px;\\n\\t\\tborder: 1px solid rgba(255, 255, 255, .5);\\n\\t\\tbackground-clip: content-box;\\n\\t\\t&--positive {\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t\\t&--negative {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t\\t&--neutral {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent !important;\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: -3px;\\n\\t\\t\\t\\tleft: -2px;\\n\\t\\t\\t\\tpath {\\n\\t\\t\\t\\t\\tfill: #aaa;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\t@include iconfont('user-status-online');\\n\\t\\t\\tcolor: #49b382;\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\t@include iconfont('user-status-dnd');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t\\tcolor: #ed484c;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\t@include iconfont('user-status-away');\\n\\t\\t\\tcolor: #f4a331;\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = require(\"core-js/modules/es.object.keys.js\");","/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Find the ranges of a substr in a given string\n *\n * @param {String} text The text to search in\n * @param {String} search The text to search for\n * @returns {Array} The array of ranges to highlight\n */\nconst FindRanges = (text, search) => {\n\tconst ranges = []\n\tlet currentIndex = 0\n\tlet index = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex)\n\t// Variable to track that we don't iterate more often than the length of the text.\n\t// Shouldn't happen anyway, but just to be sure to not hang the browser for some reason.\n\tlet i = 0\n\twhile (index > -1 && i < text.length) {\n\t\tcurrentIndex = index + search.length\n\t\tranges.push({ start: index, end: currentIndex })\n\n\t\tindex = text.toLowerCase().indexOf(search.toLowerCase(), index + 1)\n\t\ti++\n\t}\n\treturn ranges\n}\n\nexport default FindRanges\n","module.exports = require(\"core-js/modules/es.object.get-own-property-descriptor.js\");","module.exports = require(\"core-js/modules/es.object.get-own-property-descriptors.js\");","<!--\n - @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n\n### General description\n\nHighlight a string with html <strong>. Accepts a substring to highlight or an array with ranges.\n\n### Usage\n\n```vue\n<template>\n\t<div>\n\t\t<Highlight text=\"Highlight me please!\" search=\"me\" />\n\t\t<br />\n\t\t<Highlight text=\"Highlight me please!\" :highlight=\"[{ start: 4, end: 12 }]\" />\n\t</div>\n</template>\n```\n</docs>\n\n<script>\nimport FindRanges from '../../utils/FindRanges'\n\nexport default {\n\tname: 'Highlight',\n\tprops: {\n\t\t/**\n\t\t * The string to display\n\t\t */\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The string to match and highlight\n\t\t */\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The ranges to highlight, takes precedence over the search prop.\n\t\t */\n\t\thighlight: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tcomputed: {\n\t\t/**\n\t\t * The indice ranges which should be highlighted.\n\t\t * If an array with ranges is provided, we use it. Otherwise\n\t\t * we calculate it based on the provided substring to highlight.\n\t\t *\n\t\t * @returns {Array} The array of ranges to highlight\n\t\t */\n\t\tranges() {\n\t\t\tlet ranges = []\n\t\t\t// If the search term and the highlight array is empty, return early with empty array\n\t\t\tif (!this.search && this.highlight.length === 0) {\n\t\t\t\treturn ranges\n\t\t\t}\n\n\t\t\t// If there are ranges to highlight provided, we use this array.\n\t\t\tif (this.highlight.length > 0) {\n\t\t\t\tranges = this.highlight\n\t\t\t// Otherwise we check the text to highlight for matches of the search term.\n\t\t\t} else {\n\t\t\t\tranges = FindRanges(this.text, this.search)\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Validate the ranges array to be within the string length\n\t\t\t * and discard ranges which are completely out of bonds.\n\t\t\t */\n\t\t\treturn ranges.reduce((validRanges, range) => {\n\t\t\t\tif (range.start < this.text.length && range.end > 0) {\n\t\t\t\t\tvalidRanges.push({\n\t\t\t\t\t\tstart: (range.start < 0) ? 0 : range.start,\n\t\t\t\t\t\tend: (range.end > this.text.length) ? this.text.length : range.end,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn validRanges\n\t\t\t}, [])\n\t\t},\n\t\t/**\n\t\t * Calculate the different chunks to show based on the ranges to highlight.\n\t\t *\n\t\t * @returns {Array} The chunks\n\t\t */\n\t\tchunks() {\n\t\t\t// If the ranges array is empty, show only one chunk with all text\n\t\t\tif (this.ranges.length === 0) {\n\t\t\t\treturn [{\n\t\t\t\t\tstart: 0,\n\t\t\t\t\tend: this.text.length,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttext: this.text,\n\t\t\t\t}]\n\t\t\t}\n\t\t\t// Calculate the chunks\n\t\t\tconst chunks = []\n\t\t\tlet currentIndex = 0\n\t\t\tlet currentRange = 0\n\t\t\t// Iterate over all characters in the text\n\t\t\twhile (currentIndex < this.text.length) {\n\t\t\t\t// Get the first range to highlight\n\t\t\t\tconst range = this.ranges[currentRange]\n\t\t\t\t// If the range starts at the current index, construct a chunk to highlight,\n\t\t\t\t// set the next range and continue with the next iteration.\n\t\t\t\tif (range.start === currentIndex) {\n\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t...range,\n\t\t\t\t\t\thighlight: true,\n\t\t\t\t\t\ttext: this.text.substr(range.start, range.end - range.start),\n\t\t\t\t\t})\n\t\t\t\t\tcurrentRange++\n\t\t\t\t\tcurrentIndex = range.end\n\t\t\t\t\t// If this was the last range to highlight and we haven't reached the end of the text,\n\t\t\t\t\t// add the rest of the text without highlighting.\n\t\t\t\t\tif (currentRange >= this.ranges.length && currentIndex < this.text.length) {\n\t\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t\tstart: currentIndex,\n\t\t\t\t\t\t\tend: this.text.length,\n\t\t\t\t\t\t\thighlight: false,\n\t\t\t\t\t\t\ttext: this.text.substr(currentIndex, this.text.length - currentIndex),\n\t\t\t\t\t\t})\n\t\t\t\t\t\t// Set the current index so the while loop ends.\n\t\t\t\t\t\tcurrentIndex = this.text.length\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t// If the current range does start after the current index, construct a chunk without\n\t\t\t\t// highlighting and set the current index to the start of the current range.\n\t\t\t\tchunks.push({\n\t\t\t\t\tstart: currentIndex,\n\t\t\t\t\tend: range.start,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttext: this.text.substr(currentIndex, range.start - currentIndex),\n\t\t\t\t})\n\t\t\t\tcurrentIndex = range.start\n\t\t\t}\n\t\t\treturn chunks\n\t\t},\n\t},\n\t/**\n\t * The render function to display the component\n\t *\n\t * @param {Function} createElement The function to create VNodes\n\t * @returns {VNodes} The created VNodes\n\t */\n\trender(createElement) {\n\t\tif (!this.ranges.length) {\n\t\t\treturn createElement('span', {}, this.text)\n\t\t}\n\n\t\treturn createElement('span', {}, this.chunks.map(chunk => {\n\t\t\treturn chunk.highlight ? createElement('strong', {}, chunk.text) : chunk.text\n\t\t}))\n\t},\n}\n</script>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Highlight.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!./Highlight.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./Highlight.vue?vue&type=script&lang=js&\"\nexport * from \"./Highlight.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Highlight.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Highlight from './Highlight'\n\nexport default Highlight\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default {\n\tprops: {\n\t\t/**\n\t\t * A class-name or an array of class-names\n\t\t * to be ignored when clicking outside\n\t\t * an element\n\t\t */\n\t\texcludeClickOutsideClasses: {\n\t\t\ttype: String | Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Middleware Handler for V-Click-Outside\n\t\t *\n\t\t * @param {Event} event The click event\n\t\t * @returns {Boolean}\n\t\t */\n\t\tclickOutsideMiddleware(event) {\n\t\t\tconst excludedClassList = Array.isArray(this.excludeClickOutsideClasses)\n\t\t\t\t? this.excludeClickOutsideClasses\n\t\t\t\t: [this.excludeClickOutsideClasses]\n\n\t\t\t// No need to iterate through all parents\n\t\t\t// if class-list is empty\n\t\t\tif (excludedClassList.length === 0) {\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\treturn !this.hasNodeOrAnyParentClass(event.target, excludedClassList)\n\t\t},\n\t\t/**\n\t\t * Checks if given node or any of it's parents have a class of classArray\n\t\t *\n\t\t * @param {Element} node Node to test\n\t\t * @param {Array} classArray List of classes to check for\n\t\t * @returns {Boolean}\n\t\t */\n\t\thasNodeOrAnyParentClass(node, classArray) {\n\t\t\tfor (const className of classArray) {\n\t\t\t\tif (node?.classList?.contains(className)) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn !!node.parentElement && this.hasNodeOrAnyParentClass(node.parentElement, classArray)\n\t\t},\n\t},\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tisFullscreen: this._isFullscreen(),\n\t\t}\n\t},\n\tbeforeMount() {\n\t\twindow.addEventListener('resize', this._onResize)\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this._onResize)\n\t},\n\tmethods: {\n\t\t_onResize() {\n\t\t\t// Update fullscreen mode\n\t\t\tthis.isFullscreen = this._isFullscreen()\n\t\t},\n\t\t_isFullscreen() {\n\t\t\t// if the window height is equal to the screen height,\n\t\t\t// we're in full screen mode\n\t\t\treturn window.outerHeight === screen.height\n\t\t},\n\t},\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"popover__menu\"},_vm._l((_vm.menu),function(item,key){return _c('PopoverMenuItem',{key:key,attrs:{\"item\":item}})}),1)}\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!./PopoverMenuItem.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!./PopoverMenuItem.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li class=\"popover__menuitem\">\n\t\t<!-- If item.href is set, a link will be directly used -->\n\t\t<a v-if=\"item.href\"\n\t\t\t:href=\"(item.href) ? item.href : '#' \"\n\t\t\t:target=\"(item.target) ? item.target : '' \"\n\t\t\t:download=\"item.download\"\n\t\t\tclass=\"focusable\"\n\t\t\trel=\"noreferrer noopener\"\n\t\t\t@click=\"action\">\n\t\t\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\n\t\t\t<img v-else :src=\"item.icon\">\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</a>\n\n\t\t<!-- If item.input is set instead, an put will be used -->\n\t\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\n\t\t\t<!-- does not show if input is checkbox -->\n\t\t\t<span v-if=\"item.input !== 'checkbox'\" :class=\"item.icon\" />\n\n\t\t\t<!-- only shows if input is text -->\n\t\t\t<form v-if=\"item.input === 'text'\"\n\t\t\t\t:class=\"item.input\"\n\t\t\t\t@submit.prevent=\"item.action\">\n\t\t\t\t<input :type=\"item.input\"\n\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t:placeholder=\"item.text\"\n\t\t\t\t\trequired>\n\t\t\t\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\n\t\t\t</form>\n\n\t\t\t<!-- checkbox -->\n\t\t\t<template v-else>\n\t\t\t\t<!-- eslint-disable-next-line -->\n\t\t\t\t<input :id=\"key\" v-model=\"item.model\"\n\t\t\t\t\t:type=\"item.input\"\n\t\t\t\t\t:class=\"item.input\"\n\t\t\t\t\t@change=\"item.action\">\n\t\t\t\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</label>\n\t\t\t</template>\n\t\t</span>\n\n\t\t<!-- If item.action is set instead, a button will be used -->\n\t\t<button v-else-if=\"item.action\"\n\t\t\tclass=\"menuitem focusable\"\n\t\t\t:class=\"{active: item.active}\"\n\t\t\t:disabled=\"item.disabled\"\n\t\t\ttype=\"button\"\n\t\t\t@click.stop.prevent=\"item.action\">\n\t\t\t<span :class=\"item.icon\" />\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</button>\n\n\t\t<!-- If item.longtext is set AND the item does not have an action -->\n\t\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\n\t\t\t<span :class=\"item.icon\" />\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</span>\n\t</li>\n</template>\n\n<script>\nexport default {\n\tname: 'PopoverMenuItem',\n\tprops: {\n\t\titem: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tdefault: () => {\n\t\t\t\treturn {\n\t\t\t\t\tkey: 'nextcloud-link',\n\t\t\t\t\thref: 'https://nextcloud.com',\n\t\t\t\t\ticon: 'icon-links',\n\t\t\t\t\ttext: 'Nextcloud',\n\t\t\t\t}\n\t\t\t},\n\t\t\t// check the input types\n\t\t\t// TODO: add more validation of types\n\t\t\tvalidator: item => {\n\t\t\t\t// TODO: support radio\n\t\t\t\tif (item.input) {\n\t\t\t\t\treturn ['text', 'checkbox'].indexOf(item.input) !== -1\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t},\n\t\t},\n\t},\n\tcomputed: {\n\t\t// random key for inputs binding if not provided\n\t\tkey() {\n\t\t\treturn this.item.key\n\t\t\t\t? this.item.key\n\t\t\t\t: Math.round(Math.random() * 16 * 1000000).toString(16)\n\t\t},\n\t\ticonIsUrl() {\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-new\n\t\t\t\tnew URL(this.item.icon)\n\t\t\t\treturn true\n\t\t\t} catch (_) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\t// allow us to use both link and an action on `a`\n\t\t// we still need to make sure item.action exists\n\t\taction(event) {\n\t\t\tif (this.item.action) {\n\t\t\t\tthis.item.action(event)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style scoped>\n\tbutton.menuitem {\n\t\ttext-align: left;\n\t}\n\n\tbutton.menuitem * {\n\t\tcursor: pointer;\n\t}\n\n\tbutton.menuitem:disabled {\n\t\topacity: 0.5 !important;\n\t\tcursor: default;\n\t}\n\n\tbutton.menuitem:disabled * {\n\t\tcursor: default;\n\t}\n\n\t.menuitem.active {\n\t\tbox-shadow: inset 2px 0 var(--color-primary);\n\t\tborder-radius: 0;\n\t}\n</style>\n\n<style lang=\"scss\" scoped>\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'],\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^='icon-']):not([class*='icon-']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^='icon-']):not([class*='icon-']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $icon-size;\n\t\t\tpadding: $icon-margin;\n\t\t}\n\n\t\t/* checkbox/radio fixes */\n\t\t> input.radio + label,\n\t\t> input.checkbox + label {\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t> input.checkbox + label::before {\n\t\t\tmargin: -2px 13px 0;\n\t\t}\n\t\t> input.radio + label::before {\n\t\t\tmargin: -2px 12px 0;\n\t\t}\n\t\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\n\t\t\twidth: 150px;\n\t\t}\n\n\t\t// Forms & text inputs\n\t\tform {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\t/* put a small space between text and form\n\t\t\t\tif there is an element before */\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t/* no margin if hidden span before */\n\t\t> span.hidden + form,\n\t\t> span[style*='display:none'] + form {\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t/* Inputs inside popover supports text, submit & reset */\n\t\tinput {\n\t\t\tmin-width: $clickable-area;\n\t\t\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\n\t\t\tmargin: 2px 0;\n\t\t\tflex: 1 1 auto;\n\t\t\t// space between inline inputs\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: do that in js, should be cleaner\n\t/* css hack, only first not hidden */\n\t&:not(.hidden):not([style*='display:none']) {\n\t\t&:first-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-top: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:last-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-bottom: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t> button {\n\t\tpadding: 0;\n\t\tspan {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n}\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=0&id=54983729&scoped=true&lang=css&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=1&id=54983729&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.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!./PopoverMenu.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n\tThis component is deprecated. Please use the [Actions](#/Components?id=actions-1) component instead.\n</docs>\n\n<template>\n\t<ul class=\"popover__menu\">\n\t\t<PopoverMenuItem v-for=\"(item, key) in menu\" :key=\"key\" :item=\"item\" />\n\t</ul>\n</template>\n\n<script>\nimport PopoverMenuItem from './PopoverMenuItem'\n\nexport default {\n\tname: 'PopoverMenu',\n\tcomponents: {\n\t\tPopoverMenuItem,\n\t},\n\tprops: {\n\t\tmenu: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => {\n\t\t\t\treturn [{\n\t\t\t\t\thref: 'https://nextcloud.com',\n\t\t\t\t\ticon: 'icon-links',\n\t\t\t\t\ttext: 'Nextcloud',\n\t\t\t\t}]\n\t\t\t},\n\t\t\trequired: true,\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nul {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n</style>\n","import { render, staticRenderFns } from \"./PopoverMenuItem.vue?vue&type=template&id=54983729&scoped=true&\"\nimport script from \"./PopoverMenuItem.vue?vue&type=script&lang=js&\"\nexport * from \"./PopoverMenuItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PopoverMenuItem.vue?vue&type=style&index=0&id=54983729&scoped=true&lang=css&\"\nimport style1 from \"./PopoverMenuItem.vue?vue&type=style&index=1&id=54983729&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 \"54983729\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"popover__menuitem\"},[(_vm.item.href)?_c('a',{staticClass:\"focusable\",attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#',\"target\":(_vm.item.target) ? _vm.item.target : '',\"download\":_vm.item.download,\"rel\":\"noreferrer noopener\"},on:{\"click\":_vm.action}},[(!_vm.iconIsUrl)?_c('span',{class:_vm.item.icon}):_c('img',{attrs:{\"src\":_vm.item.icon}}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()]):(_vm.item.input)?_c('span',{staticClass:\"menuitem\",class:{active: _vm.item.active}},[(_vm.item.input !== 'checkbox')?_c('span',{class:_vm.item.icon}):_vm._e(),_vm._v(\" \"),(_vm.item.input === 'text')?_c('form',{class:_vm.item.input,on:{\"submit\":function($event){$event.preventDefault();return _vm.item.action($event)}}},[_c('input',{attrs:{\"type\":_vm.item.input,\"placeholder\":_vm.item.text,\"required\":\"\"},domProps:{\"value\":_vm.item.value}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]):[((_vm.item.input)==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.item.model)?_vm._i(_vm.item.model,null)>-1:(_vm.item.model)},on:{\"change\":[function($event){var $$a=_vm.item.model,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.item, \"model\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.item, \"model\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.item, \"model\", $$c)}},_vm.item.action]}}):((_vm.item.input)==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.item.model,null)},on:{\"change\":[function($event){return _vm.$set(_vm.item, \"model\", null)},_vm.item.action]}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":_vm.item.input},domProps:{\"value\":(_vm.item.model)},on:{\"change\":_vm.item.action,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.item, \"model\", $event.target.value)}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.key},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.item.action($event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")])]],2):(_vm.item.action)?_c('button',{staticClass:\"menuitem focusable\",class:{active: _vm.item.active},attrs:{\"disabled\":_vm.item.disabled,\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.item.action($event)}}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()]):_c('span',{staticClass:\"menuitem\",class:{active: _vm.item.active}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=style&index=0&id=4dae360a&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./PopoverMenu.vue?vue&type=template&id=4dae360a&scoped=true&\"\nimport script from \"./PopoverMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./PopoverMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PopoverMenu.vue?vue&type=style&index=0&id=4dae360a&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 \"4dae360a\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./PopoverMenu.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport PopoverMenu from './PopoverMenu'\n\nexport default PopoverMenu\n","module.exports = require(\"core-js/modules/es.string.split.js\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],staticClass:\"avatardiv popovermenu-wrapper\",class:{\n\t\t'avatardiv--unknown': _vm.userDoesNotExist,\n\t\t'avatardiv--with-menu': _vm.hasMenu\n\t},style:(_vm.avatarStyle)},!_vm.disableMenu ? { click: _vm.toggleMenu } : {}),[(_vm.iconClass)?_c('div',{staticClass:\"avatar-class-icon\",class:_vm.iconClass}):(_vm.isAvatarLoaded && !_vm.userDoesNotExist)?_c('img',{attrs:{\"src\":_vm.avatarUrlLoaded,\"srcset\":_vm.avatarSrcSetLoaded,\"alt\":\"\"}}):_vm._e(),_vm._v(\" \"),(_vm.hasMenu)?_c('Popover',{attrs:{\"placement\":\"auto\",\"container\":_vm.menuContainer,\"open\":_vm.contactsMenuOpenState}},[_c('PopoverMenu',{attrs:{\"menu\":_vm.menu}}),_vm._v(\" \"),_c('template',{slot:\"trigger\"},[_c('div',{class:_vm.contactsMenuLoading ? 'icon-loading' : 'icon-more',style:({'width': _vm.size + 'px', 'height': _vm.size + 'px'})})])],2):_vm._e(),_vm._v(\" \"),(_vm.showUserStatusIconOnAvatar)?_c('div',{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.userStatus.icon)+\"\\n\\t\")]):(_vm.canDisplayUserStatus)?_c('div',{staticClass:\"avatardiv__user-status\",class:'avatardiv__user-status--' + _vm.userStatus.status}):(_vm.status)?_c('div',{staticClass:\"avatardiv__status\",class:'avatardiv__status--' + _vm.status,style:({ backgroundColor: (\"#\" + _vm.statusColor) })},[(_vm.status === 'neutral')?_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"12\",\"height\":\"11\",\"viewBox\":\"0 0 3.175 2.91\"}},[_c('path',{style:({ fill: (\"#\" + _vm.statusColor) }),attrs:{\"d\":\"M3.21 3.043H.494l.679-1.177.68-1.176.678 1.176z\",\"stroke\":\"#fff\",\"stroke-width\":\".265\",\"stroke-linecap\":\"square\"}})]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.userDoesNotExist && !_vm.iconClass)?_c('div',{staticClass:\"unknown\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.initials)+\"\\n\\t\")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n\n### Basic user avatar\n\n```vue\n\t<avatar user=\"janedoe\" display-name=\"Jane Doe\" />\n```\n\n### Avatar with image\n\n```vue\n\t<avatar url=\"https://nextcloud.com/wp-content/themes/next/assets/img/common/nextcloud-square-logo.png\" />\n```\n\n</docs>\n<template>\n\t<div v-tooltip=\"tooltip\"\n\t\tv-click-outside=\"closeMenu\"\n\t\t:class=\"{\n\t\t\t'avatardiv--unknown': userDoesNotExist,\n\t\t\t'avatardiv--with-menu': hasMenu\n\t\t}\"\n\t\t:style=\"avatarStyle\"\n\t\tclass=\"avatardiv popovermenu-wrapper\"\n\t\tv-on=\"!disableMenu ? { click: toggleMenu } : {}\">\n\t\t<!-- Avatar icon or image -->\n\t\t<div v-if=\"iconClass\" :class=\"iconClass\" class=\"avatar-class-icon\" />\n\t\t<img v-else-if=\"isAvatarLoaded && !userDoesNotExist\"\n\t\t\t:src=\"avatarUrlLoaded\"\n\t\t\t:srcset=\"avatarSrcSetLoaded\"\n\t\t\talt=\"\">\n\t\t<Popover\n\t\t\tv-if=\"hasMenu\"\n\t\t\tplacement=\"auto\"\n\t\t\t:container=\"menuContainer\"\n\t\t\t:open=\"contactsMenuOpenState\">\n\t\t\t<PopoverMenu :menu=\"menu\" />\n\t\t\t<template slot=\"trigger\">\n\t\t\t\t<div :class=\"contactsMenuLoading ? 'icon-loading' : 'icon-more'\" :style=\"{'width': size + 'px', 'height': size + 'px'}\" />\n\t\t\t</template>\n\t\t</Popover>\n\n\t\t<!-- Avatar status -->\n\t\t<div v-if=\"showUserStatusIconOnAvatar\" class=\"avatardiv__user-status avatardiv__user-status--icon\">\n\t\t\t{{ userStatus.icon }}\n\t\t</div>\n\t\t<div v-else-if=\"canDisplayUserStatus\"\n\t\t\tclass=\"avatardiv__user-status\"\n\t\t\t:class=\"'avatardiv__user-status--' + userStatus.status\" />\n\t\t<div v-else-if=\"status\"\n\t\t\tclass=\"avatardiv__status\"\n\t\t\t:class=\"'avatardiv__status--' + status\"\n\t\t\t:style=\"{ backgroundColor: `#${statusColor}` }\">\n\t\t\t<!-- triangle -->\n\t\t\t<svg v-if=\"status === 'neutral'\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth=\"12\"\n\t\t\t\theight=\"11\"\n\t\t\t\tviewBox=\"0 0 3.175 2.91\">\n\t\t\t\t<path d=\"M3.21 3.043H.494l.679-1.177.68-1.176.678 1.176z\"\n\t\t\t\t\t:style=\"{ fill: `#${statusColor}` }\"\n\t\t\t\t\tstroke=\"#fff\"\n\t\t\t\t\tstroke-width=\".265\"\n\t\t\t\t\tstroke-linecap=\"square\" />\n\t\t\t</svg>\n\t\t</div>\n\n\t\t<!-- Show the letter if no avatar nor icon class -->\n\t\t<div v-if=\"userDoesNotExist && !iconClass\" class=\"unknown\">\n\t\t\t{{ initials }}\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { directive as ClickOutside } from 'v-click-outside'\nimport PopoverMenu from '../PopoverMenu'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport Tooltip from '../../directives/Tooltip'\nimport usernameToColor from '../../functions/usernameToColor'\nimport { userStatus } from '../../mixins'\nimport Popover from '../Popover/Popover'\n\nconst browserStorage = getBuilder('nextcloud').persist().build()\n\nfunction getUserHasAvatar(userId) {\n\tconst flag = browserStorage.getItem('user-has-avatar.' + userId)\n\tif (typeof flag === 'string') {\n\t\treturn Boolean(flag)\n\t}\n\treturn null\n}\n\nfunction setUserHasAvatar(userId, flag) {\n\tif (userId) {\n\t\tbrowserStorage.setItem('user-has-avatar.' + userId, flag)\n\t}\n}\n\nexport default {\n\tname: 'Avatar',\n\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t\tClickOutside,\n\t},\n\tcomponents: {\n\t\tPopover,\n\t\tPopoverMenu,\n\t},\n\tmixins: [userStatus],\n\tprops: {\n\t\t/**\n\t\t * Set a custom url to the avatar image\n\t\t * either the url, user or displayName property must be defined\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set a css icon-class for an icon to be used instead of the avatar.\n\t\t */\n\t\ticonClass: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set the user id to fetch the avatar\n\t\t * either the url, user or displayName property must be defined\n\t\t */\n\t\tuser: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Whether or not to display the user-status\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Whether or not to the status-icon should be used instead of online/away\n\t\t */\n\t\tshowUserStatusCompact: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * When the user status was preloaded via another source it can be handed in with this property to save the request.\n\t\t * If this property is not set the status will be fetched automatically.\n\t\t * If a preloaded no-status is available provide this object with properties \"status\", \"icon\" and \"message\" set to null.\n\t\t */\n\t\tpreloadedUserStatus: {\n\t\t\ttype: Object,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Is the user a guest user (then we have to user a different endpoint)\n\t\t */\n\t\tisGuest: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Set a display name that will be rendered as a tooltip\n\t\t * either the url, user or displayName property must be defined\n\t\t * specify just the displayname to generate a placeholder avatar without\n\t\t * trying to fetch the avatar based on the user id\n\t\t */\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set a size in px for the rendered avatar\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 32,\n\t\t},\n\t\t/**\n\t\t * Placeholder avatars will be automatically generated when this is set to true\n\t\t */\n\t\tallowPlaceholder: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Disable the tooltip\n\t\t */\n\t\tdisableTooltip: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Disable the menu\n\t\t */\n\t\tdisableMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Declares a custom tooltip when not null\n\t\t * Fallback will be the displayName\n\t\t *\n\t\t * requires disableTooltip not to be set to true\n\t\t */\n\t\ttooltipMessage: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Declares username is not a user's name, when true.\n\t\t * Prevents loading user's avatar from server and forces generating colored initials,\n\t\t * i.e. if the user is a group\n\t\t */\n\t\tisNoUser: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * DEPRECATED!\n\t\t * This prop will be removed with nc/vue 3.0\n\t\t *\n\t\t * Declares a status indicator on the avatar\n\t\t * Available options are `positive`, `negative`, `neutral`\n\t\t */\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t\tvalidator: (value) => {\n\t\t\t\tswitch (value) {\n\t\t\t\tcase 'positive':\n\t\t\t\tcase 'negative':\n\t\t\t\tcase 'neutral':\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Declares a different color to be used with the status indicator\n\t\t */\n\t\tstatusColor: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: null,\n\t\t\tvalidator: value => {\n\t\t\t\treturn /^([a-f0-9]{3}){1,2}$/i.test(value)\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Choose the avatar menu alignment.\n\t\t * Possible values are `left`, `center`, `right`.\n\t\t */\n\t\tmenuPosition: {\n\t\t\ttype: String,\n\t\t\tdefault: 'center',\n\t\t},\n\n\t\t/**\n\t\t * Selector for the popover menu container\n\t\t */\n\t\tmenuContainer: {\n\t\t\ttype: String,\n\t\t\tdefault: 'body',\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tavatarUrlLoaded: null,\n\t\t\tavatarSrcSetLoaded: null,\n\t\t\tuserDoesNotExist: false,\n\t\t\tisAvatarLoaded: false,\n\t\t\tisMenuLoaded: false,\n\t\t\tcontactsMenuLoading: false,\n\t\t\tcontactsMenuActions: [],\n\t\t\tcontactsMenuOpenState: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tcanDisplayUserStatus() {\n\t\t\treturn this.showUserStatus\n\t\t\t\t&& this.hasStatus\n\t\t\t\t&& ['online', 'away', 'dnd'].includes(this.userStatus.status)\n\t\t},\n\t\tshowUserStatusIconOnAvatar() {\n\t\t\treturn this.showUserStatus\n\t\t\t\t&& this.showUserStatusCompact\n\t\t\t\t&& this.hasStatus\n\t\t\t\t&& this.userStatus.status !== 'dnd'\n\t\t\t\t&& this.userStatus.icon\n\t\t},\n\t\tgetUserIdentifier() {\n\t\t\tif (this.isDisplayNameDefined) {\n\t\t\t\treturn this.displayName\n\t\t\t}\n\t\t\tif (this.isUserDefined) {\n\t\t\t\treturn this.user\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\tisUserDefined() {\n\t\t\treturn typeof this.user !== 'undefined'\n\t\t},\n\t\tisDisplayNameDefined() {\n\t\t\treturn typeof this.displayName !== 'undefined'\n\t\t},\n\t\tisUrlDefined() {\n\t\t\treturn typeof this.url !== 'undefined'\n\t\t},\n\t\thasMenu() {\n\t\t\tif (this.disableMenu) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.isMenuLoaded) {\n\t\t\t\treturn this.menu.length > 0\n\t\t\t}\n\t\t\treturn !(this.user === getCurrentUser()?.uid || this.userDoesNotExist || this.url)\n\t\t},\n\t\tshouldShowPlaceholder() {\n\t\t\treturn this.allowPlaceholder && (\n\t\t\t\tthis.userDoesNotExist)\n\t\t},\n\t\tavatarStyle() {\n\t\t\tconst style = {\n\t\t\t\twidth: this.size + 'px',\n\t\t\t\theight: this.size + 'px',\n\t\t\t\tlineHeight: this.size + 'px',\n\t\t\t\tfontSize: Math.round(this.size * 0.55) + 'px',\n\t\t\t}\n\n\t\t\tif (!this.iconClass && !this.avatarSrcSetLoaded) {\n\t\t\t\tconst rgb = usernameToColor(this.getUserIdentifier)\n\t\t\t\tstyle.backgroundColor = 'rgb(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ')'\n\t\t\t}\n\t\t\treturn style\n\t\t},\n\t\ttooltip() {\n\t\t\tif (this.disableTooltip) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.tooltipMessage) {\n\t\t\t\treturn this.tooltipMessage\n\t\t\t}\n\n\t\t\treturn this.displayName\n\t\t},\n\t\tinitials() {\n\t\t\tlet initials\n\t\t\tif (this.shouldShowPlaceholder) {\n\t\t\t\tconst user = this.getUserIdentifier\n\t\t\t\tconst idx = user.indexOf(' ')\n\t\t\t\tif (user === '') {\n\t\t\t\t\tinitials = '?'\n\t\t\t\t} else {\n\t\t\t\t\tinitials = String.fromCodePoint(user.codePointAt(0))\n\t\t\t\t\tif (idx !== -1) {\n\t\t\t\t\t\tinitials = initials.concat(String.fromCodePoint(user.codePointAt(idx + 1)))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn initials.toUpperCase()\n\t\t},\n\t\tmenu() {\n\t\t\tconst actions = this.contactsMenuActions.map((item) => {\n\t\t\t\treturn {\n\t\t\t\t\thref: item.hyperlink,\n\t\t\t\t\ticon: item.icon,\n\t\t\t\t\tlongtext: item.title,\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tfunction escape(html) {\n\t\t\t\tconst text = document.createTextNode(html)\n\t\t\t\tconst p = document.createElement('p')\n\t\t\t\tp.appendChild(text)\n\t\t\t\treturn p.innerHTML\n\t\t\t}\n\n\t\t\tif (this.showUserStatus && (this.userStatus.icon || this.userStatus.message)) {\n\t\t\t\treturn [{\n\t\t\t\t\thref: '#',\n\t\t\t\t\ticon: `data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>${escape(this.userStatus.icon)}</text></svg>`,\n\t\t\t\t\ttext: `${this.userStatus.message}`,\n\t\t\t\t}].concat(actions)\n\t\t\t}\n\n\t\t\treturn actions\n\t\t},\n\t},\n\n\twatch: {\n\t\turl() {\n\t\t\tthis.userDoesNotExist = false\n\t\t\tthis.loadAvatarUrl()\n\t\t},\n\t\tuser() {\n\t\t\tthis.userDoesNotExist = false\n\t\t\tthis.isMenuLoaded = false\n\t\t\tthis.loadAvatarUrl()\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.loadAvatarUrl()\n\t\tif (this.showUserStatus && this.user && !this.isNoUser) {\n\t\t\tif (!this.preloadedUserStatus) {\n\t\t\t\tthis.fetchUserStatus(this.user)\n\t\t\t} else {\n\t\t\t\tthis.userStatus.status = this.preloadedUserStatus.status || ''\n\t\t\t\tthis.userStatus.message = this.preloadedUserStatus.message || ''\n\t\t\t\tthis.userStatus.icon = this.preloadedUserStatus.icon || ''\n\t\t\t\tthis.hasStatus = this.preloadedUserStatus.status !== null\n\t\t\t}\n\t\t\tsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t\t}\n\t},\n\n\tbeforeDestroyed() {\n\t\tif (this.showUserStatus && this.user && !this.isNoUser) {\n\t\t\tunsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t\t}\n\t},\n\n\tmethods: {\n\t\thandleUserStatusUpdated(state) {\n\t\t\tif (this.user === state.userId) {\n\t\t\t\tthis.userStatus = {\n\t\t\t\t\tstatus: state.status,\n\t\t\t\t\ticon: state.icon,\n\t\t\t\t\tmessage: state.message,\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tasync toggleMenu() {\n\t\t\tif (!this.hasMenu) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (!this.contactsMenuOpenState) {\n\t\t\t\tawait this.fetchContactsMenu()\n\t\t\t}\n\t\t\tthis.contactsMenuOpenState = !this.contactsMenuOpenState\n\t\t},\n\t\tcloseMenu() {\n\t\t\tthis.contactsMenuOpenState = false\n\t\t},\n\t\tasync fetchContactsMenu() {\n\t\t\tthis.contactsMenuLoading = true\n\t\t\ttry {\n\t\t\t\tconst user = encodeURIComponent(this.user)\n\t\t\t\tconst { data } = await axios.post(generateUrl('contactsmenu/findOne'), `shareType=0&shareWith=${user}`)\n\t\t\t\tthis.contactsMenuActions = data.topAction ? [data.topAction].concat(data.actions) : data.actions\n\t\t\t} catch (e) {\n\t\t\t\tthis.contactsMenuOpenState = false\n\t\t\t}\n\t\t\tthis.contactsMenuLoading = false\n\t\t\tthis.isMenuLoaded = true\n\t\t},\n\n\t\t/**\n\t\t * Handle avatar loading if user or url defined\n\t\t */\n\t\tloadAvatarUrl() {\n\t\t\tthis.isAvatarLoaded = false\n\n\t\t\t/** Only run avatar image loading if either user or url property is defined */\n\t\t\tif (!this.isUrlDefined && (!this.isUserDefined || this.isNoUser)) {\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Directly use the url if defined\n\t\t\tif (this.isUrlDefined) {\n\t\t\t\tthis.updateImageIfValid(this.url)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst avatarUrl = this.avatarUrlGenerator(this.user, this.size)\n\t\t\tconst srcset = [\n\t\t\t\tavatarUrl + ' 1x',\n\t\t\t\tthis.avatarUrlGenerator(this.user, this.size * 2) + ' 2x',\n\t\t\t\tthis.avatarUrlGenerator(this.user, this.size * 4) + ' 4x',\n\t\t\t].join(', ')\n\n\t\t\tthis.updateImageIfValid(avatarUrl, srcset)\n\t\t},\n\n\t\t/**\n\t\t * Generate an avatar url from the server's avatar endpoint\n\t\t *\n\t\t * @param {string} user the user id\n\t\t * @param {number} size the desired size\n\t\t * @returns {string}\n\t\t */\n\t\tavatarUrlGenerator(user, size) {\n\t\t\tlet url = '/avatar/{user}/{size}'\n\t\t\tif (this.isGuest) {\n\t\t\t\turl = '/avatar/guest/{user}/{size}'\n\t\t\t}\n\n\t\t\tlet avatarUrl = generateUrl(\n\t\t\t\turl,\n\t\t\t\t{\n\t\t\t\t\tuser,\n\t\t\t\t\tsize,\n\t\t\t\t})\n\n\t\t\t// eslint-disable-next-line camelcase\n\t\t\tif (user === getCurrentUser()?.uid && typeof oc_userconfig !== 'undefined') {\n\t\t\t\tavatarUrl += '?v=' + oc_userconfig.avatar.version\n\t\t\t}\n\n\t\t\treturn avatarUrl\n\t\t},\n\n\t\t/**\n\t\t * Check if the provided url is valid and update Avatar if so\n\t\t *\n\t\t * @param {string} url the avatar url\n\t\t * @param {array} srcset the avatar srcset\n\t\t */\n\t\tupdateImageIfValid(url, srcset = null) {\n\t\t\t// skip loading\n\t\t\tconst userHasAvatar = getUserHasAvatar(this.user)\n\t\t\tif (this.isUserDefined && typeof userHasAvatar === 'boolean') {\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\tthis.avatarUrlLoaded = url\n\t\t\t\tif (srcset) {\n\t\t\t\t\tthis.avatarSrcSetLoaded = srcset\n\t\t\t\t}\n\t\t\t\tif (userHasAvatar === false) {\n\t\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst img = new Image()\n\t\t\timg.onload = () => {\n\t\t\t\tthis.avatarUrlLoaded = url\n\t\t\t\tif (srcset) {\n\t\t\t\t\tthis.avatarSrcSetLoaded = srcset\n\t\t\t\t}\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\t// re-get to avoid concurrent access\n\t\t\t\tsetUserHasAvatar(this.user, true)\n\t\t\t}\n\t\t\timg.onerror = () => {\n\t\t\t\tconsole.debug('Invalid avatar url', url)\n\t\t\t\t// Avatar is invalid, reset\n\t\t\t\tthis.avatarUrlLoaded = null\n\t\t\t\tthis.avatarSrcSetLoaded = null\n\n\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\tthis.isAvatarLoaded = false\n\t\t\t\tsetUserHasAvatar(this.user, false)\n\t\t\t}\n\n\t\t\tif (srcset) {\n\t\t\t\timg.srcset = srcset\n\t\t\t}\n\t\t\timg.src = url\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n@import '../../fonts/scss/iconfont-vue';\n\n.avatardiv {\n\tposition: relative;\n\tdisplay: inline-block;\n\n\t&--unknown {\n\t\tposition: relative;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t}\n\n\t&:not(&--unknown) {\n\t\t// White background for avatars with transparency\n\t\tbackground-color: #fff !important;\n\t\tbody.theme--dark & {\n\t\t\t// And black background in dark mode, as it shines through on hover of the menu\n\t\t\tbackground-color: #000 !important;\n\t\t}\n\t\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\n\t}\n\n\t&--with-menu {\n\t\tcursor: pointer;\n\t\t::v-deep .trigger {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\t.icon-more, .icon-loading {\n\t\t\tdisplay: flex;\n\t\t\tcursor: pointer;\n\t\t\tbackground: none;\n\t\t\tfont-size: 18px;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\n\t\t\t@include iconfont('more');\n\t\t\t&::before {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t\t.icon-more {\n\t\t\topacity: 0;\n\t\t}\n\t\t&:focus,\n\t\t&:hover {\n\t\t\t.icon-more {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\timg {\n\t\t\t\topacity: 0.3;\n\t\t\t}\n\t\t}\n\t\t.icon-more,\n\t\timg {\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t}\n\t}\n\n\t> .unknown {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttext-align: center;\n\t\tfont-weight: normal;\n\t\tcolor: var(--color-main-background);\n\t}\n\n\timg {\n\t\t// Cover entire area\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\t// Keep ratio\n\t\tobject-fit: cover;\n\t}\n\n\t.avatardiv__status {\n\t\tposition: absolute;\n\t\ttop: 22px;\n\t\tleft: 22px;\n\t\twidth: 10px;\n\t\theight: 10px;\n\t\tborder: 1px solid rgba(255, 255, 255, .5);\n\t\tbackground-clip: content-box;\n\t\t&--positive {\n\t\t\tborder-radius: 50%;\n\t\t\tbackground-color: var(--color-success);\n\t\t}\n\t\t&--negative {\n\t\t\tbackground-color: var(--color-error);\n\t\t}\n\t\t&--neutral {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent !important;\n\t\t\tsvg {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: -3px;\n\t\t\t\tleft: -2px;\n\t\t\t\tpath {\n\t\t\t\t\tfill: #aaa;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.avatardiv__user-status {\n\t\tposition: absolute;\n\t\tright: -4px;\n\t\tbottom: -4px;\n\t\theight: 18px;\n\t\twidth: 18px;\n\t\tline-height: 15px;\n\t\tfont-size: var(--default-font-size);\n\t\tborder: 2px solid var(--color-main-background);\n\t\tbackground-color: var(--color-main-background);\n\t\tborder-radius: 50%;\n\n\t\t.acli:hover & {\n\t\t\tborder-color: var(--color-background-hover);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t\t.acli.active & {\n\t\t\tborder-color: var(--color-primary-light);\n\t\t\tbackground-color: var(--color-primary-light);\n\t\t}\n\n\t\t&--online{\n\t\t\t@include iconfont('user-status-online');\n\t\t\tcolor: #49b382;\n\t\t}\n\t\t&--dnd{\n\t\t\t@include iconfont('user-status-dnd');\n\t\t\tbackground-color: #ffffff;\n\t\t\tcolor: #ed484c;\n\t\t}\n\t\t&--away{\n\t\t\t@include iconfont('user-status-away');\n\t\t\tcolor: #f4a331;\n\t\t}\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t.popovermenu-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n}\n\n.avatar-class-icon {\n\tborder-radius: 50%;\n\tbackground-color: var(--color-background-darker);\n\theight: 100%;\n}\n\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.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!./Avatar.vue?vue&type=script&lang=js&\"","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=style&index=0&id=68aca969&scoped=true&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./Avatar.vue?vue&type=template&id=68aca969&scoped=true&\"\nimport script from \"./Avatar.vue?vue&type=script&lang=js&\"\nexport * from \"./Avatar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Avatar.vue?vue&type=style&index=0&id=68aca969&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 \"68aca969\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Avatar.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Avatar from './Avatar'\n\nexport default Avatar\n","module.exports = require(\"md5\");","module.exports = require(\"@nextcloud/capabilities\");","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport md5 from 'md5'\nimport GenColors from '../../utils/GenColors'\n\n/**\n * Originally taken from https://github.com/nextcloud/server/blob/master/core/js/placeholder.js\n * @param {string} username Display name or user id to generate from\n * @returns {Object} the rgb colors as {r:255, g:255, b:255}\n */\nconst usernameToColor = function(username) {\n\t// Normalize hash\n\tlet hash = username.toLowerCase()\n\n\t// Already a md5 hash?\n\tif (hash.match(/^([0-9a-f]{4}-?){8}$/) === null) {\n\t\thash = md5(hash)\n\t}\n\n\thash = hash.replace(/[^0-9a-f]/g, '')\n\n\tconst steps = 6\n\tconst finalPalette = GenColors(steps)\n\n\t// Convert a string to an integer evenly\n\tfunction hashToInt(hash, maximum) {\n\t\tlet finalInt = 0\n\t\tconst result = []\n\n\t\t// Splitting evenly the string\n\t\tfor (let i = 0; i < hash.length; i++) {\n\t\t\t// chars in md5 goes up to f, hex:16\n\t\t\tresult.push(parseInt(hash.charAt(i), 16) % 16)\n\t\t}\n\n\t\t// Adds up all results\n\t\tfor (const j in result) {\n\t\t\tfinalInt += result[j]\n\t\t}\n\n\t\t// chars in md5 goes up to f, hex:16\n\t\t// make sure we're always using int in our operation\n\t\treturn parseInt(parseInt(finalInt, 10) % maximum, 10)\n\t}\n\treturn finalPalette[hashToInt(hash, steps * 3)]\n}\n\nexport default usernameToColor\n","/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport usernameToColor from './usernameToColor'\n\nexport default usernameToColor\n","module.exports = require(\"@nextcloud/browser-storage\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".option[data-v-28d338d4]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-28d338d4]{margin-right:var(--margin)}.option__details[data-v-28d338d4]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-28d338d4]{color:var(--color-text-light)}.option__linetwo[data-v-28d338d4]{opacity:.7}.option__lineone[data-v-28d338d4],.option__linetwo[data-v-28d338d4]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-28d338d4],.option__linetwo strong[data-v-28d338d4]{font-weight:bold}.option__icon[data-v-28d338d4]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./ListItemIcon.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAwOA,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UCnNiB,CDoNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aCnPmB,CDoPnB,UCpPmB,CDqPnB,WCrPmB,CDsPnB,UCrOmB,CDsOnB,0BAA2B,CAC3B,oBAAqB\",\"sourcesContent\":[\"$scope_version:\\\"f56d517\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\t&__linetwo {\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = require(\"core-js/modules/es.array.includes.js\");","module.exports = require(\"core-js/modules/es.regexp.constructor.js\");","module.exports = require(\"core-js/modules/es.array.flat.js\");","module.exports = require(\"core-js/modules/es.string.match.js\");","module.exports = require(\"core-js/modules/es.array.reduce.js\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".name-parts[data-v-f855c4b8]{display:flex;max-width:100%}.name-parts__first[data-v-f855c4b8]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f855c4b8],.name-parts__last[data-v-f855c4b8]{white-space:pre}.name-parts__first strong[data-v-f855c4b8],.name-parts__last strong[data-v-f855c4b8]{font-weight:bold}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./EllipsisedOption.vue\"],\"names\":[],\"mappings\":\"AA6HA,6BACC,YAAa,CACb,cAAe,CACf,oCACC,eAAgB,CAChB,sBAAuB,CACvB,uEAIA,eAAgB,CAHhB,qFAKC,gBAAiB\",\"sourcesContent\":[\"$scope_version:\\\"f56d517\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = require(\"core-js/modules/es.string.search.js\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._g({staticClass:\"option\",style:(_vm.cssVars),attrs:{\"id\":_vm.id}},_vm.$listeners),[_c('Avatar',_vm._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":true,\"disable-tooltip\":true,\"display-name\":_vm.displayName || _vm.title,\"is-no-user\":_vm.isNoUser,\"size\":_vm.avatarSize}},'Avatar',_vm.$attrs,false)),_vm._v(\" \"),_c('div',{staticClass:\"option__details\"},[_c('Highlight',{staticClass:\"option__lineone\",attrs:{\"text\":_vm.title,\"search\":_vm.search}}),_vm._v(\" \"),(_vm.isValidSubtitle && _vm.isSizeBigEnough)?_c('Highlight',{staticClass:\"option__linetwo\",attrs:{\"text\":_vm.subtitle,\"search\":_vm.search}}):(_vm.hasStatus)?_c('span',[_c('span',[_vm._v(_vm._s(_vm.userStatus.icon))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.userStatus.message))])]):_vm._e()],1),_vm._v(\" \"),_vm._t(\"default\"),_vm._v(\" \"),(_vm.hasIcon && !_vm.hasSlot)?_c('span',{staticClass:\"icon option__icon\",class:_vm.icon}):_vm._e()],2)}\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!./ListItemIcon.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!./ListItemIcon.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<docs>\n## This is used to display a avatar-title/subtitle + icon layout\nIt might be used for list rendering or within the multiselect for example\n\n> **Note:** Any binding will be forwarded on the Avatar component root\n\n```vue\n<ListItemIcon title=\"User 1\" />\n<ListItemIcon title=\"User 1\" subtitle=\"Hidden subtitle because size is too small\" :avatar-size=\"24\" />\n```\n```vue\n<ListItemIcon title=\"User 1\" :avatar-size=\"44\" icon=\"icon-user\" />\n```\n\n### With icon\n```vue\n<ListItemIcon title=\"Group 1\" subtitle=\"13 members\" icon=\"icon-group\" :is-no-user=\"true\" />\n```\n\n### Searching\n```vue\n<ListItemIcon title=\"Test user 1\" subtitle=\"callmetest@domain.com\" search=\"test\" />\n<ListItemIcon title=\"Testing admin\" subtitle=\"testme@example.com\" search=\"test\" />\n<ListItemIcon title=\"Test group 2\" subtitle=\"loremipsum@domain.com\" icon=\"icon-group\" :is-no-user=\"true\" search=\"test\" />\n```\n\n### With actions\n```vue\n<ListItemIcon title=\"Test user 1\" subtitle=\"callmetest@domain.com\">\n\t<Actions>\n\t\t<ActionButton icon=\"icon-edit\" @click=\"alert('Edit')\">Edit</ActionButton>\n\t\t<ActionButton icon=\"icon-delete\" @click=\"alert('Delete')\">Delete</ActionButton>\n\t</Actions>\n</ListItemIcon>\n```\n</docs>\n\n<template>\n\t<span :id=\"id\"\n\t\tclass=\"option\"\n\t\t:style=\"cssVars\"\n\t\tv-on=\"$listeners\">\n\t\t<Avatar\n\t\t\tv-bind=\"$attrs\"\n\t\t\t:disable-menu=\"true\"\n\t\t\t:disable-tooltip=\"true\"\n\t\t\t:display-name=\"displayName || title\"\n\t\t\t:is-no-user=\"isNoUser\"\n\t\t\t:size=\"avatarSize\"\n\t\t\tclass=\"option__avatar\" />\n\t\t<div class=\"option__details\">\n\t\t\t<Highlight\n\t\t\t\tclass=\"option__lineone\"\n\t\t\t\t:text=\"title\"\n\t\t\t\t:search=\"search\" />\n\t\t\t<Highlight\n\t\t\t\tv-if=\"isValidSubtitle && isSizeBigEnough\"\n\t\t\t\tclass=\"option__linetwo\"\n\t\t\t\t:text=\"subtitle\"\n\t\t\t\t:search=\"search\" />\n\t\t\t<span v-else-if=\"hasStatus\">\n\t\t\t\t<span>{{ userStatus.icon }}</span>\n\t\t\t\t<span>{{ userStatus.message }}</span>\n\t\t\t</span>\n\t\t</div>\n\n\t\t<!-- @slot use this slot to add a custom icon or actions -->\n\t\t<slot />\n\t\t<span v-if=\"hasIcon && !hasSlot\" class=\"icon option__icon\" :class=\"icon\" />\n\t</span>\n</template>\n\n<script>\nimport Avatar from '../Avatar'\nimport Highlight from '../Highlight'\nimport { userStatus } from '../../mixins'\n\n// global margin, ^2 ratio\nconst margin = 8\nconst defaultSize = 32\n\nexport default {\n\tname: 'ListItemIcon',\n\n\tcomponents: {\n\t\tAvatar,\n\t\tHighlight,\n\t},\n\tmixins: [userStatus],\n\n\tprops: {\n\t\t/**\n\t\t * Default first line text\n\t\t */\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Secondary optional line\n\t\t * Only visible on size of 32 and above\n\t\t */\n\t\tsubtitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Icon class to be displayed at the end of the component\n\t\t */\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Search within the highlight of title/subtitle\n\t\t */\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Set a size in px that will define the avatar height/width\n\t\t * and therefore, the height of the component\n\t\t */\n\t\tavatarSize: {\n\t\t\ttype: Number,\n\t\t\tdefault: defaultSize,\n\t\t},\n\n\t\t/**\n\t\t * Disable the margins of this component.\n\t\t * Useful for integration in Multiselect for example\n\t\t */\n\t\tnoMargin: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * See the [Avatar](#Avatar) displayName prop\n\t\t * Fallback to title\n\t\t */\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * See the [Avatar](#Avatar) isNoUser prop\n\t\t * Enable/disable the UserStatus fetching\n\t\t */\n\t\tisNoUser: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Unique list item ID\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tmargin,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\thasIcon() {\n\t\t\treturn this.icon !== ''\n\t\t},\n\t\thasSlot() {\n\t\t\treturn !!this.$slots.default\n\t\t},\n\n\t\tisValidSubtitle() {\n\t\t\treturn this.subtitle?.trim?.() !== ''\n\t\t},\n\t\tisSizeBigEnough() {\n\t\t\treturn this.avatarSize >= defaultSize\n\t\t},\n\n\t\tcssVars() {\n\t\t\t// Don't use margin to calculate the height if noMargin\n\t\t\tconst margin = this.noMargin ? 0 : this.margin\n\n\t\t\treturn {\n\t\t\t\t'--height': this.avatarSize + 2 * margin + 'px',\n\t\t\t\t'--margin': this.margin + 'px',\n\t\t\t}\n\t\t},\n\t},\n\n\tbeforeMount() {\n\t\t// If we don't have a subtitle and if this is a user\n\t\tif (!this.isNoUser && !this.subtitle) {\n\t\t\tthis.fetchUserStatus(this.user)\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.option {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n\theight: var(--height);\n\n\t&__avatar {\n\t\tmargin-right: var(--margin);\n\t}\n\n\t&__details {\n\t\tdisplay: flex;\n\t\tflex: 1 1;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tmin-width: 0;\n\t}\n\n\t&__lineone {\n\t\tcolor: var(--color-text-light);\n\t}\n\t&__linetwo {\n\t\topacity: $opacity_normal;\n\t}\n\t&__lineone,\n\t&__linetwo {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tline-height: 1.1em;\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n\n\t&__icon {\n\t\tflex: 0 0 $clickable-area;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\topacity: $opacity_disabled;\n\t\tbackground-position: center;\n\t\tbackground-size: 16px;\n\t}\n}\n\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListItemIcon.vue?vue&type=style&index=0&id=28d338d4&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./ListItemIcon.vue?vue&type=template&id=28d338d4&scoped=true&\"\nimport script from \"./ListItemIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./ListItemIcon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ListItemIcon.vue?vue&type=style&index=0&id=28d338d4&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 \"28d338d4\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./ListItemIcon.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport ListItemIcon from './ListItemIcon'\n\nexport default ListItemIcon\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VueMultiselect',_vm._g(_vm._b({ref:\"VueMultiselect\",class:[\n\t\t{\n\t\t\t'icon-loading-small': _vm.loading\n\t\t},\n\t\t_vm.multiple ? 'multiselect--multiple': 'multiselect--single'\n\t],attrs:{\"options\":_vm.options,\"limit\":_vm.maxOptions,\"close-on-select\":!_vm.multiple,\"multiple\":_vm.multiple,\"label\":_vm.label,\"track-by\":_vm.trackBy,\"tag-placeholder\":\"create\"},scopedSlots:_vm._u([{key:\"option\",fn:function(scope){return [(_vm.userSelect && !_vm.$scopedSlots['option'])?_c('ListItemIcon',_vm._b({attrs:{\"title\":scope.option[_vm.label],\"search\":scope.search}},'ListItemIcon',scope.option,false)):(!_vm.$scopedSlots['option'])?_c('EllipsisedOption',{attrs:{\"name\":_vm.getOptionLabel(scope.option),\"option\":scope.option,\"search\":scope.search,\"label\":_vm.label}}):_vm._t(\"option\",null,null,scope)]}},(_vm.multiple)?{key:\"limit\",fn:function(){return [_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.formatLimitTitle(_vm.value)),expression:\"formatLimitTitle(value)\",modifiers:{\"auto\":true}}],staticClass:\"multiselect__limit\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.limitString)+\"\\n\\t\\t\")])]},proxy:true}:null,_vm._l((_vm.$scopedSlots),function(_,slot){return {key:slot,fn:function(scope){return [_vm._t(slot,null,null,scope)]}}})],null,true),model:{value:(_vm.localValue),callback:function ($$v) {_vm.localValue=$$v},expression:\"localValue\"}},'VueMultiselect',_vm.$attrs,false),_vm.$listeners),[_vm._v(\" \"),_vm._v(\" \"),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('No results')))])])}\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!./EllipsisedOption.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!./EllipsisedOption.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div class=\"name-parts\" :title=\"name\">\n\t\t<Highlight\n\t\t\tclass=\"name-parts__first\"\n\t\t\t:text=\"part1\"\n\t\t\t:search=\"search\"\n\t\t\t:highlight=\"highlight1\" />\n\t\t<Highlight\n\t\t\tv-if=\"part2\"\n\t\t\tclass=\"name-parts__last\"\n\t\t\t:text=\"part2\"\n\t\t\t:search=\"search\"\n\t\t\t:highlight=\"highlight2\" />\n\t</div>\n</template>\n<script>\nimport Highlight from '../Highlight'\nimport FindRanges from '../../utils/FindRanges'\n\nexport default {\n\tname: 'EllipsisedOption',\n\n\tcomponents: {\n\t\tHighlight,\n\t},\n\n\tprops: {\n\t\toption: {\n\t\t\ttype: [String, Object],\n\t\t\trequired: true,\n\t\t\tdefault: '',\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tneedsTruncate() {\n\t\t\treturn this.name && this.name.length >= 10\n\t\t},\n\t\t/**\n\t\t * Index at which to split the name if it is longer than 10 characters.\n\t\t *\n\t\t * @returns {Integer} The position at which to split\n\t\t */\n\t\tsplit() {\n\t\t\t// leave maximum 10 letters\n\t\t\treturn this.name.length - Math.min(Math.floor(this.name.length / 2), 10)\n\t\t},\n\t\tpart1() {\n\t\t\tif (this.needsTruncate) {\n\t\t\t\treturn this.name.substr(0, this.split)\n\t\t\t}\n\t\t\treturn this.name\n\t\t},\n\t\tpart2() {\n\t\t\tif (this.needsTruncate) {\n\t\t\t\treturn this.name.substr(this.split)\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\t/**\n\t\t * The ranges to highlight. Since we split the string for ellipsising,\n\t\t * the Highlight component cannot figure this out itself and needs the ranges provided.\n\t\t *\n\t\t * @returns {Array} The array with the ranges to highlight\n\t\t */\n\t\thighlight1() {\n\t\t\tif (!this.search) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn FindRanges(this.name, this.search)\n\t\t},\n\t\t/**\n\t\t * We shift the ranges for the second part by the position of the split.\n\t\t * Ranges out of the string length are discarded by the Highlight component,\n\t\t * so we don't need to take care of this here.\n\t\t *\n\t\t * @returns {Array} The array with the ranges to highlight\n\t\t */\n\t\thighlight2() {\n\t\t\treturn this.highlight1.map(range => {\n\t\t\t\treturn {\n\t\t\t\t\tstart: range.start - this.split,\n\t\t\t\t\tend: range.end - this.split,\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.name-parts {\n\tdisplay: flex;\n\tmax-width: 100%;\n\t&__first {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\t&__first,\n\t&__last {\n\t\t// prevent whitespace from being trimmed\n\t\twhite-space: pre;\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n}\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EllipsisedOption.vue?vue&type=style&index=0&id=f855c4b8&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./EllipsisedOption.vue?vue&type=template&id=f855c4b8&scoped=true&\"\nimport script from \"./EllipsisedOption.vue?vue&type=script&lang=js&\"\nexport * from \"./EllipsisedOption.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EllipsisedOption.vue?vue&type=style&index=0&id=f855c4b8&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 \"f855c4b8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"name-parts\",attrs:{\"title\":_vm.name}},[_c('Highlight',{staticClass:\"name-parts__first\",attrs:{\"text\":_vm.part1,\"search\":_vm.search,\"highlight\":_vm.highlight1}}),_vm._v(\" \"),(_vm.part2)?_c('Highlight',{staticClass:\"name-parts__last\",attrs:{\"text\":_vm.part2,\"search\":_vm.search,\"highlight\":_vm.highlight2}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<docs>\n## Multiselect\nWe're wrapping the awesome vue-multiselect library to add our own styling and default props/methods\nYou can use all the properties from https://vue-multiselect.js.org that are not declared/overrided here.\n\n### Simple examples\n```vue\n<template>\n\t<div class=\"wrapper\">\n\t\t<Multiselect v-model=\"value1\" :options=\"options\" />\n\t\t<Multiselect v-model=\"value2\" :options=\"options\" :multiple=\"true\" />\n\t</div>\n</template>\n\n<script>\nimport Multiselect from '../index'\nexport default {\n\tdata() {\n\t\treturn { value1: '2', value2: ['2'], options: ['0', '1', '2', '3', '4'] }\n\t}\n}\n</script>\n```\n\n### Simple example with objects\nYou can either use the exact object or the track-by key to match against your options\n\n```vue\n<template>\n\t<div class=\"wrapper\">\n\t\t<Multiselect v-model=\"value1\" :options=\"options\" track-by=\"id\" label=\"label\" />\n\t\t<pre>Selected option: {{ value1 }}</pre>\n\t\t<br />\n\t\t<Multiselect v-model=\"value2\" :options=\"options\" track-by=\"id\" label=\"label\" />\n\t\t<pre>Selected option: {{ value2 }}</pre>\n\t</div>\n</template>\n\n<script>\nimport Multiselect from '../index'\nconst options = [\n\t{ id: 1, label: 'Option 1' },\n\t{ id: 2, label: 'Option 2' },\n\t{ id: 3, label: 'Option 3' },\n\t{ id: 4, label: 'Option 4' }\n]\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tvalue1: options[1],\n\t\t\tvalue2: 2,\n\t\t\toptions\n\t\t}\n\t}\n}\n</script>\n```\n\n### Limit with automated tooltip\n```vue\n<template>\n\t<Multiselect v-model=\"value\"\n\t\t:options=\"options\" :multiple=\"true\"\n\t\t:tag-width=\"80\" />\n</template>\n\n<script>\nimport Multiselect from '../index'\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tvalue: ['eirmod', 'et', 'magna', 'invidunt', 'tempor'],\n\t\t\toptions: ['Consetetur', 'sadipscing', 'elitr', 'sed',\n\t\t\t\t'diam', 'nonumy', 'eirmod', 'tempor', 'invidunt',\n\t\t\t\t'ut', 'labore', 'et', 'dolore', 'magna', 'aliquyam', 'erat']\n\t\t}\n\t}\n}\n</script>\n```\n\n### User layout\nBy specifying `:user-select=\"true\"`, you can benefit from a fully formatted layout.\nThe singleLabel slot here is optional of course and here for demonstration purposes\nThe ListItemIcon title will be provided by the option key refering to the `label` prop.\nExample here: `displayName`\n\n> **Note:** Any extra binding from the object will be added as attribute (`$attrs`) on the ListItemIcon component used here\n\n```vue\n<template>\n\t<Multiselect v-model=\"value\" :options=\"formattedOptions\"\n\t\tlabel=\"displayName\" track-by=\"user\"\n\t\t:user-select=\"true\"\n\t\tstyle=\"width: 250px\">\n\t\t<template #singleLabel=\"{ option }\">\n\t\t\t<ListItemIcon v-bind=\"option\" :title=\"option.displayName\" :avatar-size=\"24\" :no-margin=\"true\" />\n\t\t</template>\n\t</Multiselect>\n</template>\n\n<script>\nimport Multiselect from '../index'\n\n// Building fake data for the docs\nconst options = ['admin', 'user1', 'user2', 'guest', 'group1']\nconst formattedOptions = options.map(item => {\n\treturn {\n\t\tuser: item,\n\t\tdisplayName: item,\n\t\tsubtitle: `This is the ${item.startsWith('group') ? 'group' : 'user'} ${item}`,\n\t\ticon: item.startsWith('group') ? 'icon-group' : 'icon-user',\n\t\tisNoUser: item.startsWith('group')\n\t}\n})\nexport default {\n\tdata() {\n\t\t\treturn {\n\t\t\t\t\tvalue: formattedOptions[0],\n\t\t\t\t\tformattedOptions,\n\t\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<!--\n\t# This is the original Multiselect !\n\t## tag-placeholder=\"create\"\n\t-> Hack to allow us to detect when an option needs\n\t- to be created (with css) and apply the proper\n\t- styling to this entry, @see [data-select='create']\n\t## :close-on-select=\"!multiple\"\n\t-> If multiple choice allowed, leave the dropdown\n\t- open after select\n\t## v-on=\"$listeners\", v-bind=\"$attrs\"\n\t-> Forward all undeclared props to the vue-multiselect child\n\t-->\n\t<VueMultiselect\n\t\tref=\"VueMultiselect\"\n\t\tv-model=\"localValue\"\n\t\tv-bind=\"$attrs\"\n\t\t:class=\"[\n\t\t\t{\n\t\t\t\t'icon-loading-small': loading\n\t\t\t},\n\t\t\tmultiple ? 'multiselect--multiple': 'multiselect--single'\n\t\t]\"\n\t\t:options=\"options\"\n\t\t:limit=\"maxOptions\"\n\t\t:close-on-select=\"!multiple\"\n\t\t:multiple=\"multiple\"\n\t\t:label=\"label\"\n\t\t:track-by=\"trackBy\"\n\t\ttag-placeholder=\"create\"\n\t\tv-on=\"$listeners\">\n\t\t<!-- This is the scope to format the list of available options in the dropdown\n\t\t\tTwo templates to avoid registering the slot unnecessary -->\n\t\t<template #option=\"scope\">\n\t\t\t<!-- Avatar display select slot override.\n\t\t\t\tYou CANNOT use this scope, we will replace it by this -->\n\t\t\t<ListItemIcon v-if=\"userSelect && !$scopedSlots['option']\"\n\t\t\t\tv-bind=\"scope.option\"\n\t\t\t\t:title=\"scope.option[label]\"\n\t\t\t\t:search=\"scope.search\" />\n\n\t\t\t<!-- Ellipsis in the middle if no option slot\n\t\t\t\tis defined in the parent -->\n\t\t\t<EllipsisedOption v-else-if=\"!$scopedSlots['option']\"\n\t\t\t\t:name=\"getOptionLabel(scope.option)\"\n\t\t\t\t:option=\"scope.option\"\n\t\t\t\t:search=\"scope.search\"\n\t\t\t\t:label=\"label\" />\n\n\t\t\t<!-- Passing the singleLabel slot -->\n\t\t\t<slot v-else name=\"option\" v-bind=\"scope\" />\n\t\t</template>\n\n\t\t<!-- Registering the limit slot to get the +xxx tooltip.\n\t\t\tYou CANNOT use this scope, we will replace it by this -->\n\t\t<template v-if=\"multiple\" #limit>\n\t\t\t<span v-tooltip.auto=\"formatLimitTitle(value)\"\n\t\t\t\tclass=\"multiselect__limit\">\n\t\t\t\t{{ limitString }}\n\t\t\t</span>\n\t\t</template>\n\n\t\t<!-- Passing the singleLabel slot, this is used to format the selected\n\t\t\toption on NON-multiple multiselects -->\n\t\t<template v-for=\"(_, slot) of $scopedSlots\" #[slot]=\"scope\">\n\t\t\t<slot :name=\"slot\" v-bind=\"scope\" />\n\t\t</template>\n\n\t\t<span slot=\"noResult\">{{ t('No results') }}</span>\n\t</VueMultiselect>\n</template>\n\n<script>\nimport VueMultiselect from 'vue-multiselect'\n\nimport EllipsisedOption from './EllipsisedOption'\nimport l10n from '../../mixins/l10n'\nimport ListItemIcon from '../ListItemIcon'\nimport Tooltip from '../../directives/Tooltip'\n\nexport default {\n\tname: 'Multiselect',\n\tcomponents: {\n\t\tEllipsisedOption,\n\t\tListItemIcon,\n\t\tVueMultiselect,\n\t},\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t},\n\tmixins: [l10n],\n\tinheritAttrs: false,\n\n\t/**\n\t * Every prop that is defined here will break the auto\n\t * forward to the vue-multiselect component\n\t * You will have to specify it as a prop on the template\n\t */\n\tprops: {\n\t\t// eslint-disable-next-line\n\t\tvalue: {\n\t\t\tdefault() {\n\t\t\t\treturn []\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Allow multiple select ?\n\t\t */\n\t\tmultiple: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Limit the number of results\n\t\t */\n\t\tlimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 99999,\n\t\t},\n\n\t\t/**\n\t\t * key to use as label on object options\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * key to use as id on object options\n\t\t */\n\t\ttrackBy: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Array of available options: Objects, Strings or Integers.\n\t\t * If array of objects, visible label will default to option.label.\n\t\t * If `labal` prop is passed, label will equal option['label']\n\t\t */\n\t\toptions: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Enable the big user selector w/ avatar\n\t\t * Make sure your objects fit the requirements\n\t\t */\n\t\tuserSelect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Overriding the default slot. Only showing a spiner.\n\t\t */\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Enable the automatic limit and width calculation\n\t\t * Only works on multiple\n\t\t */\n\t\tautoLimit: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t* If autoLimit, allow to specify the min-width of every\n\t\t* selected option when calculating the number of options\n\t\t* to show. This needs to be a positive integer.\n\t\t*/\n\t\ttagWidth: {\n\t\t\ttype: Number,\n\t\t\tdefault: 150,\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn value > 0\n\t\t\t},\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\telWidth: 0,\n\t\t}\n\t},\n\tcomputed: {\n\t\t/**\n\t\t * Calculate the number of options to show\n\t\t * depending on the width of the select.\n\t\t * Only works if `autoLimit` is `true`\n\t\t * @returns {number}\n\t\t */\n\t\tmaxOptions() {\n\t\t\tif (this.autoLimit && this.elWidth > 0 && this.tagWidth !== 0) {\n\t\t\t\tconst limit = Math.floor(this.elWidth / this.tagWidth)\n\t\t\t\treturn limit > 0 ? limit : 1\n\t\t\t}\n\t\t\treturn this.limit ? this.limit : 9999\n\t\t},\n\t\t/**\n\t\t * Make the tooltip limit string for the `autoLimit`\n\t\t * @returns {string}\n\t\t */\n\t\tlimitString() {\n\t\t\treturn `+${this.value.length - this.maxOptions}`\n\t\t},\n\n\t\tlocalValue: {\n\t\t\tget() {\n\t\t\t\tif (this.trackBy && this.options\n\t\t\t\t\t&& typeof this.value !== 'object'\n\t\t\t\t\t&& this.options[this.value]) {\n\t\t\t\t\treturn this.options[this.value]\n\t\t\t\t}\n\t\t\t\treturn this.value\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tthis.$emit('update:value', value)\n\t\t\t\tthis.$emit('change', value)\n\t\t\t},\n\t\t},\n\t},\n\n\twatch: {\n\t\t// ensure we update the width when we add or remove data\n\t\tvalue() {\n\t\t\tthis.updateWidth()\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.updateWidth()\n\t\twindow.addEventListener('resize', this.updateWidth)\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this.updateWidth)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Returns the option label\n\t\t *\n\t\t * @param {String} option The selected option\n\t\t * @returns {string}\n\t\t */\n\t\tgetOptionLabel(option) {\n\t\t\treturn String(this.$refs.VueMultiselect?.getOptionLabel(option))\n\t\t},\n\t\t/**\n\t\t * Format array of groups objects to a string\n\t\t * for the limit popup using the label prop\n\t\t *\n\t\t * @param {array} options The selected options\n\t\t * @returns {string}\n\t\t */\n\t\tformatLimitTitle(options) {\n\t\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\t\tlet selection = options\n\t\t\t\tif (typeof options[0] === 'object') {\n\t\t\t\t\tselection = options.map(option => option[this.label])\n\t\t\t\t}\n\t\t\t\treturn selection.slice(this.maxOptions).join(', ')\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\n\t\t/**\n\t\t * Update the component width data\n\t\t */\n\t\tupdateWidth() {\n\t\t\t// width of the tags wrapper minus the padding\n\t\t\tif (this.$el && this.$el.querySelector('.multiselect__tags-wrap')) {\n\t\t\t\tthis.elWidth = this.$el.querySelector('.multiselect__tags-wrap').offsetWidth - 10\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Multiselect.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!./Multiselect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Multiselect.vue?vue&type=template&id=a1586362&\"\nimport script from \"./Multiselect.vue?vue&type=script&lang=js&\"\nexport * from \"./Multiselect.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Multiselect.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","module.exports = require(\"core-js/modules/es.string.from-code-point.js\");","module.exports = require(\"core-js/modules/es.string.code-point-at.js\");","module.exports = require(\"vue-multiselect\");","module.exports = require(\"core-js/modules/es.object.values.js\");","module.exports = require(\"@nextcloud/dialogs\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.inputValue,\"options\":_vm.groupsArray,\"options-limit\":5,\"placeholder\":_vm.label,\"track-by\":\"id\",\"label\":\"displayname\",\"multiple\":true,\"close-on-select\":false,\"tag-width\":60,\"disabled\":_vm.disabled},on:{\"input\":_vm.update,\"search-change\":_vm.findGroup}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t( 'No results')))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n - @author Greta Doci <gretadoci@gmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<Multiselect :value=\"inputValue\"\n\t\t:options=\"groupsArray\"\n\t\t:options-limit=\"5\"\n\t\t:placeholder=\"label\"\n\t\ttrack-by=\"id\"\n\t\tlabel=\"displayname\"\n\t\tclass=\"multiselect-vue\"\n\t\t:multiple=\"true\"\n\t\t:close-on-select=\"false\"\n\t\t:tag-width=\"60\"\n\t\t:disabled=\"disabled\"\n\t\t@input=\"update\"\n\t\t@search-change=\"findGroup\">\n\t\t<span slot=\"noResult\">{{ t( 'No results') }}</span>\n\t</Multiselect>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport Multiselect from '../../components/Multiselect/Multiselect'\nimport GenRandomId from '../../utils/GenRandomId'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { showError } from '@nextcloud/dialogs'\nimport l10n from '../../mixins/l10n'\nexport default {\n\tname: 'SettingsSelectGroup',\n\tcomponents: {\n\t\tMultiselect,\n\t},\n\tmixins: [l10n],\n\tprops: {\n\t\t/**\n\t\t\t * label of the select group element\n\t\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t\t * hint of the select group input\n\t\t\t */\n\t\thint: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t\t * id attribute of the select group element\n\t\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'action-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\n\t\t/**\n\t\t\t * value of the select group input\n\t\t\t */\n\t\tvalue: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\n\t\t/**\n\t\t\t * disabled state of the settings select group input\n\t\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tgroups: {},\n\t\t\trandId: GenRandomId(),\n\t\t}\n\t},\n\tcomputed: {\n\t\tinputValue() {\n\t\t\treturn this.getValueObject()\n\t\t},\n\t\tgetValueObject() {\n\t\t\treturn this.value.filter((group) => group !== '' && typeof group !== 'undefined').map(\n\t\t\t\t(id) => {\n\t\t\t\t\tif (typeof this.groups[id] === 'undefined') {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tdisplayname: id,\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this.groups[id]\n\t\t\t\t}\n\t\t\t)\n\t\t},\n\t\tgroupsArray() {\n\t\t\treturn Object.values(this.groups)\n\t\t},\n\t},\n\tmethods: {\n\t\tupdate() {\n\t\t\tthis.$emit('input', this.inputValue.map((element) => element.id))\n\t\t},\n\t\tasync findGroup(query) {\n\t\t\ttry {\n\t\t\t\tquery = typeof query === 'string' ? encodeURI(query) : ''\n\t\t\t\tconst response = await axios.get(generateOcsUrl(`cloud/groups/details?search=${query}&limit=10`, 2))\n\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach((element) => {\n\t\t\t\t\t\tif (typeof this.groups[element.id] === 'undefined') {\n\t\t\t\t\t\t\tthis.$set(this.groups, element.id, element)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tthis.$emit('error', error)\n\t\t\t\tshowError(t('Unable to search the group'))\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsSelectGroup.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!./SettingsSelectGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SettingsSelectGroup.vue?vue&type=template&id=77344de2&\"\nimport script from \"./SettingsSelectGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./SettingsSelectGroup.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2019 Greta Doci <gretadoci@gmail.com>\n *\n * @author Greta Doci <gretadoci@gmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport SettingsSelectGroup from './SettingsSelectGroup'\n\nexport default SettingsSelectGroup\nexport { SettingsSelectGroup }\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://NextcloudVue.[name]/webpack/universalModuleDefinition","webpack://NextcloudVue.[name]/webpack/bootstrap","webpack://NextcloudVue.[name]/./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack://NextcloudVue.[name]/./node_modules/css-loader/dist/runtime/api.js","webpack://NextcloudVue.[name]/./src/directives/Tooltip/index.scss?afe8","webpack://NextcloudVue.[name]/./src/directives/Tooltip/index.js","webpack://NextcloudVue.[name]/external \"@nextcloud/l10n/dist/gettext\"","webpack://NextcloudVue.[name]/./src/directives/Tooltip/index.scss","webpack://NextcloudVue.[name]/./src/components/Popover/Popover.vue?e51b","webpack://NextcloudVue.[name]/./src/components/Popover/Popover.vue?01d2","webpack://NextcloudVue.[name]/src/components/Popover/Popover.vue","webpack://NextcloudVue.[name]/./src/components/Popover/Popover.vue?266e","webpack://NextcloudVue.[name]/./src/components/Popover/Popover.vue","webpack://NextcloudVue.[name]/external \"vue-material-design-icons/DotsHorizontal\"","webpack://NextcloudVue.[name]/external \"@nextcloud/event-bus\"","webpack://NextcloudVue.[name]/./src/utils/GenRandomId.js","webpack://NextcloudVue.[name]/external \"@nextcloud/auth\"","webpack://NextcloudVue.[name]/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://NextcloudVue.[name]/./src/utils/IsMobileState.js","webpack://NextcloudVue.[name]/./src/mixins/isMobile/index.js","webpack://NextcloudVue.[name]/external \"@nextcloud/axios\"","webpack://NextcloudVue.[name]/./src/mixins/userStatus.js","webpack://NextcloudVue.[name]/external \"striptags\"","webpack://NextcloudVue.[name]/./src/components/RichContenteditable/MentionBubble.vue?6186","webpack://NextcloudVue.[name]/external \"@nextcloud/dialogs\"","webpack://NextcloudVue.[name]/./src/components/SettingsSelectGroup/SettingsSelectGroup.vue?7e9b","webpack://NextcloudVue.[name]/src/components/SettingsSelectGroup/SettingsSelectGroup.vue","webpack://NextcloudVue.[name]/./src/components/SettingsSelectGroup/SettingsSelectGroup.vue?3b82","webpack://NextcloudVue.[name]/./src/components/SettingsSelectGroup/SettingsSelectGroup.vue","webpack://NextcloudVue.[name]/./src/components/SettingsSelectGroup/index.js","webpack://NextcloudVue.[name]/./src/mixins/l10n.js","webpack://NextcloudVue.[name]/external \"v-click-outside\"","webpack://NextcloudVue.[name]/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://NextcloudVue.[name]/external \"linkifyjs/string\"","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?9510","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?14f7","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenu.vue?154d","webpack://NextcloudVue.[name]/./src/utils/FindRanges.js","webpack://NextcloudVue.[name]/./src/components/RichContenteditable/MentionBubble.vue?6825","webpack://NextcloudVue.[name]/src/components/RichContenteditable/MentionBubble.vue","webpack://NextcloudVue.[name]/./src/components/RichContenteditable/MentionBubble.vue?dd58","webpack://NextcloudVue.[name]/./src/components/RichContenteditable/MentionBubble.vue","webpack://NextcloudVue.[name]/./src/components/RichContenteditable/MentionBubble.vue?2857","webpack://NextcloudVue.[name]/./src/mixins/richEditor/index.js","webpack://NextcloudVue.[name]/src/components/Highlight/Highlight.vue","webpack://NextcloudVue.[name]/./src/components/Highlight/Highlight.vue?4290","webpack://NextcloudVue.[name]/./src/components/Highlight/Highlight.vue","webpack://NextcloudVue.[name]/./src/components/Highlight/index.js","webpack://NextcloudVue.[name]/./src/l10n.js","webpack://NextcloudVue.[name]/./src/components/Avatar/Avatar.vue?07f3","webpack://NextcloudVue.[name]/external \"escape-html\"","webpack://NextcloudVue.[name]/./src/utils/GenColors.js","webpack://NextcloudVue.[name]/./src/mixins/excludeClickOutsideClasses/index.js","webpack://NextcloudVue.[name]/./src/mixins/isFullscreen/index.js","webpack://NextcloudVue.[name]/external \"@nextcloud/browser-storage\"","webpack://NextcloudVue.[name]/./src/assets/status-icons/user-status-online.svg","webpack://NextcloudVue.[name]/external \"v-tooltip\"","webpack://NextcloudVue.[name]/./src/assets/status-icons/user-status-dnd.svg","webpack://NextcloudVue.[name]/./src/assets/status-icons/user-status-away.svg","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenu.vue?cfe3","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?63e6","webpack://NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?03b2","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?eb85","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenu.vue?7e94","webpack://NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?4aab","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenu.vue?5a99","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenu.vue","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/index.js","webpack://NextcloudVue.[name]/./src/components/Avatar/Avatar.vue?83e6","webpack://NextcloudVue.[name]/src/components/Avatar/Avatar.vue","webpack://NextcloudVue.[name]/./src/components/Avatar/Avatar.vue?d51d","webpack://NextcloudVue.[name]/./src/components/Avatar/Avatar.vue?c0c6","webpack://NextcloudVue.[name]/./src/components/Avatar/Avatar.vue","webpack://NextcloudVue.[name]/./src/components/Avatar/index.js","webpack://NextcloudVue.[name]/external \"md5\"","webpack://NextcloudVue.[name]/external \"@nextcloud/capabilities\"","webpack://NextcloudVue.[name]/./src/functions/usernameToColor/usernameToColor.js","webpack://NextcloudVue.[name]/./src/functions/usernameToColor/index.js","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/ListItemIcon.vue?0eea","webpack://NextcloudVue.[name]/external \"vue\"","webpack://NextcloudVue.[name]/./src/components/Multiselect/EllipsisedOption.vue?1f80","webpack://NextcloudVue.[name]/./src/components/Multiselect/Multiselect.vue?6b71","webpack://NextcloudVue.[name]/./src/components/Multiselect/EllipsisedOption.vue?c4e5","webpack://NextcloudVue.[name]/src/components/Multiselect/EllipsisedOption.vue","webpack://NextcloudVue.[name]/./src/components/Multiselect/EllipsisedOption.vue?5550","webpack://NextcloudVue.[name]/./src/components/Multiselect/EllipsisedOption.vue","webpack://NextcloudVue.[name]/./src/components/Multiselect/EllipsisedOption.vue?900a","webpack://NextcloudVue.[name]/src/components/Multiselect/Multiselect.vue","webpack://NextcloudVue.[name]/./src/components/Multiselect/Multiselect.vue?471d","webpack://NextcloudVue.[name]/./src/components/Multiselect/Multiselect.vue","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/ListItemIcon.vue?7dc8","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/ListItemIcon.vue?5fd9","webpack://NextcloudVue.[name]/src/components/ListItemIcon/ListItemIcon.vue","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/ListItemIcon.vue?6275","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/ListItemIcon.vue","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/index.js","webpack://NextcloudVue.[name]/external \"@nextcloud/router\"","webpack://NextcloudVue.[name]/external \"vue-multiselect\"","webpack://NextcloudVue.[name]/./node_modules/css-loader/dist/runtime/getUrl.js","webpack://NextcloudVue.[name]/./src/components/Popover/Popover.vue?463f"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_slicedToArray","arr","Array","isArray","_arrayWithHoles","_i","iterator","_s","_e","_arr","_n","_d","next","done","push","length","err","_iterableToArrayLimit","minLen","_arrayLikeToArray","toString","slice","constructor","from","test","_unsupportedIterableToArray","TypeError","_nonIterableRest","len","arr2","item","_item","content","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","concat","sourceMapping","sourceURLs","sources","map","source","sourceRoot","join","cssWithMappingToString","list","this","mediaQuery","dedupe","alreadyImportedModules","id","options","insert","singleton","injectStylesIntoStyleTag_default","Tooltip","locals","VTooltip","defaultTemplate","SCOPE_VERSION","defaultHtml","defaultDelay","show","hide","require","_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__","_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","a","version","names","mappings","sourcesContent","__webpack_exports__","Popover_Popovervue_type_script_lang_js_","components","VPopover","mounted","_this","$watch","$refs","popover","isOpen","val","$emit","Popovervue_type_style_index_0_lang_scss_","component","componentNormalizer","_vm","_h","$createElement","_self","_c","_g","_b","ref","attrs","popover-base-class","popover-wrapper-class","popover-arrow-class","popover-inner-class","scopedSlots","_u","fn","_t","proxy","$attrs","$listeners","Popovervue_type_custom_index_0_blockType_docs_default","GenRandomId","Math","random","replace","substr","memo","isOldIE","Boolean","document","all","atob","getTarget","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","e","stylesInDom","getIndexByIdentifier","identifier","result","modulesToDom","idCountMap","identifiers","base","count","index","obj","css","media","sourceMap","references","updater","addStyle","insertStyleElement","style","createElement","attributes","nonce","nc","keys","forEach","setAttribute","Error","appendChild","textStore","replaceText","replacement","filter","applyToSingletonTag","remove","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","applyToTag","removeAttribute","firstChild","singletonCounter","update","styleIndex","parentNode","removeStyleElement","newObj","lastIdentifiers","newList","newLastIdentifiers","_index","splice","IsMobileState","Vue","isMobile","watch","created","addEventListener","handleWindowResize","beforeDestroy","removeEventListener","methods","documentElement","clientWidth","$on","onIsMobileChanged","$off","userStatus","hasStatus","status","message","icon","fetchUserStatus","userId","regeneratorRuntime","mark","_callee","capabilities","_yield$axios$get","_data$ocs$data","_e$response$data$ocs","_e$response$data$ocs$","wrap","_context","prev","abrupt","getCapabilities","user_status","enabled","getCurrentUser","axios","generateOcsUrl","sent","ocs","t0","response","console","error","stop","SettingsSelectGroup_SettingsSelectGroupvue_type_script_lang_js_","Multiselect","mixins","l10n","props","label","type","String","required","hint","default","validator","trim","disabled","groups","randId","computed","inputValue","getValueObject","group","displayname","groupsArray","values","element","findGroup","query","_this2","encodeURI","axios_default","router_","$set","dialogs_","src_l10n","SettingsSelectGroup","staticClass","options-limit","placeholder","track-by","multiple","close-on-select","tag-width","on","input","search-change","_v","_l10n__WEBPACK_IMPORTED_MODULE_0__","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","FindRanges","text","search","ranges","currentIndex","toLowerCase","indexOf","start","end","RichContenteditable_MentionBubblevue_type_script_lang_js_","primary","avatarUrl","getAvatarUrl","mentionText","user","size","MentionBubblevue_type_style_index_0_id_724f9d58_lang_scss_scoped_true_","MentionBubble","class","mention-bubble--primary","contenteditable","backgroundImage","role","title","USERID_REGEX","RegExp","USERID_REGEX_WITH_SPACE","userData","renderContent","escapeHtml","split","part","flat","startsWith","linkifyStr","defaultProtocol","className","rel","genSelectTemplate","parseContent","stripTags","renderComponentHtml","propsData","Item","extend","wrapper","mount","display","body","$mount","renderedHtml","innerHTML","$destroy","Highlight_Highlightvue_type_script_lang_js_","highlight","range","reduce","validRanges","sort","b","mergedRanges","idx","max","chunks","currentRange","_objectSpread","chunk","Highlightvue_type_custom_index_0_blockType_docs_default","Highlight","_nextcloud_l10n_dist_gettext__WEBPACK_IMPORTED_MODULE_0__","gtBuilder","getGettextBuilder","detectLocale","TRANSLATIONS","lang","translations","pluralId","msgid","msgid_plural","msgstr","addTranslation","locale","","gt","build","ngettext","gettext","_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__","_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default","_assets_status_icons_user_status_online_svg__WEBPACK_IMPORTED_MODULE_3__","_assets_status_icons_user_status_dnd_svg__WEBPACK_IMPORTED_MODULE_4__","_assets_status_icons_user_status_away_svg__WEBPACK_IMPORTED_MODULE_5__","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","Color","g","mixPalette","steps","color1","color2","palette","step","ends","stepCalc","parseInt","GenColors","red","yellow","blue","palette1","palette2","palette3","excludeClickOutsideClasses","clickOutsideMiddleware","event","excludedClassList","hasNodeOrAnyParentClass","node","classArray","_step","_iterator","_createForOfIteratorHelper","_node$classList","classList","contains","f","parentElement","isFullscreen","_isFullscreen","beforeMount","_onResize","outerHeight","screen","height","PopoverMenu_PopoverMenuItemvue_type_script_lang_js_","href","round","iconIsUrl","URL","_","action","PopoverMenuItemvue_type_style_index_0_id_54983729_scoped_true_lang_css_","PopoverMenuItemvue_type_style_index_1_id_54983729_lang_scss_scoped_true_options","PopoverMenuItemvue_type_style_index_1_id_54983729_lang_scss_scoped_true_","PopoverMenu_PopoverMenuvue_type_script_lang_js_","PopoverMenuItem","download","click","src","longtext","active","submit","$event","preventDefault","domProps","directives","rawName","expression","checked","model","change","$$a","$$el","$$c","$$i","_q","composing","for","stopPropagation","menu","PopoverMenuvue_type_style_index_0_id_4dae360a_lang_scss_scoped_true_options","PopoverMenuvue_type_style_index_0_id_4dae360a_lang_scss_scoped_true_","PopoverMenu_component","_l","PopoverMenuvue_type_custom_index_0_blockType_docs_default","PopoverMenu","browserStorage","browser_storage_","persist","getUserHasAvatar","flag","getItem","setUserHasAvatar","setItem","Avatar_Avatarvue_type_script_lang_js_","tooltip","ClickOutside","external_v_click_outside_","DotsHorizontal","DotsHorizontal_default","Popover","url","undefined","iconClass","showUserStatus","showUserStatusCompact","preloadedUserStatus","isGuest","displayName","Number","allowPlaceholder","disableTooltip","disableMenu","tooltipMessage","isNoUser","menuPosition","menuContainer","ariaLabel","avatarUrlLoaded","avatarSrcSetLoaded","userDoesNotExist","isAvatarLoaded","isMenuLoaded","contactsMenuLoading","contactsMenuActions","contactsMenuOpenState","avatarAriaLabel","canDisplayUserStatus","includes","showUserStatusIconOnAvatar","getUserIdentifier","isDisplayNameDefined","isUserDefined","isUrlDefined","hasMenu","_getCurrentUser","auth_","uid","shouldShowPlaceholder","avatarStyle","--size","lineHeight","fontSize","rgb","usernameToColor","backgroundColor","initials","fromCodePoint","codePointAt","toUpperCase","html","actions","hyperlink","loadAvatarUrl","event_bus_","handleUserStatusUpdated","beforeDestroyed","handlePopoverAfterShow","links","popoverMenu","$el","getElementsByTagName","focus","handlePopoverAfterHide","main","state","toggleMenu","_asyncToGenerator","fetchContactsMenu","closeMenu","_callee2","_yield$axios$post","_context2","post","topAction","updateImageIfValid","avatarUrlGenerator","srcset","_getCurrentUser2","oc_userconfig","avatar","_this3","arguments","userHasAvatar","img","Image","onload","onerror","debug","Avatarvue_type_style_index_0_id_583ead48_scoped_true_lang_scss_","avatardiv--unknown","avatardiv--with-menu","tabindex","aria-label","keydown","_k","keyCode","alt","placement","container","open","after-show","after-hide","decorative","Avatarvue_type_custom_index_0_blockType_docs_default","Avatar","username","hash","match","md5","maximum","finalInt","charAt","j","hashToInt","Multiselect_EllipsisedOptionvue_type_script_lang_js_","option","needsTruncate","min","floor","part1","part2","highlight1","highlight2","EllipsisedOptionvue_type_style_index_0_id_f855c4b8_lang_scss_scoped_true_","EllipsisedOption","Multiselect_Multiselectvue_type_script_lang_js_","ListItemIcon","VueMultiselect","external_vue_multiselect_default","inheritAttrs","limit","trackBy","userSelect","loading","autoLimit","tagWidth","elWidth","maxOptions","limitString","localValue","_typeof","set","updateWidth","getOptionLabel","_this$$refs$VueMultis","formatLimitTitle","selection","offsetWidth","Multiselect_component","icon-loading-small","tag-placeholder","scope","$scopedSlots","modifiers","auto","slot","callback","$$v","Multiselectvue_type_custom_index_0_blockType_docs_default","ListItemIcon_ListItemIconvue_type_script_lang_js_","subtitle","avatarSize","noMargin","margin","hasIcon","hasSlot","$slots","isValidSubtitle","_this$subtitle","_this$subtitle$trim","isSizeBigEnough","cssVars","--height","--margin","ListItemIconvue_type_style_index_0_id_28d338d4_lang_scss_scoped_true_","disable-menu","disable-tooltip","display-name","is-no-user","ListItemIconvue_type_custom_index_0_blockType_docs_default","needQuotes"],"mappings":"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","file":"Components/SettingsSelectGroup.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Components/SettingsSelectGroup\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Components/SettingsSelectGroup\"] = factory();\n\telse\n\t\troot[\"NextcloudVue\"] = root[\"NextcloudVue\"] || {}, root[\"NextcloudVue\"][\"Components/SettingsSelectGroup\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 247);\n","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!./index.scss\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { VTooltip } from 'v-tooltip'\nimport './index.scss'\n\n// force scope the tooltip and use .vue-tooltip\n// instead of .tooltip to avoid server compatibility\n// issues and the use of !important\nVTooltip.options.defaultTemplate = `<div class=\"vue-tooltip\" role=\"tooltip\" data-v-${SCOPE_VERSION}><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>`\nVTooltip.options.defaultHtml = false\nVTooltip.options.defaultDelay = { show: 500, hide: 200 }\n\nexport default VTooltip\n","module.exports = require(\"@nextcloud/l10n/dist/gettext\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-542b2ae]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-542b2ae][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-542b2ae][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-542b2ae][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-542b2ae][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-542b2ae][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-542b2ae][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-542b2ae] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-542b2ae] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],\"names\":[],\"mappings\":\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VPopover',_vm._g(_vm._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:_vm._u([{key:\"popover\",fn:function(){return [_vm._t(\"default\")]},proxy:true}],null,true)},'VPopover',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"trigger\")],2)}\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!./Popover.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!./Popover.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n -\n - @author Marco Ambrosini <marcoambrosini@pm.me>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<docs>\n\n### General description\n\nThis component is just a wrapper for the v-component plugin by Akryum,\nplease refer to this documentation for customization:\nhttps://github.com/Akryum/v-tooltip\n\nThis components has two slots:\n* 'trigger' which can be any html element and it will trigger the popover\nthis slot is optional since you can toggle the popover also by updating the\nopen prop on this component;\n\n* a default slot that is for the content of the popover.\n\n### Examples\n\nWith a `<button>` as a trigger:\n```vue\n<template>\n\t<Popover>\n\t\t<template #trigger>\n\t\t\t<button> I am the trigger </button>\n\t\t</template>\n\t\t<template>\n\t\t<h2>this is some content</h2>\n\t\t</template>\n\t</Popover>\n</template>\n```\n</docs>\n\n<template>\n\t<VPopover\n\t\tref=\"popover\"\n\t\tv-bind=\"$attrs\"\n\t\tpopover-base-class=\"popover\"\n\t\tpopover-wrapper-class=\"popover__wrapper\"\n\t\tpopover-arrow-class=\"popover__arrow\"\n\t\tpopover-inner-class=\"popover__inner\"\n\t\tv-on=\"$listeners\">\n\t\t<!-- This will be the popover target (for the events and position) -->\n\t\t<slot name=\"trigger\" />\n\t\t<!-- This will be the content of the popover -->\n\t\t<template #popover>\n\t\t\t<slot />\n\t\t</template>\n\t</VPopover>\n</template>\n\n<script>\nimport { VPopover } from 'v-tooltip'\n\nexport default {\n\tname: 'Popover',\n\tcomponents: {\n\t\tVPopover,\n\t},\n\n\tmounted() {\n\t\tthis.$watch(\n\t\t\t() => {\n\t\t\t\t// required because v-tooltip doesn't provide events\n\t\t\t\t// and @show is too early\n\t\t\t\t// see https://github.com/Akryum/v-tooltip/issues/661\n\t\t\t\treturn this.$refs.popover.isOpen\n\t\t\t},\n\t\t\t(val) => {\n\t\t\t\tif (val) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggered after the tooltip was visually displayed.\n\t\t\t\t\t *\n\t\t\t\t\t * This is different from the 'show' and 'apply-show' which\n\t\t\t\t\t * run earlier than this where there is no guarantee that the\n\t\t\t\t\t * tooltip is already visible and in the DOM.\n\t\t\t\t\t */\n\t\t\t\t\tthis.$emit('after-show')\n\t\t\t\t} else {\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggered after the tooltip was visually hidden.\n\t\t\t\t\t */\n\t\t\t\t\tthis.$emit('after-hide')\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n$arrow-width: 10px;\n\n.popover {\n\tz-index: 100000;\n\tdisplay: block !important;\n\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t&__inner {\n\t\tpadding: 0;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground: var(--color-main-background);\n\t}\n\n\t&__arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: $arrow-width;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n\n\t&[x-placement^='top'] {\n\t\tmargin-bottom: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\tbottom: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='bottom'] {\n\t\tmargin-top: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='right'] {\n\t\tmargin-left: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tleft: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width $arrow-width $arrow-width 0;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='left'] {\n\t\tmargin-right: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tright: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t}\n\t}\n\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\topacity: 0;\n\t}\n\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity var(--animation-quick);\n\t\topacity: 1;\n\t}\n}\n\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Popover.vue?vue&type=style&index=0&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./Popover.vue?vue&type=template&id=140d98c2&\"\nimport script from \"./Popover.vue?vue&type=script&lang=js&\"\nexport * from \"./Popover.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Popover.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Popover.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","module.exports = require(\"vue-material-design-icons/DotsHorizontal\");","module.exports = require(\"@nextcloud/event-bus\");","\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst GenRandomId = (length) => {\n\treturn Math.random()\n\t\t.toString(36)\n\t\t.replace(/[^a-z]+/g, '')\n\t\t.substr(0, length || 5)\n}\n\nexport default GenRandomId\n","module.exports = require(\"@nextcloud/auth\");","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","/**\n * @copyright Copyright (c) 2019 Kristof Hamann, Paul Schwörer\n *\n * @author Kristof Hamann\n * @author Paul Schwörer\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\n\nexport const IsMobileState = new Vue({\n\tdata() {\n\t\treturn {\n\t\t\tisMobile: false,\n\t\t}\n\t},\n\twatch: {\n\t\tisMobile(val) {\n\t\t\tthis.$emit('changed', val)\n\t\t},\n\t},\n\tcreated() {\n\t\twindow.addEventListener('resize', this.handleWindowResize)\n\t\tthis.handleWindowResize()\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this.handleWindowResize)\n\t},\n\tmethods: {\n\t\thandleWindowResize() {\n\t\t\tthis.isMobile = document.documentElement.clientWidth < 1024\n\t\t},\n\t},\n})\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { IsMobileState } from '../../utils/IsMobileState'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tisMobile: false,\n\t\t}\n\t},\n\tmounted() {\n\t\tIsMobileState.$on('changed', this.onIsMobileChanged)\n\t\tthis.isMobile = IsMobileState.isMobile\n\t},\n\tbeforeDestroy() {\n\t\tIsMobileState.$off('changed', this.onIsMobileChanged)\n\t},\n\tmethods: {\n\t\tonIsMobileChanged(val) {\n\t\t\tthis.isMobile = val\n\t\t},\n\t},\n}\n","module.exports = require(\"@nextcloud/axios\");","/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { getCurrentUser } from '@nextcloud/auth'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\thasStatus: false,\n\t\t\tuserStatus: {\n\t\t\t\tstatus: null,\n\t\t\t\tmessage: null,\n\t\t\t\ticon: null,\n\t\t\t},\n\t\t}\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Fetches the user-status from the server\n\t\t * @param {String} userId UserId of the user to fetch the status for\n\t\t *\n\t\t * @returns {Promise<void>}\n\t\t */\n\t\tasync fetchUserStatus(userId) {\n\t\t\tif (!userId) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst capabilities = getCapabilities()\n\t\t\tif (!Object.prototype.hasOwnProperty.call(capabilities, 'user_status') || !capabilities.user_status.enabled) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// User status endpoint is not available for guests.\n\t\t\tif (!getCurrentUser()) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst { data } = await axios.get(generateOcsUrl('apps/user_status/api/v1/statuses/{userId}', { userId }))\n\t\t\t\tconst {\n\t\t\t\t\tstatus,\n\t\t\t\t\tmessage,\n\t\t\t\t\ticon,\n\t\t\t\t} = data.ocs.data\n\t\t\t\tthis.userStatus.status = status\n\t\t\t\tthis.userStatus.message = message || ''\n\t\t\t\tthis.userStatus.icon = icon || ''\n\t\t\t\tthis.hasStatus = true\n\t\t\t} catch (e) {\n\t\t\t\tif (e.response.status === 404 && e.response.data.ocs?.data?.length === 0) {\n\t\t\t\t\t// User just has no status set, so don't log it\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tconsole.error(e)\n\t\t\t}\n\t\t},\n\t},\n}\n","module.exports = require(\"striptags\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./MentionBubble.vue\"],\"names\":[],\"mappings\":\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = require(\"@nextcloud/dialogs\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Multiselect',{staticClass:\"multiselect-vue\",attrs:{\"value\":_vm.inputValue,\"options\":_vm.groupsArray,\"options-limit\":5,\"placeholder\":_vm.label,\"track-by\":\"id\",\"label\":\"displayname\",\"multiple\":true,\"close-on-select\":false,\"tag-width\":60,\"disabled\":_vm.disabled},on:{\"input\":_vm.update,\"search-change\":_vm.findGroup},scopedSlots:_vm._u([{key:\"noResult\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.t( 'No results')))])]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n - @author Greta Doci <gretadoci@gmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<Multiselect :value=\"inputValue\"\n\t\t:options=\"groupsArray\"\n\t\t:options-limit=\"5\"\n\t\t:placeholder=\"label\"\n\t\ttrack-by=\"id\"\n\t\tlabel=\"displayname\"\n\t\tclass=\"multiselect-vue\"\n\t\t:multiple=\"true\"\n\t\t:close-on-select=\"false\"\n\t\t:tag-width=\"60\"\n\t\t:disabled=\"disabled\"\n\t\t@input=\"update\"\n\t\t@search-change=\"findGroup\">\n\t\t<template #noResult>\n\t\t\t<span>{{ t( 'No results') }}</span>\n\t\t</template>\n\t</Multiselect>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport Multiselect from '../../components/Multiselect/Multiselect'\nimport GenRandomId from '../../utils/GenRandomId'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { showError } from '@nextcloud/dialogs'\nimport l10n from '../../mixins/l10n'\nimport { t } from '../../l10n'\n\nexport default {\n\tname: 'SettingsSelectGroup',\n\tcomponents: {\n\t\tMultiselect,\n\t},\n\tmixins: [l10n],\n\tprops: {\n\t\t/**\n\t\t\t * label of the select group element\n\t\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t\t * hint of the select group input\n\t\t\t */\n\t\thint: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t\t * id attribute of the select group element\n\t\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'action-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\n\t\t/**\n\t\t\t * value of the select group input\n\t\t\t */\n\t\tvalue: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\n\t\t/**\n\t\t\t * disabled state of the settings select group input\n\t\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tgroups: {},\n\t\t\trandId: GenRandomId(),\n\t\t}\n\t},\n\tcomputed: {\n\t\tinputValue() {\n\t\t\treturn this.getValueObject()\n\t\t},\n\t\tgetValueObject() {\n\t\t\treturn this.value.filter((group) => group !== '' && typeof group !== 'undefined').map(\n\t\t\t\t(id) => {\n\t\t\t\t\tif (typeof this.groups[id] === 'undefined') {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tdisplayname: id,\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this.groups[id]\n\t\t\t\t}\n\t\t\t)\n\t\t},\n\t\tgroupsArray() {\n\t\t\treturn Object.values(this.groups)\n\t\t},\n\t},\n\tmethods: {\n\t\tupdate() {\n\t\t\tthis.$emit('input', this.inputValue.map((element) => element.id))\n\t\t},\n\t\tasync findGroup(query) {\n\t\t\ttry {\n\t\t\t\tquery = typeof query === 'string' ? encodeURI(query) : ''\n\t\t\t\tconst response = await axios.get(generateOcsUrl(`cloud/groups/details?search=${query}&limit=10`, 2))\n\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach((element) => {\n\t\t\t\t\t\tif (typeof this.groups[element.id] === 'undefined') {\n\t\t\t\t\t\t\tthis.$set(this.groups, element.id, element)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tthis.$emit('error', error)\n\t\t\t\tshowError(t('Unable to search the group'))\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsSelectGroup.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!./SettingsSelectGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SettingsSelectGroup.vue?vue&type=template&id=41373e6a&\"\nimport script from \"./SettingsSelectGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./SettingsSelectGroup.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2019 Greta Doci <gretadoci@gmail.com>\n *\n * @author Greta Doci <gretadoci@gmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport SettingsSelectGroup from './SettingsSelectGroup'\n\nexport default SettingsSelectGroup\nexport { SettingsSelectGroup }\n","import { n, t } from '../l10n'\n\nexport default {\n\tmethods: {\n\t\tn,\n\t\tt,\n\t},\n}\n","module.exports = require(\"v-click-outside\");","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","module.exports = require(\"linkifyjs/string\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \"\\nbutton.menuitem[data-v-54983729] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-54983729] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-54983729]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-54983729] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-54983729] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/PopoverMenu/PopoverMenuItem.vue\"],\"names\":[],\"mappings\":\";AAoLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n -->\\n\\n<template>\\n\\t<li class=\\\"popover__menuitem\\\">\\n\\t\\t<!-- If item.href is set, a link will be directly used -->\\n\\t\\t<a v-if=\\\"item.href\\\"\\n\\t\\t\\t:href=\\\"(item.href) ? item.href : '#' \\\"\\n\\t\\t\\t:target=\\\"(item.target) ? item.target : '' \\\"\\n\\t\\t\\t:download=\\\"item.download\\\"\\n\\t\\t\\tclass=\\\"focusable\\\"\\n\\t\\t\\trel=\\\"noreferrer noopener\\\"\\n\\t\\t\\t@click=\\\"action\\\">\\n\\t\\t\\t<span v-if=\\\"!iconIsUrl\\\" :class=\\\"item.icon\\\" />\\n\\t\\t\\t<img v-else :src=\\\"item.icon\\\">\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t<!-- If item.input is set instead, an put will be used -->\\n\\t\\t<span v-else-if=\\\"item.input\\\" class=\\\"menuitem\\\" :class=\\\"{active: item.active}\\\">\\n\\t\\t\\t<!-- does not show if input is checkbox -->\\n\\t\\t\\t<span v-if=\\\"item.input !== 'checkbox'\\\" :class=\\\"item.icon\\\" />\\n\\n\\t\\t\\t<!-- only shows if input is text -->\\n\\t\\t\\t<form v-if=\\\"item.input === 'text'\\\"\\n\\t\\t\\t\\t:class=\\\"item.input\\\"\\n\\t\\t\\t\\t@submit.prevent=\\\"item.action\\\">\\n\\t\\t\\t\\t<input :type=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t:value=\\\"item.value\\\"\\n\\t\\t\\t\\t\\t:placeholder=\\\"item.text\\\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\\\"submit\\\" value=\\\"\\\" class=\\\"icon-confirm\\\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t<!-- checkbox -->\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t<!-- eslint-disable-next-line -->\\n\\t\\t\\t\\t<input :id=\\\"key\\\" v-model=\\\"item.model\\\"\\n\\t\\t\\t\\t\\t:type=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t:class=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t@change=\\\"item.action\\\">\\n\\t\\t\\t\\t<label :for=\\\"key\\\" @click.stop.prevent=\\\"item.action\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t<!-- If item.action is set instead, a button will be used -->\\n\\t\\t<button v-else-if=\\\"item.action\\\"\\n\\t\\t\\tclass=\\\"menuitem focusable\\\"\\n\\t\\t\\t:class=\\\"{active: item.active}\\\"\\n\\t\\t\\t:disabled=\\\"item.disabled\\\"\\n\\t\\t\\ttype=\\\"button\\\"\\n\\t\\t\\t@click.stop.prevent=\\\"item.action\\\">\\n\\t\\t\\t<span :class=\\\"item.icon\\\" />\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t<!-- If item.longtext is set AND the item does not have an action -->\\n\\t\\t<span v-else class=\\\"menuitem\\\" :class=\\\"{active: item.active}\\\">\\n\\t\\t\\t<span :class=\\\"item.icon\\\" />\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: 'PopoverMenuItem',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: 'nextcloud-link',\\n\\t\\t\\t\\t\\thref: 'https://nextcloud.com',\\n\\t\\t\\t\\t\\ticon: 'icon-links',\\n\\t\\t\\t\\t\\ttext: 'Nextcloud',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn ['text', 'checkbox'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\\\"scss\\\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".material-design-icon[data-v-54983729]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-54983729]{display:flex;flex:0 0 auto}li.hidden[data-v-54983729]{display:none}li>button[data-v-54983729],li>a[data-v-54983729],li>.menuitem[data-v-54983729]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{padding:0 14px 0 44px}li>button[data-v-54983729]:not(:disabled):hover,li>button[data-v-54983729]:not(:disabled):focus,li>button:not(:disabled).active[data-v-54983729],li>a[data-v-54983729]:not(:disabled):hover,li>a[data-v-54983729]:not(:disabled):focus,li>a:not(:disabled).active[data-v-54983729],li>.menuitem[data-v-54983729]:not(:disabled):hover,li>.menuitem[data-v-54983729]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-54983729]{opacity:1 !important}li>button.action[data-v-54983729],li>a.action[data-v-54983729],li>.menuitem.action[data-v-54983729]{padding:inherit !important}li>button>span[data-v-54983729],li>a>span[data-v-54983729],li>.menuitem>span[data-v-54983729]{cursor:pointer;white-space:nowrap}li>button>p[data-v-54983729],li>a>p[data-v-54983729],li>.menuitem>p[data-v-54983729]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-54983729],li>a>select[data-v-54983729],li>.menuitem>select[data-v-54983729]{margin:0;margin-left:6px}li>button[data-v-54983729]:not(:empty),li>a[data-v-54983729]:not(:empty),li>.menuitem[data-v-54983729]:not(:empty){padding-right:14px !important}li>button>img[data-v-54983729],li>a>img[data-v-54983729],li>.menuitem>img[data-v-54983729]{width:16px;padding:14px}li>button>input.radio+label[data-v-54983729],li>button>input.checkbox+label[data-v-54983729],li>a>input.radio+label[data-v-54983729],li>a>input.checkbox+label[data-v-54983729],li>.menuitem>input.radio+label[data-v-54983729],li>.menuitem>input.checkbox+label[data-v-54983729]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-54983729]::before,li>a>input.checkbox+label[data-v-54983729]::before,li>.menuitem>input.checkbox+label[data-v-54983729]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-54983729]::before,li>a>input.radio+label[data-v-54983729]::before,li>.menuitem>input.radio+label[data-v-54983729]::before{margin:-2px 12px 0}li>button>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-54983729],li>a form[data-v-54983729],li>.menuitem form[data-v-54983729]{display:flex;flex:1 1 auto}li>button form[data-v-54983729]:not(:first-child),li>a form[data-v-54983729]:not(:first-child),li>.menuitem form[data-v-54983729]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-54983729],li>button>span[style*='display:none']+form[data-v-54983729],li>a>span.hidden+form[data-v-54983729],li>a>span[style*='display:none']+form[data-v-54983729],li>.menuitem>span.hidden+form[data-v-54983729],li>.menuitem>span[style*='display:none']+form[data-v-54983729]{margin-left:0}li>button input[data-v-54983729],li>a input[data-v-54983729],li>.menuitem input[data-v-54983729]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-54983729]:not(:first-child),li>a input[data-v-54983729]:not(:first-child),li>.menuitem input[data-v-54983729]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-54983729]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-54983729]{margin-bottom:12px}li>button[data-v-54983729]{padding:0}li>button span[data-v-54983729]{opacity:1}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqMxB,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,YCrR6C,CD4KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cCjUkB,CDkUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC9Ua\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".material-design-icon[data-v-4dae360a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenu.vue\"],\"names\":[],\"mappings\":\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCkDxB,oBACC,YAAa,CACb,qBAAsB\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Find the ranges of a substr in a given string\n *\n * @param {String} text The text to search in\n * @param {String} search The text to search for\n * @returns {Array} The array of ranges to highlight\n */\nconst FindRanges = (text, search) => {\n\tconst ranges = []\n\tlet currentIndex = 0\n\tlet index = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex)\n\t// Variable to track that we don't iterate more often than the length of the text.\n\t// Shouldn't happen anyway, but just to be sure to not hang the browser for some reason.\n\tlet i = 0\n\twhile (index > -1 && i < text.length) {\n\t\tcurrentIndex = index + search.length\n\t\tranges.push({ start: index, end: currentIndex })\n\n\t\tindex = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex)\n\t\ti++\n\t}\n\treturn ranges\n}\n\nexport default FindRanges\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MentionBubble.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!./MentionBubble.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<template>\n\t<span :class=\"{'mention-bubble--primary': primary}\"\n\t\tclass=\"mention-bubble\"\n\t\tcontenteditable=\"false\">\n\t\t<span class=\"mention-bubble__wrapper\">\n\t\t\t<span class=\"mention-bubble__content\">\n\t\t\t\t<!-- Avatar or icon -->\n\t\t\t\t<span :class=\"[icon, `mention-bubble__icon--${avatarUrl ? 'with-avatar' : ''}`]\"\n\t\t\t\t\t:style=\"avatarUrl ? { backgroundImage: `url(${avatarUrl})` } : null\"\n\t\t\t\t\tclass=\"mention-bubble__icon\" />\n\n\t\t\t\t<!-- Title -->\n\t\t\t\t<span role=\"heading\" class=\"mention-bubble__title\" :title=\"label\" />\n\t\t\t</span>\n\n\t\t\t<!-- Selectable text for copy/paste -->\n\t\t\t<span role=\"none\" class=\"mention-bubble__select\">{{ mentionText }}</span>\n\t\t</span>\n\t</span>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\n\nexport default {\n\tname: 'MentionBubble',\n\n\tprops: {\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tsource: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tcomputed: {\n\t\tavatarUrl() {\n\t\t\treturn this.id && this.source === 'users'\n\t\t\t\t? this.getAvatarUrl(this.id, 44)\n\t\t\t\t: null\n\t\t},\n\t\tmentionText() {\n\t\t\treturn this.id.indexOf(' ') === -1\n\t\t\t\t? `@${this.id}`\n\t\t\t\t: `@\"${this.id}\"`\n\t\t},\n\t},\n\n\tmethods: {\n\t\tgetAvatarUrl(user, size) {\n\t\t\treturn generateUrl('/avatar/{user}/{size}', {\n\t\t\t\tuser,\n\t\t\t\tsize,\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$bubble-height: 20px;\n$bubble-max-width: 150px;\n$bubble-padding: 2px;\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\n\n.mention-bubble {\n\t&--primary &__content {\n\t\tcolor: var(--color-primary-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t&__wrapper {\n\t\tmax-width: $bubble-max-width;\n\t\t// Align with text\n\t\theight: $bubble-height - $bubble-padding;\n\t\tvertical-align: text-bottom;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tmax-width: 100%;\n\t\theight: $bubble-height ;\n\t\t-webkit-user-select: none;\n\t\tuser-select: none;\n\t\tpadding-right: $bubble-padding * 3;\n\t\tpadding-left: $bubble-padding;\n\t\tborder-radius: $bubble-height / 2;\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\twidth: $bubble-avatar-size;\n\t\theight: $bubble-avatar-size;\n\t\tborder-radius: $bubble-avatar-size / 2;\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\n\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tmargin-left: $bubble-padding;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Put label in ::before so it is not selectable\n\t\t&::before {\n\t\t\tcontent: attr(title);\n\t\t}\n\t}\n\n\t// Hide the mention id so it is selectable\n\t&__select {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\tleft: -1000px;\n\t}\n}\n\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MentionBubble.vue?vue&type=style&index=0&id=724f9d58&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./MentionBubble.vue?vue&type=template&id=724f9d58&scoped=true&\"\nimport script from \"./MentionBubble.vue?vue&type=script&lang=js&\"\nexport * from \"./MentionBubble.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MentionBubble.vue?vue&type=style&index=0&id=724f9d58&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 \"724f9d58\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"mention-bubble\",class:{'mention-bubble--primary': _vm.primary},attrs:{\"contenteditable\":\"false\"}},[_c('span',{staticClass:\"mention-bubble__wrapper\"},[_c('span',{staticClass:\"mention-bubble__content\"},[_c('span',{staticClass:\"mention-bubble__icon\",class:[_vm.icon, (\"mention-bubble__icon--\" + (_vm.avatarUrl ? 'with-avatar' : ''))],style:(_vm.avatarUrl ? { backgroundImage: (\"url(\" + _vm.avatarUrl + \")\") } : null)}),_vm._v(\" \"),_c('span',{staticClass:\"mention-bubble__title\",attrs:{\"role\":\"heading\",\"title\":_vm.label}})]),_vm._v(\" \"),_c('span',{staticClass:\"mention-bubble__select\",attrs:{\"role\":\"none\"}},[_vm._v(_vm._s(_vm.mentionText))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport escapeHtml from 'escape-html'\nimport linkifyStr from 'linkifyjs/string'\nimport stripTags from 'striptags'\nimport Vue from 'vue'\n\nimport MentionBubble from '../../components/RichContenteditable/MentionBubble'\n\n// Beginning or whitespace. Non-capturing group\nconst MENTION_START = '(?:^|\\\\s)'\n// Anything that is not text or end-of-line. Non-capturing group\nconst MENTION_END = '(?:[^a-z]|$)'\nexport const USERID_REGEX = new RegExp(`${MENTION_START}(@[a-zA-Z0-9_.@\\\\-']+)(${MENTION_END})`, 'gi')\nexport const USERID_REGEX_WITH_SPACE = new RegExp(`${MENTION_START}(@"[a-zA-Z0-9 _.@\\\\-']+")(${MENTION_END})`, 'gi')\n\nexport default {\n\tprops: {\n\t\tuserData: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Convert the value string to html for the inner content\n\t\t *\n\t\t * @param {string} value the content without html\n\t\t * @returns {string} rendered html\n\t\t */\n\t\trenderContent(value) {\n\t\t\t// Sanitize the value prop\n\t\t\tconst sanitizedValue = escapeHtml(value)\n\n\t\t\t// Extract all the userIds\n\t\t\tconst splitValue = sanitizedValue.split(USERID_REGEX)\n\t\t\t\t.map(part => part.split(USERID_REGEX_WITH_SPACE)).flat()\n\n\t\t\t// Replace userIds by html\n\t\t\treturn splitValue\n\t\t\t\t.map(part => {\n\t\t\t\t\t// When splitting, the string is always putting the userIds\n\t\t\t\t\t// on the the uneven indexes. We only want to generate the mentions html\n\t\t\t\t\tif (!part.startsWith('@')) {\n\t\t\t\t\t\t// This part doesn't contain a mention, let's make sure links are parsed\n\t\t\t\t\t\treturn linkifyStr(part, {\n\t\t\t\t\t\t\tdefaultProtocol: 'https',\n\t\t\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\t\t\tclassName: 'external',\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\t// Extracting the id, nuking the \" and @\n\t\t\t\t\tconst id = part.replace(/@|"/gi, '')\n\t\t\t\t\t// Compiling template and prepend with the space we removed during the split\n\t\t\t\t\treturn ' ' + this.genSelectTemplate(id)\n\t\t\t\t})\n\t\t\t\t.join('')\n\t\t\t\t.replace(/\\n/gmi, '<br>')\n\t\t\t\t.replace(/&/gmi, '&')\n\t\t},\n\n\t\t/**\n\t\t * Convert the innerHtml content to a string with mentions as text\n\t\t *\n\t\t * @param {string} content the content without html\n\t\t * @returns {string}\n\t\t */\n\t\tparseContent(content) {\n\t\t\tlet text = content.replace(/<br>/gmi, '\\n')\n\t\t\ttext = text.replace(/ /gmi, ' ')\n\t\t\ttext = text.replace(/&/gmi, '&')\n\n\t\t\t// Convert the mentions to text only\n\t\t\t// first we replace divs with new lines\n\t\t\ttext = text.replace(/<\\/div>/gmi, '\\n')\n\t\t\t// then we remove all leftover html\n\t\t\ttext = stripTags(text, '<div>')\n\t\t\ttext = stripTags(text)\n\n\t\t\treturn text\n\t\t},\n\n\t\t/**\n\t\t * Generate an autocompletion popup entry template\n\t\t *\n\t\t * @param {string} value the value to match against the userData\n\t\t * @returns {string}\n\t\t */\n\t\tgenSelectTemplate(value) {\n\t\t\tconst data = this.userData[value]\n\n\t\t\t// Fallback to @mention in case no data matches\n\t\t\tif (!data) {\n\t\t\t\t// return `@${value}`\n\t\t\t\treturn value.indexOf(' ') === -1\n\t\t\t\t\t? `@${value}`\n\t\t\t\t\t: `@\"${value}\"`\n\t\t\t}\n\n\t\t\t// Return template and make sure we strip of new lines and tabs\n\t\t\treturn this.renderComponentHtml(data, MentionBubble).replace(/[\\n\\t]/gmi, '')\n\t\t},\n\n\t\t/**\n\t\t * Render a component and return its html content\n\t\t *\n\t\t * @param {Object} propsData the props to pass to the component\n\t\t * @param {Object} component the component to render\n\t\t * @returns {string} the rendered html\n\t\t */\n\t\trenderComponentHtml(propsData, component) {\n\t\t\tconst View = Vue.extend(component)\n\t\t\tconst Item = new View({\n\t\t\t\tpropsData,\n\t\t\t})\n\n\t\t\t// Prepare mountpoint\n\t\t\tconst wrapper = document.createElement('div')\n\t\t\tconst mount = document.createElement('div')\n\t\t\twrapper.style.display = 'none'\n\t\t\twrapper.appendChild(mount)\n\t\t\tdocument.body.appendChild(wrapper)\n\n\t\t\t// Mount and get raw html\n\t\t\tItem.$mount(mount)\n\t\t\tconst renderedHtml = wrapper.innerHTML\n\n\t\t\t// Destroy\n\t\t\tItem.$destroy()\n\t\t\twrapper.remove()\n\n\t\t\treturn renderedHtml\n\t\t},\n\t},\n}\n","<!--\n - @copyright Copyright (c) 2021 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n\n### General description\n\nHighlight a string with html <strong>. Accepts a substring to highlight or an array with ranges.\n\n### Usage\n\n```vue\n<template>\n\t<div>\n\t\t<Highlight text=\"Highlight me please!\" search=\"me\" />\n\t\t<br />\n\t\t<Highlight text=\"Highlight me please!\" :highlight=\"[{ start: 4, end: 12 }]\" />\n\t</div>\n</template>\n```\n</docs>\n\n<script>\nimport FindRanges from '../../utils/FindRanges'\n\nexport default {\n\tname: 'Highlight',\n\tprops: {\n\t\t/**\n\t\t * The string to display\n\t\t */\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The string to match and highlight\n\t\t */\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The ranges to highlight, takes precedence over the search prop.\n\t\t */\n\t\thighlight: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tcomputed: {\n\t\t/**\n\t\t * The indice ranges which should be highlighted.\n\t\t * If an array with ranges is provided, we use it. Otherwise\n\t\t * we calculate it based on the provided substring to highlight.\n\t\t *\n\t\t * @returns {Array} The array of ranges to highlight\n\t\t */\n\t\tranges() {\n\t\t\tlet ranges = []\n\t\t\t// If the search term and the highlight array is empty, return early with empty array\n\t\t\tif (!this.search && this.highlight.length === 0) {\n\t\t\t\treturn ranges\n\t\t\t}\n\n\t\t\t// If there are ranges to highlight provided, we use this array.\n\t\t\tif (this.highlight.length > 0) {\n\t\t\t\tranges = this.highlight\n\t\t\t// Otherwise we check the text to highlight for matches of the search term.\n\t\t\t} else {\n\t\t\t\tranges = FindRanges(this.text, this.search)\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Ensure that the start of each range is equal to or smaller than the end\n\t\t\t */\n\t\t\tranges.forEach((range, i) => {\n\t\t\t\tif (range.end < range.start) {\n\t\t\t\t\tranges[i] = {\n\t\t\t\t\t\tstart: range.end,\n\t\t\t\t\t\tend: range.start,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * Validate the ranges array to be within the string length\n\t\t\t * and discard ranges which are completely out of bonds.\n\t\t\t */\n\t\t\tranges = ranges.reduce((validRanges, range) => {\n\t\t\t\tif (range.start < this.text.length && range.end > 0) {\n\t\t\t\t\tvalidRanges.push({\n\t\t\t\t\t\tstart: (range.start < 0) ? 0 : range.start,\n\t\t\t\t\t\tend: (range.end > this.text.length) ? this.text.length : range.end,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn validRanges\n\t\t\t}, [])\n\n\t\t\t/**\n\t\t\t * Sort ranges ascendingly (necessary for next step)\n\t\t\t */\n\t\t\tranges.sort((a, b) => {\n\t\t\t\treturn a.start - b.start\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * Merge overlapping or adjacent ranges\n\t\t\t */\n\t\t\tranges = ranges.reduce((mergedRanges, range) => {\n\t\t\t\t// If there are no ranges, just add the range\n\t\t\t\tif (!mergedRanges.length) {\n\t\t\t\t\tmergedRanges.push(range)\n\t\t\t\t} else {\n\t\t\t\t\t// If the range overlaps the last range, merge them\n\t\t\t\t\tconst idx = mergedRanges.length - 1\n\t\t\t\t\tif (mergedRanges[idx].end >= range.start) {\n\t\t\t\t\t\tmergedRanges[idx] = {\n\t\t\t\t\t\t\tstart: mergedRanges[idx].start,\n\t\t\t\t\t\t\tend: Math.max(mergedRanges[idx].end, range.end),\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmergedRanges.push(range)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn mergedRanges\n\t\t\t}, [])\n\n\t\t\treturn ranges\n\t\t},\n\t\t/**\n\t\t * Calculate the different chunks to show based on the ranges to highlight.\n\t\t *\n\t\t * @returns {Array} The chunks\n\t\t */\n\t\tchunks() {\n\t\t\t// If the ranges array is empty, show only one chunk with all text\n\t\t\tif (this.ranges.length === 0) {\n\t\t\t\treturn [{\n\t\t\t\t\tstart: 0,\n\t\t\t\t\tend: this.text.length,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttext: this.text,\n\t\t\t\t}]\n\t\t\t}\n\t\t\t// Calculate the chunks\n\t\t\tconst chunks = []\n\t\t\tlet currentIndex = 0\n\t\t\tlet currentRange = 0\n\t\t\t// Iterate over all characters in the text\n\t\t\twhile (currentIndex < this.text.length) {\n\t\t\t\t// Get the first range to highlight\n\t\t\t\tconst range = this.ranges[currentRange]\n\t\t\t\t// If the range starts at the current index, construct a chunk to highlight,\n\t\t\t\t// set the next range and continue with the next iteration.\n\t\t\t\tif (range.start === currentIndex) {\n\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t...range,\n\t\t\t\t\t\thighlight: true,\n\t\t\t\t\t\ttext: this.text.substr(range.start, range.end - range.start),\n\t\t\t\t\t})\n\t\t\t\t\tcurrentRange++\n\t\t\t\t\tcurrentIndex = range.end\n\t\t\t\t\t// If this was the last range to highlight and we haven't reached the end of the text,\n\t\t\t\t\t// add the rest of the text without highlighting.\n\t\t\t\t\tif (currentRange >= this.ranges.length && currentIndex < this.text.length) {\n\t\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t\tstart: currentIndex,\n\t\t\t\t\t\t\tend: this.text.length,\n\t\t\t\t\t\t\thighlight: false,\n\t\t\t\t\t\t\ttext: this.text.substr(currentIndex, this.text.length - currentIndex),\n\t\t\t\t\t\t})\n\t\t\t\t\t\t// Set the current index so the while loop ends.\n\t\t\t\t\t\tcurrentIndex = this.text.length\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t// If the current range does start after the current index, construct a chunk without\n\t\t\t\t// highlighting and set the current index to the start of the current range.\n\t\t\t\tchunks.push({\n\t\t\t\t\tstart: currentIndex,\n\t\t\t\t\tend: range.start,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttext: this.text.substr(currentIndex, range.start - currentIndex),\n\t\t\t\t})\n\t\t\t\tcurrentIndex = range.start\n\t\t\t}\n\t\t\treturn chunks\n\t\t},\n\t},\n\t/**\n\t * The render function to display the component\n\t *\n\t * @param {Function} createElement The function to create VNodes\n\t * @returns {VNodes} The created VNodes\n\t */\n\trender(createElement) {\n\t\tif (!this.ranges.length) {\n\t\t\treturn createElement('span', {}, this.text)\n\t\t}\n\n\t\treturn createElement('span', {}, this.chunks.map(chunk => {\n\t\t\treturn chunk.highlight ? createElement('strong', {}, chunk.text) : chunk.text\n\t\t}))\n\t},\n}\n</script>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Highlight.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!./Highlight.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./Highlight.vue?vue&type=script&lang=js&\"\nexport * from \"./Highlight.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Highlight.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Highlight from './Highlight'\n\nexport default Highlight\n","import { getGettextBuilder } from '@nextcloud/l10n/dist/gettext'\n\nconst gtBuilder = getGettextBuilder()\n\t.detectLocale()\n\n// Decompress Translations to gettext format and add to gtBuilder\nTRANSLATIONS.forEach((lang) => {\n\tconst translations = {}\n\n\tfor (const key in lang.translations) {\n\t\t// Plural\n\t\tif (lang.translations[key].pluralId) {\n\t\t\ttranslations[key] = {\n\t\t\t\tmsgid: key,\n\t\t\t\tmsgid_plural: lang.translations[key].pluralId,\n\t\t\t\tmsgstr: lang.translations[key].msgstr,\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\t// Singular\n\t\ttranslations[key] = {\n\t\t\tmsgid: key,\n\t\t\tmsgstr: [\n\t\t\t\tlang.translations[key],\n\t\t\t],\n\t\t}\n\t}\n\n\tgtBuilder.addTranslation(lang.locale, {\n\t\ttranslations: {\n\t\t\t'': translations,\n\t\t},\n\t})\n})\n\nconst gt = gtBuilder.build()\n\nconst n = gt.ngettext.bind(gt)\nconst t = gt.gettext.bind(gt)\n\nexport { t, n }\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nimport ___CSS_LOADER_URL_IMPORT_0___ from \"../../assets/status-icons/user-status-online.svg\";\nimport ___CSS_LOADER_URL_IMPORT_1___ from \"../../assets/status-icons/user-status-dnd.svg\";\nimport ___CSS_LOADER_URL_IMPORT_2___ from \"../../assets/status-icons/user-status-away.svg\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".material-design-icon[data-v-583ead48]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-583ead48]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-583ead48]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-583ead48]{cursor:pointer}.avatardiv--with-menu[data-v-583ead48] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu .icon-loading[data-v-583ead48]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-583ead48]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-583ead48],.avatardiv--with-menu:hover .icon-more[data-v-583ead48]{opacity:1}.avatardiv--with-menu:focus img[data-v-583ead48],.avatardiv--with-menu:hover img[data-v-583ead48]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu img[data-v-583ead48]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-583ead48]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-583ead48]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-583ead48]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-583ead48]{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \")}.avatardiv .avatardiv__user-status--dnd[data-v-583ead48]{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-583ead48]{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \")}.avatardiv .avatardiv__user-status--icon[data-v-583ead48]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-583ead48]{position:relative;display:inline-block}.avatar-class-icon[data-v-583ead48]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./Avatar.vue\"],\"names\":[],\"mappings\":\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0kBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,UAAW,CACX,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CA/F/C,4DAmGG,wDAAyE,CAnG5E,yDAsGG,wDAAsE,CACtE,wBAAyB,CAvG5B,0DA0GG,wDAAuE,CA1G1E,0DA6GG,WAAY,CACZ,4BAA6B,CA9GhC,iDAmHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB,+CAAgD,CAChD,WAAY\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more, .icon-loading {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--size);\\n\\t\\t\\theight: var(--size);\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = require(\"escape-html\");","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Originally taken from https://github.com/nextcloud/server/blob/master/core/js/placeholder.js\n */\n\nfunction Color(r, g, b) {\n\tthis.r = r\n\tthis.g = g\n\tthis.b = b\n}\n\nfunction stepCalc(steps, ends) {\n\tconst step = new Array(3)\n\tstep[0] = (ends[1].r - ends[0].r) / steps\n\tstep[1] = (ends[1].g - ends[0].g) / steps\n\tstep[2] = (ends[1].b - ends[0].b) / steps\n\treturn step\n}\n\nfunction mixPalette(steps, color1, color2) {\n\tconst palette = []\n\tpalette.push(color1)\n\tconst step = stepCalc(steps, [color1, color2])\n\tfor (let i = 1; i < steps; i++) {\n\t\tconst r = parseInt(color1.r + step[0] * i, 10)\n\t\tconst g = parseInt(color1.g + step[1] * i, 10)\n\t\tconst b = parseInt(color1.b + step[2] * i, 10)\n\t\tpalette.push(new Color(r, g, b))\n\t}\n\treturn palette\n}\n\n/**\n * Generate colors from the official nextcloud color\n * You can provide how many colors you want (multiplied by 3)\n * if step = 6\n * 3 colors * 6 will result in 18 generated colors\n *\n * @param {number} [steps=6] Number of steps to go from a color to another\n * @returns {Object[]}\n */\nfunction GenColors(steps) {\n\tif (!steps) {\n\t\tsteps = 6\n\t}\n\n\tconst red = new Color(182, 70, 157)\n\tconst yellow = new Color(221, 203, 85)\n\tconst blue = new Color(0, 130, 201) // Nextcloud blue\n\n\tconst palette1 = mixPalette(steps, red, yellow)\n\tconst palette2 = mixPalette(steps, yellow, blue)\n\tconst palette3 = mixPalette(steps, blue, red)\n\n\treturn palette1.concat(palette2).concat(palette3)\n}\n\nexport default GenColors\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default {\n\tprops: {\n\t\t/**\n\t\t * A class-name or an array of class-names\n\t\t * to be ignored when clicking outside\n\t\t * an element\n\t\t */\n\t\texcludeClickOutsideClasses: {\n\t\t\ttype: String | Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Middleware Handler for V-Click-Outside\n\t\t *\n\t\t * @param {Event} event The click event\n\t\t * @returns {Boolean}\n\t\t */\n\t\tclickOutsideMiddleware(event) {\n\t\t\tconst excludedClassList = Array.isArray(this.excludeClickOutsideClasses)\n\t\t\t\t? this.excludeClickOutsideClasses\n\t\t\t\t: [this.excludeClickOutsideClasses]\n\n\t\t\t// No need to iterate through all parents\n\t\t\t// if class-list is empty\n\t\t\tif (excludedClassList.length === 0) {\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\treturn !this.hasNodeOrAnyParentClass(event.target, excludedClassList)\n\t\t},\n\t\t/**\n\t\t * Checks if given node or any of it's parents have a class of classArray\n\t\t *\n\t\t * @param {Element} node Node to test\n\t\t * @param {Array} classArray List of classes to check for\n\t\t * @returns {Boolean}\n\t\t */\n\t\thasNodeOrAnyParentClass(node, classArray) {\n\t\t\tfor (const className of classArray) {\n\t\t\t\tif (node?.classList?.contains(className)) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn !!node.parentElement && this.hasNodeOrAnyParentClass(node.parentElement, classArray)\n\t\t},\n\t},\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tisFullscreen: this._isFullscreen(),\n\t\t}\n\t},\n\tbeforeMount() {\n\t\twindow.addEventListener('resize', this._onResize)\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this._onResize)\n\t},\n\tmethods: {\n\t\t_onResize() {\n\t\t\t// Update fullscreen mode\n\t\t\tthis.isFullscreen = this._isFullscreen()\n\t\t},\n\t\t_isFullscreen() {\n\t\t\t// if the window height is equal to the screen height,\n\t\t\t// we're in full screen mode\n\t\t\treturn window.outerHeight === screen.height\n\t\t},\n\t},\n}\n","module.exports = require(\"@nextcloud/browser-storage\");","export default \"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K\"","module.exports = require(\"v-tooltip\");","export default \"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg==\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"popover__menu\"},_vm._l((_vm.menu),function(item,key){return _c('PopoverMenuItem',{key:key,attrs:{\"item\":item}})}),1)}\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!./PopoverMenuItem.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!./PopoverMenuItem.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li class=\"popover__menuitem\">\n\t\t<!-- If item.href is set, a link will be directly used -->\n\t\t<a v-if=\"item.href\"\n\t\t\t:href=\"(item.href) ? item.href : '#' \"\n\t\t\t:target=\"(item.target) ? item.target : '' \"\n\t\t\t:download=\"item.download\"\n\t\t\tclass=\"focusable\"\n\t\t\trel=\"noreferrer noopener\"\n\t\t\t@click=\"action\">\n\t\t\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\n\t\t\t<img v-else :src=\"item.icon\">\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</a>\n\n\t\t<!-- If item.input is set instead, an put will be used -->\n\t\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\n\t\t\t<!-- does not show if input is checkbox -->\n\t\t\t<span v-if=\"item.input !== 'checkbox'\" :class=\"item.icon\" />\n\n\t\t\t<!-- only shows if input is text -->\n\t\t\t<form v-if=\"item.input === 'text'\"\n\t\t\t\t:class=\"item.input\"\n\t\t\t\t@submit.prevent=\"item.action\">\n\t\t\t\t<input :type=\"item.input\"\n\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t:placeholder=\"item.text\"\n\t\t\t\t\trequired>\n\t\t\t\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\n\t\t\t</form>\n\n\t\t\t<!-- checkbox -->\n\t\t\t<template v-else>\n\t\t\t\t<!-- eslint-disable-next-line -->\n\t\t\t\t<input :id=\"key\" v-model=\"item.model\"\n\t\t\t\t\t:type=\"item.input\"\n\t\t\t\t\t:class=\"item.input\"\n\t\t\t\t\t@change=\"item.action\">\n\t\t\t\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</label>\n\t\t\t</template>\n\t\t</span>\n\n\t\t<!-- If item.action is set instead, a button will be used -->\n\t\t<button v-else-if=\"item.action\"\n\t\t\tclass=\"menuitem focusable\"\n\t\t\t:class=\"{active: item.active}\"\n\t\t\t:disabled=\"item.disabled\"\n\t\t\ttype=\"button\"\n\t\t\t@click.stop.prevent=\"item.action\">\n\t\t\t<span :class=\"item.icon\" />\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</button>\n\n\t\t<!-- If item.longtext is set AND the item does not have an action -->\n\t\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\n\t\t\t<span :class=\"item.icon\" />\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</span>\n\t</li>\n</template>\n\n<script>\nexport default {\n\tname: 'PopoverMenuItem',\n\tprops: {\n\t\titem: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tdefault: () => {\n\t\t\t\treturn {\n\t\t\t\t\tkey: 'nextcloud-link',\n\t\t\t\t\thref: 'https://nextcloud.com',\n\t\t\t\t\ticon: 'icon-links',\n\t\t\t\t\ttext: 'Nextcloud',\n\t\t\t\t}\n\t\t\t},\n\t\t\t// check the input types\n\t\t\t// TODO: add more validation of types\n\t\t\tvalidator: item => {\n\t\t\t\t// TODO: support radio\n\t\t\t\tif (item.input) {\n\t\t\t\t\treturn ['text', 'checkbox'].indexOf(item.input) !== -1\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t},\n\t\t},\n\t},\n\tcomputed: {\n\t\t// random key for inputs binding if not provided\n\t\tkey() {\n\t\t\treturn this.item.key\n\t\t\t\t? this.item.key\n\t\t\t\t: Math.round(Math.random() * 16 * 1000000).toString(16)\n\t\t},\n\t\ticonIsUrl() {\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-new\n\t\t\t\tnew URL(this.item.icon)\n\t\t\t\treturn true\n\t\t\t} catch (_) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\t// allow us to use both link and an action on `a`\n\t\t// we still need to make sure item.action exists\n\t\taction(event) {\n\t\t\tif (this.item.action) {\n\t\t\t\tthis.item.action(event)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style scoped>\n\tbutton.menuitem {\n\t\ttext-align: left;\n\t}\n\n\tbutton.menuitem * {\n\t\tcursor: pointer;\n\t}\n\n\tbutton.menuitem:disabled {\n\t\topacity: 0.5 !important;\n\t\tcursor: default;\n\t}\n\n\tbutton.menuitem:disabled * {\n\t\tcursor: default;\n\t}\n\n\t.menuitem.active {\n\t\tbox-shadow: inset 2px 0 var(--color-primary);\n\t\tborder-radius: 0;\n\t}\n</style>\n\n<style lang=\"scss\" scoped>\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'],\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^='icon-']):not([class*='icon-']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^='icon-']):not([class*='icon-']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $icon-size;\n\t\t\tpadding: $icon-margin;\n\t\t}\n\n\t\t/* checkbox/radio fixes */\n\t\t> input.radio + label,\n\t\t> input.checkbox + label {\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t> input.checkbox + label::before {\n\t\t\tmargin: -2px 13px 0;\n\t\t}\n\t\t> input.radio + label::before {\n\t\t\tmargin: -2px 12px 0;\n\t\t}\n\t\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\n\t\t\twidth: 150px;\n\t\t}\n\n\t\t// Forms & text inputs\n\t\tform {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\t/* put a small space between text and form\n\t\t\t\tif there is an element before */\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t/* no margin if hidden span before */\n\t\t> span.hidden + form,\n\t\t> span[style*='display:none'] + form {\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t/* Inputs inside popover supports text, submit & reset */\n\t\tinput {\n\t\t\tmin-width: $clickable-area;\n\t\t\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\n\t\t\tmargin: 2px 0;\n\t\t\tflex: 1 1 auto;\n\t\t\t// space between inline inputs\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: do that in js, should be cleaner\n\t/* css hack, only first not hidden */\n\t&:not(.hidden):not([style*='display:none']) {\n\t\t&:first-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-top: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:last-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-bottom: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t> button {\n\t\tpadding: 0;\n\t\tspan {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n}\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=0&id=54983729&scoped=true&lang=css&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=1&id=54983729&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.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!./PopoverMenu.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n\tThis component is deprecated. Please use the [Actions](#/Components?id=actions-1) component instead.\n</docs>\n\n<template>\n\t<ul class=\"popover__menu\">\n\t\t<PopoverMenuItem v-for=\"(item, key) in menu\" :key=\"key\" :item=\"item\" />\n\t</ul>\n</template>\n\n<script>\nimport PopoverMenuItem from './PopoverMenuItem'\n\nexport default {\n\tname: 'PopoverMenu',\n\tcomponents: {\n\t\tPopoverMenuItem,\n\t},\n\tprops: {\n\t\tmenu: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => {\n\t\t\t\treturn [{\n\t\t\t\t\thref: 'https://nextcloud.com',\n\t\t\t\t\ticon: 'icon-links',\n\t\t\t\t\ttext: 'Nextcloud',\n\t\t\t\t}]\n\t\t\t},\n\t\t\trequired: true,\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nul {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n</style>\n","import { render, staticRenderFns } from \"./PopoverMenuItem.vue?vue&type=template&id=54983729&scoped=true&\"\nimport script from \"./PopoverMenuItem.vue?vue&type=script&lang=js&\"\nexport * from \"./PopoverMenuItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PopoverMenuItem.vue?vue&type=style&index=0&id=54983729&scoped=true&lang=css&\"\nimport style1 from \"./PopoverMenuItem.vue?vue&type=style&index=1&id=54983729&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 \"54983729\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"popover__menuitem\"},[(_vm.item.href)?_c('a',{staticClass:\"focusable\",attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#',\"target\":(_vm.item.target) ? _vm.item.target : '',\"download\":_vm.item.download,\"rel\":\"noreferrer noopener\"},on:{\"click\":_vm.action}},[(!_vm.iconIsUrl)?_c('span',{class:_vm.item.icon}):_c('img',{attrs:{\"src\":_vm.item.icon}}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()]):(_vm.item.input)?_c('span',{staticClass:\"menuitem\",class:{active: _vm.item.active}},[(_vm.item.input !== 'checkbox')?_c('span',{class:_vm.item.icon}):_vm._e(),_vm._v(\" \"),(_vm.item.input === 'text')?_c('form',{class:_vm.item.input,on:{\"submit\":function($event){$event.preventDefault();return _vm.item.action($event)}}},[_c('input',{attrs:{\"type\":_vm.item.input,\"placeholder\":_vm.item.text,\"required\":\"\"},domProps:{\"value\":_vm.item.value}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]):[((_vm.item.input)==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.item.model)?_vm._i(_vm.item.model,null)>-1:(_vm.item.model)},on:{\"change\":[function($event){var $$a=_vm.item.model,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.item, \"model\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.item, \"model\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.item, \"model\", $$c)}},_vm.item.action]}}):((_vm.item.input)==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.item.model,null)},on:{\"change\":[function($event){return _vm.$set(_vm.item, \"model\", null)},_vm.item.action]}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":_vm.item.input},domProps:{\"value\":(_vm.item.model)},on:{\"change\":_vm.item.action,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.item, \"model\", $event.target.value)}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.key},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.item.action($event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")])]],2):(_vm.item.action)?_c('button',{staticClass:\"menuitem focusable\",class:{active: _vm.item.active},attrs:{\"disabled\":_vm.item.disabled,\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.item.action($event)}}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()]):_c('span',{staticClass:\"menuitem\",class:{active: _vm.item.active}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=style&index=0&id=4dae360a&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./PopoverMenu.vue?vue&type=template&id=4dae360a&scoped=true&\"\nimport script from \"./PopoverMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./PopoverMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PopoverMenu.vue?vue&type=style&index=0&id=4dae360a&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 \"4dae360a\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./PopoverMenu.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport PopoverMenu from './PopoverMenu'\n\nexport default PopoverMenu\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\n\t\t'avatardiv--unknown': _vm.userDoesNotExist,\n\t\t'avatardiv--with-menu': _vm.hasMenu\n\t},style:(_vm.avatarStyle),attrs:{\"tabindex\":_vm.disableMenu ? '-1' : '0',\"aria-label\":_vm.avatarAriaLabel,\"role\":_vm.disableMenu ? '' : 'button'},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.toggleMenu($event)}}},!_vm.disableMenu ? { click: _vm.toggleMenu } : {}),[(_vm.iconClass)?_c('div',{staticClass:\"avatar-class-icon\",class:_vm.iconClass}):(_vm.isAvatarLoaded && !_vm.userDoesNotExist)?_c('img',{attrs:{\"src\":_vm.avatarUrlLoaded,\"srcset\":_vm.avatarSrcSetLoaded,\"alt\":\"\"}}):_vm._e(),_vm._v(\" \"),(_vm.hasMenu)?_c('Popover',{attrs:{\"placement\":\"auto\",\"container\":_vm.menuContainer,\"open\":_vm.contactsMenuOpenState},on:{\"after-show\":_vm.handlePopoverAfterShow,\"after-hide\":_vm.handlePopoverAfterHide},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [(_vm.contactsMenuLoading)?_c('div',{staticClass:\"icon-loading\"}):_c('DotsHorizontal',{staticClass:\"icon-more\",attrs:{\"size\":24,\"title\":\"\",\"decorative\":\"\"}})]},proxy:true}],null,false,3277751148)},[_c('PopoverMenu',{ref:\"popoverMenu\",attrs:{\"menu\":_vm.menu}})],1):_vm._e(),_vm._v(\" \"),(_vm.showUserStatusIconOnAvatar)?_c('div',{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.userStatus.icon)+\"\\n\\t\")]):(_vm.canDisplayUserStatus)?_c('div',{staticClass:\"avatardiv__user-status\",class:'avatardiv__user-status--' + _vm.userStatus.status}):_vm._e(),_vm._v(\" \"),(_vm.userDoesNotExist && !_vm.iconClass)?_c('div',{staticClass:\"unknown\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.initials)+\"\\n\\t\")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n\n### Basic user avatar\n\n```vue\n\t<avatar user=\"janedoe\" display-name=\"Jane Doe\" />\n```\n\n### Avatar with image\n\n```vue\n\t<avatar url=\"https://nextcloud.com/wp-content/themes/next/assets/img/common/nextcloud-square-logo.png\" />\n```\n\n</docs>\n<template>\n\t<div\n\t\tref=\"main\"\n\t\tv-tooltip=\"tooltip\"\n\t\tv-click-outside=\"closeMenu\"\n\t\t:class=\"{\n\t\t\t'avatardiv--unknown': userDoesNotExist,\n\t\t\t'avatardiv--with-menu': hasMenu\n\t\t}\"\n\t\t:style=\"avatarStyle\"\n\t\tclass=\"avatardiv popovermenu-wrapper\"\n\t\t:tabindex=\"disableMenu ? '-1' : '0'\"\n\t\t:aria-label=\"avatarAriaLabel\"\n\t\t:role=\"disableMenu ? '' : 'button'\"\n\t\tv-on=\"!disableMenu ? { click: toggleMenu } : {}\"\n\t\t@keydown.enter=\"toggleMenu\">\n\t\t<!-- Avatar icon or image -->\n\t\t<div v-if=\"iconClass\" :class=\"iconClass\" class=\"avatar-class-icon\" />\n\t\t<img v-else-if=\"isAvatarLoaded && !userDoesNotExist\"\n\t\t\t:src=\"avatarUrlLoaded\"\n\t\t\t:srcset=\"avatarSrcSetLoaded\"\n\t\t\talt=\"\">\n\n\t\t<!-- Contact menu -->\n\t\t<Popover\n\t\t\tv-if=\"hasMenu\"\n\t\t\tplacement=\"auto\"\n\t\t\t:container=\"menuContainer\"\n\t\t\t:open=\"contactsMenuOpenState\"\n\t\t\t@after-show=\"handlePopoverAfterShow\"\n\t\t\t@after-hide=\"handlePopoverAfterHide\">\n\t\t\t<PopoverMenu ref=\"popoverMenu\" :menu=\"menu\" />\n\t\t\t<template #trigger>\n\t\t\t\t<div v-if=\"contactsMenuLoading\" class=\"icon-loading\" />\n\t\t\t\t<DotsHorizontal v-else\n\t\t\t\t\t:size=\"24\"\n\t\t\t\t\tclass=\"icon-more\"\n\t\t\t\t\ttitle=\"\"\n\t\t\t\t\tdecorative />\n\t\t\t</template>\n\t\t</Popover>\n\n\t\t<!-- Avatar status -->\n\t\t<div v-if=\"showUserStatusIconOnAvatar\" class=\"avatardiv__user-status avatardiv__user-status--icon\">\n\t\t\t{{ userStatus.icon }}\n\t\t</div>\n\t\t<div v-else-if=\"canDisplayUserStatus\"\n\t\t\tclass=\"avatardiv__user-status\"\n\t\t\t:class=\"'avatardiv__user-status--' + userStatus.status\" />\n\n\t\t<!-- Show the letter if no avatar nor icon class -->\n\t\t<div v-if=\"userDoesNotExist && !iconClass\" class=\"unknown\">\n\t\t\t{{ initials }}\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport DotsHorizontal from 'vue-material-design-icons/DotsHorizontal'\n\nimport { directive as ClickOutside } from 'v-click-outside'\nimport { generateUrl } from '@nextcloud/router'\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport axios from '@nextcloud/axios'\n\nimport PopoverMenu from '../PopoverMenu'\nimport Tooltip from '../../directives/Tooltip'\nimport usernameToColor from '../../functions/usernameToColor'\nimport { userStatus } from '../../mixins'\nimport { t } from '../../l10n'\nimport Popover from '../Popover/Popover'\n\nconst browserStorage = getBuilder('nextcloud').persist().build()\n\nfunction getUserHasAvatar(userId) {\n\tconst flag = browserStorage.getItem('user-has-avatar.' + userId)\n\tif (typeof flag === 'string') {\n\t\treturn Boolean(flag)\n\t}\n\treturn null\n}\n\nfunction setUserHasAvatar(userId, flag) {\n\tif (userId) {\n\t\tbrowserStorage.setItem('user-has-avatar.' + userId, flag)\n\t}\n}\n\nexport default {\n\tname: 'Avatar',\n\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t\tClickOutside,\n\t},\n\tcomponents: {\n\t\tDotsHorizontal,\n\t\tPopover,\n\t\tPopoverMenu,\n\t},\n\tmixins: [userStatus],\n\tprops: {\n\t\t/**\n\t\t * Set a custom url to the avatar image\n\t\t * either the url, user or displayName property must be defined\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set a css icon-class for an icon to be used instead of the avatar.\n\t\t */\n\t\ticonClass: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set the user id to fetch the avatar\n\t\t * either the url, user or displayName property must be defined\n\t\t */\n\t\tuser: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Whether or not to display the user-status\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Whether or not to the status-icon should be used instead of online/away\n\t\t */\n\t\tshowUserStatusCompact: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * When the user status was preloaded via another source it can be handed in with this property to save the request.\n\t\t * If this property is not set the status will be fetched automatically.\n\t\t * If a preloaded no-status is available provide this object with properties \"status\", \"icon\" and \"message\" set to null.\n\t\t */\n\t\tpreloadedUserStatus: {\n\t\t\ttype: Object,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Is the user a guest user (then we have to user a different endpoint)\n\t\t */\n\t\tisGuest: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Set a display name that will be rendered as a tooltip\n\t\t * either the url, user or displayName property must be defined\n\t\t * specify just the displayname to generate a placeholder avatar without\n\t\t * trying to fetch the avatar based on the user id\n\t\t */\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set a size in px for the rendered avatar\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 32,\n\t\t},\n\t\t/**\n\t\t * Placeholder avatars will be automatically generated when this is set to true\n\t\t */\n\t\tallowPlaceholder: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Disable the tooltip\n\t\t */\n\t\tdisableTooltip: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Disable the menu\n\t\t */\n\t\tdisableMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Declares a custom tooltip when not null\n\t\t * Fallback will be the displayName\n\t\t *\n\t\t * requires disableTooltip not to be set to true\n\t\t */\n\t\ttooltipMessage: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Declares username is not a user's name, when true.\n\t\t * Prevents loading user's avatar from server and forces generating colored initials,\n\t\t * i.e. if the user is a group\n\t\t */\n\t\tisNoUser: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Choose the avatar menu alignment.\n\t\t * Possible values are `left`, `center`, `right`.\n\t\t */\n\t\tmenuPosition: {\n\t\t\ttype: String,\n\t\t\tdefault: 'center',\n\t\t},\n\n\t\t/**\n\t\t * Selector for the popover menu container\n\t\t */\n\t\tmenuContainer: {\n\t\t\ttype: String,\n\t\t\tdefault: 'body',\n\t\t},\n\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tavatarUrlLoaded: null,\n\t\t\tavatarSrcSetLoaded: null,\n\t\t\tuserDoesNotExist: false,\n\t\t\tisAvatarLoaded: false,\n\t\t\tisMenuLoaded: false,\n\t\t\tcontactsMenuLoading: false,\n\t\t\tcontactsMenuActions: [],\n\t\t\tcontactsMenuOpenState: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tavatarAriaLabel() {\n\t\t\tif (this.ariaLabel !== null) {\n\t\t\t\treturn this.ariaLabel\n\t\t\t}\n\n\t\t\treturn t('Avatar of {displayName}', { displayName: this.displayName || this.userId })\n\t\t},\n\n\t\tcanDisplayUserStatus() {\n\t\t\treturn this.showUserStatus\n\t\t\t\t&& this.hasStatus\n\t\t\t\t&& ['online', 'away', 'dnd'].includes(this.userStatus.status)\n\t\t},\n\t\tshowUserStatusIconOnAvatar() {\n\t\t\treturn this.showUserStatus\n\t\t\t\t&& this.showUserStatusCompact\n\t\t\t\t&& this.hasStatus\n\t\t\t\t&& this.userStatus.status !== 'dnd'\n\t\t\t\t&& this.userStatus.icon\n\t\t},\n\t\tgetUserIdentifier() {\n\t\t\tif (this.isDisplayNameDefined) {\n\t\t\t\treturn this.displayName\n\t\t\t}\n\t\t\tif (this.isUserDefined) {\n\t\t\t\treturn this.user\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\tisUserDefined() {\n\t\t\treturn typeof this.user !== 'undefined'\n\t\t},\n\t\tisDisplayNameDefined() {\n\t\t\treturn typeof this.displayName !== 'undefined'\n\t\t},\n\t\tisUrlDefined() {\n\t\t\treturn typeof this.url !== 'undefined'\n\t\t},\n\t\thasMenu() {\n\t\t\tif (this.disableMenu) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.isMenuLoaded) {\n\t\t\t\treturn this.menu.length > 0\n\t\t\t}\n\t\t\treturn !(this.user === getCurrentUser()?.uid || this.userDoesNotExist || this.url)\n\t\t},\n\t\tshouldShowPlaceholder() {\n\t\t\treturn this.allowPlaceholder && (\n\t\t\t\tthis.userDoesNotExist)\n\t\t},\n\t\tavatarStyle() {\n\t\t\tconst style = {\n\t\t\t\t'--size': this.size + 'px',\n\t\t\t\tlineHeight: this.size + 'px',\n\t\t\t\tfontSize: Math.round(this.size * 0.55) + 'px',\n\t\t\t}\n\n\t\t\tif (!this.iconClass && !this.avatarSrcSetLoaded) {\n\t\t\t\tconst rgb = usernameToColor(this.getUserIdentifier)\n\t\t\t\tstyle.backgroundColor = 'rgb(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ')'\n\t\t\t}\n\t\t\treturn style\n\t\t},\n\t\ttooltip() {\n\t\t\tif (this.disableTooltip) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.tooltipMessage) {\n\t\t\t\treturn this.tooltipMessage\n\t\t\t}\n\n\t\t\treturn this.displayName\n\t\t},\n\t\tinitials() {\n\t\t\tlet initials\n\t\t\tif (this.shouldShowPlaceholder) {\n\t\t\t\tconst user = this.getUserIdentifier\n\t\t\t\tconst idx = user.indexOf(' ')\n\t\t\t\tif (user === '') {\n\t\t\t\t\tinitials = '?'\n\t\t\t\t} else {\n\t\t\t\t\tinitials = String.fromCodePoint(user.codePointAt(0))\n\t\t\t\t\tif (idx !== -1) {\n\t\t\t\t\t\tinitials = initials.concat(String.fromCodePoint(user.codePointAt(idx + 1)))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn initials.toUpperCase()\n\t\t},\n\t\tmenu() {\n\t\t\tconst actions = this.contactsMenuActions.map((item) => {\n\t\t\t\treturn {\n\t\t\t\t\thref: item.hyperlink,\n\t\t\t\t\ticon: item.icon,\n\t\t\t\t\tlongtext: item.title,\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tfunction escape(html) {\n\t\t\t\tconst text = document.createTextNode(html)\n\t\t\t\tconst p = document.createElement('p')\n\t\t\t\tp.appendChild(text)\n\t\t\t\treturn p.innerHTML\n\t\t\t}\n\n\t\t\tif (this.showUserStatus && (this.userStatus.icon || this.userStatus.message)) {\n\t\t\t\treturn [{\n\t\t\t\t\thref: '#',\n\t\t\t\t\ticon: `data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>${escape(this.userStatus.icon)}</text></svg>`,\n\t\t\t\t\ttext: `${this.userStatus.message}`,\n\t\t\t\t}].concat(actions)\n\t\t\t}\n\n\t\t\treturn actions\n\t\t},\n\t},\n\n\twatch: {\n\t\turl() {\n\t\t\tthis.userDoesNotExist = false\n\t\t\tthis.loadAvatarUrl()\n\t\t},\n\t\tuser() {\n\t\t\tthis.userDoesNotExist = false\n\t\t\tthis.isMenuLoaded = false\n\t\t\tthis.loadAvatarUrl()\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.loadAvatarUrl()\n\t\tif (this.showUserStatus && this.user && !this.isNoUser) {\n\t\t\tif (!this.preloadedUserStatus) {\n\t\t\t\tthis.fetchUserStatus(this.user)\n\t\t\t} else {\n\t\t\t\tthis.userStatus.status = this.preloadedUserStatus.status || ''\n\t\t\t\tthis.userStatus.message = this.preloadedUserStatus.message || ''\n\t\t\t\tthis.userStatus.icon = this.preloadedUserStatus.icon || ''\n\t\t\t\tthis.hasStatus = this.preloadedUserStatus.status !== null\n\t\t\t}\n\t\t\tsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t\t}\n\t},\n\n\tbeforeDestroyed() {\n\t\tif (this.showUserStatus && this.user && !this.isNoUser) {\n\t\t\tunsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t\t}\n\t},\n\n\tmethods: {\n\t\thandlePopoverAfterShow() {\n\t\t\tconst links = this.$refs.popoverMenu.$el.getElementsByTagName('a')\n\t\t\tif (links.length) {\n\t\t\t\tlinks[0].focus()\n\t\t\t}\n\t\t},\n\t\thandlePopoverAfterHide() {\n\t\t\t// bring focus back to the trigger\n\t\t\tthis.$refs.main.focus()\n\t\t},\n\t\thandleUserStatusUpdated(state) {\n\t\t\tif (this.user === state.userId) {\n\t\t\t\tthis.userStatus = {\n\t\t\t\t\tstatus: state.status,\n\t\t\t\t\ticon: state.icon,\n\t\t\t\t\tmessage: state.message,\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tasync toggleMenu() {\n\t\t\tif (!this.hasMenu) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (!this.contactsMenuOpenState) {\n\t\t\t\tawait this.fetchContactsMenu()\n\t\t\t}\n\t\t\tthis.contactsMenuOpenState = !this.contactsMenuOpenState\n\t\t},\n\t\tcloseMenu() {\n\t\t\tthis.contactsMenuOpenState = false\n\t\t},\n\t\tasync fetchContactsMenu() {\n\t\t\tthis.contactsMenuLoading = true\n\t\t\ttry {\n\t\t\t\tconst user = encodeURIComponent(this.user)\n\t\t\t\tconst { data } = await axios.post(generateUrl('contactsmenu/findOne'), `shareType=0&shareWith=${user}`)\n\t\t\t\tthis.contactsMenuActions = data.topAction ? [data.topAction].concat(data.actions) : data.actions\n\t\t\t} catch (e) {\n\t\t\t\tthis.contactsMenuOpenState = false\n\t\t\t}\n\t\t\tthis.contactsMenuLoading = false\n\t\t\tthis.isMenuLoaded = true\n\t\t},\n\n\t\t/**\n\t\t * Handle avatar loading if user or url defined\n\t\t */\n\t\tloadAvatarUrl() {\n\t\t\tthis.isAvatarLoaded = false\n\n\t\t\t/** Only run avatar image loading if either user or url property is defined */\n\t\t\tif (!this.isUrlDefined && (!this.isUserDefined || this.isNoUser)) {\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Directly use the url if defined\n\t\t\tif (this.isUrlDefined) {\n\t\t\t\tthis.updateImageIfValid(this.url)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst avatarUrl = this.avatarUrlGenerator(this.user, this.size)\n\t\t\tconst srcset = [\n\t\t\t\tavatarUrl + ' 1x',\n\t\t\t\tthis.avatarUrlGenerator(this.user, this.size * 2) + ' 2x',\n\t\t\t\tthis.avatarUrlGenerator(this.user, this.size * 4) + ' 4x',\n\t\t\t].join(', ')\n\n\t\t\tthis.updateImageIfValid(avatarUrl, srcset)\n\t\t},\n\n\t\t/**\n\t\t * Generate an avatar url from the server's avatar endpoint\n\t\t *\n\t\t * @param {string} user the user id\n\t\t * @param {number} size the desired size\n\t\t * @returns {string}\n\t\t */\n\t\tavatarUrlGenerator(user, size) {\n\t\t\tlet url = '/avatar/{user}/{size}'\n\t\t\tif (this.isGuest) {\n\t\t\t\turl = '/avatar/guest/{user}/{size}'\n\t\t\t}\n\n\t\t\tlet avatarUrl = generateUrl(\n\t\t\t\turl,\n\t\t\t\t{\n\t\t\t\t\tuser,\n\t\t\t\t\tsize,\n\t\t\t\t})\n\n\t\t\t// eslint-disable-next-line camelcase\n\t\t\tif (user === getCurrentUser()?.uid && typeof oc_userconfig !== 'undefined') {\n\t\t\t\tavatarUrl += '?v=' + oc_userconfig.avatar.version\n\t\t\t}\n\n\t\t\treturn avatarUrl\n\t\t},\n\n\t\t/**\n\t\t * Check if the provided url is valid and update Avatar if so\n\t\t *\n\t\t * @param {string} url the avatar url\n\t\t * @param {array} srcset the avatar srcset\n\t\t */\n\t\tupdateImageIfValid(url, srcset = null) {\n\t\t\t// skip loading\n\t\t\tconst userHasAvatar = getUserHasAvatar(this.user)\n\t\t\tif (this.isUserDefined && typeof userHasAvatar === 'boolean') {\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\tthis.avatarUrlLoaded = url\n\t\t\t\tif (srcset) {\n\t\t\t\t\tthis.avatarSrcSetLoaded = srcset\n\t\t\t\t}\n\t\t\t\tif (userHasAvatar === false) {\n\t\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst img = new Image()\n\t\t\timg.onload = () => {\n\t\t\t\tthis.avatarUrlLoaded = url\n\t\t\t\tif (srcset) {\n\t\t\t\t\tthis.avatarSrcSetLoaded = srcset\n\t\t\t\t}\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\t// re-get to avoid concurrent access\n\t\t\t\tsetUserHasAvatar(this.user, true)\n\t\t\t}\n\t\t\timg.onerror = () => {\n\t\t\t\tconsole.debug('Invalid avatar url', url)\n\t\t\t\t// Avatar is invalid, reset\n\t\t\t\tthis.avatarUrlLoaded = null\n\t\t\t\tthis.avatarSrcSetLoaded = null\n\n\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\tthis.isAvatarLoaded = false\n\t\t\t\tsetUserHasAvatar(this.user, false)\n\t\t\t}\n\n\t\t\tif (srcset) {\n\t\t\t\timg.srcset = srcset\n\t\t\t}\n\t\t\timg.src = url\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.avatardiv {\n\tposition: relative;\n\tdisplay: inline-block;\n\twidth: var(--size);\n\theight: var(--size);\n\n\t&--unknown {\n\t\tposition: relative;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t}\n\n\t&:not(&--unknown) {\n\t\t// White background for avatars with transparency\n\t\tbackground-color: #fff !important;\n\t\tbody.theme--dark & {\n\t\t\t// And black background in dark mode, as it shines through on hover of the menu\n\t\t\tbackground-color: #000 !important;\n\t\t}\n\t\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\n\t}\n\n\t&--with-menu {\n\t\tcursor: pointer;\n\t\t::v-deep .trigger {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\t.icon-more, .icon-loading {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\twidth: var(--size);\n\t\t\theight: var(--size);\n\t\t\tcursor: pointer;\n\t\t\tbackground: none;\n\t\t}\n\t\t.icon-more {\n\t\t\topacity: 0;\n\t\t}\n\t\t&:focus,\n\t\t&:hover {\n\t\t\t.icon-more {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\timg {\n\t\t\t\topacity: 0.3;\n\t\t\t}\n\t\t}\n\t\t.icon-more,\n\t\timg {\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t}\n\t}\n\n\t> .unknown {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttext-align: center;\n\t\tfont-weight: normal;\n\t\tcolor: var(--color-main-background);\n\t}\n\n\timg {\n\t\t// Cover entire area\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\t// Keep ratio\n\t\tobject-fit: cover;\n\t}\n\n\t.avatardiv__user-status {\n\t\tposition: absolute;\n\t\tright: -4px;\n\t\tbottom: -4px;\n\t\theight: 18px;\n\t\twidth: 18px;\n\t\tline-height: 15px;\n\t\tfont-size: var(--default-font-size);\n\t\tborder: 2px solid var(--color-main-background);\n\t\tbackground-color: var(--color-main-background);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: 16px;\n\t\tbackground-position: center;\n\t\tborder-radius: 50%;\n\n\t\t.acli:hover & {\n\t\t\tborder-color: var(--color-background-hover);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t\t.acli.active & {\n\t\t\tborder-color: var(--color-primary-light);\n\t\t\tbackground-color: var(--color-primary-light);\n\t\t}\n\n\t\t&--online{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\n\t\t}\n\t\t&--dnd{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\n\t\t\tbackground-color: #ffffff;\n\t\t}\n\t\t&--away{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\n\t\t}\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t.popovermenu-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n}\n\n.avatar-class-icon {\n\tborder-radius: 50%;\n\tbackground-color: var(--color-background-darker);\n\theight: 100%;\n}\n\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.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!./Avatar.vue?vue&type=script&lang=js&\"","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=style&index=0&id=583ead48&scoped=true&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./Avatar.vue?vue&type=template&id=583ead48&scoped=true&\"\nimport script from \"./Avatar.vue?vue&type=script&lang=js&\"\nexport * from \"./Avatar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Avatar.vue?vue&type=style&index=0&id=583ead48&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 \"583ead48\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Avatar.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Avatar from './Avatar'\n\nexport default Avatar\n","module.exports = require(\"md5\");","module.exports = require(\"@nextcloud/capabilities\");","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport md5 from 'md5'\nimport GenColors from '../../utils/GenColors'\n\n/**\n * Originally taken from https://github.com/nextcloud/server/blob/master/core/js/placeholder.js\n * @param {string} username Display name or user id to generate from\n * @returns {Object} the rgb colors as {r:255, g:255, b:255}\n */\nconst usernameToColor = function(username) {\n\t// Normalize hash\n\tlet hash = username.toLowerCase()\n\n\t// Already a md5 hash?\n\tif (hash.match(/^([0-9a-f]{4}-?){8}$/) === null) {\n\t\thash = md5(hash)\n\t}\n\n\thash = hash.replace(/[^0-9a-f]/g, '')\n\n\tconst steps = 6\n\tconst finalPalette = GenColors(steps)\n\n\t// Convert a string to an integer evenly\n\tfunction hashToInt(hash, maximum) {\n\t\tlet finalInt = 0\n\t\tconst result = []\n\n\t\t// Splitting evenly the string\n\t\tfor (let i = 0; i < hash.length; i++) {\n\t\t\t// chars in md5 goes up to f, hex:16\n\t\t\tresult.push(parseInt(hash.charAt(i), 16) % 16)\n\t\t}\n\n\t\t// Adds up all results\n\t\tfor (const j in result) {\n\t\t\tfinalInt += result[j]\n\t\t}\n\n\t\t// chars in md5 goes up to f, hex:16\n\t\t// make sure we're always using int in our operation\n\t\treturn parseInt(parseInt(finalInt, 10) % maximum, 10)\n\t}\n\treturn finalPalette[hashToInt(hash, steps * 3)]\n}\n\nexport default usernameToColor\n","/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport usernameToColor from './usernameToColor'\n\nexport default usernameToColor\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".material-design-icon[data-v-28d338d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-28d338d4]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-28d338d4]{margin-right:var(--margin)}.option__details[data-v-28d338d4]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-28d338d4]{color:var(--color-text-light)}.option__linetwo[data-v-28d338d4]{opacity:.7}.option__lineone[data-v-28d338d4],.option__linetwo[data-v-28d338d4]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-28d338d4],.option__linetwo strong[data-v-28d338d4]{font-weight:bold}.option__icon[data-v-28d338d4]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./ListItemIcon.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgOxB,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UCnNiB,CDoNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aCnPmB,CDoPnB,UCpPmB,CDqPnB,WCrPmB,CDsPnB,UCrOmB,CDsOnB,0BAA2B,CAC3B,oBAAqB\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\t&__linetwo {\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = require(\"vue\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".material-design-icon[data-v-f855c4b8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-f855c4b8]{display:flex;max-width:100%}.name-parts__first[data-v-f855c4b8]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f855c4b8],.name-parts__last[data-v-f855c4b8]{white-space:pre}.name-parts__first strong[data-v-f855c4b8],.name-parts__last strong[data-v-f855c4b8]{font-weight:bold}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./EllipsisedOption.vue\"],\"names\":[],\"mappings\":\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqHxB,6BACC,YAAa,CACb,cAAe,CACf,oCACC,eAAgB,CAChB,sBAAuB,CACvB,uEAIA,eAAgB,CAHhB,qFAKC,gBAAiB\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VueMultiselect',_vm._g(_vm._b({ref:\"VueMultiselect\",class:[\n\t\t{\n\t\t\t'icon-loading-small': _vm.loading\n\t\t},\n\t\t_vm.multiple ? 'multiselect--multiple': 'multiselect--single'\n\t],attrs:{\"options\":_vm.options,\"limit\":_vm.maxOptions,\"close-on-select\":!_vm.multiple,\"multiple\":_vm.multiple,\"label\":_vm.label,\"track-by\":_vm.trackBy,\"tag-placeholder\":\"create\"},scopedSlots:_vm._u([{key:\"option\",fn:function(scope){return [(_vm.userSelect && !_vm.$scopedSlots['option'])?_c('ListItemIcon',_vm._b({attrs:{\"title\":scope.option[_vm.label],\"search\":scope.search}},'ListItemIcon',scope.option,false)):(!_vm.$scopedSlots['option'])?_c('EllipsisedOption',{attrs:{\"name\":_vm.getOptionLabel(scope.option),\"option\":scope.option,\"search\":scope.search,\"label\":_vm.label}}):_vm._t(\"option\",null,null,scope)]}},(_vm.multiple)?{key:\"limit\",fn:function(){return [_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.formatLimitTitle(_vm.value)),expression:\"formatLimitTitle(value)\",modifiers:{\"auto\":true}}],staticClass:\"multiselect__limit\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.limitString)+\"\\n\\t\\t\")])]},proxy:true}:null,_vm._l((_vm.$scopedSlots),function(_,slot){return {key:slot,fn:function(scope){return [_vm._t(slot,null,null,scope)]}}}),{key:\"noResult\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.t('No results')))])]},proxy:true}],null,true),model:{value:(_vm.localValue),callback:function ($$v) {_vm.localValue=$$v},expression:\"localValue\"}},'VueMultiselect',_vm.$attrs,false),_vm.$listeners))}\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!./EllipsisedOption.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!./EllipsisedOption.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div class=\"name-parts\" :title=\"name\">\n\t\t<Highlight\n\t\t\tclass=\"name-parts__first\"\n\t\t\t:text=\"part1\"\n\t\t\t:search=\"search\"\n\t\t\t:highlight=\"highlight1\" />\n\t\t<Highlight\n\t\t\tv-if=\"part2\"\n\t\t\tclass=\"name-parts__last\"\n\t\t\t:text=\"part2\"\n\t\t\t:search=\"search\"\n\t\t\t:highlight=\"highlight2\" />\n\t</div>\n</template>\n<script>\nimport Highlight from '../Highlight'\nimport FindRanges from '../../utils/FindRanges'\n\nexport default {\n\tname: 'EllipsisedOption',\n\n\tcomponents: {\n\t\tHighlight,\n\t},\n\n\tprops: {\n\t\toption: {\n\t\t\ttype: [String, Object],\n\t\t\trequired: true,\n\t\t\tdefault: '',\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tneedsTruncate() {\n\t\t\treturn this.name && this.name.length >= 10\n\t\t},\n\t\t/**\n\t\t * Index at which to split the name if it is longer than 10 characters.\n\t\t *\n\t\t * @returns {Integer} The position at which to split\n\t\t */\n\t\tsplit() {\n\t\t\t// leave maximum 10 letters\n\t\t\treturn this.name.length - Math.min(Math.floor(this.name.length / 2), 10)\n\t\t},\n\t\tpart1() {\n\t\t\tif (this.needsTruncate) {\n\t\t\t\treturn this.name.substr(0, this.split)\n\t\t\t}\n\t\t\treturn this.name\n\t\t},\n\t\tpart2() {\n\t\t\tif (this.needsTruncate) {\n\t\t\t\treturn this.name.substr(this.split)\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\t/**\n\t\t * The ranges to highlight. Since we split the string for ellipsising,\n\t\t * the Highlight component cannot figure this out itself and needs the ranges provided.\n\t\t *\n\t\t * @returns {Array} The array with the ranges to highlight\n\t\t */\n\t\thighlight1() {\n\t\t\tif (!this.search) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn FindRanges(this.name, this.search)\n\t\t},\n\t\t/**\n\t\t * We shift the ranges for the second part by the position of the split.\n\t\t * Ranges out of the string length are discarded by the Highlight component,\n\t\t * so we don't need to take care of this here.\n\t\t *\n\t\t * @returns {Array} The array with the ranges to highlight\n\t\t */\n\t\thighlight2() {\n\t\t\treturn this.highlight1.map(range => {\n\t\t\t\treturn {\n\t\t\t\t\tstart: range.start - this.split,\n\t\t\t\t\tend: range.end - this.split,\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.name-parts {\n\tdisplay: flex;\n\tmax-width: 100%;\n\t&__first {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\t&__first,\n\t&__last {\n\t\t// prevent whitespace from being trimmed\n\t\twhite-space: pre;\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n}\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EllipsisedOption.vue?vue&type=style&index=0&id=f855c4b8&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./EllipsisedOption.vue?vue&type=template&id=f855c4b8&scoped=true&\"\nimport script from \"./EllipsisedOption.vue?vue&type=script&lang=js&\"\nexport * from \"./EllipsisedOption.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EllipsisedOption.vue?vue&type=style&index=0&id=f855c4b8&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 \"f855c4b8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"name-parts\",attrs:{\"title\":_vm.name}},[_c('Highlight',{staticClass:\"name-parts__first\",attrs:{\"text\":_vm.part1,\"search\":_vm.search,\"highlight\":_vm.highlight1}}),_vm._v(\" \"),(_vm.part2)?_c('Highlight',{staticClass:\"name-parts__last\",attrs:{\"text\":_vm.part2,\"search\":_vm.search,\"highlight\":_vm.highlight2}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<docs>\n## Multiselect\nWe're wrapping the awesome vue-multiselect library to add our own styling and default props/methods\nYou can use all the properties from https://vue-multiselect.js.org that are not declared/overrided here.\n\n### Simple examples\n```vue\n<template>\n\t<div class=\"wrapper\">\n\t\t<Multiselect v-model=\"value1\" :options=\"options\" />\n\t\t<Multiselect v-model=\"value2\" :options=\"options\" :multiple=\"true\" />\n\t</div>\n</template>\n\n<script>\nimport Multiselect from '../index'\nexport default {\n\tdata() {\n\t\treturn { value1: '2', value2: ['2'], options: ['0', '1', '2', '3', '4'] }\n\t}\n}\n</script>\n```\n\n### Simple example with objects\nYou can either use the exact object or the track-by key to match against your options\n\n```vue\n<template>\n\t<div class=\"wrapper\">\n\t\t<Multiselect v-model=\"value1\" :options=\"options\" track-by=\"id\" label=\"label\" />\n\t\t<pre>Selected option: {{ value1 }}</pre>\n\t\t<br />\n\t\t<Multiselect v-model=\"value2\" :options=\"options\" track-by=\"id\" label=\"label\" />\n\t\t<pre>Selected option: {{ value2 }}</pre>\n\t</div>\n</template>\n\n<script>\nimport Multiselect from '../index'\nconst options = [\n\t{ id: 1, label: 'Option 1' },\n\t{ id: 2, label: 'Option 2' },\n\t{ id: 3, label: 'Option 3' },\n\t{ id: 4, label: 'Option 4' }\n]\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tvalue1: options[1],\n\t\t\tvalue2: 2,\n\t\t\toptions\n\t\t}\n\t}\n}\n</script>\n```\n\n### Limit with automated tooltip\n```vue\n<template>\n\t<Multiselect v-model=\"value\"\n\t\t:options=\"options\" :multiple=\"true\"\n\t\t:tag-width=\"80\" />\n</template>\n\n<script>\nimport Multiselect from '../index'\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tvalue: ['eirmod', 'et', 'magna', 'invidunt', 'tempor'],\n\t\t\toptions: ['Consetetur', 'sadipscing', 'elitr', 'sed',\n\t\t\t\t'diam', 'nonumy', 'eirmod', 'tempor', 'invidunt',\n\t\t\t\t'ut', 'labore', 'et', 'dolore', 'magna', 'aliquyam', 'erat']\n\t\t}\n\t}\n}\n</script>\n```\n\n### User layout\nBy specifying `:user-select=\"true\"`, you can benefit from a fully formatted layout.\nThe singleLabel slot here is optional of course and here for demonstration purposes\nThe ListItemIcon title will be provided by the option key refering to the `label` prop.\nExample here: `displayName`\n\n> **Note:** Any extra binding from the object will be added as attribute (`$attrs`) on the ListItemIcon component used here\n\n```vue\n<template>\n\t<Multiselect v-model=\"value\" :options=\"formattedOptions\"\n\t\tlabel=\"displayName\" track-by=\"user\"\n\t\t:user-select=\"true\"\n\t\tstyle=\"width: 250px\">\n\t\t<template #singleLabel=\"{ option }\">\n\t\t\t<ListItemIcon v-bind=\"option\" :title=\"option.displayName\" :avatar-size=\"24\" :no-margin=\"true\" />\n\t\t</template>\n\t</Multiselect>\n</template>\n\n<script>\nimport Multiselect from '../index'\n\n// Building fake data for the docs\nconst options = ['admin', 'user1', 'user2', 'guest', 'group1']\nconst formattedOptions = options.map(item => {\n\treturn {\n\t\tuser: item,\n\t\tdisplayName: item,\n\t\tsubtitle: `This is the ${item.startsWith('group') ? 'group' : 'user'} ${item}`,\n\t\ticon: item.startsWith('group') ? 'icon-group' : 'icon-user',\n\t\tisNoUser: item.startsWith('group')\n\t}\n})\nexport default {\n\tdata() {\n\t\t\treturn {\n\t\t\t\t\tvalue: formattedOptions[0],\n\t\t\t\t\tformattedOptions,\n\t\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<!--\n\t# This is the original Multiselect !\n\t## tag-placeholder=\"create\"\n\t-> Hack to allow us to detect when an option needs\n\t- to be created (with css) and apply the proper\n\t- styling to this entry, @see [data-select='create']\n\t## :close-on-select=\"!multiple\"\n\t-> If multiple choice allowed, leave the dropdown\n\t- open after select\n\t## v-on=\"$listeners\", v-bind=\"$attrs\"\n\t-> Forward all undeclared props to the vue-multiselect child\n\t-->\n\t<VueMultiselect\n\t\tref=\"VueMultiselect\"\n\t\tv-model=\"localValue\"\n\t\tv-bind=\"$attrs\"\n\t\t:class=\"[\n\t\t\t{\n\t\t\t\t'icon-loading-small': loading\n\t\t\t},\n\t\t\tmultiple ? 'multiselect--multiple': 'multiselect--single'\n\t\t]\"\n\t\t:options=\"options\"\n\t\t:limit=\"maxOptions\"\n\t\t:close-on-select=\"!multiple\"\n\t\t:multiple=\"multiple\"\n\t\t:label=\"label\"\n\t\t:track-by=\"trackBy\"\n\t\ttag-placeholder=\"create\"\n\t\tv-on=\"$listeners\">\n\t\t<!-- This is the scope to format the list of available options in the dropdown\n\t\t\tTwo templates to avoid registering the slot unnecessary -->\n\t\t<template #option=\"scope\">\n\t\t\t<!-- Avatar display select slot override.\n\t\t\t\tYou CANNOT use this scope, we will replace it by this -->\n\t\t\t<ListItemIcon v-if=\"userSelect && !$scopedSlots['option']\"\n\t\t\t\tv-bind=\"scope.option\"\n\t\t\t\t:title=\"scope.option[label]\"\n\t\t\t\t:search=\"scope.search\" />\n\n\t\t\t<!-- Ellipsis in the middle if no option slot\n\t\t\t\tis defined in the parent -->\n\t\t\t<EllipsisedOption v-else-if=\"!$scopedSlots['option']\"\n\t\t\t\t:name=\"getOptionLabel(scope.option)\"\n\t\t\t\t:option=\"scope.option\"\n\t\t\t\t:search=\"scope.search\"\n\t\t\t\t:label=\"label\" />\n\n\t\t\t<!-- Passing the singleLabel slot -->\n\t\t\t<slot v-else name=\"option\" v-bind=\"scope\" />\n\t\t</template>\n\n\t\t<!-- Registering the limit slot to get the +xxx tooltip.\n\t\t\tYou CANNOT use this scope, we will replace it by this -->\n\t\t<template v-if=\"multiple\" #limit>\n\t\t\t<span v-tooltip.auto=\"formatLimitTitle(value)\"\n\t\t\t\tclass=\"multiselect__limit\">\n\t\t\t\t{{ limitString }}\n\t\t\t</span>\n\t\t</template>\n\n\t\t<!-- Passing the singleLabel slot, this is used to format the selected\n\t\t\toption on NON-multiple multiselects -->\n\t\t<template v-for=\"(_, slot) of $scopedSlots\" #[slot]=\"scope\">\n\t\t\t<slot :name=\"slot\" v-bind=\"scope\" />\n\t\t</template>\n\n\t\t<template #noResult>\n\t\t\t<span>{{ t('No results') }}</span>\n\t\t</template>\n\t</VueMultiselect>\n</template>\n\n<script>\nimport VueMultiselect from 'vue-multiselect'\n\nimport EllipsisedOption from './EllipsisedOption'\nimport l10n from '../../mixins/l10n'\nimport ListItemIcon from '../ListItemIcon'\nimport Tooltip from '../../directives/Tooltip'\n\nexport default {\n\tname: 'Multiselect',\n\tcomponents: {\n\t\tEllipsisedOption,\n\t\tListItemIcon,\n\t\tVueMultiselect,\n\t},\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t},\n\tmixins: [l10n],\n\tinheritAttrs: false,\n\n\t/**\n\t * Every prop that is defined here will break the auto\n\t * forward to the vue-multiselect component\n\t * You will have to specify it as a prop on the template\n\t */\n\tprops: {\n\t\t// eslint-disable-next-line\n\t\tvalue: {\n\t\t\tdefault() {\n\t\t\t\treturn []\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Allow multiple select ?\n\t\t */\n\t\tmultiple: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Limit the number of results\n\t\t */\n\t\tlimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 99999,\n\t\t},\n\n\t\t/**\n\t\t * key to use as label on object options\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * key to use as id on object options\n\t\t */\n\t\ttrackBy: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Array of available options: Objects, Strings or Integers.\n\t\t * If array of objects, visible label will default to option.label.\n\t\t * If `labal` prop is passed, label will equal option['label']\n\t\t */\n\t\toptions: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Enable the big user selector w/ avatar\n\t\t * Make sure your objects fit the requirements\n\t\t */\n\t\tuserSelect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Overriding the default slot. Only showing a spiner.\n\t\t */\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Enable the automatic limit and width calculation\n\t\t * Only works on multiple\n\t\t */\n\t\tautoLimit: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t* If autoLimit, allow to specify the min-width of every\n\t\t* selected option when calculating the number of options\n\t\t* to show. This needs to be a positive integer.\n\t\t*/\n\t\ttagWidth: {\n\t\t\ttype: Number,\n\t\t\tdefault: 150,\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn value > 0\n\t\t\t},\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\telWidth: 0,\n\t\t}\n\t},\n\tcomputed: {\n\t\t/**\n\t\t * Calculate the number of options to show\n\t\t * depending on the width of the select.\n\t\t * Only works if `autoLimit` is `true`\n\t\t * @returns {number}\n\t\t */\n\t\tmaxOptions() {\n\t\t\tif (this.autoLimit && this.elWidth > 0 && this.tagWidth !== 0) {\n\t\t\t\tconst limit = Math.floor(this.elWidth / this.tagWidth)\n\t\t\t\treturn limit > 0 ? limit : 1\n\t\t\t}\n\t\t\treturn this.limit ? this.limit : 9999\n\t\t},\n\t\t/**\n\t\t * Make the tooltip limit string for the `autoLimit`\n\t\t * @returns {string}\n\t\t */\n\t\tlimitString() {\n\t\t\treturn `+${this.value.length - this.maxOptions}`\n\t\t},\n\n\t\tlocalValue: {\n\t\t\tget() {\n\t\t\t\tif (this.trackBy && this.options\n\t\t\t\t\t&& typeof this.value !== 'object'\n\t\t\t\t\t&& this.options[this.value]) {\n\t\t\t\t\treturn this.options[this.value]\n\t\t\t\t}\n\t\t\t\treturn this.value\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tthis.$emit('update:value', value)\n\t\t\t\tthis.$emit('change', value)\n\t\t\t},\n\t\t},\n\t},\n\n\twatch: {\n\t\t// ensure we update the width when we add or remove data\n\t\tvalue() {\n\t\t\tthis.updateWidth()\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.updateWidth()\n\t\twindow.addEventListener('resize', this.updateWidth)\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this.updateWidth)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Returns the option label\n\t\t *\n\t\t * @param {String} option The selected option\n\t\t * @returns {string}\n\t\t */\n\t\tgetOptionLabel(option) {\n\t\t\treturn String(this.$refs.VueMultiselect?.getOptionLabel(option))\n\t\t},\n\t\t/**\n\t\t * Format array of groups objects to a string\n\t\t * for the limit popup using the label prop\n\t\t *\n\t\t * @param {array} options The selected options\n\t\t * @returns {string}\n\t\t */\n\t\tformatLimitTitle(options) {\n\t\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\t\tlet selection = options\n\t\t\t\tif (typeof options[0] === 'object') {\n\t\t\t\t\tselection = options.map(option => option[this.label])\n\t\t\t\t}\n\t\t\t\treturn selection.slice(this.maxOptions).join(', ')\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\n\t\t/**\n\t\t * Update the component width data\n\t\t */\n\t\tupdateWidth() {\n\t\t\t// width of the tags wrapper minus the padding\n\t\t\tif (this.$el && this.$el.querySelector('.multiselect__tags-wrap')) {\n\t\t\t\tthis.elWidth = this.$el.querySelector('.multiselect__tags-wrap').offsetWidth - 10\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Multiselect.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!./Multiselect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Multiselect.vue?vue&type=template&id=7b3fe901&\"\nimport script from \"./Multiselect.vue?vue&type=script&lang=js&\"\nexport * from \"./Multiselect.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Multiselect.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._g({staticClass:\"option\",style:(_vm.cssVars),attrs:{\"id\":_vm.id}},_vm.$listeners),[_c('Avatar',_vm._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":true,\"disable-tooltip\":true,\"display-name\":_vm.displayName || _vm.title,\"is-no-user\":_vm.isNoUser,\"size\":_vm.avatarSize}},'Avatar',_vm.$attrs,false)),_vm._v(\" \"),_c('div',{staticClass:\"option__details\"},[_c('Highlight',{staticClass:\"option__lineone\",attrs:{\"text\":_vm.title,\"search\":_vm.search}}),_vm._v(\" \"),(_vm.isValidSubtitle && _vm.isSizeBigEnough)?_c('Highlight',{staticClass:\"option__linetwo\",attrs:{\"text\":_vm.subtitle,\"search\":_vm.search}}):(_vm.hasStatus)?_c('span',[_c('span',[_vm._v(_vm._s(_vm.userStatus.icon))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.userStatus.message))])]):_vm._e()],1),_vm._v(\" \"),_vm._t(\"default\"),_vm._v(\" \"),(_vm.hasIcon && !_vm.hasSlot)?_c('span',{staticClass:\"icon option__icon\",class:_vm.icon}):_vm._e()],2)}\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!./ListItemIcon.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!./ListItemIcon.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<docs>\n## This is used to display a avatar-title/subtitle + icon layout\nIt might be used for list rendering or within the multiselect for example\n\n> **Note:** Any binding will be forwarded on the Avatar component root\n\n```vue\n<ListItemIcon title=\"User 1\" />\n<ListItemIcon title=\"User 1\" subtitle=\"Hidden subtitle because size is too small\" :avatar-size=\"24\" />\n```\n```vue\n<ListItemIcon title=\"User 1\" :avatar-size=\"44\" icon=\"icon-user\" />\n```\n\n### With icon\n```vue\n<ListItemIcon title=\"Group 1\" subtitle=\"13 members\" icon=\"icon-group\" :is-no-user=\"true\" />\n```\n\n### Searching\n```vue\n<ListItemIcon title=\"Test user 1\" subtitle=\"callmetest@domain.com\" search=\"test\" />\n<ListItemIcon title=\"Testing admin\" subtitle=\"testme@example.com\" search=\"test\" />\n<ListItemIcon title=\"Test group 2\" subtitle=\"loremipsum@domain.com\" icon=\"icon-group\" :is-no-user=\"true\" search=\"test\" />\n```\n\n### With actions\n```vue\n<ListItemIcon title=\"Test user 1\" subtitle=\"callmetest@domain.com\">\n\t<Actions>\n\t\t<ActionButton icon=\"icon-edit\" @click=\"alert('Edit')\">Edit</ActionButton>\n\t\t<ActionButton icon=\"icon-delete\" @click=\"alert('Delete')\">Delete</ActionButton>\n\t</Actions>\n</ListItemIcon>\n```\n</docs>\n\n<template>\n\t<span :id=\"id\"\n\t\tclass=\"option\"\n\t\t:style=\"cssVars\"\n\t\tv-on=\"$listeners\">\n\t\t<Avatar\n\t\t\tv-bind=\"$attrs\"\n\t\t\t:disable-menu=\"true\"\n\t\t\t:disable-tooltip=\"true\"\n\t\t\t:display-name=\"displayName || title\"\n\t\t\t:is-no-user=\"isNoUser\"\n\t\t\t:size=\"avatarSize\"\n\t\t\tclass=\"option__avatar\" />\n\t\t<div class=\"option__details\">\n\t\t\t<Highlight\n\t\t\t\tclass=\"option__lineone\"\n\t\t\t\t:text=\"title\"\n\t\t\t\t:search=\"search\" />\n\t\t\t<Highlight\n\t\t\t\tv-if=\"isValidSubtitle && isSizeBigEnough\"\n\t\t\t\tclass=\"option__linetwo\"\n\t\t\t\t:text=\"subtitle\"\n\t\t\t\t:search=\"search\" />\n\t\t\t<span v-else-if=\"hasStatus\">\n\t\t\t\t<span>{{ userStatus.icon }}</span>\n\t\t\t\t<span>{{ userStatus.message }}</span>\n\t\t\t</span>\n\t\t</div>\n\n\t\t<!-- @slot use this slot to add a custom icon or actions -->\n\t\t<slot />\n\t\t<span v-if=\"hasIcon && !hasSlot\" class=\"icon option__icon\" :class=\"icon\" />\n\t</span>\n</template>\n\n<script>\nimport Avatar from '../Avatar'\nimport Highlight from '../Highlight'\nimport { userStatus } from '../../mixins'\n\n// global margin, ^2 ratio\nconst margin = 8\nconst defaultSize = 32\n\nexport default {\n\tname: 'ListItemIcon',\n\n\tcomponents: {\n\t\tAvatar,\n\t\tHighlight,\n\t},\n\tmixins: [userStatus],\n\n\tprops: {\n\t\t/**\n\t\t * Default first line text\n\t\t */\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Secondary optional line\n\t\t * Only visible on size of 32 and above\n\t\t */\n\t\tsubtitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Icon class to be displayed at the end of the component\n\t\t */\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Search within the highlight of title/subtitle\n\t\t */\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Set a size in px that will define the avatar height/width\n\t\t * and therefore, the height of the component\n\t\t */\n\t\tavatarSize: {\n\t\t\ttype: Number,\n\t\t\tdefault: defaultSize,\n\t\t},\n\n\t\t/**\n\t\t * Disable the margins of this component.\n\t\t * Useful for integration in Multiselect for example\n\t\t */\n\t\tnoMargin: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * See the [Avatar](#Avatar) displayName prop\n\t\t * Fallback to title\n\t\t */\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * See the [Avatar](#Avatar) isNoUser prop\n\t\t * Enable/disable the UserStatus fetching\n\t\t */\n\t\tisNoUser: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Unique list item ID\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tmargin,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\thasIcon() {\n\t\t\treturn this.icon !== ''\n\t\t},\n\t\thasSlot() {\n\t\t\treturn !!this.$slots.default\n\t\t},\n\n\t\tisValidSubtitle() {\n\t\t\treturn this.subtitle?.trim?.() !== ''\n\t\t},\n\t\tisSizeBigEnough() {\n\t\t\treturn this.avatarSize >= defaultSize\n\t\t},\n\n\t\tcssVars() {\n\t\t\t// Don't use margin to calculate the height if noMargin\n\t\t\tconst margin = this.noMargin ? 0 : this.margin\n\n\t\t\treturn {\n\t\t\t\t'--height': this.avatarSize + 2 * margin + 'px',\n\t\t\t\t'--margin': this.margin + 'px',\n\t\t\t}\n\t\t},\n\t},\n\n\tbeforeMount() {\n\t\t// If we don't have a subtitle and if this is a user\n\t\tif (!this.isNoUser && !this.subtitle) {\n\t\t\tthis.fetchUserStatus(this.user)\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.option {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n\theight: var(--height);\n\n\t&__avatar {\n\t\tmargin-right: var(--margin);\n\t}\n\n\t&__details {\n\t\tdisplay: flex;\n\t\tflex: 1 1;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tmin-width: 0;\n\t}\n\n\t&__lineone {\n\t\tcolor: var(--color-text-light);\n\t}\n\t&__linetwo {\n\t\topacity: $opacity_normal;\n\t}\n\t&__lineone,\n\t&__linetwo {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tline-height: 1.1em;\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n\n\t&__icon {\n\t\tflex: 0 0 $clickable-area;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\topacity: $opacity_disabled;\n\t\tbackground-position: center;\n\t\tbackground-size: 16px;\n\t}\n}\n\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListItemIcon.vue?vue&type=style&index=0&id=28d338d4&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./ListItemIcon.vue?vue&type=template&id=28d338d4&scoped=true&\"\nimport script from \"./ListItemIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./ListItemIcon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ListItemIcon.vue?vue&type=style&index=0&id=28d338d4&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 \"28d338d4\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./ListItemIcon.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport ListItemIcon from './ListItemIcon'\n\nexport default ListItemIcon\n","module.exports = require(\"@nextcloud/router\");","module.exports = require(\"vue-multiselect\");","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n // eslint-disable-next-line no-param-reassign\n options = {};\n } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n url = url && url.__esModule ? url.default : url;\n\n if (typeof url !== \"string\") {\n return url;\n } // If url is already wrapped in quotes, remove them\n\n\n if (/^['\"].*['\"]$/.test(url)) {\n // eslint-disable-next-line no-param-reassign\n url = url.slice(1, -1);\n }\n\n if (options.hash) {\n // eslint-disable-next-line no-param-reassign\n url += options.hash;\n } // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n\n\n if (/[\"'() \\t\\n]/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n\n return url;\n};","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./Popover.vue\"],\"names\":[],\"mappings\":\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n"],"sourceRoot":""}
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
!function(n,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("Components/TimezonePicker",[],t):"object"==typeof exports?exports["Components/TimezonePicker"]=t():(n.NextcloudVue=n.NextcloudVue||{},n.NextcloudVue["Components/TimezonePicker"]=t())}(window,(function(){return function(n){var t={};function e(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return n[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=n,e.c=t,e.d=function(n,t,r){e.o(n,t)||Object.defineProperty(n,t,{enumerable:!0,get:r})},e.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},e.t=function(n,t){if(1&t&&(n=e(n)),8&t)return n;if(4&t&&"object"==typeof n&&n&&n.__esModule)return n;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:n}),2&t&&"string"!=typeof n)for(var i in n)e.d(r,i,function(t){return n[t]}.bind(null,i));return r},e.n=function(n){var t=n&&n.__esModule?function(){return n.default}:function(){return n};return e.d(t,"a",t),t},e.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},e.p="/dist/",e(e.s=97)}([function(n,t,e){"use strict";function r(n,t){return function(n){if(Array.isArray(n))return n}(n)||function(n,t){var e=n&&("undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"]);if(null==e)return;var r,i,a=[],T=!0,o=!1;try{for(e=e.call(n);!(T=(r=e.next()).done)&&(a.push(r.value),!t||a.length!==t);T=!0);}catch(n){o=!0,i=n}finally{try{T||null==e.return||e.return()}finally{if(o)throw i}}return a}(n,t)||function(n,t){if(!n)return;if("string"==typeof n)return i(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);"Object"===e&&n.constructor&&(e=n.constructor.name);if("Map"===e||"Set"===e)return Array.from(n);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(n,t)}(n,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,r=new Array(t);e<t;e++)r[e]=n[e];return r}n.exports=function(n){var t=r(n,4),e=t[1],i=t[3];if(!i)return e;if("function"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),T="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(a),o="/*# ".concat(T," */"),s=i.sources.map((function(n){return"/*# sourceURL=".concat(i.sourceRoot||"").concat(n," */")}));return[e].concat(s).concat([o]).join("\n")}return[e].join("\n")}},function(n,t,e){"use strict";n.exports=function(n){var t=[];return t.toString=function(){return this.map((function(t){var e=n(t);return t[2]?"@media ".concat(t[2]," {").concat(e,"}"):e})).join("")},t.i=function(n,e,r){"string"==typeof n&&(n=[[null,n,""]]);var i={};if(r)for(var a=0;a<this.length;a++){var T=this[a][0];null!=T&&(i[T]=!0)}for(var o=0;o<n.length;o++){var s=[].concat(n[o]);r&&i[s[0]]||(e&&(s[2]?s[2]="".concat(e," and ").concat(s[2]):s[2]=e),t.push(s))}},t}},function(n,t,e){"use strict";var r,i=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},a=function(){var n={};return function(t){if(void 0===n[t]){var e=document.querySelector(t);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(n){e=null}n[t]=e}return n[t]}}(),T=[];function o(n){for(var t=-1,e=0;e<T.length;e++)if(T[e].identifier===n){t=e;break}return t}function s(n,t){for(var e={},r=[],i=0;i<n.length;i++){var a=n[i],s=t.base?a[0]+t.base:a[0],A=e[s]||0,l="".concat(s," ").concat(A);e[s]=A+1;var c=o(l),E={css:a[1],media:a[2],sourceMap:a[3]};-1!==c?(T[c].references++,T[c].updater(E)):T.push({identifier:l,updater:S(E,t),references:1}),r.push(l)}return r}function A(n){var t=document.createElement("style"),r=n.attributes||{};if(void 0===r.nonce){var i=e.nc;i&&(r.nonce=i)}if(Object.keys(r).forEach((function(n){t.setAttribute(n,r[n])})),"function"==typeof n.insert)n.insert(t);else{var T=a(n.insert||"head");if(!T)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");T.appendChild(t)}return t}var l,c=(l=[],function(n,t){return l[n]=t,l.filter(Boolean).join("\n")});function E(n,t,e,r){var i=e?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(n.styleSheet)n.styleSheet.cssText=c(t,i);else{var a=document.createTextNode(i),T=n.childNodes;T[t]&&n.removeChild(T[t]),T.length?n.insertBefore(a,T[t]):n.appendChild(a)}}function u(n,t,e){var r=e.css,i=e.media,a=e.sourceMap;if(i?n.setAttribute("media",i):n.removeAttribute("media"),a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),n.styleSheet)n.styleSheet.cssText=r;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(r))}}var d=null,D=0;function S(n,t){var e,r,i;if(t.singleton){var a=D++;e=d||(d=A(t)),r=E.bind(null,e,a,!1),i=E.bind(null,e,a,!0)}else e=A(t),r=u.bind(null,e,t),i=function(){!function(n){if(null===n.parentNode)return!1;n.parentNode.removeChild(n)}(e)};return r(n),function(t){if(t){if(t.css===n.css&&t.media===n.media&&t.sourceMap===n.sourceMap)return;r(n=t)}else i()}}n.exports=function(n,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=i());var e=s(n=n||[],t);return function(n){if(n=n||[],"[object Array]"===Object.prototype.toString.call(n)){for(var r=0;r<e.length;r++){var i=o(e[r]);T[i].references--}for(var a=s(n,t),A=0;A<e.length;A++){var l=o(e[A]);0===T[l].references&&(T[l].updater(),T.splice(l,1))}e=a}}}},function(n,t,e){"use strict";function r(n,t,e,r,i,a,T,o){var s,A="function"==typeof n?n.options:n;if(t&&(A.render=t,A.staticRenderFns=e,A._compiled=!0),r&&(A.functional=!0),a&&(A._scopeId="data-v-"+a),T?(s=function(n){(n=n||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(n=__VUE_SSR_CONTEXT__),i&&i.call(this,n),n&&n._registeredComponents&&n._registeredComponents.add(T)},A._ssrRegister=s):i&&(s=o?function(){i.call(this,(A.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(A.functional){A._injectStyles=s;var l=A.render;A.render=function(n,t){return s.call(t),l(n,t)}}else{var c=A.beforeCreate;A.beforeCreate=c?[].concat(c,s):[s]}return{exports:n,options:A}}e.d(t,"a",(function(){return r}))},function(n,t,e){"use strict";e.d(t,"b",(function(){return o})),e.d(t,"a",(function(){return T}));var r=e(12),i=Object(r.getGettextBuilder)().detectLocale();[{locale:"br",translations:{"{tag} (invisible)":"{tag} (diwelus)","{tag} (restricted)":"{tag} (bevennet)",Actions:"Oberioù",Activities:"Oberiantizoù","Animals & Nature":"Loened & Natur",Choose:"Dibab",Close:"Serriñ",Custom:"Personelañ",Flags:"Bannieloù","Food & Drink":"Boued & Evajoù","Frequently used":"Implijet alies",Next:"Da heul","No emoji found":"Emoji ebet kavet","No results":"Disoc'h ebet",Objects:"Traoù","Pause slideshow":"Arsav an diaporama","People & Body":"Tud & Korf","Pick an emoji":"Choaz un emoji",Previous:"A-raok",Search:"Klask","Search results":"Disoc'hoù an enklask","Select a tag":"Choaz ur c'hlav",Settings:"Arventennoù","Smileys & Emotion":"Smileyioù & Fromoù","Start slideshow":"Kregiñ an diaporama",Symbols:"Arouezioù","Travel & Places":"Beaj & Lec'hioù","Unable to search the group":"Dibosupl eo klask ar strollad"}},{locale:"ca",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringit)",Actions:"Accions",Activities:"Activitats","Animals & Nature":"Animals i natura","Cancel changes":"Cancel·la els canvis",Choose:"Tria",Close:"Tanca","Confirm changes":"Confirmeu els canvis",Custom:"Personalitzat","External documentation for {title}":"Documentació externa per a {title}",Flags:"Marques","Food & Drink":"Menjar i begudes","Frequently used":"Utilitzats recentment","Message limit of {count} characters reached":"S'ha arribat al límit de {count} caràcters per missatge",Next:"Següent","No emoji found":"No s'ha trobat cap emoji","No results":"Sense resultats",Objects:"Objectes","Pause slideshow":"Atura la presentació","People & Body":"Persones i cos","Pick an emoji":"Trieu un emoji",Previous:"Anterior",Search:"Cerca","Search results":"Resultats de cerca","Select a tag":"Selecciona una etiqueta",Settings:"Paràmetres","Settings navigation":"Navegació d'opcions","Smileys & Emotion":"Cares i emocions","Start slideshow":"Inicia la presentació",Submit:"Envia",Symbols:"Símbols","Travel & Places":"Viatges i llocs","Unable to search the group":"No es pot cercar el grup","Write message, @ to mention someone …":"Escriu un missatge, @ per mencionar algú..."}},{locale:"cs_CZ",translations:{"{tag} (invisible)":"{tag} (neviditelné)","{tag} (restricted)":"{tag} (omezené)",Actions:"Akce",Activities:"Aktivity","Animals & Nature":"Zvířata a příroda","Avatar of {displayName}":"Zástupný obrázek uživatele {displayName}","Cancel changes":"Zrušit změny",Choose:"Zvolit",Close:"Zavřít","Confirm changes":"Potvrdit změny",Custom:"Uživatelsky určené","External documentation for {title}":"Externí dokumentace k {title}",Flags:"Příznaky","Food & Drink":"Jídlo a pití","Frequently used":"Často používané",Global:"Globální","Message limit of {count} characters reached":"Dosaženo limitu počtu ({count}) znaků zprávy",Next:"Následující","No emoji found":"Nenalezeno žádné emoji","No results":"Nic nenalezeno",Objects:"Objekty","Pause slideshow":"Pozastavit prezentaci","People & Body":"Lidé a tělo","Pick an emoji":"Vybrat emoji","Please select a time zone:":"Vyberte časovou zónu:",Previous:"Předchozí",Search:"Hledat","Search results":"Výsledky hledání","Select a tag":"Vybrat štítek",Settings:"Nastavení","Settings navigation":"Pohyb po nastavení","Smileys & Emotion":"Úsměvy a emoce","Start slideshow":"Spustit prezentaci",Submit:"Odeslat",Symbols:"Symboly","Travel & Places":"Cestování a místa","Type to search time zone":"Psaním vyhledejte časovou zónu","Unable to search the group":"Nedaří se hledat skupinu","Write message, @ to mention someone …":"Pište zprávu, pokud chcete někoho zmínit, použijte @ …"}},{locale:"da",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (begrænset)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr & Natur",Choose:"Vælg",Close:"Luk",Custom:"Brugerdefineret",Flags:"Flag","Food & Drink":"Mad & Drikke","Frequently used":"Ofte brugt","Message limit of {count} characters reached":"Begrænsning på {count} tegn er nået",Next:"Videre","No emoji found":"Ingen emoji fundet","No results":"Ingen resultater",Objects:"Objekter","Pause slideshow":"Suspender fremvisning","People & Body":"Mennesker & Menneskekroppen","Pick an emoji":"Vælg en emoji",Previous:"Forrige",Search:"Søg","Search results":"Søgeresultater","Select a tag":"Vælg et mærke",Settings:"Indstillinger","Settings navigation":"Naviger i indstillinger","Smileys & Emotion":"Smileys & Emotion","Start slideshow":"Start fremvisning",Symbols:"Symboler","Travel & Places":"Rejser & Rejsemål","Unable to search the group":"Kan ikke søge på denne gruppe","Write message, @ to mention someone …":"Skriv i meddelelse, @ for at nævne nogen …"}},{locale:"de",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Avatar of {displayName}":"Avatar von {displayName}","Cancel changes":"Änderungen verwerfen",Choose:"Auswählen",Close:"Schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","External documentation for {title}":"Externe Dokumentation für {title}",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Gegenstände","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a timezone:":"Bitte eine Zeitzone auswählen:",Previous:"Vorherige",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen-Navigation","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search timezone":"Tippen, um eine Zeitzone zu suchen","Unable to search the group":"Die Gruppe konnte nicht durchsucht werden","Write message, @ to mention someone …":"Nachricht schreiben, @ um jemanden zu erwähnen ..."}},{locale:"de_DE",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Avatar of {displayName}":"Avatar von {displayName}","Cancel changes":"Änderungen verwerfen",Choose:"Auswählen",Close:"Schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","External documentation for {title}":"Externe Dokumentation für {title}",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Objekte","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte eine Zeitzone auswählen:",Previous:"Vorherige",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um eine Zeitzone zu suchen","Unable to search the group":"Die Gruppe kann nicht durchsucht werden","Write message, @ to mention someone …":"Nachricht schreiben, @ um jemanden zu erwähnen ..."}},{locale:"el",translations:{"{tag} (invisible)":"{tag} (αόρατο)","{tag} (restricted)":"{tag} (περιορισμένο)",Actions:"Ενέργειες",Activities:"Δραστηριότητες","Animals & Nature":"Ζώα & Φύση",Choose:"Επιλογή",Close:"Κλείσιμο",Custom:"Προσαρμογή",Flags:"Σημαίες","Food & Drink":"Φαγητό & Ποτό","Frequently used":"Συχνά χρησιμοποιούμενο",Next:"Επόμενο","No emoji found":"Δεν βρέθηκε emoji","No results":"Κανένα αποτέλεσμα",Objects:"Αντικείμενα","Pause slideshow":"Παύση προβολής διαφανειών","People & Body":"Άνθρωποι & Σώμα","Pick an emoji":"Επιλέξτε ένα emoji",Previous:"Προηγούμενο",Search:"Αναζήτηση","Search results":"Αποτελέσματα αναζήτησης","Select a tag":"Επιλογή ετικέτας",Settings:"Ρυθμίσεις","Smileys & Emotion":"Φατσούλες & Συναίσθημα","Start slideshow":"Έναρξη προβολής διαφανειών",Symbols:"Σύμβολα","Travel & Places":"Ταξίδια & Τοποθεσίες","Unable to search the group":"Δεν είναι δυνατή η αναζήτηση της ομάδας"}},{locale:"eo",translations:{"{tag} (invisible)":"{tag} (kaŝita)","{tag} (restricted)":"{tag} (limigita)",Actions:"Agoj",Activities:"Aktiveco","Animals & Nature":"Bestoj & Naturo",Choose:"Elektu",Close:"Fermu",Custom:"Propra",Flags:"Flagoj","Food & Drink":"Manĝaĵo & Trinkaĵo","Frequently used":"Ofte uzataj","Message limit of {count} characters reached":"La limo je {count} da literoj atingita",Next:"Sekva","No emoji found":"La emoĝio forestas","No results":"La rezulto forestas",Objects:"Objektoj","Pause slideshow":"Payzi bildprezenton","People & Body":"Homoj & Korpo","Pick an emoji":"Elekti emoĝion ",Previous:"Antaŭa",Search:"Serĉi","Search results":"Serĉrezultoj","Select a tag":"Elektu etikedon",Settings:"Agordo","Settings navigation":"Agorda navigado","Smileys & Emotion":"Ridoj kaj Emocioj","Start slideshow":"Komenci bildprezenton",Symbols:"Signoj","Travel & Places":"Vojaĵoj & Lokoj","Unable to search the group":"Ne eblas serĉi en la grupo","Write message, @ to mention someone …":"Mesaĝi, uzu @ por mencii iun ..."}},{locale:"es",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringido)",Actions:"Acciones",Activities:"Actividades","Animals & Nature":"Animales y naturaleza",Choose:"Elegir",Close:"Cerrar",Custom:"Personalizado",Flags:"Banderas","Food & Drink":"Comida y bebida","Frequently used":"Usado con frecuenca","Message limit of {count} characters reached":"El mensaje ha alcanzado el límite de {count} caracteres",Next:"Siguiente","No emoji found":"No hay ningún emoji","No results":" Ningún resultado",Objects:"Objetos","Pause slideshow":"Pausar la presentación ","People & Body":"Personas y cuerpos","Pick an emoji":"Elegir un emoji",Previous:"Anterior",Search:"Buscar","Search results":"Resultados de la búsqueda","Select a tag":"Seleccione una etiqueta",Settings:"Ajustes","Settings navigation":"Navegación por ajustes","Smileys & Emotion":"Smileys y emoticonos","Start slideshow":"Iniciar la presentación",Symbols:"Símbolos","Travel & Places":"Viajes y lugares","Unable to search the group":"No es posible buscar en el grupo","Write message, @ to mention someone …":"Escriba un mensaje, @ para mencionar a alguien..."}},{locale:"eu",translations:{"{tag} (invisible)":"{tag} (ikusezina)","{tag} (restricted)":"{tag} (mugatua)",Choose:"Aukeratu",Close:"Itxi",Next:"Hurrengoa","No results":"Emaitzarik ez","Pause slideshow":"Pausatu diaporama",Previous:"Aurrekoa","Select a tag":"Hautatu etiketa bat",Settings:"Ezarpenak","Start slideshow":"Hasi diaporama"}},{locale:"fi_FI",translations:{"{tag} (invisible)":"{tag} (näkymätön)","{tag} (restricted)":"{tag} (rajoitettu)",Actions:"Toiminnot",Activities:"Aktiviteetit","Animals & Nature":"Eläimet & luonto",Choose:"Valitse",Close:"Sulje",Custom:"Mukautettu",Flags:"Liput","Food & Drink":"Ruoka & juoma","Frequently used":"Usein käytetyt","Message limit of {count} characters reached":"Viestin maksimimerkkimäärä {count} täynnä ",Next:"Seuraava","No emoji found":"Emojia ei löytynyt","No results":"Ei tuloksia",Objects:"Esineet & asiat","Pause slideshow":"Keskeytä diaesitys","People & Body":"Ihmiset & keho","Pick an emoji":"Valitse emoji",Previous:"Edellinen",Search:"Etsi","Search results":"Hakutulokset","Select a tag":"Valitse tagi",Settings:"Asetukset","Settings navigation":"Asetusnavigaatio","Smileys & Emotion":"Hymiöt ja & tunteet","Start slideshow":"Aloita diaesitys",Symbols:"Symbolit","Travel & Places":"Matkustus & kohteet","Unable to search the group":"Ryhmää ei voi hakea","Write message, @ to mention someone …":"Kirjoita viesti, @ mainitaksesi jonkun..."}},{locale:"fr",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restreint)",Actions:"Actions",Activities:"Activités","Animals & Nature":"Animaux & Nature",Choose:"Choisir",Close:"Fermer",Custom:"Personnalisé",Flags:"Drapeaux","Food & Drink":"Nourriture & Boissons","Frequently used":"Utilisés fréquemment","Message limit of {count} characters reached":"Limite de messages de {count} caractères atteinte",Next:"Suivant","No emoji found":"Pas d’émoji trouvé","No results":"Aucun résultat",Objects:"Objets","Pause slideshow":"Mettre le diaporama en pause","People & Body":"Personnes & Corps","Pick an emoji":"Choisissez un émoji",Previous:"Précédent",Search:"Chercher","Search results":"Résultats de recherche","Select a tag":"Sélectionnez une balise",Settings:"Paramètres","Settings navigation":"Navigation dans les paramètres","Smileys & Emotion":"Smileys & Émotions","Start slideshow":"Démarrer le diaporama",Symbols:"Symboles","Travel & Places":"Voyage & Lieux","Unable to search the group":"Impossible de chercher le groupe","Write message, @ to mention someone …":"Écrivez un message, @ pour mentionner quelqu'un…"}},{locale:"gl",translations:{"{tag} (invisible)":"{tag} (invisíbel)","{tag} (restricted)":"{tag} (restrinxido)",Actions:"Accións",Activities:"Actividades","Animals & Nature":"Animais e natureza","Cancel changes":"Cancelar os cambios",Choose:"Escoller",Close:"Pechar","Confirm changes":"Confirma os cambios",Custom:"Personalizado","External documentation for {title}":"Documentación externa para {title}",Flags:"Bandeiras","Food & Drink":"Comida e bebida","Frequently used":"Usado con frecuencia","Message limit of {count} characters reached":"Acadouse o límite de {count} caracteres por mensaxe",Next:"Seguinte","No emoji found":"Non se atopou ningún «emoji»","No results":"Sen resultados",Objects:"Obxectos","Pause slideshow":"Pausar o diaporama","People & Body":"Persoas e corpo","Pick an emoji":"Escolla un «emoji»",Previous:"Anterir",Search:"Buscar","Search results":"Resultados da busca","Select a tag":"Seleccione unha etiqueta",Settings:"Axustes","Settings navigation":"Navegación polos axustes","Smileys & Emotion":"Sorrisos e emocións","Start slideshow":"Iniciar o diaporama",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viaxes e lugares","Unable to search the group":"Non foi posíbel buscar o grupo","Write message, @ to mention someone …":"Escriba a mensaxe, @ para mencionar a alguén…"}},{locale:"he",translations:{"{tag} (invisible)":"{tag} (נסתר)","{tag} (restricted)":"{tag} (מוגבל)",Actions:"פעולות",Activities:"פעילויות","Animals & Nature":"חיות וטבע",Choose:"בחירה",Close:"סגירה",Custom:"בהתאמה אישית",Flags:"דגלים","Food & Drink":"מזון ומשקאות","Frequently used":"בשימוש תדיר",Next:"הבא","No emoji found":"לא נמצא אמוג׳י","No results":"אין תוצאות",Objects:"חפצים","Pause slideshow":"השהיית מצגת","People & Body":"אנשים וגוף","Pick an emoji":"נא לבחור אמוג׳י",Previous:"הקודם",Search:"חיפוש","Search results":"תוצאות חיפוש","Select a tag":"בחירת תגית",Settings:"הגדרות","Smileys & Emotion":"חייכנים ורגשונים","Start slideshow":"התחלת המצגת",Symbols:"סמלים","Travel & Places":"טיולים ומקומות","Unable to search the group":"לא ניתן לחפש בקבוצה"}},{locale:"hu_HU",translations:{"{tag} (invisible)":"{tag} (láthatatlan)","{tag} (restricted)":"{tag} (korlátozott)",Actions:"Műveletek",Activities:"Tevékenységek","Animals & Nature":"Állatok és természet",Choose:"Válassszon",Close:"Bezárás",Custom:"Egyéni",Flags:"Zászló","Food & Drink":"Étel és ital","Frequently used":"Gyakran használt","Message limit of {count} characters reached":"{count} karakteres üzenetkorlát elérve",Next:"Következő","No emoji found":"Nem található emodzsi","No results":"Nincs találat",Objects:"Tárgyak","Pause slideshow":"Diavetítés szüneteltetése","People & Body":"Emberek és test","Pick an emoji":"Válasszon egy emodzsit",Previous:"Előző",Search:"Keresés","Search results":"Találatok","Select a tag":"Válasszon címkét",Settings:"Beállítások","Settings navigation":"Navigáció a beállításokban","Smileys & Emotion":"Mosolyok és érzelmek","Start slideshow":"Diavetítés indítása",Symbols:"Szimbólumok","Travel & Places":"Utazás és helyek","Unable to search the group":"A csoport nem kereshető","Write message, @ to mention someone …":"Írjon üzenetet, @ valaki megemlítéséhez…"}},{locale:"is",translations:{"{tag} (invisible)":"{tag} (ósýnilegt)","{tag} (restricted)":"{tag} (takmarkað)",Actions:"Aðgerðir",Activities:"Aðgerðir","Animals & Nature":"Dýr og náttúra",Choose:"Velja",Close:"Loka",Custom:"Sérsniðið",Flags:"Flögg","Food & Drink":"Matur og drykkur","Frequently used":"Oftast notað",Next:"Næsta","No emoji found":"Ekkert tjáningartákn fannst","No results":"Engar niðurstöður",Objects:"Hlutir","Pause slideshow":"Gera hlé á skyggnusýningu","People & Body":"Fólk og líkami","Pick an emoji":"Veldu tjáningartákn",Previous:"Fyrri",Search:"Leita","Search results":"Leitarniðurstöður","Select a tag":"Veldu merki",Settings:"Stillingar","Smileys & Emotion":"Broskallar og tilfinningar","Start slideshow":"Byrja skyggnusýningu",Symbols:"Tákn","Travel & Places":"Staðir og ferðalög","Unable to search the group":"Get ekki leitað í hópnum"}},{locale:"it",translations:{"{tag} (invisible)":"{tag} (invisibile)","{tag} (restricted)":"{tag} (limitato)",Actions:"Azioni",Activities:"Attività","Animals & Nature":"Animali e natura","Avatar of {displayName}":"Avatar di {displayName}","Cancel changes":"Annulla modifiche",Choose:"Scegli",Close:"Chiudi","Confirm changes":"Conferma modifiche",Custom:"Personalizzato","External documentation for {title}":"Documentazione esterna per {title}",Flags:"Bandiere","Food & Drink":"Cibo e bevande","Frequently used":"Usati di frequente","Message limit of {count} characters reached":"Limite dei messaggi di {count} caratteri raggiunto",Next:"Successivo","No emoji found":"Nessun emoji trovato","No results":"Nessun risultato",Objects:"Oggetti","Pause slideshow":"Presentazione in pausa","People & Body":"Persone e corpo","Pick an emoji":"Scegli un emoji",Previous:"Precedente",Search:"Cerca","Search results":"Risultati di ricerca","Select a tag":"Seleziona un'etichetta",Settings:"Impostazioni","Settings navigation":"Navigazione delle impostazioni","Smileys & Emotion":"Faccine ed emozioni","Start slideshow":"Avvia presentazione",Submit:"Invia",Symbols:"Simboli","Travel & Places":"Viaggi e luoghi","Unable to search the group":"Impossibile cercare il gruppo","Write message, @ to mention someone …":"Scrivi messaggio, @ per menzionare qualcuno…"}},{locale:"ja_JP",translations:{"{tag} (invisible)":"{タグ} (不可視)","{tag} (restricted)":"{タグ} (制限付)",Actions:"操作",Activities:"アクティビティ","Animals & Nature":"動物と自然","Avatar of {displayName}":"{displayName} のアバター","Cancel changes":"変更をキャンセル",Choose:"選択",Close:"閉じる","Confirm changes":"変更を承認",Custom:"カスタム","External documentation for {title}":"{title} のための添付文書",Flags:"国旗","Food & Drink":"食べ物と飲み物","Frequently used":"よく使うもの","Message limit of {count} characters reached":"{count} 文字のメッセージ上限に達しています",Next:"次","No emoji found":"絵文字が見つかりません","No results":"なし",Objects:"物","Pause slideshow":"スライドショーを一時停止","People & Body":"様々な人と体の部位","Pick an emoji":"絵文字を選択",Previous:"前",Search:"検索","Search results":"検索結果","Select a tag":"タグを選択",Settings:"設定","Settings navigation":"ナビゲーション設定","Smileys & Emotion":"笑顔と気持ち","Start slideshow":"スライドショーを開始",Submit:"提出",Symbols:"記号","Travel & Places":"旅行と場所","Unable to search the group":"グループを検索できません","Write message, @ to mention someone …":"メッセージを書く、@ で通知します。"}},{locale:"lt_LT",translations:{"{tag} (invisible)":"{tag} (nematoma)","{tag} (restricted)":"{tag} (apribota)",Actions:"Veiksmai",Activities:"Veiklos","Animals & Nature":"Gyvūnai ir gamta",Choose:"Pasirinkti",Close:"Užverti",Custom:"Tinkinti","External documentation for {title}":"Išorinė {title} dokumentacija",Flags:"Vėliavos","Food & Drink":"Maistas ir gėrimai","Frequently used":"Dažniausiai naudoti","Message limit of {count} characters reached":"Pasiekta {count} simbolių žinutės riba",Next:"Kitas","No emoji found":"Nerasta jaustukų","No results":"Nėra rezultatų",Objects:"Objektai","Pause slideshow":"Pristabdyti skaidrių rodymą","People & Body":"Žmonės ir kūnas","Pick an emoji":"Pasirinkti jaustuką",Previous:"Ankstesnis",Search:"Ieškoti","Search results":"Paieškos rezultatai","Select a tag":"Pasirinkti žymę",Settings:"Nustatymai","Settings navigation":"Naršymas nustatymuose","Smileys & Emotion":"Šypsenos ir emocijos","Start slideshow":"Pradėti skaidrių rodymą",Submit:"Pateikti",Symbols:"Simboliai","Travel & Places":"Kelionės ir vietos","Unable to search the group":"Nepavyko atlikti paiešką grupėje","Write message, @ to mention someone …":"Rašykite žinutę, naudokite @ norėdami kažką paminėti…"}},{locale:"lv",translations:{"{tag} (invisible)":"{tag} (neredzams)","{tag} (restricted)":"{tag} (ierobežots)",Choose:"Izvēlēties",Close:"Aizvērt",Next:"Nākamais","No results":"Nav rezultātu","Pause slideshow":"Pauzēt slaidrādi",Previous:"Iepriekšējais","Select a tag":"Izvēlēties birku",Settings:"Iestatījumi","Start slideshow":"Sākt slaidrādi"}},{locale:"mk",translations:{"{tag} (invisible)":"{tag} (невидливо)","{tag} (restricted)":"{tag} (ограничено)",Actions:"Акции",Activities:"Активности","Animals & Nature":"Животни & Природа",Choose:"Избери",Close:"Затвори",Custom:"Прилагодени",Flags:"Знамиња","Food & Drink":"Храна & Пијалоци","Frequently used":"Најчесто користени","Message limit of {count} characters reached":"Ограничувањето на должината на пораката од {count} карактери е надминато",Next:"Следно","No emoji found":"Не се пронајдени емотикони","No results":"Нема резултати",Objects:"Објекти","Pause slideshow":"Пузирај слајдшоу","People & Body":"Луѓе & Тело","Pick an emoji":"Избери емотикон",Previous:"Предходно",Search:"Барај","Search results":"Резултати од барувањето","Select a tag":"Избери ознака",Settings:"Параметри","Settings navigation":"Параметри за навигација","Smileys & Emotion":"Смешковци & Емотикони","Start slideshow":"Стартувај слајдшоу",Symbols:"Симболи","Travel & Places":"Патувања & Места","Unable to search the group":"Неможе да се принајде групата","Write message, @ to mention someone …":"Напиши порака, @ за да спомнеш некој …"}},{locale:"my",translations:{"{tag} (invisible)":"{tag} (ကွယ်ဝှက်ထား)","{tag} (restricted)":"{tag} (ကန့်သတ်)",Actions:"လုပ်ဆောင်ချက်များ",Activities:"ပြုလုပ်ဆောင်တာများ","Animals & Nature":"တိရစ္ဆာန်များနှင့် သဘာဝ","Avatar of {displayName}":"{displayName} ၏ ကိုယ်ပွား","Cancel changes":"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်",Choose:"ရွေးချယ်ရန်",Close:"ပိတ်ရန်","Confirm changes":"ပြောင်းလဲမှုများ အတည်ပြုရန်",Custom:"အလိုကျချိန်ညှိမှု","External documentation for {title}":"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း",Flags:"အလံများ","Food & Drink":"အစားအသောက်","Frequently used":"မကြာခဏအသုံးပြုသော",Global:"ကမ္ဘာလုံးဆိုင်ရာ","Message limit of {count} characters reached":"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ",Next:"နောက်သို့ဆက်ရန်","No emoji found":"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ","No results":"ရလဒ်မရှိပါ",Objects:"အရာဝတ္ထုများ","Pause slideshow":"စလိုက်ရှိုး ခေတ္တရပ်ရန်","People & Body":"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်","Pick an emoji":"အီမိုဂျီရွေးရန်","Please select a time zone:":"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ",Previous:"ယခင်",Search:"ရှာဖွေရန်","Search results":"ရှာဖွေမှု ရလဒ်များ","Select a tag":"tag ရွေးချယ်ရန်",Settings:"ချိန်ညှိချက်များ","Settings navigation":"ချိန်ညှိချက်အညွှန်း","Smileys & Emotion":"စမိုင်လီများနှင့် အီမိုရှင်း","Start slideshow":"စလိုက်ရှိုးအား စတင်ရန်",Submit:"တင်သွင်းရန်",Symbols:"သင်္ကေတများ","Travel & Places":"ခရီးသွားလာခြင်းနှင့် နေရာများ","Type to search time zone":"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ","Unable to search the group":"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ","Write message, @ to mention someone …":"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်..."}},{locale:"nb_NO",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (beskyttet)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr og natur",Choose:"Velg",Close:"Lukk",Custom:"Selvvalgt",Flags:"Flagg","Food & Drink":"Mat og drikke","Frequently used":"Ofte brukt",Next:"Neste","No emoji found":"Fant ingen emoji","No results":"Ingen resultater",Objects:"Objekter","Pause slideshow":"Pause lysbildefremvisning","People & Body":"Mennesker og kropp","Pick an emoji":"Velg en emoji",Previous:"Forrige",Search:"Søk","Search results":"Søkeresultater","Select a tag":"Velg en merkelapp",Settings:"Innstillinger","Smileys & Emotion":"Smilefjes og følelser","Start slideshow":"Start lysbildefremvisning",Symbols:"Symboler","Travel & Places":"Reise og steder","Unable to search the group":"Kunne ikke søke i gruppen"}},{locale:"nl",translations:{"{tag} (invisible)":"{tag} (onzichtbaar)","{tag} (restricted)":"{tag} (beperkt)",Actions:"Acties",Activities:"Activiteiten","Animals & Nature":"Dieren & Natuur","Avatar of {displayName}":"Avatar van {displayName}","Cancel changes":"Wijzigingen annuleren",Choose:"Kies",Close:"Sluiten","Confirm changes":"Wijzigingen bevestigen",Custom:"Aangepast","External documentation for {title}":"Externe documentatie voor {title}",Flags:"Vlaggen","Food & Drink":"Eten & Drinken","Frequently used":"Vaak gebruikt","Message limit of {count} characters reached":"Berichtlengte van {count} karakters bereikt",Next:"Volgende","No emoji found":"Geen emoji gevonden","No results":"Geen resultaten",Objects:"Objecten","Pause slideshow":"Pauzeer diavoorstelling","People & Body":"Mensen & Lichaam","Pick an emoji":"Kies een emoji",Previous:"Vorige",Search:"Zoeken","Search results":"Zoekresultaten","Select a tag":"Selecteer een label",Settings:"Instellingen","Settings navigation":"Instellingen navigatie","Smileys & Emotion":"Smileys & Emotie","Start slideshow":"Start diavoorstelling",Submit:"Verwerken",Symbols:"Symbolen","Travel & Places":"Reizen & Plaatsen","Unable to search the group":"Kan niet in de groep zoeken","Write message, @ to mention someone …":"Schrijf een bericht, @ om iemand te noemen ..."}},{locale:"oc",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (limit)",Actions:"Accions",Choose:"Causir",Close:"Tampar",Next:"Seguent","No results":"Cap de resultat","Pause slideshow":"Metre en pausa lo diaporama",Previous:"Precedent","Select a tag":"Seleccionar una etiqueta",Settings:"Paramètres","Start slideshow":"Lançar lo diaporama"}},{locale:"pl",translations:{"{tag} (invisible)":"{tag} (niewidoczna)","{tag} (restricted)":"{tag} (ograniczona)",Actions:"Działania",Activities:"Aktywność","Animals & Nature":"Zwierzęta i natura","Avatar of {displayName}":"Awatar {displayName}","Cancel changes":"Anuluj zmiany",Choose:"Wybierz",Close:"Zamknij","Confirm changes":"Potwierdź zmiany",Custom:"Zwyczajne","External documentation for {title}":"Dokumentacja zewnętrzna dla {title}",Flags:"Flagi","Food & Drink":"Jedzenie i picie","Frequently used":"Często używane",Global:"Globalnie","Message limit of {count} characters reached":"Przekroczono limit wiadomości wynoszący {count} znaków",Next:"Następny","No emoji found":"Nie znaleziono emotikonów","No results":"Brak wyników",Objects:"Obiekty","Pause slideshow":"Wstrzymaj pokaz slajdów","People & Body":"Ludzie i ciało","Pick an emoji":"Wybierz emoji","Please select a time zone:":"Wybierz strefę czasową:",Previous:"Poprzedni",Search:"Szukaj","Search results":"Wyniki wyszukiwania","Select a tag":"Wybierz etykietę",Settings:"Ustawienia","Settings navigation":"Nawigacja ustawień","Smileys & Emotion":"Buźki i emotikony","Start slideshow":"Rozpocznij pokaz slajdów",Submit:"Wyślij",Symbols:"Symbole","Travel & Places":"Podróże i miejsca","Type to search time zone":"Wpisz, aby wyszukać strefę czasową","Unable to search the group":"Nie można przeszukać grupy","Write message, @ to mention someone …":"Napisz wiadomość, aby wspomnieć o kimś użyj @…"}},{locale:"pt_BR",translations:{"{tag} (invisible)":"{tag} (invisível)","{tag} (restricted)":"{tag} (restrito) ",Actions:"Ações",Activities:"Atividades","Animals & Nature":"Animais & Natureza","Avatar of {displayName}":"Avatar de {displayName}","Cancel changes":"Cancelar alterações",Choose:"Escolher",Close:"Fechar","Confirm changes":"Confirmar alterações",Custom:"Personalizado","External documentation for {title}":"Documentação externa para {title}",Flags:"Bandeiras","Food & Drink":"Comida & Bebida","Frequently used":"Mais usados",Global:"Global","Message limit of {count} characters reached":"Limite de mensagem de {count} caracteres atingido",Next:"Próximo","No emoji found":"Nenhum emoji encontrado","No results":"Sem resultados",Objects:"Objetos","Pause slideshow":"Pausar apresentação de slides","People & Body":"Pessoas & Corpo","Pick an emoji":"Escolha um emoji","Please select a time zone:":"Selecione um fuso horário: ",Previous:"Anterior",Search:"Pesquisar","Search results":"Resultados da pesquisa","Select a tag":"Selecionar uma tag",Settings:"Configurações","Settings navigation":"Navegação de configurações","Smileys & Emotion":"Smiles & Emoções","Start slideshow":"Iniciar apresentação de slides",Submit:"Enviar",Symbols:"Símbolo","Travel & Places":"Viagem & Lugares","Type to search time zone":"Digite para pesquisar o fuso horário ","Unable to search the group":"Não foi possível pesquisar o grupo","Write message, @ to mention someone …":"Escreva mensagem, @ para mencionar alguém ..."}},{locale:"pt_PT",translations:{"{tag} (invisible)":"{tag} (invisivel)","{tag} (restricted)":"{tag} (restrito)",Actions:"Ações",Choose:"Escolher",Close:"Fechar",Next:"Seguinte","No results":"Sem resultados","Pause slideshow":"Pausar diaporama",Previous:"Anterior","Select a tag":"Selecionar uma etiqueta",Settings:"Definições","Start slideshow":"Iniciar diaporama","Unable to search the group":"Não é possível pesquisar o grupo"}},{locale:"ru",translations:{"{tag} (invisible)":"{tag} (невидимое)","{tag} (restricted)":"{tag} (ограниченное)",Actions:"Действия ",Activities:"События","Animals & Nature":"Животные и природа ","Avatar of {displayName}":"Аватар {displayName}","Cancel changes":"Отменить изменения",Choose:"Выберите",Close:"Закрыть","Confirm changes":"Подтвердить изменения",Custom:"Пользовательское","External documentation for {title}":"Внешняя документация для {title}",Flags:"Флаги","Food & Drink":"Еда, напиток","Frequently used":"Часто используемый",Global:"Глобальный","Message limit of {count} characters reached":"Достигнуто ограничение на количество символов в {count}",Next:"Следующее","No emoji found":"Эмодзи не найдено","No results":"Результаты отсуствуют",Objects:"Объекты","Pause slideshow":"Приостановить показ слйдов","People & Body":"Люди и тело","Pick an emoji":"Выберите эмодзи","Please select a time zone:":"Пожалуйста, выберите часовой пояс:",Previous:"Предыдущее",Search:"Поиск","Search results":"Результаты поиска","Select a tag":"Выберите метку",Settings:"Параметры","Settings navigation":"Навигация по настройкам","Smileys & Emotion":"Смайлики и эмоции","Start slideshow":"Начать показ слайдов",Submit:"Утвердить",Symbols:"Символы","Travel & Places":"Путешествия и места","Type to search time zone":"Введите для поиска часового пояса","Unable to search the group":"Невозможно найти группу","Write message, @ to mention someone …":"Напишите сообщение, используйте @ чтобы упомянуть кого-то…"}},{locale:"sk_SK",translations:{"{tag} (invisible)":"{tag} (neviditeľný)","{tag} (restricted)":"{tag} (obmedzený)",Actions:"Akcie",Activities:"Aktivity","Animals & Nature":"Zvieratá a príroda","Avatar of {displayName}":"Avatar {displayName}","Cancel changes":"Zrušiť zmeny",Choose:"Vybrať",Close:"Zatvoriť","Confirm changes":"Potvrdiť zmeny",Custom:"Zvyk","External documentation for {title}":"Externá dokumentácia pre {title}",Flags:"Vlajky","Food & Drink":"Jedlo a nápoje","Frequently used":"Často používané","Message limit of {count} characters reached":"Limit správy na {count} znakov dosiahnutý",Next:"Ďalší","No emoji found":"Nenašli sa žiadne emodži","No results":"Žiadne výsledky",Objects:"Objekty","Pause slideshow":"Pozastaviť prezentáciu","People & Body":"Ľudia a telo","Pick an emoji":"Vyberte si emodži",Previous:"Predchádzajúci",Search:"Hľadať","Search results":"Výsledky vyhľadávania","Select a tag":"Vybrať štítok",Settings:"Nastavenia","Settings navigation":"Navigácia v nastaveniach","Smileys & Emotion":"Smajlíky a emócie","Start slideshow":"Začať prezentáciu",Submit:"Odoslať",Symbols:"Symboly","Travel & Places":"Cestovanie a miesta","Unable to search the group":"Skupinu sa nepodarilo nájsť","Write message, @ to mention someone …":"Napíšte správu, @ pre spomenutie niekoho ..."}},{locale:"sl",translations:{"{tag} (invisible)":"{tag} (nevidno)","{tag} (restricted)":"{tag} (omejeno)",Actions:"Dejanja",Activities:"Dejavnosti","Animals & Nature":"Živali in Narava",Choose:"Izbor",Close:"Zapri",Custom:"Po meri","External documentation for {title}":"Zunanja dokumentacija za {title}",Flags:"Zastavice","Food & Drink":"Hrana in Pijača","Frequently used":"Pogostost uporabe","Message limit of {count} characters reached":"Dosežena omejitev {count} znakov na sporočilo.",Next:"Naslednji","No emoji found":"Ni najdenih izraznih ikon","No results":"Ni zadetkov",Objects:"Predmeti","Pause slideshow":"Ustavi predstavitev","People & Body":"Ljudje in Telo","Pick an emoji":"Izbor izrazne ikone",Previous:"Predhodni",Search:"Iskanje","Search results":"Zadetki iskanja","Select a tag":"Izbor oznake",Settings:"Nastavitve","Settings navigation":"Krmarjenje nastavitev","Smileys & Emotion":"Izrazne ikone","Start slideshow":"Začni predstavitev",Submit:"Pošlji",Symbols:"Simboli","Travel & Places":"Potovanja in Kraji","Unable to search the group":"Ni mogoče iskati po skuspini","Write message, @ to mention someone …":"Napišite sporočilo, z @ omenite osebo ..."}},{locale:"sv",translations:{"{tag} (invisible)":"{tag} (osynlig)","{tag} (restricted)":"{tag} (begränsad)",Actions:"Åtgärder",Activities:"Aktiviteter","Animals & Nature":"Djur & Natur","Cancel changes":"Avbryt ändringar",Choose:"Välj",Close:"Stäng","Confirm changes":"Bekräfta ändringar",Custom:"Anpassad","External documentation for {title}":"Extern dokumentation för {title}",Flags:"Flaggor","Food & Drink":"Mat & Dryck","Frequently used":"Används ofta","Message limit of {count} characters reached":"Meddelandegräns {count} tecken används",Next:"Nästa","No emoji found":"Hittade inga emojis","No results":"Inga resultat",Objects:"Objekt","Pause slideshow":"Pausa bildspelet","People & Body":"Kropp & Själ","Pick an emoji":"Välj en emoji",Previous:"Föregående",Search:"Sök","Search results":"Sökresultat","Select a tag":"Välj en tag",Settings:"Inställningar","Settings navigation":"Inställningsmeny","Smileys & Emotion":"Selfies & Känslor","Start slideshow":"Starta bildspelet",Submit:"Skicka",Symbols:"Symboler","Travel & Places":"Resor & Sevärdigheter","Unable to search the group":"Kunde inte söka i gruppen","Write message, @ to mention someone …":"Skicka meddelande, skriv @ för att omnämna någon ..."}},{locale:"tr",translations:{"{tag} (invisible)":"{tag} (görünmez)","{tag} (restricted)":"{tag} (kısıtlı)",Actions:"İşlemler",Activities:"Etkinlikler","Animals & Nature":"Hayvanlar ve Doğa","Avatar of {displayName}":"{displayName} avatarı","Cancel changes":"Değişiklikleri iptal et",Choose:"Seçin",Close:"Kapat","Confirm changes":"Değişiklikleri onayla",Custom:"Özel","External documentation for {title}":"{title} için dış belgeler",Flags:"Bayraklar","Food & Drink":"Yeme ve İçme","Frequently used":"Sık kullanılanlar",Global:"Evrensel","Message limit of {count} characters reached":"{count} karakter ileti sınırına ulaşıldı",Next:"Sonraki","No emoji found":"Herhangi bir emoji bulunamadı","No results":"Herhangi bir sonuç bulunamadı",Objects:"Nesneler","Pause slideshow":"Slayt sunumunu duraklat","People & Body":"İnsanlar ve Beden","Pick an emoji":"Bir emoji seçin","Please select a time zone:":"Lütfen bir saat dilimi seçin:",Previous:"Önceki",Search:"Arama","Search results":"Arama sonuçları","Select a tag":"Bir etiket seçin",Settings:"Ayarlar","Settings navigation":"Gezinme ayarları","Smileys & Emotion":"İfadeler ve Duygular","Start slideshow":"Slayt sunumunu başlat",Submit:"Gönder",Symbols:"Simgeler","Travel & Places":"Gezi ve Yerler","Type to search time zone":"Saat dilimi aramak için yazmaya başlayın","Unable to search the group":"Grupta arama yapılamadı","Write message, @ to mention someone …":"İletiyi yazın. Birini anmak için @ kullanın …"}},{locale:"uk",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restricted)",Actions:"Дії",Activities:"Діяльність","Animals & Nature":"Тварини та природа",Choose:"Виберіть",Close:"Закрити",Custom:"Власне",Flags:"Прапори","Food & Drink":"Їжа та напитки","Frequently used":"Найчастіші",Next:"Вперед","No emoji found":"Емоційки відсутні","No results":"Відсутні результати",Objects:"Об'єкти","Pause slideshow":"Пауза у показі слайдів","People & Body":"Люди та жести","Pick an emoji":"Виберіть емоційку",Previous:"Назад",Search:"Пошук","Search results":"Результати пошуку","Select a tag":"Виберіть позначку",Settings:"Налаштування","Smileys & Emotion":"Усміхайлики та емоційки","Start slideshow":"Почати показ слайдів",Symbols:"Символи","Travel & Places":"Поїздки та місця","Unable to search the group":"Неможливо шукати в групі"}},{locale:"zh_CN",translations:{"{tag} (invisible)":"{tag} (不可见)","{tag} (restricted)":"{tag} (受限)",Actions:"行为",Activities:"活动","Animals & Nature":"动物 & 自然",Choose:"选择",Close:"关闭",Custom:"自定义",Flags:"旗帜","Food & Drink":"食物 & 饮品","Frequently used":"经常使用","Message limit of {count} characters reached":"已达到 {count} 个字符的消息限制",Next:"下一个","No emoji found":"表情未找到","No results":"无结果",Objects:"物体","Pause slideshow":"暂停幻灯片","People & Body":"人 & 身体","Pick an emoji":"选择一个表情",Previous:"上一个",Search:"搜索","Search results":"搜索结果","Select a tag":"选择一个标签",Settings:"设置","Settings navigation":"设置向导","Smileys & Emotion":"笑脸 & 情感","Start slideshow":"开始幻灯片",Symbols:"符号","Travel & Places":"旅游 & 地点","Unable to search the group":"无法搜索分组","Write message, @ to mention someone …":"输入消息,输入 @ 来提醒某人"}},{locale:"zh_HK",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然",Choose:"選擇",Close:"關閉",Custom:"自定義","External documentation for {title}":"{title} 的外部文檔",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"經常使用","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號",Previous:"上一個",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Submit:"提交",Symbols:"標誌","Travel & Places":"旅遊與景點","Unable to search the group":"無法搜尋群組","Write message, @ to mention someone …":"輸入訊息時可使用 @ 來標示某人..."}},{locale:"zh_TW",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然",Choose:"選擇",Close:"關閉",Custom:"自定義",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"最近使用","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號",Previous:"上一個",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Symbols:"標誌","Travel & Places":"旅遊與景點","Unable to search the group":"無法搜尋群組","Write message, @ to mention someone …":"輸入訊息時可使用 @ 來標示某人..."}}].forEach((function(n){var t={};for(var e in n.translations)n.translations[e].pluralId?t[e]={msgid:e,msgid_plural:n.translations[e].pluralId,msgstr:n.translations[e].msgstr}:t[e]={msgid:e,msgstr:[n.translations[e]]};i.addTranslation(n.locale,{translations:{"":t}})}));var a=i.build(),T=a.ngettext.bind(a),o=a.gettext.bind(a)},function(n,t){n.exports=require("v-tooltip")},function(n,t){n.exports=require("vue")},function(n,t){n.exports=require("@nextcloud/router")},function(n,t,e){"use strict";n.exports=function(n,t){return t||(t={}),"string"!=typeof(n=n&&n.__esModule?n.default:n)?n:(/^['"].*['"]$/.test(n)&&(n=n.slice(1,-1)),t.hash&&(n+=t.hash),/["'() \t\n]/.test(n)||t.needQuotes?'"'.concat(n.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):n)}},function(n,t,e){"use strict";var r=e(0),i=e.n(r),a=e(1),T=e.n(a)()(i.a);T.push([n.i,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./Popover.vue"],names:[],mappings:"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$arrow-width: 10px;\n\n.popover {\n\tz-index: 100000;\n\tdisplay: block !important;\n\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t&__inner {\n\t\tpadding: 0;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground: var(--color-main-background);\n\t}\n\n\t&__arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: $arrow-width;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n\n\t&[x-placement^='top'] {\n\t\tmargin-bottom: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\tbottom: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='bottom'] {\n\t\tmargin-top: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='right'] {\n\t\tmargin-left: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tleft: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width $arrow-width $arrow-width 0;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='left'] {\n\t\tmargin-right: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tright: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t}\n\t}\n\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\topacity: 0;\n\t}\n\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity var(--animation-quick);\n\t\topacity: 1;\n\t}\n}\n\n"],sourceRoot:""}]),t.a=T},function(n,t){},function(n,t,e){"use strict";e.r(t);var r=e(5),i=e(2),a=e.n(i),T=e(13),o={insert:"head",singleton:!1};a()(T.a,o),T.a.locals;
|
|
2
|
+
/**
|
|
3
|
+
* @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>
|
|
4
|
+
*
|
|
5
|
+
* @author Julius Härtl <jus@bitgrid.net>
|
|
6
|
+
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
7
|
+
*
|
|
8
|
+
* @license GNU AGPL version 3 or any later version
|
|
9
|
+
*
|
|
10
|
+
* This program is free software: you can redistribute it and/or modify
|
|
11
|
+
* it under the terms of the GNU Affero General Public License as
|
|
12
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
13
|
+
* License, or (at your option) any later version.
|
|
14
|
+
*
|
|
15
|
+
* This program is distributed in the hope that it will be useful,
|
|
16
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
17
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
18
|
+
* GNU Affero General Public License for more details.
|
|
19
|
+
*
|
|
20
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
21
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
24
|
+
r.VTooltip.options.defaultTemplate='<div class="vue-tooltip" role="tooltip" data-v-'.concat("542b2ae",'><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'),r.VTooltip.options.defaultHtml=!1,r.VTooltip.options.defaultDelay={show:500,hide:200};t.default=r.VTooltip},function(n,t){n.exports=require("@nextcloud/l10n/dist/gettext")},function(n,t,e){"use strict";var r=e(0),i=e.n(r),a=e(1),T=e.n(a)()(i.a);T.push([n.i,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-542b2ae]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-542b2ae][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-542b2ae][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-542b2ae][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-542b2ae][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-542b2ae][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-542b2ae][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-542b2ae] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-542b2ae] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./index.scss"],names:[],mappings:"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n/**\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\n*\n* Bootstrap v3.3.5 (http://getbootstrap.com)\n* Copyright 2011-2015 Twitter, Inc.\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n*/\n\n$arrow-width: 10px;\n\n.vue-tooltip[data-v-#{$scope_version}] {\n\tposition: absolute;\n\tz-index: 100000;\n\tright: auto;\n\tleft: auto;\n\tdisplay: block;\n\tmargin: 0;\n\t/* default to top */\n\tmargin-top: -3px;\n\tpadding: 10px 0;\n\ttext-align: left;\n\ttext-align: start;\n\topacity: 0;\n\tline-height: 1.6;\n\n\tline-break: auto;\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t// TOP\n\t&[x-placement^='top'] {\n\t\t.tooltip-arrow {\n\t\t\tbottom: 0;\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// BOTTOM\n\t&[x-placement^='bottom'] {\n\t\t.tooltip-arrow {\n\t\t\ttop: 0;\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// RIGHT\n\t&[x-placement^='right'] {\n\t\t.tooltip-arrow {\n\t\t\tright: 100%;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width $arrow-width $arrow-width 0;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// LEFT\n\t&[x-placement^='left'] {\n\t\t.tooltip-arrow {\n\t\t\tleft: 100%;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t}\n\t}\n\n\t// HIDDEN / SHOWN\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity .15s, visibility .15s;\n\t\topacity: 0;\n\t}\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity .15s;\n\t\topacity: 1;\n\t}\n\n\t// CONTENT\n\t.tooltip-inner {\n\t\tmax-width: 350px;\n\t\tpadding: 5px 8px;\n\t\ttext-align: center;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-color: var(--color-main-background);\n\t}\n\n\t// ARROW\n\t.tooltip-arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: 0;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n}\n"],sourceRoot:""}]),t.a=T},function(n,t,e){"use strict";var r={name:"Popover",components:{VPopover:e(5).VPopover},mounted:function(){var n=this;this.$watch((function(){return n.$refs.popover.isOpen}),(function(t){t?n.$emit("after-show"):n.$emit("after-hide")}))}},i=e(2),a=e.n(i),T=e(9),o={insert:"head",singleton:!1},s=(a()(T.a,o),T.a.locals,e(3)),A=e(10),l=e.n(A),c=Object(s.a)(r,(function(){var n=this,t=n.$createElement;return(n._self._c||t)("VPopover",n._g(n._b({ref:"popover",attrs:{"popover-base-class":"popover","popover-wrapper-class":"popover__wrapper","popover-arrow-class":"popover__arrow","popover-inner-class":"popover__inner"},scopedSlots:n._u([{key:"popover",fn:function(){return[n._t("default")]},proxy:!0}],null,!0)},"VPopover",n.$attrs,!1),n.$listeners),[n._t("trigger")],2)}),[],!1,null,null,null);"function"==typeof l.a&&l()(c);t.a=c.exports},function(n,t){n.exports=require("vue-material-design-icons/DotsHorizontal")},function(n,t){n.exports=require("@nextcloud/event-bus")},,function(n,t){n.exports=require("@nextcloud/auth")},,function(n,t,e){"use strict";e.r(t);var r=e(6),i=new(e.n(r).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(n){this.$emit("changed",n)}},created:function(){window.addEventListener("resize",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener("resize",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});t.default={data:function(){return{isMobile:!1}},mounted:function(){i.$on("changed",this.onIsMobileChanged),this.isMobile=i.isMobile},beforeDestroy:function(){i.$off("changed",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(n){this.isMobile=n}}}},function(n,t){n.exports=require("@nextcloud/axios")},function(n,t,e){"use strict";e.d(t,"a",(function(){return r.default})),e.d(t,"b",(function(){return i.default})),e.d(t,"c",(function(){return a.default})),e.d(t,"d",(function(){return T.default})),e.d(t,"e",(function(){return u}));var r=e(46),i=e(47),a=e(20),T=e(38),o=e(21),s=e.n(o),A=e(7),l=e(56),c=e(18);function E(n,t,e,r,i,a,T){try{var o=n[a](T),s=o.value}catch(n){return void e(n)}o.done?t(s):Promise.resolve(s).then(r,i)}
|
|
25
|
+
/**
|
|
26
|
+
* @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>
|
|
27
|
+
*
|
|
28
|
+
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
|
|
29
|
+
*
|
|
30
|
+
* @license GNU AGPL version 3 or any later version
|
|
31
|
+
*
|
|
32
|
+
* This program is free software: you can redistribute it and/or modify
|
|
33
|
+
* it under the terms of the GNU Affero General Public License as
|
|
34
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
35
|
+
* License, or (at your option) any later version.
|
|
36
|
+
*
|
|
37
|
+
* This program is distributed in the hope that it will be useful,
|
|
38
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
39
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
40
|
+
* GNU Affero General Public License for more details.
|
|
41
|
+
*
|
|
42
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
43
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
44
|
+
*
|
|
45
|
+
*/var u={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(n){var t,e=this;return(t=regeneratorRuntime.mark((function t(){var r,i,a,T,o,E,u,d,D;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n){t.next=2;break}return t.abrupt("return");case 2:if(r=Object(l.getCapabilities)(),Object.prototype.hasOwnProperty.call(r,"user_status")&&r.user_status.enabled){t.next=5;break}return t.abrupt("return");case 5:if(Object(c.getCurrentUser)()){t.next=7;break}return t.abrupt("return");case 7:return t.prev=7,t.next=10,s.a.get(Object(A.generateOcsUrl)("apps/user_status/api/v1/statuses/{userId}",{userId:n}));case 10:i=t.sent,a=i.data,T=a.ocs.data,o=T.status,E=T.message,u=T.icon,e.userStatus.status=o,e.userStatus.message=E||"",e.userStatus.icon=u||"",e.hasStatus=!0,t.next=24;break;case 19:if(t.prev=19,t.t0=t.catch(7),404!==t.t0.response.status||0!==(null===(d=t.t0.response.data.ocs)||void 0===d||null===(D=d.data)||void 0===D?void 0:D.length)){t.next=23;break}return t.abrupt("return");case 23:console.error(t.t0);case 24:case"end":return t.stop()}}),t,null,[[7,19]])})),function(){var n=this,e=arguments;return new Promise((function(r,i){var a=t.apply(n,e);function T(n){E(a,r,i,T,o,"next",n)}function o(n){E(a,r,i,T,o,"throw",n)}T(void 0)}))})()}}};
|
|
46
|
+
/**
|
|
47
|
+
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
|
|
48
|
+
*
|
|
49
|
+
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
50
|
+
*
|
|
51
|
+
* @license GNU AGPL version 3 or any later version
|
|
52
|
+
*
|
|
53
|
+
* This program is free software: you can redistribute it and/or modify
|
|
54
|
+
* it under the terms of the GNU Affero General Public License as
|
|
55
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
56
|
+
* License, or (at your option) any later version.
|
|
57
|
+
*
|
|
58
|
+
* This program is distributed in the hope that it will be useful,
|
|
59
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
60
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
61
|
+
* GNU Affero General Public License for more details.
|
|
62
|
+
*
|
|
63
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
64
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
65
|
+
*
|
|
66
|
+
*/},function(n,t){n.exports=require("striptags")},function(n,t,e){"use strict";var r=e(0),i=e.n(r),a=e(1),T=e.n(a)()(i.a);T.push([n.i,".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./MentionBubble.vue"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$bubble-height: 20px;\n$bubble-max-width: 150px;\n$bubble-padding: 2px;\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\n\n.mention-bubble {\n\t&--primary &__content {\n\t\tcolor: var(--color-primary-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t&__wrapper {\n\t\tmax-width: $bubble-max-width;\n\t\t// Align with text\n\t\theight: $bubble-height - $bubble-padding;\n\t\tvertical-align: text-bottom;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tmax-width: 100%;\n\t\theight: $bubble-height ;\n\t\t-webkit-user-select: none;\n\t\tuser-select: none;\n\t\tpadding-right: $bubble-padding * 3;\n\t\tpadding-left: $bubble-padding;\n\t\tborder-radius: $bubble-height / 2;\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\twidth: $bubble-avatar-size;\n\t\theight: $bubble-avatar-size;\n\t\tborder-radius: $bubble-avatar-size / 2;\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\n\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tmargin-left: $bubble-padding;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Put label in ::before so it is not selectable\n\t\t&::before {\n\t\t\tcontent: attr(title);\n\t\t}\n\t}\n\n\t// Hide the mention id so it is selectable\n\t&__select {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\tleft: -1000px;\n\t}\n}\n\n"],sourceRoot:""}]),t.a=T},,function(n,t,e){"use strict";var r=e(4);t.a={methods:{n:r.a,t:r.b}}},function(n,t){n.exports=require("v-click-outside")},,,function(n,t){n.exports=require("linkifyjs/string")},,function(n,t,e){"use strict";var r=e(0),i=e.n(r),a=e(1),T=e.n(a)()(i.a);T.push([n.i,"\nbutton.menuitem[data-v-54983729] {\n\ttext-align: left;\n}\nbutton.menuitem *[data-v-54983729] {\n\tcursor: pointer;\n}\nbutton.menuitem[data-v-54983729]:disabled {\n\topacity: 0.5 !important;\n\tcursor: default;\n}\nbutton.menuitem:disabled *[data-v-54983729] {\n\tcursor: default;\n}\n.menuitem.active[data-v-54983729] {\n\tbox-shadow: inset 2px 0 var(--color-primary);\n\tborder-radius: 0;\n}\n","",{version:3,sources:["webpack://./src/components/PopoverMenu/PopoverMenuItem.vue"],names:[],mappings:";AAoLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA",sourcesContent:['\x3c!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n --\x3e\n\n<template>\n\t<li class="popover__menuitem">\n\t\t\x3c!-- If item.href is set, a link will be directly used --\x3e\n\t\t<a v-if="item.href"\n\t\t\t:href="(item.href) ? item.href : \'#\' "\n\t\t\t:target="(item.target) ? item.target : \'\' "\n\t\t\t:download="item.download"\n\t\t\tclass="focusable"\n\t\t\trel="noreferrer noopener"\n\t\t\t@click="action">\n\t\t\t<span v-if="!iconIsUrl" :class="item.icon" />\n\t\t\t<img v-else :src="item.icon">\n\t\t\t<p v-if="item.text && item.longtext">\n\t\t\t\t<strong class="menuitem-text">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class="menuitem-text-detail">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if="item.text">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if="item.longtext">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</a>\n\n\t\t\x3c!-- If item.input is set instead, an put will be used --\x3e\n\t\t<span v-else-if="item.input" class="menuitem" :class="{active: item.active}">\n\t\t\t\x3c!-- does not show if input is checkbox --\x3e\n\t\t\t<span v-if="item.input !== \'checkbox\'" :class="item.icon" />\n\n\t\t\t\x3c!-- only shows if input is text --\x3e\n\t\t\t<form v-if="item.input === \'text\'"\n\t\t\t\t:class="item.input"\n\t\t\t\t@submit.prevent="item.action">\n\t\t\t\t<input :type="item.input"\n\t\t\t\t\t:value="item.value"\n\t\t\t\t\t:placeholder="item.text"\n\t\t\t\t\trequired>\n\t\t\t\t<input type="submit" value="" class="icon-confirm">\n\t\t\t</form>\n\n\t\t\t\x3c!-- checkbox --\x3e\n\t\t\t<template v-else>\n\t\t\t\t\x3c!-- eslint-disable-next-line --\x3e\n\t\t\t\t<input :id="key" v-model="item.model"\n\t\t\t\t\t:type="item.input"\n\t\t\t\t\t:class="item.input"\n\t\t\t\t\t@change="item.action">\n\t\t\t\t<label :for="key" @click.stop.prevent="item.action">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</label>\n\t\t\t</template>\n\t\t</span>\n\n\t\t\x3c!-- If item.action is set instead, a button will be used --\x3e\n\t\t<button v-else-if="item.action"\n\t\t\tclass="menuitem focusable"\n\t\t\t:class="{active: item.active}"\n\t\t\t:disabled="item.disabled"\n\t\t\ttype="button"\n\t\t\t@click.stop.prevent="item.action">\n\t\t\t<span :class="item.icon" />\n\t\t\t<p v-if="item.text && item.longtext">\n\t\t\t\t<strong class="menuitem-text">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class="menuitem-text-detail">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if="item.text">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if="item.longtext">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</button>\n\n\t\t\x3c!-- If item.longtext is set AND the item does not have an action --\x3e\n\t\t<span v-else class="menuitem" :class="{active: item.active}">\n\t\t\t<span :class="item.icon" />\n\t\t\t<p v-if="item.text && item.longtext">\n\t\t\t\t<strong class="menuitem-text">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class="menuitem-text-detail">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if="item.text">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if="item.longtext">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</span>\n\t</li>\n</template>\n\n<script>\nexport default {\n\tname: \'PopoverMenuItem\',\n\tprops: {\n\t\titem: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tdefault: () => {\n\t\t\t\treturn {\n\t\t\t\t\tkey: \'nextcloud-link\',\n\t\t\t\t\thref: \'https://nextcloud.com\',\n\t\t\t\t\ticon: \'icon-links\',\n\t\t\t\t\ttext: \'Nextcloud\',\n\t\t\t\t}\n\t\t\t},\n\t\t\t// check the input types\n\t\t\t// TODO: add more validation of types\n\t\t\tvalidator: item => {\n\t\t\t\t// TODO: support radio\n\t\t\t\tif (item.input) {\n\t\t\t\t\treturn [\'text\', \'checkbox\'].indexOf(item.input) !== -1\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t},\n\t\t},\n\t},\n\tcomputed: {\n\t\t// random key for inputs binding if not provided\n\t\tkey() {\n\t\t\treturn this.item.key\n\t\t\t\t? this.item.key\n\t\t\t\t: Math.round(Math.random() * 16 * 1000000).toString(16)\n\t\t},\n\t\ticonIsUrl() {\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-new\n\t\t\t\tnew URL(this.item.icon)\n\t\t\t\treturn true\n\t\t\t} catch (_) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\t// allow us to use both link and an action on `a`\n\t\t// we still need to make sure item.action exists\n\t\taction(event) {\n\t\t\tif (this.item.action) {\n\t\t\t\tthis.item.action(event)\n\t\t\t}\n\t\t},\n\t},\n}\n<\/script>\n\n<style scoped>\n\tbutton.menuitem {\n\t\ttext-align: left;\n\t}\n\n\tbutton.menuitem * {\n\t\tcursor: pointer;\n\t}\n\n\tbutton.menuitem:disabled {\n\t\topacity: 0.5 !important;\n\t\tcursor: default;\n\t}\n\n\tbutton.menuitem:disabled * {\n\t\tcursor: default;\n\t}\n\n\t.menuitem.active {\n\t\tbox-shadow: inset 2px 0 var(--color-primary);\n\t\tborder-radius: 0;\n\t}\n</style>\n\n<style lang="scss" scoped>\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^=\'icon-\'],\n\t\tspan[class*=\' icon-\'],\n\t\t&[class^=\'icon-\'],\n\t\t&[class*=\' icon-\'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^=\'icon-\'],\n\t\tspan[class*=\' icon-\'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^=\'icon-\']):not([class*=\'icon-\']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^=\'icon-\']):not([class*=\'icon-\']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^=\'icon-\'],\n\t\t&[class*=\' icon-\'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $icon-size;\n\t\t\tpadding: $icon-margin;\n\t\t}\n\n\t\t/* checkbox/radio fixes */\n\t\t> input.radio + label,\n\t\t> input.checkbox + label {\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t> input.checkbox + label::before {\n\t\t\tmargin: -2px 13px 0;\n\t\t}\n\t\t> input.radio + label::before {\n\t\t\tmargin: -2px 12px 0;\n\t\t}\n\t\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\n\t\t\twidth: 150px;\n\t\t}\n\n\t\t// Forms & text inputs\n\t\tform {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\t/* put a small space between text and form\n\t\t\t\tif there is an element before */\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t/* no margin if hidden span before */\n\t\t> span.hidden + form,\n\t\t> span[style*=\'display:none\'] + form {\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t/* Inputs inside popover supports text, submit & reset */\n\t\tinput {\n\t\t\tmin-width: $clickable-area;\n\t\t\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\n\t\t\tmargin: 2px 0;\n\t\t\tflex: 1 1 auto;\n\t\t\t// space between inline inputs\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: do that in js, should be cleaner\n\t/* css hack, only first not hidden */\n\t&:not(.hidden):not([style*=\'display:none\']) {\n\t\t&:first-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-top: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:last-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-bottom: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t> button {\n\t\tpadding: 0;\n\t\tspan {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n}\n</style>\n'],sourceRoot:""}]),t.a=T},function(n,t,e){"use strict";var r=e(0),i=e.n(r),a=e(1),T=e.n(a)()(i.a);T.push([n.i,".material-design-icon[data-v-54983729]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-54983729]{display:flex;flex:0 0 auto}li.hidden[data-v-54983729]{display:none}li>button[data-v-54983729],li>a[data-v-54983729],li>.menuitem[data-v-54983729]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{padding:0 14px 0 44px}li>button[data-v-54983729]:not(:disabled):hover,li>button[data-v-54983729]:not(:disabled):focus,li>button:not(:disabled).active[data-v-54983729],li>a[data-v-54983729]:not(:disabled):hover,li>a[data-v-54983729]:not(:disabled):focus,li>a:not(:disabled).active[data-v-54983729],li>.menuitem[data-v-54983729]:not(:disabled):hover,li>.menuitem[data-v-54983729]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-54983729]{opacity:1 !important}li>button.action[data-v-54983729],li>a.action[data-v-54983729],li>.menuitem.action[data-v-54983729]{padding:inherit !important}li>button>span[data-v-54983729],li>a>span[data-v-54983729],li>.menuitem>span[data-v-54983729]{cursor:pointer;white-space:nowrap}li>button>p[data-v-54983729],li>a>p[data-v-54983729],li>.menuitem>p[data-v-54983729]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-54983729],li>a>select[data-v-54983729],li>.menuitem>select[data-v-54983729]{margin:0;margin-left:6px}li>button[data-v-54983729]:not(:empty),li>a[data-v-54983729]:not(:empty),li>.menuitem[data-v-54983729]:not(:empty){padding-right:14px !important}li>button>img[data-v-54983729],li>a>img[data-v-54983729],li>.menuitem>img[data-v-54983729]{width:16px;padding:14px}li>button>input.radio+label[data-v-54983729],li>button>input.checkbox+label[data-v-54983729],li>a>input.radio+label[data-v-54983729],li>a>input.checkbox+label[data-v-54983729],li>.menuitem>input.radio+label[data-v-54983729],li>.menuitem>input.checkbox+label[data-v-54983729]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-54983729]::before,li>a>input.checkbox+label[data-v-54983729]::before,li>.menuitem>input.checkbox+label[data-v-54983729]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-54983729]::before,li>a>input.radio+label[data-v-54983729]::before,li>.menuitem>input.radio+label[data-v-54983729]::before{margin:-2px 12px 0}li>button>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-54983729],li>a form[data-v-54983729],li>.menuitem form[data-v-54983729]{display:flex;flex:1 1 auto}li>button form[data-v-54983729]:not(:first-child),li>a form[data-v-54983729]:not(:first-child),li>.menuitem form[data-v-54983729]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-54983729],li>button>span[style*='display:none']+form[data-v-54983729],li>a>span.hidden+form[data-v-54983729],li>a>span[style*='display:none']+form[data-v-54983729],li>.menuitem>span.hidden+form[data-v-54983729],li>.menuitem>span[style*='display:none']+form[data-v-54983729]{margin-left:0}li>button input[data-v-54983729],li>a input[data-v-54983729],li>.menuitem input[data-v-54983729]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-54983729]:not(:first-child),li>a input[data-v-54983729]:not(:first-child),li>.menuitem input[data-v-54983729]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-54983729]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-54983729]{margin-bottom:12px}li>button[data-v-54983729]{padding:0}li>button span[data-v-54983729]{opacity:1}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./PopoverMenuItem.vue","webpack://./../../assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqMxB,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,YCrR6C,CD4KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cCjUkB,CDkUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC9Ua",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'],\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^='icon-']):not([class*='icon-']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^='icon-']):not([class*='icon-']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $icon-size;\n\t\t\tpadding: $icon-margin;\n\t\t}\n\n\t\t/* checkbox/radio fixes */\n\t\t> input.radio + label,\n\t\t> input.checkbox + label {\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t> input.checkbox + label::before {\n\t\t\tmargin: -2px 13px 0;\n\t\t}\n\t\t> input.radio + label::before {\n\t\t\tmargin: -2px 12px 0;\n\t\t}\n\t\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\n\t\t\twidth: 150px;\n\t\t}\n\n\t\t// Forms & text inputs\n\t\tform {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\t/* put a small space between text and form\n\t\t\t\tif there is an element before */\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t/* no margin if hidden span before */\n\t\t> span.hidden + form,\n\t\t> span[style*='display:none'] + form {\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t/* Inputs inside popover supports text, submit & reset */\n\t\tinput {\n\t\t\tmin-width: $clickable-area;\n\t\t\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\n\t\t\tmargin: 2px 0;\n\t\t\tflex: 1 1 auto;\n\t\t\t// space between inline inputs\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: do that in js, should be cleaner\n\t/* css hack, only first not hidden */\n\t&:not(.hidden):not([style*='display:none']) {\n\t\t&:first-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-top: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:last-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-bottom: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t> button {\n\t\tpadding: 0;\n\t\tspan {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: ($clickable-area - $icon-size) / 2;\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n"],sourceRoot:""}]),t.a=T},function(n,t,e){"use strict";var r=e(0),i=e.n(r),a=e(1),T=e.n(a)()(i.a);T.push([n.i,".material-design-icon[data-v-4dae360a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-4dae360a]{display:flex;flex-direction:column}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./PopoverMenu.vue"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCkDxB,oBACC,YAAa,CACb,qBAAsB",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nul {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n"],sourceRoot:""}]),t.a=T},function(n,t){},,function(n,t,e){"use strict";
|
|
67
|
+
/**
|
|
68
|
+
* @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>
|
|
69
|
+
*
|
|
70
|
+
* @author Raimund Schlüßler <raimund.schluessler@mailbox.org>
|
|
71
|
+
*
|
|
72
|
+
* @license GNU AGPL version 3 or any later version
|
|
73
|
+
*
|
|
74
|
+
* This program is free software: you can redistribute it and/or modify
|
|
75
|
+
* it under the terms of the GNU Affero General Public License as
|
|
76
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
77
|
+
* License, or (at your option) any later version.
|
|
78
|
+
*
|
|
79
|
+
* This program is distributed in the hope that it will be useful,
|
|
80
|
+
* but WITHOUT ANY WARRANTY without even the implied warranty of
|
|
81
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
82
|
+
* GNU Affero General Public License for more details.
|
|
83
|
+
*
|
|
84
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
85
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
86
|
+
*
|
|
87
|
+
*/t.a=function(n,t){for(var e=[],r=0,i=n.toLowerCase().indexOf(t.toLowerCase(),r),a=0;i>-1&&a<n.length;)r=i+t.length,e.push({start:i,end:r}),i=n.toLowerCase().indexOf(t.toLowerCase(),r),a++;return e}},function(n,t,e){"use strict";e.r(t),e.d(t,"USERID_REGEX",(function(){return N})),e.d(t,"USERID_REGEX_WITH_SPACE",(function(){return O}));var r=e(42),i=e.n(r),a=e(30),T=e.n(a),o=e(23),s=e.n(o),A=e(6),l=e.n(A),c=e(7),E={name:"MentionBubble",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&"users"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(" ")?"@".concat(this.id):'@"'.concat(this.id,'"')}},methods:{getAvatarUrl:function(n,t){return Object(c.generateUrl)("/avatar/{user}/{size}",{user:n,size:t})}}},u=e(2),d=e.n(u),D=e(24),S={insert:"head",singleton:!1},F=(d()(D.a,S),D.a.locals,e(3)),R=Object(F.a)(E,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("span",{staticClass:"mention-bubble",class:{"mention-bubble--primary":n.primary},attrs:{contenteditable:"false"}},[e("span",{staticClass:"mention-bubble__wrapper"},[e("span",{staticClass:"mention-bubble__content"},[e("span",{staticClass:"mention-bubble__icon",class:[n.icon,"mention-bubble__icon--"+(n.avatarUrl?"with-avatar":"")],style:n.avatarUrl?{backgroundImage:"url("+n.avatarUrl+")"}:null}),n._v(" "),e("span",{staticClass:"mention-bubble__title",attrs:{role:"heading",title:n.label}})]),n._v(" "),e("span",{staticClass:"mention-bubble__select",attrs:{role:"none"}},[n._v(n._s(n.mentionText))])])])}),[],!1,null,"724f9d58",null).exports,N=new RegExp("".concat("(?:^|\\s)","(@[a-zA-Z0-9_.@\\-']+)(").concat("(?:[^a-z]|$)",")"),"gi"),O=new RegExp("".concat("(?:^|\\s)","(@"[a-zA-Z0-9 _.@\\-']+")(").concat("(?:[^a-z]|$)",")"),"gi");t.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(n){var t=this;return i()(n).split(N).map((function(n){return n.split(O)})).flat().map((function(n){if(!n.startsWith("@"))return T()(n,{defaultProtocol:"https",target:"_blank",className:"external",attributes:{rel:"noopener noreferrer"}});var e=n.replace(/@|"/gi,"");return" "+t.genSelectTemplate(e)})).join("").replace(/\n/gim,"<br>").replace(/&/gim,"&")},parseContent:function(n){var t=n.replace(/<br>/gim,"\n");return t=(t=(t=t.replace(/ /gim," ")).replace(/&/gim,"&")).replace(/<\/div>/gim,"\n"),t=s()(t,"<div>"),t=s()(t)},genSelectTemplate:function(n){var t=this.userData[n];return t?this.renderComponentHtml(t,R).replace(/[\n\t]/gim,""):-1===n.indexOf(" ")?"@".concat(n):'@"'.concat(n,'"')},renderComponentHtml:function(n,t){var e=new(l.a.extend(t))({propsData:n}),r=document.createElement("div"),i=document.createElement("div");r.style.display="none",r.appendChild(i),document.body.appendChild(r),e.$mount(i);var a=r.innerHTML;return e.$destroy(),r.remove(),a}}}},function(n,t,e){"use strict";e.r(t);var r=e(37);function i(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),e.push.apply(e,r)}return e}function a(n){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?i(Object(e),!0).forEach((function(t){T(n,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):i(Object(e)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))}))}return n}function T(n,t,e){return t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}var o={name:"Highlight",props:{text:{type:String,default:""},search:{type:String,default:""},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var n=this,t=[];return this.search||0!==this.highlight.length?(t=this.highlight.length>0?this.highlight:Object(r.a)(this.text,this.search),t.forEach((function(n,e){n.end<n.start&&(t[e]={start:n.end,end:n.start})})),t=t.reduce((function(t,e){return e.start<n.text.length&&e.end>0&&t.push({start:e.start<0?0:e.start,end:e.end>n.text.length?n.text.length:e.end}),t}),[]),t.sort((function(n,t){return n.start-t.start})),t=t.reduce((function(n,t){if(n.length){var e=n.length-1;n[e].end>=t.start?n[e]={start:n[e].start,end:Math.max(n[e].end,t.end)}:n.push(t)}else n.push(t);return n}),[]),t):t},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var n=[],t=0,e=0;t<this.text.length;){var r=this.ranges[e];r.start!==t?(n.push({start:t,end:r.start,highlight:!1,text:this.text.substr(t,r.start-t)}),t=r.start):(n.push(a(a({},r),{},{highlight:!0,text:this.text.substr(r.start,r.end-r.start)})),e++,t=r.end,e>=this.ranges.length&&t<this.text.length&&(n.push({start:t,end:this.text.length,highlight:!1,text:this.text.substr(t,this.text.length-t)}),t=this.text.length))}return n}},render:function(n){return this.ranges.length?n("span",{},this.chunks.map((function(t){return t.highlight?n("strong",{},t.text):t.text}))):n("span",{},this.text)}},s=e(3),A=e(44),l=e.n(A),c=Object(s.a)(o,void 0,void 0,!1,null,null,null);"function"==typeof l.a&&l()(c);var E=c.exports;
|
|
88
|
+
/**
|
|
89
|
+
* @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>
|
|
90
|
+
*
|
|
91
|
+
* @author Raimund Schlüßler <raimund.schluessler@mailbox.org>
|
|
92
|
+
*
|
|
93
|
+
* @license GNU AGPL version 3 or any later version
|
|
94
|
+
*
|
|
95
|
+
* This program is free software: you can redistribute it and/or modify
|
|
96
|
+
* it under the terms of the GNU Affero General Public License as
|
|
97
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
98
|
+
* License, or (at your option) any later version.
|
|
99
|
+
*
|
|
100
|
+
* This program is distributed in the hope that it will be useful,
|
|
101
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
102
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
103
|
+
* GNU Affero General Public License for more details.
|
|
104
|
+
*
|
|
105
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
106
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
107
|
+
*
|
|
108
|
+
*/t.default=E},function(n,t,e){"use strict";var r=e(0),i=e.n(r),a=e(1),T=e.n(a),o=e(8),s=e.n(o),A=e(49),l=e(50),c=e(51),E=T()(i.a),u=s()(A.a),d=s()(l.a),D=s()(c.a);E.push([n.i,".material-design-icon[data-v-583ead48]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-583ead48]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-583ead48]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-583ead48]{cursor:pointer}.avatardiv--with-menu[data-v-583ead48] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu .icon-loading[data-v-583ead48]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-583ead48]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-583ead48],.avatardiv--with-menu:hover .icon-more[data-v-583ead48]{opacity:1}.avatardiv--with-menu:focus img[data-v-583ead48],.avatardiv--with-menu:hover img[data-v-583ead48]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu img[data-v-583ead48]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-583ead48]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-583ead48]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-583ead48]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-583ead48]{background-image:url("+u+")}.avatardiv .avatardiv__user-status--dnd[data-v-583ead48]{background-image:url("+d+");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-583ead48]{background-image:url("+D+")}.avatardiv .avatardiv__user-status--icon[data-v-583ead48]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-583ead48]{position:relative;display:inline-block}.avatar-class-icon[data-v-583ead48]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./Avatar.vue"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0kBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,UAAW,CACX,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CA/F/C,4DAmGG,wDAAyE,CAnG5E,yDAsGG,wDAAsE,CACtE,wBAAyB,CAvG5B,0DA0GG,wDAAuE,CA1G1E,0DA6GG,WAAY,CACZ,4BAA6B,CA9GhC,iDAmHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB,+CAAgD,CAChD,WAAY",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.avatardiv {\n\tposition: relative;\n\tdisplay: inline-block;\n\twidth: var(--size);\n\theight: var(--size);\n\n\t&--unknown {\n\t\tposition: relative;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t}\n\n\t&:not(&--unknown) {\n\t\t// White background for avatars with transparency\n\t\tbackground-color: #fff !important;\n\t\tbody.theme--dark & {\n\t\t\t// And black background in dark mode, as it shines through on hover of the menu\n\t\t\tbackground-color: #000 !important;\n\t\t}\n\t\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\n\t}\n\n\t&--with-menu {\n\t\tcursor: pointer;\n\t\t::v-deep .trigger {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\t.icon-more, .icon-loading {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\twidth: var(--size);\n\t\t\theight: var(--size);\n\t\t\tcursor: pointer;\n\t\t\tbackground: none;\n\t\t}\n\t\t.icon-more {\n\t\t\topacity: 0;\n\t\t}\n\t\t&:focus,\n\t\t&:hover {\n\t\t\t.icon-more {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\timg {\n\t\t\t\topacity: 0.3;\n\t\t\t}\n\t\t}\n\t\t.icon-more,\n\t\timg {\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t}\n\t}\n\n\t> .unknown {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttext-align: center;\n\t\tfont-weight: normal;\n\t\tcolor: var(--color-main-background);\n\t}\n\n\timg {\n\t\t// Cover entire area\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\t// Keep ratio\n\t\tobject-fit: cover;\n\t}\n\n\t.avatardiv__user-status {\n\t\tposition: absolute;\n\t\tright: -4px;\n\t\tbottom: -4px;\n\t\theight: 18px;\n\t\twidth: 18px;\n\t\tline-height: 15px;\n\t\tfont-size: var(--default-font-size);\n\t\tborder: 2px solid var(--color-main-background);\n\t\tbackground-color: var(--color-main-background);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: 16px;\n\t\tbackground-position: center;\n\t\tborder-radius: 50%;\n\n\t\t.acli:hover & {\n\t\t\tborder-color: var(--color-background-hover);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t\t.acli.active & {\n\t\t\tborder-color: var(--color-primary-light);\n\t\t\tbackground-color: var(--color-primary-light);\n\t\t}\n\n\t\t&--online{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\n\t\t}\n\t\t&--dnd{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\n\t\t\tbackground-color: #ffffff;\n\t\t}\n\t\t&--away{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\n\t\t}\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t.popovermenu-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n}\n\n.avatar-class-icon {\n\tborder-radius: 50%;\n\tbackground-color: var(--color-background-darker);\n\theight: 100%;\n}\n\n"],sourceRoot:""}]),t.a=E},function(n,t){},function(n,t){n.exports=require("escape-html")},function(n,t,e){"use strict";
|
|
109
|
+
/**
|
|
110
|
+
* @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
|
|
111
|
+
*
|
|
112
|
+
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
113
|
+
*
|
|
114
|
+
* @license GNU AGPL version 3 or any later version
|
|
115
|
+
*
|
|
116
|
+
* This program is free software: you can redistribute it and/or modify
|
|
117
|
+
* it under the terms of the GNU Affero General Public License as
|
|
118
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
119
|
+
* License, or (at your option) any later version.
|
|
120
|
+
*
|
|
121
|
+
* This program is distributed in the hope that it will be useful,
|
|
122
|
+
* but WITHOUT ANY WARRANTY without even the implied warranty of
|
|
123
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
124
|
+
* GNU Affero General Public License for more details.
|
|
125
|
+
*
|
|
126
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
127
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
128
|
+
*
|
|
129
|
+
*/function r(n,t,e){this.r=n,this.g=t,this.b=e}function i(n,t,e){var i=[];i.push(t);for(var a=function(n,t){var e=new Array(3);return e[0]=(t[1].r-t[0].r)/n,e[1]=(t[1].g-t[0].g)/n,e[2]=(t[1].b-t[0].b)/n,e}(n,[t,e]),T=1;T<n;T++){var o=parseInt(t.r+a[0]*T,10),s=parseInt(t.g+a[1]*T,10),A=parseInt(t.b+a[2]*T,10);i.push(new r(o,s,A))}return i}t.a=function(n){n||(n=6);var t=new r(182,70,157),e=new r(221,203,85),a=new r(0,130,201),T=i(n,t,e),o=i(n,e,a),s=i(n,a,t);return T.concat(o).concat(s)}},function(n,t){},function(n){n.exports=JSON.parse('{"version":"2.2019c","aliases":{"AUS Central Standard Time":{"aliasTo":"Australia/Darwin"},"AUS Eastern Standard Time":{"aliasTo":"Australia/Sydney"},"Afghanistan Standard Time":{"aliasTo":"Asia/Kabul"},"Africa/Asmera":{"aliasTo":"Africa/Asmara"},"Africa/Timbuktu":{"aliasTo":"Africa/Bamako"},"Alaskan Standard Time":{"aliasTo":"America/Anchorage"},"America/Argentina/ComodRivadavia":{"aliasTo":"America/Argentina/Catamarca"},"America/Buenos_Aires":{"aliasTo":"America/Argentina/Buenos_Aires"},"America/Louisville":{"aliasTo":"America/Kentucky/Louisville"},"America/Montreal":{"aliasTo":"America/Toronto"},"America/Santa_Isabel":{"aliasTo":"America/Tijuana"},"Arab Standard Time":{"aliasTo":"Asia/Riyadh"},"Arabian Standard Time":{"aliasTo":"Asia/Dubai"},"Arabic Standard Time":{"aliasTo":"Asia/Baghdad"},"Argentina Standard Time":{"aliasTo":"America/Argentina/Buenos_Aires"},"Asia/Calcutta":{"aliasTo":"Asia/Kolkata"},"Asia/Katmandu":{"aliasTo":"Asia/Kathmandu"},"Asia/Rangoon":{"aliasTo":"Asia/Yangon"},"Asia/Saigon":{"aliasTo":"Asia/Ho_Chi_Minh"},"Atlantic Standard Time":{"aliasTo":"America/Halifax"},"Atlantic/Faeroe":{"aliasTo":"Atlantic/Faroe"},"Atlantic/Jan_Mayen":{"aliasTo":"Europe/Oslo"},"Azerbaijan Standard Time":{"aliasTo":"Asia/Baku"},"Azores Standard Time":{"aliasTo":"Atlantic/Azores"},"Bahia Standard Time":{"aliasTo":"America/Bahia"},"Bangladesh Standard Time":{"aliasTo":"Asia/Dhaka"},"Belarus Standard Time":{"aliasTo":"Europe/Minsk"},"Canada Central Standard Time":{"aliasTo":"America/Regina"},"Cape Verde Standard Time":{"aliasTo":"Atlantic/Cape_Verde"},"Caucasus Standard Time":{"aliasTo":"Asia/Yerevan"},"Cen. Australia Standard Time":{"aliasTo":"Australia/Adelaide"},"Central America Standard Time":{"aliasTo":"America/Guatemala"},"Central Asia Standard Time":{"aliasTo":"Asia/Almaty"},"Central Brazilian Standard Time":{"aliasTo":"America/Cuiaba"},"Central Europe Standard Time":{"aliasTo":"Europe/Budapest"},"Central European Standard Time":{"aliasTo":"Europe/Warsaw"},"Central Pacific Standard Time":{"aliasTo":"Pacific/Guadalcanal"},"Central Standard Time":{"aliasTo":"America/Chicago"},"Central Standard Time (Mexico)":{"aliasTo":"America/Mexico_City"},"China Standard Time":{"aliasTo":"Asia/Shanghai"},"E. Africa Standard Time":{"aliasTo":"Africa/Nairobi"},"E. Australia Standard Time":{"aliasTo":"Australia/Brisbane"},"E. South America Standard Time":{"aliasTo":"America/Sao_Paulo"},"Eastern Standard Time":{"aliasTo":"America/New_York"},"Egypt Standard Time":{"aliasTo":"Africa/Cairo"},"Ekaterinburg Standard Time":{"aliasTo":"Asia/Yekaterinburg"},"Etc/GMT":{"aliasTo":"UTC"},"Etc/GMT+0":{"aliasTo":"UTC"},"Etc/UCT":{"aliasTo":"UTC"},"Etc/UTC":{"aliasTo":"UTC"},"Etc/Unversal":{"aliasTo":"UTC"},"Etc/Zulu":{"aliasTo":"UTC"},"Europe/Belfast":{"aliasTo":"Europe/London"},"FLE Standard Time":{"aliasTo":"Europe/Kiev"},"Fiji Standard Time":{"aliasTo":"Pacific/Fiji"},"GMT":{"aliasTo":"UTC"},"GMT Standard Time":{"aliasTo":"Europe/London"},"GMT+0":{"aliasTo":"UTC"},"GMT0":{"aliasTo":"UTC"},"GTB Standard Time":{"aliasTo":"Europe/Bucharest"},"Georgian Standard Time":{"aliasTo":"Asia/Tbilisi"},"Greenland Standard Time":{"aliasTo":"America/Godthab"},"Greenwich":{"aliasTo":"UTC"},"Greenwich Standard Time":{"aliasTo":"Atlantic/Reykjavik"},"Hawaiian Standard Time":{"aliasTo":"Pacific/Honolulu"},"India Standard Time":{"aliasTo":"Asia/Calcutta"},"Iran Standard Time":{"aliasTo":"Asia/Tehran"},"Israel Standard Time":{"aliasTo":"Asia/Jerusalem"},"Jordan Standard Time":{"aliasTo":"Asia/Amman"},"Kaliningrad Standard Time":{"aliasTo":"Europe/Kaliningrad"},"Korea Standard Time":{"aliasTo":"Asia/Seoul"},"Libya Standard Time":{"aliasTo":"Africa/Tripoli"},"Line Islands Standard Time":{"aliasTo":"Pacific/Kiritimati"},"Magadan Standard Time":{"aliasTo":"Asia/Magadan"},"Mauritius Standard Time":{"aliasTo":"Indian/Mauritius"},"Middle East Standard Time":{"aliasTo":"Asia/Beirut"},"Montevideo Standard Time":{"aliasTo":"America/Montevideo"},"Morocco Standard Time":{"aliasTo":"Africa/Casablanca"},"Mountain Standard Time":{"aliasTo":"America/Denver"},"Mountain Standard Time (Mexico)":{"aliasTo":"America/Chihuahua"},"Myanmar Standard Time":{"aliasTo":"Asia/Rangoon"},"N. Central Asia Standard Time":{"aliasTo":"Asia/Novosibirsk"},"Namibia Standard Time":{"aliasTo":"Africa/Windhoek"},"Nepal Standard Time":{"aliasTo":"Asia/Katmandu"},"New Zealand Standard Time":{"aliasTo":"Pacific/Auckland"},"Newfoundland Standard Time":{"aliasTo":"America/St_Johns"},"North Asia East Standard Time":{"aliasTo":"Asia/Irkutsk"},"North Asia Standard Time":{"aliasTo":"Asia/Krasnoyarsk"},"Pacific SA Standard Time":{"aliasTo":"America/Santiago"},"Pacific Standard Time":{"aliasTo":"America/Los_Angeles"},"Pacific Standard Time (Mexico)":{"aliasTo":"America/Santa_Isabel"},"Pacific/Johnston":{"aliasTo":"Pacific/Honolulu"},"Pakistan Standard Time":{"aliasTo":"Asia/Karachi"},"Paraguay Standard Time":{"aliasTo":"America/Asuncion"},"Romance Standard Time":{"aliasTo":"Europe/Paris"},"Russia Time Zone 10":{"aliasTo":"Asia/Srednekolymsk"},"Russia Time Zone 11":{"aliasTo":"Asia/Kamchatka"},"Russia Time Zone 3":{"aliasTo":"Europe/Samara"},"Russian Standard Time":{"aliasTo":"Europe/Moscow"},"SA Eastern Standard Time":{"aliasTo":"America/Cayenne"},"SA Pacific Standard Time":{"aliasTo":"America/Bogota"},"SA Western Standard Time":{"aliasTo":"America/La_Paz"},"SE Asia Standard Time":{"aliasTo":"Asia/Bangkok"},"Samoa Standard Time":{"aliasTo":"Pacific/Apia"},"Singapore Standard Time":{"aliasTo":"Asia/Singapore"},"South Africa Standard Time":{"aliasTo":"Africa/Johannesburg"},"Sri Lanka Standard Time":{"aliasTo":"Asia/Colombo"},"Syria Standard Time":{"aliasTo":"Asia/Damascus"},"Taipei Standard Time":{"aliasTo":"Asia/Taipei"},"Tasmania Standard Time":{"aliasTo":"Australia/Hobart"},"Tokyo Standard Time":{"aliasTo":"Asia/Tokyo"},"Tonga Standard Time":{"aliasTo":"Pacific/Tongatapu"},"Turkey Standard Time":{"aliasTo":"Europe/Istanbul"},"UCT":{"aliasTo":"UTC"},"US Eastern Standard Time":{"aliasTo":"America/Indiana/Indianapolis"},"US Mountain Standard Time":{"aliasTo":"America/Phoenix"},"US/Central":{"aliasTo":"America/Chicago"},"US/Eastern":{"aliasTo":"America/New_York"},"US/Mountain":{"aliasTo":"America/Denver"},"US/Pacific":{"aliasTo":"America/Los_Angeles"},"US/Pacific-New":{"aliasTo":"America/Los_Angeles"},"Ulaanbaatar Standard Time":{"aliasTo":"Asia/Ulaanbaatar"},"Universal":{"aliasTo":"UTC"},"Venezuela Standard Time":{"aliasTo":"America/Caracas"},"Vladivostok Standard Time":{"aliasTo":"Asia/Vladivostok"},"W. Australia Standard Time":{"aliasTo":"Australia/Perth"},"W. Central Africa Standard Time":{"aliasTo":"Africa/Lagos"},"W. Europe Standard Time":{"aliasTo":"Europe/Berlin"},"West Asia Standard Time":{"aliasTo":"Asia/Tashkent"},"West Pacific Standard Time":{"aliasTo":"Pacific/Port_Moresby"},"Yakutsk Standard Time":{"aliasTo":"Asia/Yakutsk"},"Z":{"aliasTo":"UTC"},"Zulu":{"aliasTo":"UTC"},"utc":{"aliasTo":"UTC"}},"zones":{"Africa/Abidjan":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0051900","longitude":"-0040200"},"Africa/Accra":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0053300","longitude":"+0001300"},"Africa/Addis_Ababa":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0090200","longitude":"+0384200"},"Africa/Algiers":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0364700","longitude":"+0030300"},"Africa/Asmara":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0152000","longitude":"+0385300"},"Africa/Bamako":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0123900","longitude":"-0080000"},"Africa/Bangui":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0042200","longitude":"+0183500"},"Africa/Banjul":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0132800","longitude":"-0163900"},"Africa/Bissau":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0115100","longitude":"-0153500"},"Africa/Blantyre":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0154700","longitude":"+0350000"},"Africa/Brazzaville":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0041600","longitude":"+0151700"},"Africa/Bujumbura":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0032300","longitude":"+0292200"},"Africa/Cairo":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0300300","longitude":"+0311500"},"Africa/Casablanca":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20180325T020000\\r\\nRDATE:20180325T020000\\r\\nRDATE:20180617T020000\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:20180513T030000\\r\\nRDATE:20180513T030000\\r\\nEND:STANDARD","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20190609T020000\\r\\nRDATE:20190609T020000\\r\\nRDATE:20200524T020000\\r\\nRDATE:20210516T020000\\r\\nRDATE:20220508T020000\\r\\nEND:STANDARD","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20181028T030000\\r\\nRDATE:20181028T030000\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:20190505T030000\\r\\nRDATE:20190505T030000\\r\\nRDATE:20200419T030000\\r\\nRDATE:20210411T030000\\r\\nRDATE:20220327T030000\\r\\nEND:DAYLIGHT"],"latitude":"+0333900","longitude":"-0073500"},"Africa/Ceuta":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0355300","longitude":"-0051900"},"Africa/Conakry":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0093100","longitude":"-0134300"},"Africa/Dakar":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0144000","longitude":"-0172600"},"Africa/Dar_es_Salaam":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0064800","longitude":"+0391700"},"Africa/Djibouti":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0113600","longitude":"+0430900"},"Africa/Douala":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0040300","longitude":"+0094200"},"Africa/El_Aaiun":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20180325T020000\\r\\nRDATE:20180325T020000\\r\\nRDATE:20180617T020000\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:20180513T030000\\r\\nRDATE:20180513T030000\\r\\nEND:STANDARD","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20181028T030000\\r\\nRDATE:20181028T030000\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:20190505T030000\\r\\nRDATE:20190505T030000\\r\\nRDATE:20200419T030000\\r\\nRDATE:20210411T030000\\r\\nRDATE:20220327T030000\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20190609T020000\\r\\nRDATE:20190609T020000\\r\\nRDATE:20200524T020000\\r\\nRDATE:20210516T020000\\r\\nRDATE:20220508T020000\\r\\nEND:STANDARD"],"latitude":"+0270900","longitude":"-0131200"},"Africa/Freetown":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0083000","longitude":"-0131500"},"Africa/Gaborone":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0243900","longitude":"+0255500"},"Africa/Harare":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0175000","longitude":"+0310300"},"Africa/Johannesburg":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:SAST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0261500","longitude":"+0280000"},"Africa/Juba":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0045100","longitude":"+0313700"},"Africa/Kampala":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0001900","longitude":"+0322500"},"Africa/Khartoum":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0153600","longitude":"+0323200"},"Africa/Kigali":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0015700","longitude":"+0300400"},"Africa/Kinshasa":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0041800","longitude":"+0151800"},"Africa/Lagos":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0062700","longitude":"+0032400"},"Africa/Libreville":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0002300","longitude":"+0092700"},"Africa/Lome":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0060800","longitude":"+0011300"},"Africa/Luanda":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0084800","longitude":"+0131400"},"Africa/Lubumbashi":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0114000","longitude":"+0272800"},"Africa/Lusaka":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0152500","longitude":"+0281700"},"Africa/Malabo":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0034500","longitude":"+0084700"},"Africa/Maputo":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0255800","longitude":"+0323500"},"Africa/Maseru":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:SAST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0292800","longitude":"+0273000"},"Africa/Mbabane":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:SAST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0261800","longitude":"+0310600"},"Africa/Mogadishu":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0020400","longitude":"+0452200"},"Africa/Monrovia":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0061800","longitude":"-0104700"},"Africa/Nairobi":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0011700","longitude":"+0364900"},"Africa/Ndjamena":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0120700","longitude":"+0150300"},"Africa/Niamey":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0133100","longitude":"+0020700"},"Africa/Nouakchott":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0180600","longitude":"-0155700"},"Africa/Ouagadougou":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0122200","longitude":"-0013100"},"Africa/Porto-Novo":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0062900","longitude":"+0023700"},"Africa/Sao_Tome":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:20180101T010000\\r\\nRDATE:20180101T010000\\r\\nEND:STANDARD","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:20190101T020000\\r\\nRDATE:20190101T020000\\r\\nEND:STANDARD"],"latitude":"+0002000","longitude":"+0064400"},"Africa/Tripoli":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0325400","longitude":"+0131100"},"Africa/Tunis":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0364800","longitude":"+0101100"},"Africa/Windhoek":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0223400","longitude":"+0170600"},"America/Adak":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:HDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:HST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0515248","longitude":"-1763929"},"America/Anchorage":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0611305","longitude":"-1495401"},"America/Anguilla":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0181200","longitude":"-0630400"},"America/Antigua":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0170300","longitude":"-0614800"},"America/Araguaina":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0071200","longitude":"-0481200"},"America/Argentina/Buenos_Aires":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0343600","longitude":"-0582700"},"America/Argentina/Catamarca":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0282800","longitude":"-0654700"},"America/Argentina/Cordoba":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0312400","longitude":"-0641100"},"America/Argentina/Jujuy":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0241100","longitude":"-0651800"},"America/Argentina/La_Rioja":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0292600","longitude":"-0665100"},"America/Argentina/Mendoza":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0325300","longitude":"-0684900"},"America/Argentina/Rio_Gallegos":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0513800","longitude":"-0691300"},"America/Argentina/Salta":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0244700","longitude":"-0652500"},"America/Argentina/San_Juan":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0313200","longitude":"-0683100"},"America/Argentina/San_Luis":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0331900","longitude":"-0662100"},"America/Argentina/Tucuman":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0264900","longitude":"-0651300"},"America/Argentina/Ushuaia":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0544800","longitude":"-0681800"},"America/Aruba":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0123000","longitude":"-0695800"},"America/Asuncion":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19701004T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700322T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=4SU\\r\\nEND:STANDARD"],"latitude":"-0251600","longitude":"-0574000"},"America/Atikokan":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0484531","longitude":"-0913718"},"America/Bahia":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0125900","longitude":"-0383100"},"America/Bahia_Banderas":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT"],"latitude":"+0204800","longitude":"-1051500"},"America/Barbados":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0130600","longitude":"-0593700"},"America/Belem":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0012700","longitude":"-0482900"},"America/Belize":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0173000","longitude":"-0881200"},"America/Blanc-Sablon":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0512500","longitude":"-0570700"},"America/Boa_Vista":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0024900","longitude":"-0604000"},"America/Bogota":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0043600","longitude":"-0740500"},"America/Boise":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0433649","longitude":"-1161209"},"America/Cambridge_Bay":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0690650","longitude":"-1050310"},"America/Campo_Grande":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20181104T000000\\r\\nRDATE:20181104T000000\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:20180218T000000\\r\\nRDATE:20180218T000000\\r\\nRDATE:20190217T000000\\r\\nEND:STANDARD"],"latitude":"-0202700","longitude":"-0543700"},"America/Cancun":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0210500","longitude":"-0864600"},"America/Caracas":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0103000","longitude":"-0665600"},"America/Cayenne":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0045600","longitude":"-0522000"},"America/Cayman":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0191800","longitude":"-0812300"},"America/Chicago":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0415100","longitude":"-0873900"},"America/Chihuahua":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0283800","longitude":"-1060500"},"America/Costa_Rica":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0095600","longitude":"-0840500"},"America/Creston":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0490600","longitude":"-1163100"},"America/Cuiaba":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20181104T000000\\r\\nRDATE:20181104T000000\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:20180218T000000\\r\\nRDATE:20180218T000000\\r\\nRDATE:20190217T000000\\r\\nEND:STANDARD","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0153500","longitude":"-0560500"},"America/Curacao":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0121100","longitude":"-0690000"},"America/Danmarkshavn":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0764600","longitude":"-0184000"},"America/Dawson":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0640400","longitude":"-1392500"},"America/Dawson_Creek":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0594600","longitude":"-1201400"},"America/Denver":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0394421","longitude":"-1045903"},"America/Detroit":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0421953","longitude":"-0830245"},"America/Dominica":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0151800","longitude":"-0612400"},"America/Edmonton":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0533300","longitude":"-1132800"},"America/Eirunepe":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0064000","longitude":"-0695200"},"America/El_Salvador":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0134200","longitude":"-0891200"},"America/Fort_Nelson":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0584800","longitude":"-1224200"},"America/Fortaleza":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0034300","longitude":"-0383000"},"America/Glace_Bay":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0461200","longitude":"-0595700"},"America/Godthab":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700328T220000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19701024T230000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA\\r\\nEND:STANDARD"],"latitude":"+0641100","longitude":"-0514400"},"America/Goose_Bay":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT"],"latitude":"+0532000","longitude":"-0602500"},"America/Grand_Turk":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:20181104T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:20190310T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:20180311T020000\\r\\nRDATE:20180311T020000\\r\\nEND:DAYLIGHT"],"latitude":"+0212800","longitude":"-0710800"},"America/Grenada":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0120300","longitude":"-0614500"},"America/Guadeloupe":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0161400","longitude":"-0613200"},"America/Guatemala":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0143800","longitude":"-0903100"},"America/Guayaquil":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0021000","longitude":"-0795000"},"America/Guyana":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0064800","longitude":"-0581000"},"America/Halifax":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0443900","longitude":"-0633600"},"America/Havana":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT"],"latitude":"+0230800","longitude":"-0822200"},"America/Hermosillo":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0290400","longitude":"-1105800"},"America/Indiana/Indianapolis":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0394606","longitude":"-0860929"},"America/Indiana/Knox":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0411745","longitude":"-0863730"},"America/Indiana/Marengo":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0382232","longitude":"-0862041"},"America/Indiana/Petersburg":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0382931","longitude":"-0871643"},"America/Indiana/Tell_City":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0375711","longitude":"-0864541"},"America/Indiana/Vevay":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0384452","longitude":"-0850402"},"America/Indiana/Vincennes":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0384038","longitude":"-0873143"},"America/Indiana/Winamac":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT"],"latitude":"+0410305","longitude":"-0863611"},"America/Inuvik":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0682059","longitude":"-1334300"},"America/Iqaluit":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0634400","longitude":"-0682800"},"America/Jamaica":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0175805","longitude":"-0764736"},"America/Juneau":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0581807","longitude":"-1342511"},"America/Kentucky/Louisville":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0381515","longitude":"-0854534"},"America/Kentucky/Monticello":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0364947","longitude":"-0845057"},"America/Kralendijk":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0120903","longitude":"-0681636"},"America/La_Paz":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0163000","longitude":"-0680900"},"America/Lima":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0120300","longitude":"-0770300"},"America/Los_Angeles":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0340308","longitude":"-1181434"},"America/Lower_Princes":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0180305","longitude":"-0630250"},"America/Maceio":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0094000","longitude":"-0354300"},"America/Managua":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0120900","longitude":"-0861700"},"America/Manaus":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0030800","longitude":"-0600100"},"America/Marigot":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0180400","longitude":"-0630500"},"America/Martinique":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0143600","longitude":"-0610500"},"America/Matamoros":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0255000","longitude":"-0973000"},"America/Mazatlan":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0231300","longitude":"-1062500"},"America/Menominee":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0450628","longitude":"-0873651"},"America/Merida":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0205800","longitude":"-0893700"},"America/Metlakatla":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:20191103T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:20181104T020000\\r\\nRDATE:20181104T020000\\r\\nEND:STANDARD","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:20190120T020000\\r\\nRDATE:20190120T020000\\r\\nEND:STANDARD"],"latitude":"+0550737","longitude":"-1313435"},"America/Mexico_City":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0192400","longitude":"-0990900"},"America/Miquelon":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0470300","longitude":"-0562000"},"America/Moncton":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0460600","longitude":"-0644700"},"America/Monterrey":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0254000","longitude":"-1001900"},"America/Montevideo":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0345433","longitude":"-0561245"},"America/Montserrat":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0164300","longitude":"-0621300"},"America/Nassau":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0250500","longitude":"-0772100"},"America/New_York":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0404251","longitude":"-0740023"},"America/Nipigon":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0490100","longitude":"-0881600"},"America/Nome":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0643004","longitude":"-1652423"},"America/Noronha":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0035100","longitude":"-0322500"},"America/North_Dakota/Beulah":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0471551","longitude":"-1014640"},"America/North_Dakota/Center":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0470659","longitude":"-1011757"},"America/North_Dakota/New_Salem":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0465042","longitude":"-1012439"},"America/Ojinaga":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0293400","longitude":"-1042500"},"America/Panama":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0085800","longitude":"-0793200"},"America/Pangnirtung":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0660800","longitude":"-0654400"},"America/Paramaribo":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0055000","longitude":"-0551000"},"America/Phoenix":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0332654","longitude":"-1120424"},"America/Port-au-Prince":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0183200","longitude":"-0722000"},"America/Port_of_Spain":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0103900","longitude":"-0613100"},"America/Porto_Velho":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0084600","longitude":"-0635400"},"America/Puerto_Rico":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0182806","longitude":"-0660622"},"America/Punta_Arenas":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0530900","longitude":"-0705500"},"America/Rainy_River":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0484300","longitude":"-0943400"},"America/Rankin_Inlet":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0624900","longitude":"-0920459"},"America/Recife":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0080300","longitude":"-0345400"},"America/Regina":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0502400","longitude":"-1043900"},"America/Resolute":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT"],"latitude":"+0744144","longitude":"-0944945"},"America/Rio_Branco":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0095800","longitude":"-0674800"},"America/Santarem":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0022600","longitude":"-0545200"},"America/Santiago":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:20190407T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20190908T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20180812T000000\\r\\nRDATE:20180812T000000\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:20180513T000000\\r\\nRDATE:20180513T000000\\r\\nEND:STANDARD"],"latitude":"-0332700","longitude":"-0704000"},"America/Santo_Domingo":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0182800","longitude":"-0695400"},"America/Sao_Paulo":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:20181104T000000\\r\\nRDATE:20181104T000000\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20180218T000000\\r\\nRDATE:20180218T000000\\r\\nRDATE:20190217T000000\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700101T000000\\r\\nEND:DAYLIGHT"],"latitude":"-0233200","longitude":"-0463700"},"America/Scoresbysund":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19701025T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0702900","longitude":"-0215800"},"America/Sitka":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0571035","longitude":"-1351807"},"America/St_Barthelemy":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0175300","longitude":"-0625100"},"America/St_Johns":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0230\\r\\nTZOFFSETTO:-0330\\r\\nTZNAME:NST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0330\\r\\nTZOFFSETTO:-0230\\r\\nTZNAME:NDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT"],"latitude":"+0473400","longitude":"-0524300"},"America/St_Kitts":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0171800","longitude":"-0624300"},"America/St_Lucia":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0140100","longitude":"-0610000"},"America/St_Thomas":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0182100","longitude":"-0645600"},"America/St_Vincent":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0130900","longitude":"-0611400"},"America/Swift_Current":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0501700","longitude":"-1075000"},"America/Tegucigalpa":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0140600","longitude":"-0871300"},"America/Thule":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0763400","longitude":"-0684700"},"America/Thunder_Bay":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0482300","longitude":"-0891500"},"America/Tijuana":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0323200","longitude":"-1170100"},"America/Toronto":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0433900","longitude":"-0792300"},"America/Tortola":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0182700","longitude":"-0643700"},"America/Vancouver":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0491600","longitude":"-1230700"},"America/Whitehorse":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0604300","longitude":"-1350300"},"America/Winnipeg":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0495300","longitude":"-0970900"},"America/Yakutat":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0593249","longitude":"-1394338"},"America/Yellowknife":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0622700","longitude":"-1142100"},"Antarctica/Casey":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:20180311T040000\\r\\nRDATE:20180311T040000\\r\\nEND:STANDARD"],"latitude":"-0661700","longitude":"+1103100"},"Antarctica/Davis":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0683500","longitude":"+0775800"},"Antarctica/DumontDUrville":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0664000","longitude":"+1400100"},"Antarctica/Macquarie":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0543000","longitude":"+1585700"},"Antarctica/Mawson":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0673600","longitude":"+0625300"},"Antarctica/McMurdo":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:NZDT\\r\\nDTSTART:19700927T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:NZST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"-0775000","longitude":"+1663600"},"Antarctica/Palmer":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0644800","longitude":"-0640600"},"Antarctica/Rothera":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0673400","longitude":"-0680800"},"Antarctica/Syowa":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0690022","longitude":"+0393524"},"Antarctica/Troll":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:+02\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"-0720041","longitude":"+0023206"},"Antarctica/Vostok":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0782400","longitude":"+1065400"},"Arctic/Longyearbyen":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0780000","longitude":"+0160000"},"Asia/Aden":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0124500","longitude":"+0451200"},"Asia/Almaty":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0431500","longitude":"+0765700"},"Asia/Amman":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700326T235959\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1TH\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701030T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\r\\nEND:STANDARD"],"latitude":"+0315700","longitude":"+0355600"},"Asia/Anadyr":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0644500","longitude":"+1772900"},"Asia/Aqtau":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0443100","longitude":"+0501600"},"Asia/Aqtobe":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0501700","longitude":"+0571000"},"Asia/Ashgabat":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0375700","longitude":"+0582300"},"Asia/Atyrau":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0470700","longitude":"+0515600"},"Asia/Baghdad":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0332100","longitude":"+0442500"},"Asia/Bahrain":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0262300","longitude":"+0503500"},"Asia/Baku":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0402300","longitude":"+0495100"},"Asia/Bangkok":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0134500","longitude":"+1003100"},"Asia/Barnaul":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0532200","longitude":"+0834500"},"Asia/Beirut":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0335300","longitude":"+0353000"},"Asia/Bishkek":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0425400","longitude":"+0743600"},"Asia/Brunei":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0045600","longitude":"+1145500"},"Asia/Chita":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0520300","longitude":"+1132800"},"Asia/Choibalsan":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0480400","longitude":"+1143000"},"Asia/Colombo":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0530\\r\\nTZOFFSETTO:+0530\\r\\nTZNAME:+0530\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0065600","longitude":"+0795100"},"Asia/Damascus":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701030T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700327T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\r\\nEND:DAYLIGHT"],"latitude":"+0333000","longitude":"+0361800"},"Asia/Dhaka":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0234300","longitude":"+0902500"},"Asia/Dili":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0083300","longitude":"+1253500"},"Asia/Dubai":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0251800","longitude":"+0551800"},"Asia/Dushanbe":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0383500","longitude":"+0684800"},"Asia/Famagusta":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20180325T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT"],"latitude":"+0350700","longitude":"+0335700"},"Asia/Gaza":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701031T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20190329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\r\\nEND:DAYLIGHT","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20180324T010000\\r\\nRDATE:20180324T010000\\r\\nEND:DAYLIGHT"],"latitude":"+0313000","longitude":"+0342800"},"Asia/Hebron":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701031T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20190329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\r\\nEND:DAYLIGHT","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20180324T010000\\r\\nRDATE:20180324T010000\\r\\nEND:DAYLIGHT"],"latitude":"+0313200","longitude":"+0350542"},"Asia/Ho_Chi_Minh":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0104500","longitude":"+1064000"},"Asia/Hong_Kong":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:HKT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0221700","longitude":"+1140900"},"Asia/Hovd":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0480100","longitude":"+0913900"},"Asia/Irkutsk":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0521600","longitude":"+1042000"},"Asia/Istanbul":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0410100","longitude":"+0285800"},"Asia/Jakarta":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:WIB\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0061000","longitude":"+1064800"},"Asia/Jayapura":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:WIT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0023200","longitude":"+1404200"},"Asia/Jerusalem":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:IDT\\r\\nDTSTART:19700327T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=23,24,25,26,27,28,29;BYDAY=FR\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:IST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0314650","longitude":"+0351326"},"Asia/Kabul":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0430\\r\\nTZOFFSETTO:+0430\\r\\nTZNAME:+0430\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0343100","longitude":"+0691200"},"Asia/Kamchatka":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0530100","longitude":"+1583900"},"Asia/Karachi":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:PKT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0245200","longitude":"+0670300"},"Asia/Kathmandu":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0545\\r\\nTZOFFSETTO:+0545\\r\\nTZNAME:+0545\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0274300","longitude":"+0851900"},"Asia/Khandyga":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0623923","longitude":"+1353314"},"Asia/Kolkata":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0530\\r\\nTZOFFSETTO:+0530\\r\\nTZNAME:IST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0223200","longitude":"+0882200"},"Asia/Krasnoyarsk":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0560100","longitude":"+0925000"},"Asia/Kuala_Lumpur":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0031000","longitude":"+1014200"},"Asia/Kuching":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0013300","longitude":"+1102000"},"Asia/Kuwait":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0292000","longitude":"+0475900"},"Asia/Macau":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0221150","longitude":"+1133230"},"Asia/Magadan":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0593400","longitude":"+1504800"},"Asia/Makassar":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:WITA\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0050700","longitude":"+1192400"},"Asia/Manila":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:PST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0143500","longitude":"+1210000"},"Asia/Muscat":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0233600","longitude":"+0583500"},"Asia/Nicosia":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT"],"latitude":"+0351000","longitude":"+0332200"},"Asia/Novokuznetsk":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0534500","longitude":"+0870700"},"Asia/Novosibirsk":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0550200","longitude":"+0825500"},"Asia/Omsk":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0550000","longitude":"+0732400"},"Asia/Oral":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0511300","longitude":"+0512100"},"Asia/Phnom_Penh":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0113300","longitude":"+1045500"},"Asia/Pontianak":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:WIB\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0000200","longitude":"+1092000"},"Asia/Pyongyang":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0830\\r\\nTZNAME:KST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0830\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:KST\\r\\nDTSTART:20180504T233000\\r\\nRDATE:20180504T233000\\r\\nEND:STANDARD"],"latitude":"+0390100","longitude":"+1254500"},"Asia/Qatar":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0251700","longitude":"+0513200"},"Asia/Qostanay":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0531200","longitude":"+0633700"},"Asia/Qyzylorda":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:20181221T000000\\r\\nRDATE:20181221T000000\\r\\nEND:STANDARD"],"latitude":"+0444800","longitude":"+0652800"},"Asia/Riyadh":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0243800","longitude":"+0464300"},"Asia/Sakhalin":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0465800","longitude":"+1424200"},"Asia/Samarkand":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0394000","longitude":"+0664800"},"Asia/Seoul":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:KST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0373300","longitude":"+1265800"},"Asia/Shanghai":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0311400","longitude":"+1212800"},"Asia/Singapore":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0011700","longitude":"+1035100"},"Asia/Srednekolymsk":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0672800","longitude":"+1534300"},"Asia/Taipei":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0250300","longitude":"+1213000"},"Asia/Tashkent":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0412000","longitude":"+0691800"},"Asia/Tbilisi":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0414300","longitude":"+0444900"},"Asia/Tehran":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0330\\r\\nTZNAME:+0330\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0330\\r\\nTZOFFSETTO:+0430\\r\\nTZNAME:+0430\\r\\nDTSTART:20180321T235959\\r\\nRDATE:20180321T235959\\r\\nRDATE:20190321T235959\\r\\nRDATE:20200320T235959\\r\\nRDATE:20210321T235959\\r\\nRDATE:20220321T235959\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0430\\r\\nTZOFFSETTO:+0330\\r\\nTZNAME:+0330\\r\\nDTSTART:20180921T235959\\r\\nRDATE:20180921T235959\\r\\nRDATE:20190921T235959\\r\\nRDATE:20200920T235959\\r\\nRDATE:20210921T235959\\r\\nRDATE:20220921T235959\\r\\nEND:STANDARD"],"latitude":"+0354000","longitude":"+0512600"},"Asia/Thimphu":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0272800","longitude":"+0893900"},"Asia/Tokyo":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:JST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0353916","longitude":"+1394441"},"Asia/Tomsk":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0563000","longitude":"+0845800"},"Asia/Ulaanbaatar":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0475500","longitude":"+1065300"},"Asia/Urumqi":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0434800","longitude":"+0873500"},"Asia/Ust-Nera":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0643337","longitude":"+1431336"},"Asia/Vientiane":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0175800","longitude":"+1023600"},"Asia/Vladivostok":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0431000","longitude":"+1315600"},"Asia/Yakutsk":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0620000","longitude":"+1294000"},"Asia/Yangon":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0630\\r\\nTZOFFSETTO:+0630\\r\\nTZNAME:+0630\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0164700","longitude":"+0961000"},"Asia/Yekaterinburg":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0565100","longitude":"+0603600"},"Asia/Yerevan":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0401100","longitude":"+0443000"},"Atlantic/Azores":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19701025T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0374400","longitude":"-0254000"},"Atlantic/Bermuda":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"+0321700","longitude":"-0644600"},"Atlantic/Canary":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0280600","longitude":"-0152400"},"Atlantic/Cape_Verde":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0145500","longitude":"-0233100"},"Atlantic/Faroe":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0620100","longitude":"-0064600"},"Atlantic/Madeira":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0323800","longitude":"-0165400"},"Atlantic/Reykjavik":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0640900","longitude":"-0215100"},"Atlantic/South_Georgia":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0541600","longitude":"-0363200"},"Atlantic/St_Helena":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0155500","longitude":"-0054200"},"Atlantic/Stanley":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0514200","longitude":"-0575100"},"Australia/Adelaide":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:ACDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT"],"latitude":"-0345500","longitude":"+1383500"},"Australia/Brisbane":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0272800","longitude":"+1530200"},"Australia/Broken_Hill":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:ACDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT"],"latitude":"-0315700","longitude":"+1412700"},"Australia/Currie":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"-0395600","longitude":"+1435200"},"Australia/Darwin":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0122800","longitude":"+1305000"},"Australia/Eucla":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0845\\r\\nTZOFFSETTO:+0845\\r\\nTZNAME:+0845\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0314300","longitude":"+1285200"},"Australia/Hobart":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"-0425300","longitude":"+1471900"},"Australia/Lindeman":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0201600","longitude":"+1490000"},"Australia/Lord_Howe":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:+1030\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT"],"latitude":"-0313300","longitude":"+1590500"},"Australia/Melbourne":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT"],"latitude":"-0374900","longitude":"+1445800"},"Australia/Perth":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:AWST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0315700","longitude":"+1155100"},"Australia/Sydney":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT"],"latitude":"-0335200","longitude":"+1511300"},"Europe/Amsterdam":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0522200","longitude":"+0045400"},"Europe/Andorra":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0423000","longitude":"+0013100"},"Europe/Astrakhan":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0462100","longitude":"+0480300"},"Europe/Athens":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0375800","longitude":"+0234300"},"Europe/Belgrade":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0445000","longitude":"+0203000"},"Europe/Berlin":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0523000","longitude":"+0132200"},"Europe/Bratislava":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0480900","longitude":"+0170700"},"Europe/Brussels":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0505000","longitude":"+0042000"},"Europe/Bucharest":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0442600","longitude":"+0260600"},"Europe/Budapest":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0473000","longitude":"+0190500"},"Europe/Busingen":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0474200","longitude":"+0084100"},"Europe/Chisinau":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0470000","longitude":"+0285000"},"Europe/Copenhagen":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0554000","longitude":"+0123500"},"Europe/Dublin":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:IST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:DAYLIGHT"],"latitude":"+0532000","longitude":"-0061500"},"Europe/Gibraltar":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0360800","longitude":"-0052100"},"Europe/Guernsey":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0492717","longitude":"-0023210"},"Europe/Helsinki":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0601000","longitude":"+0245800"},"Europe/Isle_of_Man":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0540900","longitude":"-0042800"},"Europe/Istanbul":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0410100","longitude":"+0285800"},"Europe/Jersey":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0491101","longitude":"-0020624"},"Europe/Kaliningrad":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0544300","longitude":"+0203000"},"Europe/Kiev":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0502600","longitude":"+0303100"},"Europe/Kirov":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0583600","longitude":"+0493900"},"Europe/Lisbon":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT"],"latitude":"+0384300","longitude":"-0090800"},"Europe/Ljubljana":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0460300","longitude":"+0143100"},"Europe/London":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0513030","longitude":"+0000731"},"Europe/Luxembourg":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0493600","longitude":"+0060900"},"Europe/Madrid":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0402400","longitude":"-0034100"},"Europe/Malta":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0355400","longitude":"+0143100"},"Europe/Mariehamn":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0600600","longitude":"+0195700"},"Europe/Minsk":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0535400","longitude":"+0273400"},"Europe/Monaco":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0434200","longitude":"+0072300"},"Europe/Moscow":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:MSK\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0554521","longitude":"+0373704"},"Europe/Nicosia":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT"],"latitude":"+0351000","longitude":"+0332200"},"Europe/Oslo":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0595500","longitude":"+0104500"},"Europe/Paris":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0485200","longitude":"+0022000"},"Europe/Podgorica":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0422600","longitude":"+0191600"},"Europe/Prague":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0500500","longitude":"+0142600"},"Europe/Riga":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0565700","longitude":"+0240600"},"Europe/Rome":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0415400","longitude":"+0122900"},"Europe/Samara":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0531200","longitude":"+0500900"},"Europe/San_Marino":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0435500","longitude":"+0122800"},"Europe/Sarajevo":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0435200","longitude":"+0182500"},"Europe/Saratov":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0513400","longitude":"+0460200"},"Europe/Simferopol":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:MSK\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0445700","longitude":"+0340600"},"Europe/Skopje":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0415900","longitude":"+0212600"},"Europe/Sofia":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0424100","longitude":"+0231900"},"Europe/Stockholm":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0592000","longitude":"+0180300"},"Europe/Tallinn":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0592500","longitude":"+0244500"},"Europe/Tirane":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0412000","longitude":"+0195000"},"Europe/Ulyanovsk":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0542000","longitude":"+0482400"},"Europe/Uzhgorod":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0483700","longitude":"+0221800"},"Europe/Vaduz":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0470900","longitude":"+0093100"},"Europe/Vatican":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0415408","longitude":"+0122711"},"Europe/Vienna":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0481300","longitude":"+0162000"},"Europe/Vilnius":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0544100","longitude":"+0251900"},"Europe/Volgograd":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:20181028T020000\\r\\nRDATE:20181028T020000\\r\\nEND:STANDARD","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0484400","longitude":"+0442500"},"Europe/Warsaw":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0521500","longitude":"+0210000"},"Europe/Zagreb":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0454800","longitude":"+0155800"},"Europe/Zaporozhye":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0475000","longitude":"+0351000"},"Europe/Zurich":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD"],"latitude":"+0472300","longitude":"+0083200"},"Indian/Antananarivo":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0185500","longitude":"+0473100"},"Indian/Chagos":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0072000","longitude":"+0722500"},"Indian/Christmas":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0102500","longitude":"+1054300"},"Indian/Cocos":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0630\\r\\nTZOFFSETTO:+0630\\r\\nTZNAME:+0630\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0121000","longitude":"+0965500"},"Indian/Comoro":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0114100","longitude":"+0431600"},"Indian/Kerguelen":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0492110","longitude":"+0701303"},"Indian/Mahe":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0044000","longitude":"+0552800"},"Indian/Maldives":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0041000","longitude":"+0733000"},"Indian/Mauritius":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0201000","longitude":"+0573000"},"Indian/Mayotte":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0124700","longitude":"+0451400"},"Indian/Reunion":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0205200","longitude":"+0552800"},"Pacific/Apia":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1400\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700405T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1400\\r\\nTZNAME:+14\\r\\nDTSTART:19700927T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT"],"latitude":"-0135000","longitude":"-1714400"},"Pacific/Auckland":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:NZDT\\r\\nDTSTART:19700927T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:NZST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"-0365200","longitude":"+1744600"},"Pacific/Bougainville":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0061300","longitude":"+1553400"},"Pacific/Chatham":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1245\\r\\nTZOFFSETTO:+1345\\r\\nTZNAME:+1345\\r\\nDTSTART:19700927T024500\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1345\\r\\nTZOFFSETTO:+1245\\r\\nTZNAME:+1245\\r\\nDTSTART:19700405T034500\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD"],"latitude":"-0435700","longitude":"-1763300"},"Pacific/Chuuk":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0072500","longitude":"+1514700"},"Pacific/Easter":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:20190406T220000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SA\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:20190907T220000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SA\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:20180811T220000\\r\\nRDATE:20180811T220000\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:20180512T220000\\r\\nRDATE:20180512T220000\\r\\nEND:STANDARD"],"latitude":"-0270900","longitude":"-1092600"},"Pacific/Efate":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0174000","longitude":"+1682500"},"Pacific/Enderbury":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0030800","longitude":"-1710500"},"Pacific/Fakaofo":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0092200","longitude":"-1711400"},"Pacific/Fiji":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700118T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=1;BYMONTHDAY=12,13,14,15,16,17,18;BYDAY=SU\\r\\nEND:STANDARD","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:20191110T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=2SU\\r\\nEND:DAYLIGHT","BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:20181104T020000\\r\\nRDATE:20181104T020000\\r\\nEND:DAYLIGHT"],"latitude":"-0180800","longitude":"+1782500"},"Pacific/Funafuti":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0083100","longitude":"+1791300"},"Pacific/Galapagos":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0005400","longitude":"-0893600"},"Pacific/Gambier":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:-09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0230800","longitude":"-1345700"},"Pacific/Guadalcanal":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0093200","longitude":"+1601200"},"Pacific/Guam":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:ChST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0132800","longitude":"+1444500"},"Pacific/Honolulu":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:HST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0211825","longitude":"-1575130"},"Pacific/Kiritimati":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1400\\r\\nTZOFFSETTO:+1400\\r\\nTZNAME:+14\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0015200","longitude":"-1572000"},"Pacific/Kosrae":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0051900","longitude":"+1625900"},"Pacific/Kwajalein":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0090500","longitude":"+1672000"},"Pacific/Majuro":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0070900","longitude":"+1711200"},"Pacific/Marquesas":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0930\\r\\nTZOFFSETTO:-0930\\r\\nTZNAME:-0930\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0090000","longitude":"-1393000"},"Pacific/Midway":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:SST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0281300","longitude":"-1772200"},"Pacific/Nauru":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0003100","longitude":"+1665500"},"Pacific/Niue":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:-11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0190100","longitude":"-1695500"},"Pacific/Norfolk":{"ics":["BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:20191006T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:20200405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1130\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD","BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:20190701T000000\\r\\nRDATE:20190701T000000\\r\\nEND:STANDARD"],"latitude":"-0290300","longitude":"+1675800"},"Pacific/Noumea":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0221600","longitude":"+1662700"},"Pacific/Pago_Pago":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:SST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0141600","longitude":"-1704200"},"Pacific/Palau":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0072000","longitude":"+1342900"},"Pacific/Pitcairn":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:-08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0250400","longitude":"-1300500"},"Pacific/Pohnpei":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0065800","longitude":"+1581300"},"Pacific/Port_Moresby":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0093000","longitude":"+1471000"},"Pacific/Rarotonga":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:-10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0211400","longitude":"-1594600"},"Pacific/Saipan":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:ChST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0151200","longitude":"+1454500"},"Pacific/Tahiti":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:-10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0173200","longitude":"-1493400"},"Pacific/Tarawa":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0012500","longitude":"+1730000"},"Pacific/Tongatapu":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0211000","longitude":"-1751000"},"Pacific/Wake":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"+0191700","longitude":"+1663700"},"Pacific/Wallis":{"ics":["BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD"],"latitude":"-0131800","longitude":"-1761000"}}}')},function(n,t,e){"use strict";function r(n,t){var e="undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(!e){if(Array.isArray(n)||(e=function(n,t){if(!n)return;if("string"==typeof n)return i(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);"Object"===e&&n.constructor&&(e=n.constructor.name);if("Map"===e||"Set"===e)return Array.from(n);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(n,t)}(n))||t&&n&&"number"==typeof n.length){e&&(n=e);var r=0,a=function(){};return{s:a,n:function(){return r>=n.length?{done:!0}:{done:!1,value:n[r++]}},e:function(n){throw n},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var T,o=!0,s=!1;return{s:function(){e=e.call(n)},n:function(){var n=e.next();return o=n.done,n},e:function(n){s=!0,T=n},f:function(){try{o||null==e.return||e.return()}finally{if(s)throw T}}}}function i(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,r=new Array(t);e<t;e++)r[e]=n[e];return r}
|
|
130
|
+
/**
|
|
131
|
+
* @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>
|
|
132
|
+
*
|
|
133
|
+
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
|
|
134
|
+
*
|
|
135
|
+
* @license GNU AGPL version 3 or any later version
|
|
136
|
+
*
|
|
137
|
+
* This program is free software: you can redistribute it and/or modify
|
|
138
|
+
* it under the terms of the GNU Affero General Public License as
|
|
139
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
140
|
+
* License, or (at your option) any later version.
|
|
141
|
+
*
|
|
142
|
+
* This program is distributed in the hope that it will be useful,
|
|
143
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
144
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
145
|
+
* GNU Affero General Public License for more details.
|
|
146
|
+
*
|
|
147
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
148
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
149
|
+
*
|
|
150
|
+
*/e.r(t),t.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(n){var t=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===t.length||!this.hasNodeOrAnyParentClass(n.target,t)},hasNodeOrAnyParentClass:function(n,t){var e,i=r(t);try{for(i.s();!(e=i.n()).done;){var a,T=e.value;if(null!=n&&null!==(a=n.classList)&&void 0!==a&&a.contains(T))return!0}}catch(n){i.e(n)}finally{i.f()}return!!n.parentElement&&this.hasNodeOrAnyParentClass(n.parentElement,t)}}}},function(n,t,e){"use strict";e.r(t),
|
|
151
|
+
/**
|
|
152
|
+
* @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
|
|
153
|
+
*
|
|
154
|
+
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
155
|
+
*
|
|
156
|
+
* @license GNU AGPL version 3 or any later version
|
|
157
|
+
*
|
|
158
|
+
* This program is free software: you can redistribute it and/or modify
|
|
159
|
+
* it under the terms of the GNU Affero General Public License as
|
|
160
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
161
|
+
* License, or (at your option) any later version.
|
|
162
|
+
*
|
|
163
|
+
* This program is distributed in the hope that it will be useful,
|
|
164
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
165
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
166
|
+
* GNU Affero General Public License for more details.
|
|
167
|
+
*
|
|
168
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
169
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
170
|
+
*
|
|
171
|
+
*/t.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener("resize",this._onResize)},beforeDestroy:function(){window.removeEventListener("resize",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(n,t){n.exports=require("@nextcloud/browser-storage")},function(n,t,e){"use strict";t.a="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K"},function(n,t,e){"use strict";t.a="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg=="},function(n,t,e){"use strict";t.a="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg=="},,function(n,t,e){"use strict";e.r(t);var r={name:"PopoverMenuItem",props:{item:{type:Object,required:!0,default:function(){return{key:"nextcloud-link",href:"https://nextcloud.com",icon:"icon-links",text:"Nextcloud"}},validator:function(n){return!n.input||-1!==["text","checkbox"].indexOf(n.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(n){return!1}}},methods:{action:function(n){this.item.action&&this.item.action(n)}}},i=e(2),a=e.n(i),T=e(32),o={insert:"head",singleton:!1},s=(a()(T.a,o),T.a.locals,e(33)),A={insert:"head",singleton:!1},l=(a()(s.a,A),s.a.locals,e(3)),c={name:"PopoverMenu",components:{PopoverMenuItem:Object(l.a)(r,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("li",{staticClass:"popover__menuitem"},[n.item.href?e("a",{staticClass:"focusable",attrs:{href:n.item.href?n.item.href:"#",target:n.item.target?n.item.target:"",download:n.item.download,rel:"noreferrer noopener"},on:{click:n.action}},[n.iconIsUrl?e("img",{attrs:{src:n.item.icon}}):e("span",{class:n.item.icon}),n._v(" "),n.item.text&&n.item.longtext?e("p",[e("strong",{staticClass:"menuitem-text"},[n._v("\n\t\t\t\t"+n._s(n.item.text)+"\n\t\t\t")]),e("br"),n._v(" "),e("span",{staticClass:"menuitem-text-detail"},[n._v("\n\t\t\t\t"+n._s(n.item.longtext)+"\n\t\t\t")])]):n.item.text?e("span",[n._v("\n\t\t\t"+n._s(n.item.text)+"\n\t\t")]):n.item.longtext?e("p",[n._v("\n\t\t\t"+n._s(n.item.longtext)+"\n\t\t")]):n._e()]):n.item.input?e("span",{staticClass:"menuitem",class:{active:n.item.active}},["checkbox"!==n.item.input?e("span",{class:n.item.icon}):n._e(),n._v(" "),"text"===n.item.input?e("form",{class:n.item.input,on:{submit:function(t){return t.preventDefault(),n.item.action(t)}}},[e("input",{attrs:{type:n.item.input,placeholder:n.item.text,required:""},domProps:{value:n.item.value}}),n._v(" "),e("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]):["checkbox"===n.item.input?e("input",{directives:[{name:"model",rawName:"v-model",value:n.item.model,expression:"item.model"}],class:n.item.input,attrs:{id:n.key,type:"checkbox"},domProps:{checked:Array.isArray(n.item.model)?n._i(n.item.model,null)>-1:n.item.model},on:{change:[function(t){var e=n.item.model,r=t.target,i=!!r.checked;if(Array.isArray(e)){var a=n._i(e,null);r.checked?a<0&&n.$set(n.item,"model",e.concat([null])):a>-1&&n.$set(n.item,"model",e.slice(0,a).concat(e.slice(a+1)))}else n.$set(n.item,"model",i)},n.item.action]}}):"radio"===n.item.input?e("input",{directives:[{name:"model",rawName:"v-model",value:n.item.model,expression:"item.model"}],class:n.item.input,attrs:{id:n.key,type:"radio"},domProps:{checked:n._q(n.item.model,null)},on:{change:[function(t){return n.$set(n.item,"model",null)},n.item.action]}}):e("input",{directives:[{name:"model",rawName:"v-model",value:n.item.model,expression:"item.model"}],class:n.item.input,attrs:{id:n.key,type:n.item.input},domProps:{value:n.item.model},on:{change:n.item.action,input:function(t){t.target.composing||n.$set(n.item,"model",t.target.value)}}}),n._v(" "),e("label",{attrs:{for:n.key},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.item.action(t)}}},[n._v("\n\t\t\t\t"+n._s(n.item.text)+"\n\t\t\t")])]],2):n.item.action?e("button",{staticClass:"menuitem focusable",class:{active:n.item.active},attrs:{disabled:n.item.disabled,type:"button"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.item.action(t)}}},[e("span",{class:n.item.icon}),n._v(" "),n.item.text&&n.item.longtext?e("p",[e("strong",{staticClass:"menuitem-text"},[n._v("\n\t\t\t\t"+n._s(n.item.text)+"\n\t\t\t")]),e("br"),n._v(" "),e("span",{staticClass:"menuitem-text-detail"},[n._v("\n\t\t\t\t"+n._s(n.item.longtext)+"\n\t\t\t")])]):n.item.text?e("span",[n._v("\n\t\t\t"+n._s(n.item.text)+"\n\t\t")]):n.item.longtext?e("p",[n._v("\n\t\t\t"+n._s(n.item.longtext)+"\n\t\t")]):n._e()]):e("span",{staticClass:"menuitem",class:{active:n.item.active}},[e("span",{class:n.item.icon}),n._v(" "),n.item.text&&n.item.longtext?e("p",[e("strong",{staticClass:"menuitem-text"},[n._v("\n\t\t\t\t"+n._s(n.item.text)+"\n\t\t\t")]),e("br"),n._v(" "),e("span",{staticClass:"menuitem-text-detail"},[n._v("\n\t\t\t\t"+n._s(n.item.longtext)+"\n\t\t\t")])]):n.item.text?e("span",[n._v("\n\t\t\t"+n._s(n.item.text)+"\n\t\t")]):n.item.longtext?e("p",[n._v("\n\t\t\t"+n._s(n.item.longtext)+"\n\t\t")]):n._e()])])}),[],!1,null,"54983729",null).exports},props:{menu:{type:Array,default:function(){return[{href:"https://nextcloud.com",icon:"icon-links",text:"Nextcloud"}]},required:!0}}},E=e(34),u={insert:"head",singleton:!1},d=(a()(E.a,u),E.a.locals,e(35)),D=e.n(d),S=Object(l.a)(c,(function(){var n=this.$createElement,t=this._self._c||n;return t("ul",{staticClass:"popover__menu"},this._l(this.menu,(function(n,e){return t("PopoverMenuItem",{key:e,attrs:{item:n}})})),1)}),[],!1,null,"4dae360a",null);"function"==typeof D.a&&D()(S);var F=S.exports;
|
|
172
|
+
/**
|
|
173
|
+
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
|
|
174
|
+
*
|
|
175
|
+
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
176
|
+
*
|
|
177
|
+
* @license GNU AGPL version 3 or any later version
|
|
178
|
+
*
|
|
179
|
+
* This program is free software: you can redistribute it and/or modify
|
|
180
|
+
* it under the terms of the GNU Affero General Public License as
|
|
181
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
182
|
+
* License, or (at your option) any later version.
|
|
183
|
+
*
|
|
184
|
+
* This program is distributed in the hope that it will be useful,
|
|
185
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
186
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
187
|
+
* GNU Affero General Public License for more details.
|
|
188
|
+
*
|
|
189
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
190
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
191
|
+
*
|
|
192
|
+
*/t.default=F},function(n,t,e){"use strict";e.r(t);var r=e(15),i=e.n(r),a=e(27),T=e(7),o=e(48),s=e(18),A=e(16),l=e(21),c=e.n(l),E=e(53),u=e(11),d=e(57),D=e(22),S=e(4),F=e(14);function R(n,t,e,r,i,a,T){try{var o=n[a](T),s=o.value}catch(n){return void e(n)}o.done?t(s):Promise.resolve(s).then(r,i)}function N(n){return function(){var t=this,e=arguments;return new Promise((function(r,i){var a=n.apply(t,e);function T(n){R(a,r,i,T,o,"next",n)}function o(n){R(a,r,i,T,o,"throw",n)}T(void 0)}))}}var O=Object(o.getBuilder)("nextcloud").persist().build();function m(n){var t=O.getItem("user-has-avatar."+n);return"string"==typeof t?Boolean(t):null}function p(n,t){n&&O.setItem("user-has-avatar."+n,t)}var g={name:"Avatar",directives:{tooltip:u.default,ClickOutside:a.directive},components:{DotsHorizontal:i.a,Popover:F.a,PopoverMenu:E.default},mixins:[D.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:"center"},menuContainer:{type:String,default:"body"},ariaLabel:{type:String,default:null}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){return null!==this.ariaLabel?this.ariaLabel:Object(S.b)("Avatar of {displayName}",{displayName:this.displayName||this.userId})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&["online","away","dnd"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&"dnd"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:""},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var n;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(n=Object(s.getCurrentUser)())||void 0===n?void 0:n.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var n={"--size":this.size+"px",lineHeight:this.size+"px",fontSize:Math.round(.55*this.size)+"px"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var t=Object(d.default)(this.getUserIdentifier);n.backgroundColor="rgb("+t.r+", "+t.g+", "+t.b+")"}return n},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var n;if(this.shouldShowPlaceholder){var t=this.getUserIdentifier,e=t.indexOf(" ");""===t?n="?":(n=String.fromCodePoint(t.codePointAt(0)),-1!==e&&(n=n.concat(String.fromCodePoint(t.codePointAt(e+1)))))}return n.toUpperCase()},menu:function(){var n,t,e,r=this.contactsMenuActions.map((function(n){return{href:n.hyperlink,icon:n.icon,longtext:n.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:"#",icon:"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>".concat((n=this.userStatus.icon,t=document.createTextNode(n),e=document.createElement("p"),e.appendChild(t),e.innerHTML),"</text></svg>"),text:"".concat(this.userStatus.message)}].concat(r):r}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||"",this.userStatus.message=this.preloadedUserStatus.message||"",this.userStatus.icon=this.preloadedUserStatus.icon||"",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(A.subscribe)("user_status:status.updated",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(A.unsubscribe)("user_status:status.updated",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var n=this.$refs.popoverMenu.$el.getElementsByTagName("a");n.length&&n[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(n){this.user===n.userId&&(this.userStatus={status:n.status,icon:n.icon,message:n.message})},toggleMenu:function(){var n=this;return N(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n.hasMenu){t.next=2;break}return t.abrupt("return");case 2:if(n.contactsMenuOpenState){t.next=5;break}return t.next=5,n.fetchContactsMenu();case 5:n.contactsMenuOpenState=!n.contactsMenuOpenState;case 6:case"end":return t.stop()}}),t)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var n=this;return N(regeneratorRuntime.mark((function t(){var e,r,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n.contactsMenuLoading=!0,t.prev=1,e=encodeURIComponent(n.user),t.next=5,c.a.post(Object(T.generateUrl)("contactsmenu/findOne"),"shareType=0&shareWith=".concat(e));case 5:r=t.sent,i=r.data,n.contactsMenuActions=i.topAction?[i.topAction].concat(i.actions):i.actions,t.next=13;break;case 10:t.prev=10,t.t0=t.catch(1),n.contactsMenuOpenState=!1;case 13:n.contactsMenuLoading=!1,n.isMenuLoaded=!0;case 15:case"end":return t.stop()}}),t,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var n=this.avatarUrlGenerator(this.user,this.size),t=[n+" 1x",this.avatarUrlGenerator(this.user,2*this.size)+" 2x",this.avatarUrlGenerator(this.user,4*this.size)+" 4x"].join(", ");this.updateImageIfValid(n,t)}},avatarUrlGenerator:function(n,t){var e,r="/avatar/{user}/{size}";this.isGuest&&(r="/avatar/guest/{user}/{size}");var i=Object(T.generateUrl)(r,{user:n,size:t});return n===(null===(e=Object(s.getCurrentUser)())||void 0===e?void 0:e.uid)&&"undefined"!=typeof oc_userconfig&&(i+="?v="+oc_userconfig.avatar.version),i},updateImageIfValid:function(n){var t=this,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=m(this.user);if(this.isUserDefined&&"boolean"==typeof r)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=n,e&&(this.avatarSrcSetLoaded=e),void(!1===r&&(this.userDoesNotExist=!0));var i=new Image;i.onload=function(){t.avatarUrlLoaded=n,e&&(t.avatarSrcSetLoaded=e),t.isAvatarLoaded=!0,p(t.user,!0)},i.onerror=function(){console.debug("Invalid avatar url",n),t.avatarUrlLoaded=null,t.avatarSrcSetLoaded=null,t.userDoesNotExist=!0,t.isAvatarLoaded=!1,p(t.user,!1)},e&&(i.srcset=e),i.src=n}}},B=e(2),h=e.n(B),Z=e(40),Y={insert:"head",singleton:!1},M=(h()(Z.a,Y),Z.a.locals,e(3)),f=e(41),v=e.n(f),b=Object(M.a)(g,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",n._g({directives:[{name:"tooltip",rawName:"v-tooltip",value:n.tooltip,expression:"tooltip"},{name:"click-outside",rawName:"v-click-outside",value:n.closeMenu,expression:"closeMenu"}],ref:"main",staticClass:"avatardiv popovermenu-wrapper",class:{"avatardiv--unknown":n.userDoesNotExist,"avatardiv--with-menu":n.hasMenu},style:n.avatarStyle,attrs:{tabindex:n.disableMenu?"-1":"0","aria-label":n.avatarAriaLabel,role:n.disableMenu?"":"button"},on:{keydown:function(t){return!t.type.indexOf("key")&&n._k(t.keyCode,"enter",13,t.key,"Enter")?null:n.toggleMenu(t)}}},n.disableMenu?{}:{click:n.toggleMenu}),[n.iconClass?e("div",{staticClass:"avatar-class-icon",class:n.iconClass}):n.isAvatarLoaded&&!n.userDoesNotExist?e("img",{attrs:{src:n.avatarUrlLoaded,srcset:n.avatarSrcSetLoaded,alt:""}}):n._e(),n._v(" "),n.hasMenu?e("Popover",{attrs:{placement:"auto",container:n.menuContainer,open:n.contactsMenuOpenState},on:{"after-show":n.handlePopoverAfterShow,"after-hide":n.handlePopoverAfterHide},scopedSlots:n._u([{key:"trigger",fn:function(){return[n.contactsMenuLoading?e("div",{staticClass:"icon-loading"}):e("DotsHorizontal",{staticClass:"icon-more",attrs:{size:24,title:"",decorative:""}})]},proxy:!0}],null,!1,3277751148)},[e("PopoverMenu",{ref:"popoverMenu",attrs:{menu:n.menu}})],1):n._e(),n._v(" "),n.showUserStatusIconOnAvatar?e("div",{staticClass:"avatardiv__user-status avatardiv__user-status--icon"},[n._v("\n\t\t"+n._s(n.userStatus.icon)+"\n\t")]):n.canDisplayUserStatus?e("div",{staticClass:"avatardiv__user-status",class:"avatardiv__user-status--"+n.userStatus.status}):n._e(),n._v(" "),n.userDoesNotExist&&!n.iconClass?e("div",{staticClass:"unknown"},[n._v("\n\t\t"+n._s(n.initials)+"\n\t")]):n._e()],1)}),[],!1,null,"583ead48",null);"function"==typeof v.a&&v()(b);var C=b.exports;
|
|
193
|
+
/**
|
|
194
|
+
* @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>
|
|
195
|
+
*
|
|
196
|
+
* @author Julius Härtl <jus@bitgrid.net>
|
|
197
|
+
*
|
|
198
|
+
* @license GNU AGPL version 3 or any later version
|
|
199
|
+
*
|
|
200
|
+
* This program is free software: you can redistribute it and/or modify
|
|
201
|
+
* it under the terms of the GNU Affero General Public License as
|
|
202
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
203
|
+
* License, or (at your option) any later version.
|
|
204
|
+
*
|
|
205
|
+
* This program is distributed in the hope that it will be useful,
|
|
206
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
207
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
208
|
+
* GNU Affero General Public License for more details.
|
|
209
|
+
*
|
|
210
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
211
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
212
|
+
*
|
|
213
|
+
*/t.default=C},function(n,t){n.exports=require("md5")},function(n,t){n.exports=require("@nextcloud/capabilities")},function(n,t,e){"use strict";e.r(t);var r=e(55),i=e.n(r),a=e(43),T=function(n){var t=n.toLowerCase();null===t.match(/^([0-9a-f]{4}-?){8}$/)&&(t=i()(t)),t=t.replace(/[^0-9a-f]/g,"");return Object(a.a)(6)[function(n,t){for(var e=0,r=[],i=0;i<n.length;i++)r.push(parseInt(n.charAt(i),16)%16);for(var a in r)e+=r[a];return parseInt(parseInt(e,10)%t,10)}(t,18)]};t.default=T},function(n,t,e){"use strict";
|
|
214
|
+
/**
|
|
215
|
+
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
|
|
216
|
+
*
|
|
217
|
+
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
218
|
+
*
|
|
219
|
+
* @license GNU AGPL version 3 or any later version
|
|
220
|
+
*
|
|
221
|
+
* This program is free software: you can redistribute it and/or modify
|
|
222
|
+
* it under the terms of the GNU Affero General Public License as
|
|
223
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
224
|
+
* License, or (at your option) any later version.
|
|
225
|
+
*
|
|
226
|
+
* This program is distributed in the hope that it will be useful,
|
|
227
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
228
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
229
|
+
* GNU Affero General Public License for more details.
|
|
230
|
+
*
|
|
231
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
232
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
233
|
+
*
|
|
234
|
+
*/t.a=function(n){n.mounted?Array.isArray(n.mounted)||(n.mounted=[n.mounted]):n.mounted=[],n.mounted.push((function(){this.$el.setAttribute("data-v-".concat("542b2ae"),"")}))}},function(n,t,e){"use strict";var r=e(0),i=e.n(r),a=e(1),T=e.n(a)()(i.a);T.push([n.i,".material-design-icon[data-v-28d338d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-28d338d4]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-28d338d4]{margin-right:var(--margin)}.option__details[data-v-28d338d4]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-28d338d4]{color:var(--color-text-light)}.option__linetwo[data-v-28d338d4]{opacity:.7}.option__lineone[data-v-28d338d4],.option__linetwo[data-v-28d338d4]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-28d338d4],.option__linetwo strong[data-v-28d338d4]{font-weight:bold}.option__icon[data-v-28d338d4]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./ListItemIcon.vue","webpack://./../../assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgOxB,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UCnNiB,CDoNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aCnPmB,CDoPnB,UCpPmB,CDqPnB,WCrPmB,CDsPnB,UCrOmB,CDsOnB,0BAA2B,CAC3B,oBAAqB",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.option {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n\theight: var(--height);\n\n\t&__avatar {\n\t\tmargin-right: var(--margin);\n\t}\n\n\t&__details {\n\t\tdisplay: flex;\n\t\tflex: 1 1;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tmin-width: 0;\n\t}\n\n\t&__lineone {\n\t\tcolor: var(--color-text-light);\n\t}\n\t&__linetwo {\n\t\topacity: $opacity_normal;\n\t}\n\t&__lineone,\n\t&__linetwo {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tline-height: 1.1em;\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n\n\t&__icon {\n\t\tflex: 0 0 $clickable-area;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\topacity: $opacity_disabled;\n\t\tbackground-position: center;\n\t\tbackground-size: 16px;\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: ($clickable-area - $icon-size) / 2;\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n"],sourceRoot:""}]),t.a=T},function(n,t){},,,function(n,t,e){"use strict";var r=e(0),i=e.n(r),a=e(1),T=e.n(a)()(i.a);T.push([n.i,".material-design-icon[data-v-f855c4b8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-f855c4b8]{display:flex;max-width:100%}.name-parts__first[data-v-f855c4b8]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f855c4b8],.name-parts__last[data-v-f855c4b8]{white-space:pre}.name-parts__first strong[data-v-f855c4b8],.name-parts__last strong[data-v-f855c4b8]{font-weight:bold}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./EllipsisedOption.vue"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqHxB,6BACC,YAAa,CACb,cAAe,CACf,oCACC,eAAgB,CAChB,sBAAuB,CACvB,uEAIA,eAAgB,CAHhB,qFAKC,gBAAiB",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.name-parts {\n\tdisplay: flex;\n\tmax-width: 100%;\n\t&__first {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\t&__first,\n\t&__last {\n\t\t// prevent whitespace from being trimmed\n\t\twhite-space: pre;\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]),t.a=T},function(n,t){},function(n,t,e){"use strict";var r=e(70),i=e.n(r),a=e(39),T=e(37),o={name:"EllipsisedOption",components:{Highlight:a.default},props:{option:{type:[String,Object],required:!0,default:""},label:{type:String,default:""},search:{type:String,default:""},name:{type:String,default:""}},computed:{needsTruncate:function(){return this.name&&this.name.length>=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.substr(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.substr(this.split):""},highlight1:function(){return this.search?Object(T.a)(this.name,this.search):[]},highlight2:function(){var n=this;return this.highlight1.map((function(t){return{start:t.start-n.split,end:t.end-n.split}}))}}},s=e(2),A=e.n(s),l=e(63),c={insert:"head",singleton:!1},E=(A()(l.a,c),l.a.locals,e(3)),u=Object(E.a)(o,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",{staticClass:"name-parts",attrs:{title:n.name}},[e("Highlight",{staticClass:"name-parts__first",attrs:{text:n.part1,search:n.search,highlight:n.highlight1}}),n._v(" "),n.part2?e("Highlight",{staticClass:"name-parts__last",attrs:{text:n.part2,search:n.search,highlight:n.highlight2}}):n._e()],1)}),[],!1,null,"f855c4b8",null).exports,d=e(26),D=e(66),S=e(11);function F(n){return(F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}var R={name:"Multiselect",components:{EllipsisedOption:u,ListItemIcon:D.default,VueMultiselect:i.a},directives:{tooltip:S.default},mixins:[d.a],inheritAttrs:!1,props:{value:{default:function(){return[]}},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:""},trackBy:{type:String,default:""},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(n){return n>0}}},data:function(){return{elWidth:0}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var n=Math.floor(this.elWidth/this.tagWidth);return n>0?n:1}return this.limit?this.limit:9999},limitString:function(){return"+".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&"object"!==F(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(n){this.$emit("update:value",n),this.$emit("change",n)}}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener("resize",this.updateWidth)},beforeDestroy:function(){window.removeEventListener("resize",this.updateWidth)},methods:{getOptionLabel:function(n){var t;return String(null===(t=this.$refs.VueMultiselect)||void 0===t?void 0:t.getOptionLabel(n))},formatLimitTitle:function(n){var t=this;if(Array.isArray(n)&&n.length>0){var e=n;return"object"===F(n[0])&&(e=n.map((function(n){return n[t.label]}))),e.slice(this.maxOptions).join(", ")}return""},updateWidth:function(){this.$el&&this.$el.querySelector(".multiselect__tags-wrap")&&(this.elWidth=this.$el.querySelector(".multiselect__tags-wrap").offsetWidth-10)}}},N=e(64),O=e.n(N),m=Object(E.a)(R,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("VueMultiselect",n._g(n._b({ref:"VueMultiselect",class:[{"icon-loading-small":n.loading},n.multiple?"multiselect--multiple":"multiselect--single"],attrs:{options:n.options,limit:n.maxOptions,"close-on-select":!n.multiple,multiple:n.multiple,label:n.label,"track-by":n.trackBy,"tag-placeholder":"create"},scopedSlots:n._u([{key:"option",fn:function(t){return[n.userSelect&&!n.$scopedSlots.option?e("ListItemIcon",n._b({attrs:{title:t.option[n.label],search:t.search}},"ListItemIcon",t.option,!1)):n.$scopedSlots.option?n._t("option",null,null,t):e("EllipsisedOption",{attrs:{name:n.getOptionLabel(t.option),option:t.option,search:t.search,label:n.label}})]}},n.multiple?{key:"limit",fn:function(){return[e("span",{directives:[{name:"tooltip",rawName:"v-tooltip.auto",value:n.formatLimitTitle(n.value),expression:"formatLimitTitle(value)",modifiers:{auto:!0}}],staticClass:"multiselect__limit"},[n._v("\n\t\t\t"+n._s(n.limitString)+"\n\t\t")])]},proxy:!0}:null,n._l(n.$scopedSlots,(function(t,e){return{key:e,fn:function(t){return[n._t(e,null,null,t)]}}})),{key:"noResult",fn:function(){return[e("span",[n._v(n._s(n.t("No results")))])]},proxy:!0}],null,!0),model:{value:n.localValue,callback:function(t){n.localValue=t},expression:"localValue"}},"VueMultiselect",n.$attrs,!1),n.$listeners))}),[],!1,null,null,null);"function"==typeof O.a&&O()(m);t.a=m.exports},function(n,t,e){"use strict";e.r(t);var r=e(54),i=e(39),a=e(22),T={name:"ListItemIcon",components:{Avatar:r.default,Highlight:i.default},mixins:[a.e],props:{title:{type:String,required:!0},subtitle:{type:String,default:""},icon:{type:String,default:""},search:{type:String,default:""},avatarSize:{type:Number,default:32},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},data:function(){return{margin:8}},computed:{hasIcon:function(){return""!==this.icon},hasSlot:function(){return!!this.$slots.default},isValidSubtitle:function(){var n,t;return""!==(null===(n=this.subtitle)||void 0===n||null===(t=n.trim)||void 0===t?void 0:t.call(n))},isSizeBigEnough:function(){return this.avatarSize>=32},cssVars:function(){var n=this.noMargin?0:this.margin;return{"--height":this.avatarSize+2*n+"px","--margin":this.margin+"px"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},o=e(2),s=e.n(o),A=e(59),l={insert:"head",singleton:!1},c=(s()(A.a,l),A.a.locals,e(3)),E=e(60),u=e.n(E),d=Object(c.a)(T,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("span",n._g({staticClass:"option",style:n.cssVars,attrs:{id:n.id}},n.$listeners),[e("Avatar",n._b({staticClass:"option__avatar",attrs:{"disable-menu":!0,"disable-tooltip":!0,"display-name":n.displayName||n.title,"is-no-user":n.isNoUser,size:n.avatarSize}},"Avatar",n.$attrs,!1)),n._v(" "),e("div",{staticClass:"option__details"},[e("Highlight",{staticClass:"option__lineone",attrs:{text:n.title,search:n.search}}),n._v(" "),n.isValidSubtitle&&n.isSizeBigEnough?e("Highlight",{staticClass:"option__linetwo",attrs:{text:n.subtitle,search:n.search}}):n.hasStatus?e("span",[e("span",[n._v(n._s(n.userStatus.icon))]),n._v(" "),e("span",[n._v(n._s(n.userStatus.message))])]):n._e()],1),n._v(" "),n._t("default"),n._v(" "),n.hasIcon&&!n.hasSlot?e("span",{staticClass:"icon option__icon",class:n.icon}):n._e()],2)}),[],!1,null,"28d338d4",null);"function"==typeof u.a&&u()(d);var D=d.exports;
|
|
235
|
+
/**
|
|
236
|
+
* @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>
|
|
237
|
+
*
|
|
238
|
+
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
239
|
+
*
|
|
240
|
+
* @license GNU AGPL version 3 or any later version
|
|
241
|
+
*
|
|
242
|
+
* This program is free software: you can redistribute it and/or modify
|
|
243
|
+
* it under the terms of the GNU Affero General Public License as
|
|
244
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
245
|
+
* License, or (at your option) any later version.
|
|
246
|
+
*
|
|
247
|
+
* This program is distributed in the hope that it will be useful,
|
|
248
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
249
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
250
|
+
* GNU Affero General Public License for more details.
|
|
251
|
+
*
|
|
252
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
253
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
254
|
+
*
|
|
255
|
+
*/t.default=D},function(n,t,e){"use strict";e.r(t);var r=e(58),i=e(65),a=e(2),T=e.n(a),o=e(69),s={insert:"head",singleton:!1};T()(o.a,s),o.a.locals;
|
|
256
|
+
/**
|
|
257
|
+
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
|
|
258
|
+
*
|
|
259
|
+
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
260
|
+
*
|
|
261
|
+
* @license GNU AGPL version 3 or any later version
|
|
262
|
+
*
|
|
263
|
+
* This program is free software: you can redistribute it and/or modify
|
|
264
|
+
* it under the terms of the GNU Affero General Public License as
|
|
265
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
266
|
+
* License, or (at your option) any later version.
|
|
267
|
+
*
|
|
268
|
+
* This program is distributed in the hope that it will be useful,
|
|
269
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
270
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
271
|
+
* GNU Affero General Public License for more details.
|
|
272
|
+
*
|
|
273
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
274
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
275
|
+
*
|
|
276
|
+
*/
|
|
277
|
+
Object(r.a)(i.a);t.default=i.a},,function(n,t,e){"use strict";var r=e(0),i=e.n(r),a=e(1),T=e.n(a)()(i.a);T.push([n.i,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-542b2ae]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-542b2ae]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-542b2ae].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-542b2ae].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-542b2ae].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-542b2ae].multiselect--disabled,.multiselect[data-v-542b2ae].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-542b2ae].icon-loading-small::after{left:100%;margin-left:-24px}.multiselect[data-v-542b2ae] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:1px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:3px;min-height:34px;height:100%}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:3px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:2px 1px}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__single,.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__single,.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__single *,.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__strong,.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-542b2ae] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;height:100% !important;border:none;cursor:pointer;padding:7px 6px !important;display:none}.multiselect[data-v-542b2ae] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-542b2ae] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-542b2ae] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:transparent}.multiselect[data-v-542b2ae] .multiselect__content-wrapper li,.multiselect[data-v-542b2ae] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-542b2ae] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:transparent;color:var(--color-text-lighter);width:100%}.multiselect[data-v-542b2ae] .multiselect__content-wrapper li>span::before{content:' ';background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-542b2ae] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-542b2ae] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-542b2ae] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-542b2ae] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-542b2ae] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-542b2ae].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-542b2ae].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-542b2ae].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-000)}.multiselect[data-v-542b2ae].multiselect--multiple .multiselect__content-wrapper li>span[data-select='create']::before{background-image:var(--icon-add-000);visibility:visible}.multiselect[data-v-542b2ae].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-542b2ae]:hover .multiselect__placeholder,.multiselect[data-v-542b2ae] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./index.scss","webpack://./../../assets/variables.scss"],names:[],mappings:"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCJxB,6BACC,QAAS,CACT,oBAAqB,CACrB,oBAAqB,CAErB,eAAgB,CAChB,iBAAkB,CAClB,6CAA8C,CAP/C,4EAWE,UAAW,CACX,oBAAqB,CAZvB,0EAoBG,oBAAiC,CACjC,sBAAuB,CAEvB,2DAA4D,CAC5D,wBAAyB,CAxB5B,qEA6BG,YAAa,CA7BhB,6FAoCG,2DAA4D,CApC/D,2HA2CE,wDAAyD,CA3C3D,uDAgDE,SAAU,CACV,iBAAkB,CAjDpB,gDAwDE,YAAa,CACb,gBAAiB,CACjB,eAAgB,CAChB,yCAA0C,CAC1C,cAAe,CACf,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,WAAY,CAhEd,wEAoEG,kBAAmB,CACnB,mBAAoB,CACpB,eAAgB,CAChB,cAAe,CACf,iBAAkB,CAClB,eAlBkB,CAmBlB,QAAS,CACT,gBAAiB,CA3EpB,yGA+EI,oBAAiC,CACjC,wBAAyB,CAhF7B,wIAqFK,YAAa,CArFlB,0FA0FI,gBAAiB,CACjB,eAAgB,CAChB,qBAAsB,CACtB,4BAA6B,CAC7B,yCAA0C,CAC1C,mBAAoB,CACpB,kBAAmB,CACnB,iBAAkB,CAGlB,WAAY,CACZ,qBAAsB,CACtB,0BAA2B,CAC3B,cAAe,CAvGnB,qGA2GK,aAAc,CA3GnB,2GA8GK,gBAvDgB,CAvDrB,+FAmHK,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CArHrB,+IA8HG,eAAgB,CAChB,aAAc,CACd,SAAU,CACV,6CAA8C,CAC9C,gBAAiB,CACjB,+BAAgC,CAEhC,YAAa,CACb,kBAAmB,CAtItB,kSA0II,cAAe,CA1InB,yIAgJG,gBAAiB,CACjB,+BAAgC,CAChC,mBAAoB,CACpB,kBAAmB,CACnB,UC7GgB,CD8GhB,gBA9FkB,CAgGlB,SAAU,CAvJb,yEA2JG,qBAAsB,CACtB,4BAA6B,CAC7B,QAAS,CACT,SAAU,CAEV,sBAAuB,CACvB,WAAY,CAGZ,cAAe,CAEf,0BAA2B,CAC3B,YAAa,CAvKhB,2DA6KE,iBAAkB,CAClB,UAAW,CACX,eAAgB,CAChB,yCAA0C,CAC1C,uCAAwC,CACxC,UAAW,CACX,gBAAiB,CACjB,eAAgB,CAChB,2DAA4D,CArL9D,iFAuLG,UAAW,CACX,SAAU,CAxLb,8DA2LG,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,4BAA6B,CA9LhC,iIAiMI,cAAe,CAjMnB,mEAoMI,WAAY,CACZ,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,QAAS,CACT,WAAY,CACZ,cAAe,CACf,0BAA2B,CAC3B,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,mBAAoB,CACpB,kBAAmB,CACnB,4BAA6B,CAC7B,+BAAgC,CAChC,UAAW,CApNf,2EAuNK,WAAY,CACZ,2BAA4B,CAC5B,0BAA2B,CAC3B,cAAe,CACf,eAAgB,CAChB,aAAc,CACd,UCvLgB,CDwLhB,gBAAiB,CACjB,iBAAkB,CA/NvB,iGAkOK,6CAA8C,CAC9C,UC7LgB,CDtCrB,kGAsOK,4BAA6B,CAC7B,6CAA8C,CAvOnD,qHA0OK,UAAW,CA1OhB,8NA+OM,kBAAmB,CA/OzB,8EAuPE,WAAY,CACZ,kBAAmB,CAxPrB,sEA+PG,cAAe,CA/PlB,iGAoQI,0CAA2C,CApQ/C,uHA2QK,oCAAqC,CACrC,kBAAmB,CA5QxB,+FAoRE,YAAa,CApRf,6IA2RG,4BAA6B",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n// scoping is not working inside the Multiselect.vue component\n// as the nested properties are not inside it\n// Therefore we need to use an external scoping\n.multiselect[data-v-#{$scope_version}] {\n\tmargin: 0;\n\tpadding: 0 !important;\n\tdisplay: inline-block;\n\t/* override this rule with your width styling if you need */\n\tmin-width: 160px;\n\tposition: relative;\n\tbackground-color: var(--color-main-background);\n\n\t/* Force single multiselect value to be shown when not active */\n\t&:not(.multiselect--active) .multiselect__single {\n\t\twidth: 100%;\n\t\tz-index: 2 !important;\n\t}\n\n\t// active state, force the input to be shown, we don't want\n\t// the placeholder or the currently selected options\n\t&.multiselect--active {\n\t\t/* Opened: force display the input */\n\t\tinput.multiselect__input {\n\t\t\topacity: $opacity_full !important;\n\t\t\tcursor: text !important;\n\t\t\t// remove border radius on bottom opening\n\t\t\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\n\t\t\tdisplay: block !important;\n\t\t}\n\n\t\t/* multiselect__limit hidden if active */\n\t\t.multiselect__limit {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t// Remove radius on top opening\n\t&.multiselect--active.multiselect--above {\n\t\tinput.multiselect__input {\n\t\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\t}\n\t}\n\n\t// disabled state background\n\t&.multiselect--disabled,\n\t&.multiselect--disabled .multiselect__single {\n\t\tbackground-color: var(--color-background-dark) !important;\n\t}\n\n\t// loading state\n\t&.icon-loading-small::after {\n\t\tleft: 100%;\n\t\tmargin-left: -24px;\n\t}\n\n\t// multiple selected options display\n\t.multiselect__tags {\n\t\t/* space between tags and limit tag */\n\t\t$space-between: 5px;\n\t\tdisplay: flex;\n\t\tflex-wrap: nowrap;\n\t\toverflow: hidden;\n\t\tborder: 1px solid var(--color-border-dark);\n\t\tcursor: pointer;\n\t\tposition: relative;\n\t\tborder-radius: 3px;\n\t\tmin-height: 34px;\n\t\theight: 100%;\n\n\t\t/* tag wrapper */\n\t\t.multiselect__tags-wrap {\n\t\t\talign-items: center;\n\t\t\tdisplay: inline-flex;\n\t\t\toverflow: hidden;\n\t\t\tmax-width: 100%;\n\t\t\tposition: relative;\n\t\t\tpadding: 3px $space-between;\n\t\t\tflex: 1 1;\n\t\t\tflex-wrap: nowrap;\n\t\t\t/* no tags or simple select? Show input directly\n\t\t\tinput is used to display single value */\n\t\t\t&:empty ~ input.multiselect__input {\n\t\t\t\topacity: $opacity_full !important;\n\t\t\t\tdisplay: block !important;\n\t\t\t\t/* hide default empty text like .multiselect__placeholder,\n\t\t\t\tand show input instead. It looks better without a transition between\n\t\t\t\ta span and the input that have different styling */\n\t\t\t\t+ span:not(.multiselect__single) {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t\t/* selected tag */\n\t\t\t.multiselect__tag {\n\t\t\t\tline-height: 20px;\n\t\t\t\tpadding: 3px 5px;\n\t\t\t\tbackground-image: none;\n\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\tborder: 1px solid var(--color-border-dark);\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\talign-items: center;\n\t\t\t\tborder-radius: 3px;\n\t\t\t\t/* require to override the default width\n\t\t\t\tand force the tag to shring properly */\n\t\t\t\tmin-width: 0;\n\t\t\t\tmax-width: fit-content;\n\t\t\t\tmax-width: -moz-fit-content;\n\t\t\t\tmargin: 2px 1px;\n\t\t\t\t/* css hack, detect if more than two tags\n\t\t\t\tif so, flex-basis is set to half */\n\t\t\t\t&:only-child {\n\t\t\t\t\tflex: 0 1 auto;\n\t\t\t\t}\n\t\t\t\t&:not(:last-child) {\n\t\t\t\t\tmargin-right: $space-between;\n\t\t\t\t}\n\t\t\t\t/* ellipsis the groups to be sure\n\t\t\t\twe display at least two of them */\n\t\t\t\t> span {\n\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\t\toverflow: hidden;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/* Single select default value\n\t\tor default placeholder if search disabled*/\n\t\t.multiselect__single,\n\t\t.multiselect__placeholder {\n\t\t\tpadding: 7px 6px; // like the input\n\t\t\tflex: 0 0 100%;\n\t\t\tz-index: 1; /* above input */\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\n\t\t\tcolor: var(--color-text-lighter); // like the input\n\t\t\t// Align content and make the flow smoother\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\t// Anything inside will trigger the select opening\n\t\t\t&, * {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t}\n\t\t/* displayed text if tag limit reached */\n\t\t.multiselect__strong,\n\t\t.multiselect__limit {\n\t\t\tline-height: 20px;\n\t\t\tcolor: var(--color-text-lighter);\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\topacity: $opacity_normal;\n\t\t\tmargin-right: $space-between;\n\t\t\t/* above the input */\n\t\t\tz-index: 5;\n\t\t}\n\t\t/* default multiselect input for search and placeholder */\n\t\tinput.multiselect__input {\n\t\t\twidth: 100% !important;\n\t\t\tposition: relative !important;\n\t\t\tmargin: 0;\n\t\t\topacity: 0;\n\t\t\t/* let's leave it on top of tags but hide it */\n\t\t\theight: 100% !important;\n\t\t\tborder: none;\n\t\t\t/* override hide to force show the placeholder */\n\t\t\t/* only when not active */\n\t\t\tcursor: pointer;\n\t\t\t/* override inline styling of the lib */\n\t\t\tpadding: 7px 6px !important;\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t/* results wrapper */\n\t.multiselect__content-wrapper {\n\t\tposition: absolute;\n\t\twidth: 100%;\n\t\tmargin-top: -1px;\n\t\tborder: 1px solid var(--color-border-dark);\n\t\tbackground: var(--color-main-background);\n\t\tz-index: 50;\n\t\tmax-height: 250px;\n\t\toverflow-y: auto;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\t.multiselect__content {\n\t\t\twidth: 100%;\n\t\t\tpadding: 0;\n\t\t}\n\t\tli {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tbackground-color: transparent;\n\t\t\t&,\n\t\t\tspan {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t\t> span {\n\t\t\t\tpadding: 8px;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\tmargin: 0;\n\t\t\t\theight: auto;\n\t\t\t\tmin-height: 1em;\n\t\t\t\t-webkit-touch-callout: none;\n\t\t\t\t-webkit-user-select: none;\n\t\t\t\t-moz-user-select: none;\n\t\t\t\t-ms-user-select: none;\n\t\t\t\tuser-select: none;\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\talign-items: center;\n\t\t\t\tbackground-color: transparent;\n\t\t\t\tcolor: var(--color-text-lighter);\n\t\t\t\twidth: 100%;\n\t\t\t\t/* selected checkmark icon */\n\t\t\t\t&::before {\n\t\t\t\t\tcontent: ' ';\n\t\t\t\t\tbackground-repeat: no-repeat;\n\t\t\t\t\tbackground-position: center;\n\t\t\t\t\tmin-width: 16px;\n\t\t\t\t\tmin-height: 16px;\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\topacity: $opacity_disabled;\n\t\t\t\t\tmargin-right: 5px;\n\t\t\t\t\tvisibility: hidden;\n\t\t\t\t}\n\t\t\t\t&.multiselect__option--disabled {\n\t\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t\t\topacity: $opacity_disabled;\n\t\t\t\t}\n\t\t\t\t&.multiselect__option--highlight {\n\t\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t\t}\n\t\t\t\t&:not(.multiselect__option--disabled):hover::before {\n\t\t\t\t\topacity: .3;\n\t\t\t\t}\n\t\t\t\t&.multiselect__option--selected,\n\t\t\t\t&:not(.multiselect__option--disabled):hover {\n\t\t\t\t\t&::before {\n\t\t\t\t\t\tvisibility: visible;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t/* ABOVE display */\n\t&.multiselect--above .multiselect__content-wrapper {\n\t\tbottom: 100%;\n\t\tmargin-bottom: -1px;\n\t}\n\n\t/* Icon before option select */\n\t&.multiselect--multiple {\n\t\t// push the input after the tag list\n\t\t.multiselect__tags {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t.multiselect__content-wrapper li > span {\n\t\t\t&::before {\n\t\t\t\tbackground-image: var(--icon-checkmark-000);\n\t\t\t}\n\n\t\t\t/* add the prop tag-placeholder=\"create\" to add the +\n\t\t\ticon on top of an unknown-and-ready-to-be-created entry */\n\t\t\t&[data-select='create'] {\n\t\t\t\t&::before {\n\t\t\t\t\tbackground-image: var(--icon-add-000);\n\t\t\t\t\tvisibility: visible;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* No need for an icon here */\n\t&.multiselect--single .multiselect__content-wrapper li > span::before {\n\t\tdisplay: none;\n\t}\n\n\t/* Mouse feedback */\n\t&:hover,\n\tinput.multiselect__input {\n\t\t.multiselect__placeholder {\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: ($clickable-area - $icon-size) / 2;\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n"],sourceRoot:""}]),t.a=T},function(n,t){n.exports=require("vue-multiselect")},,,,function(n,t,e){"use strict";var r=e(0),i=e.n(r),a=e(1),T=e.n(a)()(i.a);T.push([n.i,".material-design-icon[data-v-5c87e24c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}[data-v-5c87e24c] .multiselect__tags{border:none !important}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./TimezonePicker.vue"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqHxB,qCACC,sBAAuB",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n::v-deep .multiselect__tags {\n\tborder: none !important; // Remove the Multiselect border\n}\n"],sourceRoot:""}]),t.a=T},function(n,t){},,,function(n,t){n.exports=require("@nextcloud/calendar-js")},function(n,t){n.exports=require("@nextcloud/logger")},,,,,,,,,,,,,,,,,,function(n,t,e){"use strict";e.r(t);var r=e(67),i=e(4);function a(n,t){var e="undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(!e){if(Array.isArray(n)||(e=function(n,t){if(!n)return;if("string"==typeof n)return T(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);"Object"===e&&n.constructor&&(e=n.constructor.name);if("Map"===e||"Set"===e)return Array.from(n);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return T(n,t)}(n))||t&&n&&"number"==typeof n.length){e&&(n=e);var r=0,i=function(){};return{s:i,n:function(){return r>=n.length?{done:!0}:{done:!1,value:n[r++]}},e:function(n){throw n},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){e=e.call(n)},n:function(){var n=e.next();return o=n.done,n},e:function(n){s=!0,a=n},f:function(){try{o||null==e.return||e.return()}finally{if(s)throw a}}}}function T(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,r=new Array(t);e<t;e++)r[e]=n[e];return r}
|
|
278
|
+
/**
|
|
279
|
+
* @copyright Copyright (c) 2019 Georg Ehrke
|
|
280
|
+
*
|
|
281
|
+
* @author Georg Ehrke <oc.list@georgehrke.com>
|
|
282
|
+
*
|
|
283
|
+
* @license GNU AGPL version 3 or any later version
|
|
284
|
+
*
|
|
285
|
+
* This program is free software: you can redistribute it and/or modify
|
|
286
|
+
* it under the terms of the GNU Affero General Public License as
|
|
287
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
288
|
+
* License, or (at your option) any later version.
|
|
289
|
+
*
|
|
290
|
+
* This program is distributed in the hope that it will be useful,
|
|
291
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
292
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
293
|
+
* GNU Affero General Public License for more details.
|
|
294
|
+
*
|
|
295
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
296
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
297
|
+
*
|
|
298
|
+
*/function o(n){return n.split("_").join(" ").replace("St ","St. ").split("/").join(" - ")}var s=e(78),A=e(45),l=e(79),c=Object(l.getLoggerBuilder)().detectUser().setApp("@nextcloud/vue").build();function E(n){return function(n){if(Array.isArray(n))return u(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,t){if(!n)return;if("string"==typeof n)return u(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);"Object"===e&&n.constructor&&(e=n.constructor.name);if("Map"===e||"Set"===e)return Array.from(n);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return u(n,t)}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,r=new Array(t);e<t;e++)r[e]=n[e];return r}
|
|
299
|
+
/**
|
|
300
|
+
* @copyright Copyright (c) 2019 Georg Ehrke
|
|
301
|
+
*
|
|
302
|
+
* @author Georg Ehrke <oc.list@georgehrke.com>
|
|
303
|
+
*
|
|
304
|
+
* @license GNU AGPL version 3 or any later version
|
|
305
|
+
*
|
|
306
|
+
* This program is free software: you can redistribute it and/or modify
|
|
307
|
+
* it under the terms of the GNU Affero General Public License as
|
|
308
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
309
|
+
* License, or (at your option) any later version.
|
|
310
|
+
*
|
|
311
|
+
* This program is distributed in the hope that it will be useful,
|
|
312
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
313
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
314
|
+
* GNU Affero General Public License for more details.
|
|
315
|
+
*
|
|
316
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
317
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
318
|
+
*
|
|
319
|
+
*/var d=Object(s.getTimezoneManager)(),D=!1,S=function(){return D||function(){for(var n in c.debug("Using version ".concat(A.version," of the timezone database")),A.zones)if(Object.prototype.hasOwnProperty.call(A.zones,[n])){var t=["BEGIN:VTIMEZONE","TZID:"+n].concat(E(A.zones[n].ics),["END:VTIMEZONE"]).join("\r\n");d.registerTimezoneFromICS(n,t)}for(var e in A.aliases)Object.prototype.hasOwnProperty.call(A.aliases,[e])&&d.registerAlias(e,A.aliases[e].aliasTo);D=!0}(),d};function F(n,t){var e="undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(!e){if(Array.isArray(n)||(e=function(n,t){if(!n)return;if("string"==typeof n)return R(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);"Object"===e&&n.constructor&&(e=n.constructor.name);if("Map"===e||"Set"===e)return Array.from(n);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return R(n,t)}(n))||t&&n&&"number"==typeof n.length){e&&(n=e);var r=0,i=function(){};return{s:i,n:function(){return r>=n.length?{done:!0}:{done:!1,value:n[r++]}},e:function(n){throw n},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,T=!0,o=!1;return{s:function(){e=e.call(n)},n:function(){var n=e.next();return T=n.done,n},e:function(n){o=!0,a=n},f:function(){try{T||null==e.return||e.return()}finally{if(o)throw a}}}}function R(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,r=new Array(t);e<t;e++)r[e]=n[e];return r}var N={name:"TimezonePicker",components:{Multiselect:r.default},props:{additionalTimezones:{type:Array,default:function(){return[]}},value:{type:String,default:"floating"}},computed:{placeholder:function(){return Object(i.b)("Type to search time zone")},selectedTimezone:function(){var n,t=F(this.additionalTimezones);try{for(t.s();!(n=t.n()).done;){var e=n.value;if(e.timezoneId===this.value)return e}}catch(n){t.e(n)}finally{t.f()}return{label:o(this.value),timezoneId:this.value}},options:function(){return function(){var n,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r={},T=[],s=a(t);try{for(s.s();!(n=s.n()).done;){var A=n.value,l=A.split("/"),c=[l.shift(),l.join("/")],E=c[0],u=c[1];u||(u=E,E=Object(i.b)("Global")),r[E]=r[E]||{continent:E,regions:[]},r[E].regions.push({label:o(u),cities:[],timezoneId:A})}}catch(n){s.e(n)}finally{s.f()}var d,D=a(e);try{for(D.s();!(d=D.n()).done;){var S=d.value,F=S.continent,R=S.label,N=S.timezoneId;r[F]=r[F]||{continent:F,regions:[]},r[F].regions.push({label:R,cities:[],timezoneId:N})}}catch(n){D.e(n)}finally{D.f()}for(var O in r)Object.prototype.hasOwnProperty.call(r,O)&&(r[O].regions.sort((function(n,t){return n.label<t.label?-1:1})),T.push(r[O]));return T.sort((function(n,t){return n.continent<t.continent?-1:1})),T}(S().listAllTimezones(),this.additionalTimezones)}},methods:{change:function(n){n&&this.$emit("input",n.timezoneId)}}},O=e(2),m=e.n(O),p=e(74),g={insert:"head",singleton:!1},B=(m()(p.a,g),p.a.locals,e(3)),h=e(75),Z=e.n(h),Y=Object(B.a)(N,(function(){var n=this.$createElement;return(this._self._c||n)("Multiselect",{attrs:{value:this.selectedTimezone,options:this.options,multiple:!1,"group-select":!1,placeholder:this.placeholder,"group-values":"regions","group-label":"continent","track-by":"timezoneId",label:"label","open-direction":"above"},on:{input:this.change}})}),[],!1,null,"5c87e24c",null);"function"==typeof Z.a&&Z()(Y);var M=Y.exports;
|
|
320
|
+
/**
|
|
321
|
+
* @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
322
|
+
*
|
|
323
|
+
* @author 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
324
|
+
*
|
|
325
|
+
* @license GNU AGPL version 3 or any later version
|
|
326
|
+
*
|
|
327
|
+
* This program is free software: you can redistribute it and/or modify
|
|
328
|
+
* it under the terms of the GNU Affero General Public License as
|
|
329
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
330
|
+
* License, or (at your option) any later version.
|
|
331
|
+
*
|
|
332
|
+
* This program is distributed in the hope that it will be useful,
|
|
333
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
334
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
335
|
+
* GNU Affero General Public License for more details.
|
|
336
|
+
*
|
|
337
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
338
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
339
|
+
*/t.default=M}])}));
|
|
340
|
+
//# sourceMappingURL=TimezonePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack://NextcloudVue.[name]/webpack/universalModuleDefinition","webpack://NextcloudVue.[name]/webpack/bootstrap","webpack://NextcloudVue.[name]/./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack://NextcloudVue.[name]/./node_modules/css-loader/dist/runtime/api.js","webpack://NextcloudVue.[name]/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://NextcloudVue.[name]/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://NextcloudVue.[name]/./src/l10n.js","webpack://NextcloudVue.[name]/external \"v-tooltip\"","webpack://NextcloudVue.[name]/external \"vue\"","webpack://NextcloudVue.[name]/external \"@nextcloud/router\"","webpack://NextcloudVue.[name]/./node_modules/css-loader/dist/runtime/getUrl.js","webpack://NextcloudVue.[name]/./src/components/Popover/Popover.vue?463f","webpack://NextcloudVue.[name]/./src/directives/Tooltip/index.scss?afe8","webpack://NextcloudVue.[name]/./src/directives/Tooltip/index.js","webpack://NextcloudVue.[name]/external \"@nextcloud/l10n/dist/gettext\"","webpack://NextcloudVue.[name]/./src/directives/Tooltip/index.scss","webpack://NextcloudVue.[name]/./src/components/Popover/Popover.vue?e51b","webpack://NextcloudVue.[name]/./src/components/Popover/Popover.vue?01d2","webpack://NextcloudVue.[name]/src/components/Popover/Popover.vue","webpack://NextcloudVue.[name]/./src/components/Popover/Popover.vue?266e","webpack://NextcloudVue.[name]/./src/components/Popover/Popover.vue","webpack://NextcloudVue.[name]/external \"vue-material-design-icons/DotsHorizontal\"","webpack://NextcloudVue.[name]/external \"@nextcloud/event-bus\"","webpack://NextcloudVue.[name]/external \"@nextcloud/auth\"","webpack://NextcloudVue.[name]/./src/utils/IsMobileState.js","webpack://NextcloudVue.[name]/./src/mixins/isMobile/index.js","webpack://NextcloudVue.[name]/external \"@nextcloud/axios\"","webpack://NextcloudVue.[name]/./src/mixins/userStatus.js","webpack://NextcloudVue.[name]/external \"striptags\"","webpack://NextcloudVue.[name]/./src/components/RichContenteditable/MentionBubble.vue?6186","webpack://NextcloudVue.[name]/./src/mixins/l10n.js","webpack://NextcloudVue.[name]/external \"v-click-outside\"","webpack://NextcloudVue.[name]/external \"linkifyjs/string\"","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?9510","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?14f7","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenu.vue?154d","webpack://NextcloudVue.[name]/./src/utils/FindRanges.js","webpack://NextcloudVue.[name]/./src/components/RichContenteditable/MentionBubble.vue?6825","webpack://NextcloudVue.[name]/src/components/RichContenteditable/MentionBubble.vue","webpack://NextcloudVue.[name]/./src/components/RichContenteditable/MentionBubble.vue?dd58","webpack://NextcloudVue.[name]/./src/components/RichContenteditable/MentionBubble.vue","webpack://NextcloudVue.[name]/./src/components/RichContenteditable/MentionBubble.vue?2857","webpack://NextcloudVue.[name]/./src/mixins/richEditor/index.js","webpack://NextcloudVue.[name]/src/components/Highlight/Highlight.vue","webpack://NextcloudVue.[name]/./src/components/Highlight/Highlight.vue?4290","webpack://NextcloudVue.[name]/./src/components/Highlight/Highlight.vue","webpack://NextcloudVue.[name]/./src/components/Highlight/index.js","webpack://NextcloudVue.[name]/./src/components/Avatar/Avatar.vue?07f3","webpack://NextcloudVue.[name]/external \"escape-html\"","webpack://NextcloudVue.[name]/./src/utils/GenColors.js","webpack://NextcloudVue.[name]/./src/mixins/excludeClickOutsideClasses/index.js","webpack://NextcloudVue.[name]/./src/mixins/isFullscreen/index.js","webpack://NextcloudVue.[name]/external \"@nextcloud/browser-storage\"","webpack://NextcloudVue.[name]/./src/assets/status-icons/user-status-online.svg","webpack://NextcloudVue.[name]/./src/assets/status-icons/user-status-dnd.svg","webpack://NextcloudVue.[name]/./src/assets/status-icons/user-status-away.svg","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenu.vue?cfe3","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?63e6","webpack://NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?03b2","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?eb85","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenu.vue?7e94","webpack://NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenuItem.vue?4aab","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenu.vue?5a99","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/PopoverMenu.vue","webpack://NextcloudVue.[name]/./src/components/PopoverMenu/index.js","webpack://NextcloudVue.[name]/./src/components/Avatar/Avatar.vue?83e6","webpack://NextcloudVue.[name]/src/components/Avatar/Avatar.vue","webpack://NextcloudVue.[name]/./src/components/Avatar/Avatar.vue?d51d","webpack://NextcloudVue.[name]/./src/components/Avatar/Avatar.vue?c0c6","webpack://NextcloudVue.[name]/./src/components/Avatar/Avatar.vue","webpack://NextcloudVue.[name]/./src/components/Avatar/index.js","webpack://NextcloudVue.[name]/external \"md5\"","webpack://NextcloudVue.[name]/external \"@nextcloud/capabilities\"","webpack://NextcloudVue.[name]/./src/functions/usernameToColor/usernameToColor.js","webpack://NextcloudVue.[name]/./src/functions/usernameToColor/index.js","webpack://NextcloudVue.[name]/./src/utils/ScopeComponent.js","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/ListItemIcon.vue?0eea","webpack://NextcloudVue.[name]/./src/components/Multiselect/EllipsisedOption.vue?1f80","webpack://NextcloudVue.[name]/./src/components/Multiselect/Multiselect.vue?6b71","webpack://NextcloudVue.[name]/./src/components/Multiselect/EllipsisedOption.vue?c4e5","webpack://NextcloudVue.[name]/src/components/Multiselect/EllipsisedOption.vue","webpack://NextcloudVue.[name]/./src/components/Multiselect/EllipsisedOption.vue?5550","webpack://NextcloudVue.[name]/./src/components/Multiselect/EllipsisedOption.vue","webpack://NextcloudVue.[name]/./src/components/Multiselect/EllipsisedOption.vue?900a","webpack://NextcloudVue.[name]/src/components/Multiselect/Multiselect.vue","webpack://NextcloudVue.[name]/./src/components/Multiselect/Multiselect.vue?471d","webpack://NextcloudVue.[name]/./src/components/Multiselect/Multiselect.vue","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/ListItemIcon.vue?7dc8","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/ListItemIcon.vue?5fd9","webpack://NextcloudVue.[name]/src/components/ListItemIcon/ListItemIcon.vue","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/ListItemIcon.vue?6275","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/ListItemIcon.vue","webpack://NextcloudVue.[name]/./src/components/ListItemIcon/index.js","webpack://NextcloudVue.[name]/./src/components/Multiselect/index.scss?aaaf","webpack://NextcloudVue.[name]/./src/components/Multiselect/index.js","webpack://NextcloudVue.[name]/./src/components/Multiselect/index.scss","webpack://NextcloudVue.[name]/external \"vue-multiselect\"","webpack://NextcloudVue.[name]/./src/components/TimezonePicker/TimezonePicker.vue?0c79","webpack://NextcloudVue.[name]/external \"@nextcloud/calendar-js\"","webpack://NextcloudVue.[name]/external \"@nextcloud/logger\"","webpack://NextcloudVue.[name]/./src/components/TimezonePicker/TimezonePicker.vue?d792","webpack://NextcloudVue.[name]/./src/components/TimezonePicker/timezone.js","webpack://NextcloudVue.[name]/./src/utils/logger.js","webpack://NextcloudVue.[name]/./src/components/TimezonePicker/timezoneDataProviderService.js","webpack://NextcloudVue.[name]/src/components/TimezonePicker/TimezonePicker.vue","webpack://NextcloudVue.[name]/./src/components/TimezonePicker/TimezonePicker.vue?4eaa","webpack://NextcloudVue.[name]/./src/components/TimezonePicker/TimezonePicker.vue?6f26","webpack://NextcloudVue.[name]/./src/components/TimezonePicker/TimezonePicker.vue","webpack://NextcloudVue.[name]/./src/components/TimezonePicker/index.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_slicedToArray","arr","Array","isArray","_arrayWithHoles","_i","iterator","_s","_e","_arr","_n","_d","next","done","push","length","err","_iterableToArrayLimit","minLen","_arrayLikeToArray","toString","slice","constructor","from","test","_unsupportedIterableToArray","TypeError","_nonIterableRest","len","arr2","item","_item","content","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","concat","sourceMapping","sourceURLs","sources","map","source","sourceRoot","join","cssWithMappingToString","list","this","mediaQuery","dedupe","alreadyImportedModules","id","memo","isOldIE","Boolean","document","all","atob","getTarget","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","e","stylesInDom","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","index","obj","css","media","sourceMap","references","updater","addStyle","insertStyleElement","style","createElement","attributes","nonce","nc","keys","forEach","setAttribute","insert","Error","appendChild","textStore","replaceText","replacement","filter","applyToSingletonTag","remove","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","applyToTag","removeAttribute","firstChild","singleton","singletonCounter","update","styleIndex","parentNode","removeStyleElement","newObj","lastIdentifiers","newList","newLastIdentifiers","_index","splice","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","__webpack_exports__","_nextcloud_l10n_dist_gettext__WEBPACK_IMPORTED_MODULE_0__","gtBuilder","getGettextBuilder","detectLocale","TRANSLATIONS","lang","translations","pluralId","msgid","msgid_plural","msgstr","addTranslation","locale","","gt","build","ngettext","gettext","require","url","default","hash","needQuotes","replace","_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__","_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","a","version","names","mappings","sourcesContent","injectStylesIntoStyleTag_default","Tooltip","locals","VTooltip","defaultTemplate","SCOPE_VERSION","defaultHtml","defaultDelay","show","hide","Popover_Popovervue_type_script_lang_js_","components","VPopover","mounted","_this","$watch","$refs","popover","isOpen","val","$emit","Popovervue_type_style_index_0_lang_scss_","component","componentNormalizer","_vm","_h","$createElement","_self","_c","_g","_b","ref","attrs","popover-base-class","popover-wrapper-class","popover-arrow-class","popover-inner-class","scopedSlots","_u","fn","_t","proxy","$attrs","$listeners","Popovervue_type_custom_index_0_blockType_docs_default","IsMobileState","Vue","isMobile","watch","created","addEventListener","handleWindowResize","beforeDestroy","removeEventListener","methods","documentElement","clientWidth","$on","onIsMobileChanged","$off","userStatus","hasStatus","status","message","icon","fetchUserStatus","userId","regeneratorRuntime","mark","_callee","capabilities","_yield$axios$get","_data$ocs$data","_e$response$data$ocs","_e$response$data$ocs$","wrap","_context","prev","abrupt","getCapabilities","user_status","enabled","getCurrentUser","axios","generateOcsUrl","sent","ocs","t0","response","console","error","stop","_l10n__WEBPACK_IMPORTED_MODULE_0__","FindRanges","text","search","ranges","currentIndex","toLowerCase","indexOf","start","end","RichContenteditable_MentionBubblevue_type_script_lang_js_","props","type","String","required","label","primary","computed","avatarUrl","getAvatarUrl","mentionText","user","size","router_","MentionBubblevue_type_style_index_0_id_724f9d58_lang_scss_scoped_true_","MentionBubble","staticClass","class","mention-bubble--primary","contenteditable","backgroundImage","_v","role","title","USERID_REGEX","RegExp","USERID_REGEX_WITH_SPACE","userData","renderContent","escapeHtml","split","part","flat","startsWith","linkifyStr","defaultProtocol","className","rel","genSelectTemplate","parseContent","stripTags","renderComponentHtml","propsData","Item","extend","wrapper","mount","display","body","$mount","renderedHtml","innerHTML","$destroy","Highlight_Highlightvue_type_script_lang_js_","highlight","range","reduce","validRanges","sort","b","mergedRanges","idx","Math","max","chunks","currentRange","substr","_objectSpread","chunk","Highlightvue_type_custom_index_0_blockType_docs_default","Highlight","_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__","_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default","_assets_status_icons_user_status_online_svg__WEBPACK_IMPORTED_MODULE_3__","_assets_status_icons_user_status_dnd_svg__WEBPACK_IMPORTED_MODULE_4__","_assets_status_icons_user_status_away_svg__WEBPACK_IMPORTED_MODULE_5__","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","Color","g","mixPalette","steps","color1","color2","palette","step","ends","stepCalc","parseInt","GenColors","red","yellow","blue","palette1","palette2","palette3","excludeClickOutsideClasses","clickOutsideMiddleware","event","excludedClassList","hasNodeOrAnyParentClass","node","classArray","_step","_iterator","_createForOfIteratorHelper","_node$classList","classList","contains","f","parentElement","isFullscreen","_isFullscreen","beforeMount","_onResize","outerHeight","screen","height","PopoverMenu_PopoverMenuItemvue_type_script_lang_js_","href","validator","input","round","random","iconIsUrl","URL","_","action","PopoverMenuItemvue_type_style_index_0_id_54983729_scoped_true_lang_css_","PopoverMenuItemvue_type_style_index_1_id_54983729_lang_scss_scoped_true_options","PopoverMenuItemvue_type_style_index_1_id_54983729_lang_scss_scoped_true_","PopoverMenu_PopoverMenuvue_type_script_lang_js_","PopoverMenuItem","download","on","click","src","longtext","active","submit","$event","preventDefault","placeholder","domProps","directives","rawName","expression","checked","model","change","$$a","$$el","$$c","$$i","$set","_q","composing","for","stopPropagation","disabled","menu","PopoverMenuvue_type_style_index_0_id_4dae360a_lang_scss_scoped_true_options","PopoverMenuvue_type_style_index_0_id_4dae360a_lang_scss_scoped_true_","PopoverMenu_component","_l","PopoverMenuvue_type_custom_index_0_blockType_docs_default","PopoverMenu","browserStorage","browser_storage_","persist","getUserHasAvatar","flag","getItem","setUserHasAvatar","setItem","Avatar_Avatarvue_type_script_lang_js_","tooltip","ClickOutside","external_v_click_outside_","DotsHorizontal","DotsHorizontal_default","Popover","mixins","undefined","iconClass","showUserStatus","showUserStatusCompact","preloadedUserStatus","isGuest","displayName","Number","allowPlaceholder","disableTooltip","disableMenu","tooltipMessage","isNoUser","menuPosition","menuContainer","ariaLabel","avatarUrlLoaded","avatarSrcSetLoaded","userDoesNotExist","isAvatarLoaded","isMenuLoaded","contactsMenuLoading","contactsMenuActions","contactsMenuOpenState","avatarAriaLabel","l10n","canDisplayUserStatus","includes","showUserStatusIconOnAvatar","getUserIdentifier","isDisplayNameDefined","isUserDefined","isUrlDefined","hasMenu","_getCurrentUser","auth_","uid","shouldShowPlaceholder","avatarStyle","--size","lineHeight","fontSize","rgb","usernameToColor","backgroundColor","initials","fromCodePoint","codePointAt","toUpperCase","html","actions","hyperlink","loadAvatarUrl","event_bus_","handleUserStatusUpdated","beforeDestroyed","handlePopoverAfterShow","links","popoverMenu","$el","getElementsByTagName","focus","handlePopoverAfterHide","main","state","toggleMenu","_asyncToGenerator","fetchContactsMenu","closeMenu","_this2","_callee2","_yield$axios$post","_context2","axios_default","post","topAction","updateImageIfValid","avatarUrlGenerator","srcset","_getCurrentUser2","oc_userconfig","avatar","_this3","arguments","userHasAvatar","img","Image","onload","onerror","debug","Avatarvue_type_style_index_0_id_583ead48_scoped_true_lang_scss_","avatardiv--unknown","avatardiv--with-menu","tabindex","aria-label","keydown","_k","keyCode","alt","placement","container","open","after-show","after-hide","decorative","Avatarvue_type_custom_index_0_blockType_docs_default","Avatar","username","match","md5","maximum","finalInt","charAt","j","hashToInt","ScopeComponent","Component","Multiselect_EllipsisedOptionvue_type_script_lang_js_","option","needsTruncate","min","floor","part1","part2","highlight1","highlight2","EllipsisedOptionvue_type_style_index_0_id_f855c4b8_lang_scss_scoped_true_","EllipsisedOption","Multiselect_Multiselectvue_type_script_lang_js_","ListItemIcon","VueMultiselect","external_vue_multiselect_default","inheritAttrs","multiple","limit","trackBy","userSelect","loading","autoLimit","tagWidth","elWidth","maxOptions","limitString","localValue","_typeof","set","updateWidth","getOptionLabel","_this$$refs$VueMultis","formatLimitTitle","selection","offsetWidth","Multiselect_component","icon-loading-small","close-on-select","track-by","tag-placeholder","scope","$scopedSlots","modifiers","auto","slot","callback","$$v","Multiselectvue_type_custom_index_0_blockType_docs_default","ListItemIcon_ListItemIconvue_type_script_lang_js_","subtitle","avatarSize","noMargin","margin","hasIcon","hasSlot","$slots","isValidSubtitle","_this$subtitle","_this$subtitle$trim","trim","isSizeBigEnough","cssVars","--height","--margin","ListItemIconvue_type_style_index_0_id_28d338d4_lang_scss_scoped_true_","disable-menu","disable-tooltip","display-name","is-no-user","ListItemIconvue_type_custom_index_0_blockType_docs_default","components_Multiselect","Multiselect","getReadableTimezoneName","timezoneId","getLoggerBuilder","detectUser","setApp","timezoneManager","getTimezoneManager","initialized","timezoneDataProviderService","tzid","logger","tzData","zones","ics","_toConsumableArray","registerTimezoneFromICS","aliases","registerAlias","aliasTo","initialize","TimezonePicker_TimezonePickervue_type_script_lang_js_","additionalTimezones","selectedTimezone","TimezonePickervue_type_script_lang_js_createForOfIteratorHelper","additionalTimezone","timezoneList","sortedByContinent","sortedList","_ref","shift","continent","regions","cities","_step2","_iterator2","getSortedTimezoneList","listAllTimezones","newValue","TimezonePickervue_type_style_index_0_id_5c87e24c_lang_scss_scoped_true_options","TimezonePickervue_type_style_index_0_id_5c87e24c_lang_scss_scoped_true_","group-select","group-values","group-label","open-direction","TimezonePickervue_type_custom_index_0_blockType_docs_default","TimezonePicker"],"mappings":"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","file":"Components/TimezonePicker.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Components/TimezonePicker\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Components/TimezonePicker\"] = factory();\n\telse\n\t\troot[\"NextcloudVue\"] = root[\"NextcloudVue\"] || {}, root[\"NextcloudVue\"][\"Components/TimezonePicker\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 97);\n","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { getGettextBuilder } from '@nextcloud/l10n/dist/gettext'\n\nconst gtBuilder = getGettextBuilder()\n\t.detectLocale()\n\n// Decompress Translations to gettext format and add to gtBuilder\nTRANSLATIONS.forEach((lang) => {\n\tconst translations = {}\n\n\tfor (const key in lang.translations) {\n\t\t// Plural\n\t\tif (lang.translations[key].pluralId) {\n\t\t\ttranslations[key] = {\n\t\t\t\tmsgid: key,\n\t\t\t\tmsgid_plural: lang.translations[key].pluralId,\n\t\t\t\tmsgstr: lang.translations[key].msgstr,\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\t// Singular\n\t\ttranslations[key] = {\n\t\t\tmsgid: key,\n\t\t\tmsgstr: [\n\t\t\t\tlang.translations[key],\n\t\t\t],\n\t\t}\n\t}\n\n\tgtBuilder.addTranslation(lang.locale, {\n\t\ttranslations: {\n\t\t\t'': translations,\n\t\t},\n\t})\n})\n\nconst gt = gtBuilder.build()\n\nconst n = gt.ngettext.bind(gt)\nconst t = gt.gettext.bind(gt)\n\nexport { t, n }\n","module.exports = require(\"v-tooltip\");","module.exports = require(\"vue\");","module.exports = require(\"@nextcloud/router\");","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n // eslint-disable-next-line no-param-reassign\n options = {};\n } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n url = url && url.__esModule ? url.default : url;\n\n if (typeof url !== \"string\") {\n return url;\n } // If url is already wrapped in quotes, remove them\n\n\n if (/^['\"].*['\"]$/.test(url)) {\n // eslint-disable-next-line no-param-reassign\n url = url.slice(1, -1);\n }\n\n if (options.hash) {\n // eslint-disable-next-line no-param-reassign\n url += options.hash;\n } // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n\n\n if (/[\"'() \\t\\n]/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n\n return url;\n};","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./Popover.vue\"],\"names\":[],\"mappings\":\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!./index.scss\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { VTooltip } from 'v-tooltip'\nimport './index.scss'\n\n// force scope the tooltip and use .vue-tooltip\n// instead of .tooltip to avoid server compatibility\n// issues and the use of !important\nVTooltip.options.defaultTemplate = `<div class=\"vue-tooltip\" role=\"tooltip\" data-v-${SCOPE_VERSION}><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>`\nVTooltip.options.defaultHtml = false\nVTooltip.options.defaultDelay = { show: 500, hide: 200 }\n\nexport default VTooltip\n","module.exports = require(\"@nextcloud/l10n/dist/gettext\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-542b2ae]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-542b2ae][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-542b2ae][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-542b2ae][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-542b2ae][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-542b2ae][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-542b2ae][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-542b2ae] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-542b2ae] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],\"names\":[],\"mappings\":\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VPopover',_vm._g(_vm._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:_vm._u([{key:\"popover\",fn:function(){return [_vm._t(\"default\")]},proxy:true}],null,true)},'VPopover',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"trigger\")],2)}\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!./Popover.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!./Popover.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n -\n - @author Marco Ambrosini <marcoambrosini@pm.me>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<docs>\n\n### General description\n\nThis component is just a wrapper for the v-component plugin by Akryum,\nplease refer to this documentation for customization:\nhttps://github.com/Akryum/v-tooltip\n\nThis components has two slots:\n* 'trigger' which can be any html element and it will trigger the popover\nthis slot is optional since you can toggle the popover also by updating the\nopen prop on this component;\n\n* a default slot that is for the content of the popover.\n\n### Examples\n\nWith a `<button>` as a trigger:\n```vue\n<template>\n\t<Popover>\n\t\t<template #trigger>\n\t\t\t<button> I am the trigger </button>\n\t\t</template>\n\t\t<template>\n\t\t<h2>this is some content</h2>\n\t\t</template>\n\t</Popover>\n</template>\n```\n</docs>\n\n<template>\n\t<VPopover\n\t\tref=\"popover\"\n\t\tv-bind=\"$attrs\"\n\t\tpopover-base-class=\"popover\"\n\t\tpopover-wrapper-class=\"popover__wrapper\"\n\t\tpopover-arrow-class=\"popover__arrow\"\n\t\tpopover-inner-class=\"popover__inner\"\n\t\tv-on=\"$listeners\">\n\t\t<!-- This will be the popover target (for the events and position) -->\n\t\t<slot name=\"trigger\" />\n\t\t<!-- This will be the content of the popover -->\n\t\t<template #popover>\n\t\t\t<slot />\n\t\t</template>\n\t</VPopover>\n</template>\n\n<script>\nimport { VPopover } from 'v-tooltip'\n\nexport default {\n\tname: 'Popover',\n\tcomponents: {\n\t\tVPopover,\n\t},\n\n\tmounted() {\n\t\tthis.$watch(\n\t\t\t() => {\n\t\t\t\t// required because v-tooltip doesn't provide events\n\t\t\t\t// and @show is too early\n\t\t\t\t// see https://github.com/Akryum/v-tooltip/issues/661\n\t\t\t\treturn this.$refs.popover.isOpen\n\t\t\t},\n\t\t\t(val) => {\n\t\t\t\tif (val) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggered after the tooltip was visually displayed.\n\t\t\t\t\t *\n\t\t\t\t\t * This is different from the 'show' and 'apply-show' which\n\t\t\t\t\t * run earlier than this where there is no guarantee that the\n\t\t\t\t\t * tooltip is already visible and in the DOM.\n\t\t\t\t\t */\n\t\t\t\t\tthis.$emit('after-show')\n\t\t\t\t} else {\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggered after the tooltip was visually hidden.\n\t\t\t\t\t */\n\t\t\t\t\tthis.$emit('after-hide')\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n$arrow-width: 10px;\n\n.popover {\n\tz-index: 100000;\n\tdisplay: block !important;\n\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t&__inner {\n\t\tpadding: 0;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground: var(--color-main-background);\n\t}\n\n\t&__arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: $arrow-width;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n\n\t&[x-placement^='top'] {\n\t\tmargin-bottom: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\tbottom: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='bottom'] {\n\t\tmargin-top: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='right'] {\n\t\tmargin-left: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tleft: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width $arrow-width $arrow-width 0;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='left'] {\n\t\tmargin-right: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tright: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t}\n\t}\n\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\topacity: 0;\n\t}\n\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity var(--animation-quick);\n\t\topacity: 1;\n\t}\n}\n\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Popover.vue?vue&type=style&index=0&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./Popover.vue?vue&type=template&id=140d98c2&\"\nimport script from \"./Popover.vue?vue&type=script&lang=js&\"\nexport * from \"./Popover.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Popover.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Popover.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","module.exports = require(\"vue-material-design-icons/DotsHorizontal\");","module.exports = require(\"@nextcloud/event-bus\");","module.exports = require(\"@nextcloud/auth\");","/**\n * @copyright Copyright (c) 2019 Kristof Hamann, Paul Schwörer\n *\n * @author Kristof Hamann\n * @author Paul Schwörer\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\n\nexport const IsMobileState = new Vue({\n\tdata() {\n\t\treturn {\n\t\t\tisMobile: false,\n\t\t}\n\t},\n\twatch: {\n\t\tisMobile(val) {\n\t\t\tthis.$emit('changed', val)\n\t\t},\n\t},\n\tcreated() {\n\t\twindow.addEventListener('resize', this.handleWindowResize)\n\t\tthis.handleWindowResize()\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this.handleWindowResize)\n\t},\n\tmethods: {\n\t\thandleWindowResize() {\n\t\t\tthis.isMobile = document.documentElement.clientWidth < 1024\n\t\t},\n\t},\n})\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { IsMobileState } from '../../utils/IsMobileState'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tisMobile: false,\n\t\t}\n\t},\n\tmounted() {\n\t\tIsMobileState.$on('changed', this.onIsMobileChanged)\n\t\tthis.isMobile = IsMobileState.isMobile\n\t},\n\tbeforeDestroy() {\n\t\tIsMobileState.$off('changed', this.onIsMobileChanged)\n\t},\n\tmethods: {\n\t\tonIsMobileChanged(val) {\n\t\t\tthis.isMobile = val\n\t\t},\n\t},\n}\n","module.exports = require(\"@nextcloud/axios\");","/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { getCurrentUser } from '@nextcloud/auth'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\thasStatus: false,\n\t\t\tuserStatus: {\n\t\t\t\tstatus: null,\n\t\t\t\tmessage: null,\n\t\t\t\ticon: null,\n\t\t\t},\n\t\t}\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Fetches the user-status from the server\n\t\t * @param {String} userId UserId of the user to fetch the status for\n\t\t *\n\t\t * @returns {Promise<void>}\n\t\t */\n\t\tasync fetchUserStatus(userId) {\n\t\t\tif (!userId) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst capabilities = getCapabilities()\n\t\t\tif (!Object.prototype.hasOwnProperty.call(capabilities, 'user_status') || !capabilities.user_status.enabled) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// User status endpoint is not available for guests.\n\t\t\tif (!getCurrentUser()) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst { data } = await axios.get(generateOcsUrl('apps/user_status/api/v1/statuses/{userId}', { userId }))\n\t\t\t\tconst {\n\t\t\t\t\tstatus,\n\t\t\t\t\tmessage,\n\t\t\t\t\ticon,\n\t\t\t\t} = data.ocs.data\n\t\t\t\tthis.userStatus.status = status\n\t\t\t\tthis.userStatus.message = message || ''\n\t\t\t\tthis.userStatus.icon = icon || ''\n\t\t\t\tthis.hasStatus = true\n\t\t\t} catch (e) {\n\t\t\t\tif (e.response.status === 404 && e.response.data.ocs?.data?.length === 0) {\n\t\t\t\t\t// User just has no status set, so don't log it\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tconsole.error(e)\n\t\t\t}\n\t\t},\n\t},\n}\n","module.exports = require(\"striptags\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./MentionBubble.vue\"],\"names\":[],\"mappings\":\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import { n, t } from '../l10n'\n\nexport default {\n\tmethods: {\n\t\tn,\n\t\tt,\n\t},\n}\n","module.exports = require(\"v-click-outside\");","module.exports = require(\"linkifyjs/string\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \"\\nbutton.menuitem[data-v-54983729] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-54983729] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-54983729]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-54983729] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-54983729] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/PopoverMenu/PopoverMenuItem.vue\"],\"names\":[],\"mappings\":\";AAoLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n -->\\n\\n<template>\\n\\t<li class=\\\"popover__menuitem\\\">\\n\\t\\t<!-- If item.href is set, a link will be directly used -->\\n\\t\\t<a v-if=\\\"item.href\\\"\\n\\t\\t\\t:href=\\\"(item.href) ? item.href : '#' \\\"\\n\\t\\t\\t:target=\\\"(item.target) ? item.target : '' \\\"\\n\\t\\t\\t:download=\\\"item.download\\\"\\n\\t\\t\\tclass=\\\"focusable\\\"\\n\\t\\t\\trel=\\\"noreferrer noopener\\\"\\n\\t\\t\\t@click=\\\"action\\\">\\n\\t\\t\\t<span v-if=\\\"!iconIsUrl\\\" :class=\\\"item.icon\\\" />\\n\\t\\t\\t<img v-else :src=\\\"item.icon\\\">\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t<!-- If item.input is set instead, an put will be used -->\\n\\t\\t<span v-else-if=\\\"item.input\\\" class=\\\"menuitem\\\" :class=\\\"{active: item.active}\\\">\\n\\t\\t\\t<!-- does not show if input is checkbox -->\\n\\t\\t\\t<span v-if=\\\"item.input !== 'checkbox'\\\" :class=\\\"item.icon\\\" />\\n\\n\\t\\t\\t<!-- only shows if input is text -->\\n\\t\\t\\t<form v-if=\\\"item.input === 'text'\\\"\\n\\t\\t\\t\\t:class=\\\"item.input\\\"\\n\\t\\t\\t\\t@submit.prevent=\\\"item.action\\\">\\n\\t\\t\\t\\t<input :type=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t:value=\\\"item.value\\\"\\n\\t\\t\\t\\t\\t:placeholder=\\\"item.text\\\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\\\"submit\\\" value=\\\"\\\" class=\\\"icon-confirm\\\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t<!-- checkbox -->\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t<!-- eslint-disable-next-line -->\\n\\t\\t\\t\\t<input :id=\\\"key\\\" v-model=\\\"item.model\\\"\\n\\t\\t\\t\\t\\t:type=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t:class=\\\"item.input\\\"\\n\\t\\t\\t\\t\\t@change=\\\"item.action\\\">\\n\\t\\t\\t\\t<label :for=\\\"key\\\" @click.stop.prevent=\\\"item.action\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t<!-- If item.action is set instead, a button will be used -->\\n\\t\\t<button v-else-if=\\\"item.action\\\"\\n\\t\\t\\tclass=\\\"menuitem focusable\\\"\\n\\t\\t\\t:class=\\\"{active: item.active}\\\"\\n\\t\\t\\t:disabled=\\\"item.disabled\\\"\\n\\t\\t\\ttype=\\\"button\\\"\\n\\t\\t\\t@click.stop.prevent=\\\"item.action\\\">\\n\\t\\t\\t<span :class=\\\"item.icon\\\" />\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t<!-- If item.longtext is set AND the item does not have an action -->\\n\\t\\t<span v-else class=\\\"menuitem\\\" :class=\\\"{active: item.active}\\\">\\n\\t\\t\\t<span :class=\\\"item.icon\\\" />\\n\\t\\t\\t<p v-if=\\\"item.text && item.longtext\\\">\\n\\t\\t\\t\\t<strong class=\\\"menuitem-text\\\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\\\"menuitem-text-detail\\\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\\\"item.text\\\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\\\"item.longtext\\\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: 'PopoverMenuItem',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: 'nextcloud-link',\\n\\t\\t\\t\\t\\thref: 'https://nextcloud.com',\\n\\t\\t\\t\\t\\ticon: 'icon-links',\\n\\t\\t\\t\\t\\ttext: 'Nextcloud',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn ['text', 'checkbox'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\\\"scss\\\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".material-design-icon[data-v-54983729]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-54983729]{display:flex;flex:0 0 auto}li.hidden[data-v-54983729]{display:none}li>button[data-v-54983729],li>a[data-v-54983729],li>.menuitem[data-v-54983729]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{padding:0 14px 0 44px}li>button[data-v-54983729]:not(:disabled):hover,li>button[data-v-54983729]:not(:disabled):focus,li>button:not(:disabled).active[data-v-54983729],li>a[data-v-54983729]:not(:disabled):hover,li>a[data-v-54983729]:not(:disabled):focus,li>a:not(:disabled).active[data-v-54983729],li>.menuitem[data-v-54983729]:not(:disabled):hover,li>.menuitem[data-v-54983729]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-54983729]{opacity:1 !important}li>button.action[data-v-54983729],li>a.action[data-v-54983729],li>.menuitem.action[data-v-54983729]{padding:inherit !important}li>button>span[data-v-54983729],li>a>span[data-v-54983729],li>.menuitem>span[data-v-54983729]{cursor:pointer;white-space:nowrap}li>button>p[data-v-54983729],li>a>p[data-v-54983729],li>.menuitem>p[data-v-54983729]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-54983729],li>a>select[data-v-54983729],li>.menuitem>select[data-v-54983729]{margin:0;margin-left:6px}li>button[data-v-54983729]:not(:empty),li>a[data-v-54983729]:not(:empty),li>.menuitem[data-v-54983729]:not(:empty){padding-right:14px !important}li>button>img[data-v-54983729],li>a>img[data-v-54983729],li>.menuitem>img[data-v-54983729]{width:16px;padding:14px}li>button>input.radio+label[data-v-54983729],li>button>input.checkbox+label[data-v-54983729],li>a>input.radio+label[data-v-54983729],li>a>input.checkbox+label[data-v-54983729],li>.menuitem>input.radio+label[data-v-54983729],li>.menuitem>input.checkbox+label[data-v-54983729]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-54983729]::before,li>a>input.checkbox+label[data-v-54983729]::before,li>.menuitem>input.checkbox+label[data-v-54983729]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-54983729]::before,li>a>input.radio+label[data-v-54983729]::before,li>.menuitem>input.radio+label[data-v-54983729]::before{margin:-2px 12px 0}li>button>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-54983729],li>a form[data-v-54983729],li>.menuitem form[data-v-54983729]{display:flex;flex:1 1 auto}li>button form[data-v-54983729]:not(:first-child),li>a form[data-v-54983729]:not(:first-child),li>.menuitem form[data-v-54983729]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-54983729],li>button>span[style*='display:none']+form[data-v-54983729],li>a>span.hidden+form[data-v-54983729],li>a>span[style*='display:none']+form[data-v-54983729],li>.menuitem>span.hidden+form[data-v-54983729],li>.menuitem>span[style*='display:none']+form[data-v-54983729]{margin-left:0}li>button input[data-v-54983729],li>a input[data-v-54983729],li>.menuitem input[data-v-54983729]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-54983729]:not(:first-child),li>a input[data-v-54983729]:not(:first-child),li>.menuitem input[data-v-54983729]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-54983729]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-54983729]{margin-bottom:12px}li>button[data-v-54983729]{padding:0}li>button span[data-v-54983729]{opacity:1}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqMxB,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,YCrR6C,CD4KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cCjUkB,CDkUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC9Ua\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".material-design-icon[data-v-4dae360a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenu.vue\"],\"names\":[],\"mappings\":\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCkDxB,oBACC,YAAa,CACb,qBAAsB\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Find the ranges of a substr in a given string\n *\n * @param {String} text The text to search in\n * @param {String} search The text to search for\n * @returns {Array} The array of ranges to highlight\n */\nconst FindRanges = (text, search) => {\n\tconst ranges = []\n\tlet currentIndex = 0\n\tlet index = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex)\n\t// Variable to track that we don't iterate more often than the length of the text.\n\t// Shouldn't happen anyway, but just to be sure to not hang the browser for some reason.\n\tlet i = 0\n\twhile (index > -1 && i < text.length) {\n\t\tcurrentIndex = index + search.length\n\t\tranges.push({ start: index, end: currentIndex })\n\n\t\tindex = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex)\n\t\ti++\n\t}\n\treturn ranges\n}\n\nexport default FindRanges\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MentionBubble.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!./MentionBubble.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<template>\n\t<span :class=\"{'mention-bubble--primary': primary}\"\n\t\tclass=\"mention-bubble\"\n\t\tcontenteditable=\"false\">\n\t\t<span class=\"mention-bubble__wrapper\">\n\t\t\t<span class=\"mention-bubble__content\">\n\t\t\t\t<!-- Avatar or icon -->\n\t\t\t\t<span :class=\"[icon, `mention-bubble__icon--${avatarUrl ? 'with-avatar' : ''}`]\"\n\t\t\t\t\t:style=\"avatarUrl ? { backgroundImage: `url(${avatarUrl})` } : null\"\n\t\t\t\t\tclass=\"mention-bubble__icon\" />\n\n\t\t\t\t<!-- Title -->\n\t\t\t\t<span role=\"heading\" class=\"mention-bubble__title\" :title=\"label\" />\n\t\t\t</span>\n\n\t\t\t<!-- Selectable text for copy/paste -->\n\t\t\t<span role=\"none\" class=\"mention-bubble__select\">{{ mentionText }}</span>\n\t\t</span>\n\t</span>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\n\nexport default {\n\tname: 'MentionBubble',\n\n\tprops: {\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tsource: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tcomputed: {\n\t\tavatarUrl() {\n\t\t\treturn this.id && this.source === 'users'\n\t\t\t\t? this.getAvatarUrl(this.id, 44)\n\t\t\t\t: null\n\t\t},\n\t\tmentionText() {\n\t\t\treturn this.id.indexOf(' ') === -1\n\t\t\t\t? `@${this.id}`\n\t\t\t\t: `@\"${this.id}\"`\n\t\t},\n\t},\n\n\tmethods: {\n\t\tgetAvatarUrl(user, size) {\n\t\t\treturn generateUrl('/avatar/{user}/{size}', {\n\t\t\t\tuser,\n\t\t\t\tsize,\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$bubble-height: 20px;\n$bubble-max-width: 150px;\n$bubble-padding: 2px;\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\n\n.mention-bubble {\n\t&--primary &__content {\n\t\tcolor: var(--color-primary-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t&__wrapper {\n\t\tmax-width: $bubble-max-width;\n\t\t// Align with text\n\t\theight: $bubble-height - $bubble-padding;\n\t\tvertical-align: text-bottom;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tmax-width: 100%;\n\t\theight: $bubble-height ;\n\t\t-webkit-user-select: none;\n\t\tuser-select: none;\n\t\tpadding-right: $bubble-padding * 3;\n\t\tpadding-left: $bubble-padding;\n\t\tborder-radius: $bubble-height / 2;\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\twidth: $bubble-avatar-size;\n\t\theight: $bubble-avatar-size;\n\t\tborder-radius: $bubble-avatar-size / 2;\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\n\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tmargin-left: $bubble-padding;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Put label in ::before so it is not selectable\n\t\t&::before {\n\t\t\tcontent: attr(title);\n\t\t}\n\t}\n\n\t// Hide the mention id so it is selectable\n\t&__select {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\tleft: -1000px;\n\t}\n}\n\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MentionBubble.vue?vue&type=style&index=0&id=724f9d58&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./MentionBubble.vue?vue&type=template&id=724f9d58&scoped=true&\"\nimport script from \"./MentionBubble.vue?vue&type=script&lang=js&\"\nexport * from \"./MentionBubble.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MentionBubble.vue?vue&type=style&index=0&id=724f9d58&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 \"724f9d58\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"mention-bubble\",class:{'mention-bubble--primary': _vm.primary},attrs:{\"contenteditable\":\"false\"}},[_c('span',{staticClass:\"mention-bubble__wrapper\"},[_c('span',{staticClass:\"mention-bubble__content\"},[_c('span',{staticClass:\"mention-bubble__icon\",class:[_vm.icon, (\"mention-bubble__icon--\" + (_vm.avatarUrl ? 'with-avatar' : ''))],style:(_vm.avatarUrl ? { backgroundImage: (\"url(\" + _vm.avatarUrl + \")\") } : null)}),_vm._v(\" \"),_c('span',{staticClass:\"mention-bubble__title\",attrs:{\"role\":\"heading\",\"title\":_vm.label}})]),_vm._v(\" \"),_c('span',{staticClass:\"mention-bubble__select\",attrs:{\"role\":\"none\"}},[_vm._v(_vm._s(_vm.mentionText))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport escapeHtml from 'escape-html'\nimport linkifyStr from 'linkifyjs/string'\nimport stripTags from 'striptags'\nimport Vue from 'vue'\n\nimport MentionBubble from '../../components/RichContenteditable/MentionBubble'\n\n// Beginning or whitespace. Non-capturing group\nconst MENTION_START = '(?:^|\\\\s)'\n// Anything that is not text or end-of-line. Non-capturing group\nconst MENTION_END = '(?:[^a-z]|$)'\nexport const USERID_REGEX = new RegExp(`${MENTION_START}(@[a-zA-Z0-9_.@\\\\-']+)(${MENTION_END})`, 'gi')\nexport const USERID_REGEX_WITH_SPACE = new RegExp(`${MENTION_START}(@"[a-zA-Z0-9 _.@\\\\-']+")(${MENTION_END})`, 'gi')\n\nexport default {\n\tprops: {\n\t\tuserData: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Convert the value string to html for the inner content\n\t\t *\n\t\t * @param {string} value the content without html\n\t\t * @returns {string} rendered html\n\t\t */\n\t\trenderContent(value) {\n\t\t\t// Sanitize the value prop\n\t\t\tconst sanitizedValue = escapeHtml(value)\n\n\t\t\t// Extract all the userIds\n\t\t\tconst splitValue = sanitizedValue.split(USERID_REGEX)\n\t\t\t\t.map(part => part.split(USERID_REGEX_WITH_SPACE)).flat()\n\n\t\t\t// Replace userIds by html\n\t\t\treturn splitValue\n\t\t\t\t.map(part => {\n\t\t\t\t\t// When splitting, the string is always putting the userIds\n\t\t\t\t\t// on the the uneven indexes. We only want to generate the mentions html\n\t\t\t\t\tif (!part.startsWith('@')) {\n\t\t\t\t\t\t// This part doesn't contain a mention, let's make sure links are parsed\n\t\t\t\t\t\treturn linkifyStr(part, {\n\t\t\t\t\t\t\tdefaultProtocol: 'https',\n\t\t\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\t\t\tclassName: 'external',\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\t// Extracting the id, nuking the \" and @\n\t\t\t\t\tconst id = part.replace(/@|"/gi, '')\n\t\t\t\t\t// Compiling template and prepend with the space we removed during the split\n\t\t\t\t\treturn ' ' + this.genSelectTemplate(id)\n\t\t\t\t})\n\t\t\t\t.join('')\n\t\t\t\t.replace(/\\n/gmi, '<br>')\n\t\t\t\t.replace(/&/gmi, '&')\n\t\t},\n\n\t\t/**\n\t\t * Convert the innerHtml content to a string with mentions as text\n\t\t *\n\t\t * @param {string} content the content without html\n\t\t * @returns {string}\n\t\t */\n\t\tparseContent(content) {\n\t\t\tlet text = content.replace(/<br>/gmi, '\\n')\n\t\t\ttext = text.replace(/ /gmi, ' ')\n\t\t\ttext = text.replace(/&/gmi, '&')\n\n\t\t\t// Convert the mentions to text only\n\t\t\t// first we replace divs with new lines\n\t\t\ttext = text.replace(/<\\/div>/gmi, '\\n')\n\t\t\t// then we remove all leftover html\n\t\t\ttext = stripTags(text, '<div>')\n\t\t\ttext = stripTags(text)\n\n\t\t\treturn text\n\t\t},\n\n\t\t/**\n\t\t * Generate an autocompletion popup entry template\n\t\t *\n\t\t * @param {string} value the value to match against the userData\n\t\t * @returns {string}\n\t\t */\n\t\tgenSelectTemplate(value) {\n\t\t\tconst data = this.userData[value]\n\n\t\t\t// Fallback to @mention in case no data matches\n\t\t\tif (!data) {\n\t\t\t\t// return `@${value}`\n\t\t\t\treturn value.indexOf(' ') === -1\n\t\t\t\t\t? `@${value}`\n\t\t\t\t\t: `@\"${value}\"`\n\t\t\t}\n\n\t\t\t// Return template and make sure we strip of new lines and tabs\n\t\t\treturn this.renderComponentHtml(data, MentionBubble).replace(/[\\n\\t]/gmi, '')\n\t\t},\n\n\t\t/**\n\t\t * Render a component and return its html content\n\t\t *\n\t\t * @param {Object} propsData the props to pass to the component\n\t\t * @param {Object} component the component to render\n\t\t * @returns {string} the rendered html\n\t\t */\n\t\trenderComponentHtml(propsData, component) {\n\t\t\tconst View = Vue.extend(component)\n\t\t\tconst Item = new View({\n\t\t\t\tpropsData,\n\t\t\t})\n\n\t\t\t// Prepare mountpoint\n\t\t\tconst wrapper = document.createElement('div')\n\t\t\tconst mount = document.createElement('div')\n\t\t\twrapper.style.display = 'none'\n\t\t\twrapper.appendChild(mount)\n\t\t\tdocument.body.appendChild(wrapper)\n\n\t\t\t// Mount and get raw html\n\t\t\tItem.$mount(mount)\n\t\t\tconst renderedHtml = wrapper.innerHTML\n\n\t\t\t// Destroy\n\t\t\tItem.$destroy()\n\t\t\twrapper.remove()\n\n\t\t\treturn renderedHtml\n\t\t},\n\t},\n}\n","<!--\n - @copyright Copyright (c) 2021 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n\n### General description\n\nHighlight a string with html <strong>. Accepts a substring to highlight or an array with ranges.\n\n### Usage\n\n```vue\n<template>\n\t<div>\n\t\t<Highlight text=\"Highlight me please!\" search=\"me\" />\n\t\t<br />\n\t\t<Highlight text=\"Highlight me please!\" :highlight=\"[{ start: 4, end: 12 }]\" />\n\t</div>\n</template>\n```\n</docs>\n\n<script>\nimport FindRanges from '../../utils/FindRanges'\n\nexport default {\n\tname: 'Highlight',\n\tprops: {\n\t\t/**\n\t\t * The string to display\n\t\t */\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The string to match and highlight\n\t\t */\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The ranges to highlight, takes precedence over the search prop.\n\t\t */\n\t\thighlight: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tcomputed: {\n\t\t/**\n\t\t * The indice ranges which should be highlighted.\n\t\t * If an array with ranges is provided, we use it. Otherwise\n\t\t * we calculate it based on the provided substring to highlight.\n\t\t *\n\t\t * @returns {Array} The array of ranges to highlight\n\t\t */\n\t\tranges() {\n\t\t\tlet ranges = []\n\t\t\t// If the search term and the highlight array is empty, return early with empty array\n\t\t\tif (!this.search && this.highlight.length === 0) {\n\t\t\t\treturn ranges\n\t\t\t}\n\n\t\t\t// If there are ranges to highlight provided, we use this array.\n\t\t\tif (this.highlight.length > 0) {\n\t\t\t\tranges = this.highlight\n\t\t\t// Otherwise we check the text to highlight for matches of the search term.\n\t\t\t} else {\n\t\t\t\tranges = FindRanges(this.text, this.search)\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Ensure that the start of each range is equal to or smaller than the end\n\t\t\t */\n\t\t\tranges.forEach((range, i) => {\n\t\t\t\tif (range.end < range.start) {\n\t\t\t\t\tranges[i] = {\n\t\t\t\t\t\tstart: range.end,\n\t\t\t\t\t\tend: range.start,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * Validate the ranges array to be within the string length\n\t\t\t * and discard ranges which are completely out of bonds.\n\t\t\t */\n\t\t\tranges = ranges.reduce((validRanges, range) => {\n\t\t\t\tif (range.start < this.text.length && range.end > 0) {\n\t\t\t\t\tvalidRanges.push({\n\t\t\t\t\t\tstart: (range.start < 0) ? 0 : range.start,\n\t\t\t\t\t\tend: (range.end > this.text.length) ? this.text.length : range.end,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn validRanges\n\t\t\t}, [])\n\n\t\t\t/**\n\t\t\t * Sort ranges ascendingly (necessary for next step)\n\t\t\t */\n\t\t\tranges.sort((a, b) => {\n\t\t\t\treturn a.start - b.start\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * Merge overlapping or adjacent ranges\n\t\t\t */\n\t\t\tranges = ranges.reduce((mergedRanges, range) => {\n\t\t\t\t// If there are no ranges, just add the range\n\t\t\t\tif (!mergedRanges.length) {\n\t\t\t\t\tmergedRanges.push(range)\n\t\t\t\t} else {\n\t\t\t\t\t// If the range overlaps the last range, merge them\n\t\t\t\t\tconst idx = mergedRanges.length - 1\n\t\t\t\t\tif (mergedRanges[idx].end >= range.start) {\n\t\t\t\t\t\tmergedRanges[idx] = {\n\t\t\t\t\t\t\tstart: mergedRanges[idx].start,\n\t\t\t\t\t\t\tend: Math.max(mergedRanges[idx].end, range.end),\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmergedRanges.push(range)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn mergedRanges\n\t\t\t}, [])\n\n\t\t\treturn ranges\n\t\t},\n\t\t/**\n\t\t * Calculate the different chunks to show based on the ranges to highlight.\n\t\t *\n\t\t * @returns {Array} The chunks\n\t\t */\n\t\tchunks() {\n\t\t\t// If the ranges array is empty, show only one chunk with all text\n\t\t\tif (this.ranges.length === 0) {\n\t\t\t\treturn [{\n\t\t\t\t\tstart: 0,\n\t\t\t\t\tend: this.text.length,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttext: this.text,\n\t\t\t\t}]\n\t\t\t}\n\t\t\t// Calculate the chunks\n\t\t\tconst chunks = []\n\t\t\tlet currentIndex = 0\n\t\t\tlet currentRange = 0\n\t\t\t// Iterate over all characters in the text\n\t\t\twhile (currentIndex < this.text.length) {\n\t\t\t\t// Get the first range to highlight\n\t\t\t\tconst range = this.ranges[currentRange]\n\t\t\t\t// If the range starts at the current index, construct a chunk to highlight,\n\t\t\t\t// set the next range and continue with the next iteration.\n\t\t\t\tif (range.start === currentIndex) {\n\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t...range,\n\t\t\t\t\t\thighlight: true,\n\t\t\t\t\t\ttext: this.text.substr(range.start, range.end - range.start),\n\t\t\t\t\t})\n\t\t\t\t\tcurrentRange++\n\t\t\t\t\tcurrentIndex = range.end\n\t\t\t\t\t// If this was the last range to highlight and we haven't reached the end of the text,\n\t\t\t\t\t// add the rest of the text without highlighting.\n\t\t\t\t\tif (currentRange >= this.ranges.length && currentIndex < this.text.length) {\n\t\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t\tstart: currentIndex,\n\t\t\t\t\t\t\tend: this.text.length,\n\t\t\t\t\t\t\thighlight: false,\n\t\t\t\t\t\t\ttext: this.text.substr(currentIndex, this.text.length - currentIndex),\n\t\t\t\t\t\t})\n\t\t\t\t\t\t// Set the current index so the while loop ends.\n\t\t\t\t\t\tcurrentIndex = this.text.length\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t// If the current range does start after the current index, construct a chunk without\n\t\t\t\t// highlighting and set the current index to the start of the current range.\n\t\t\t\tchunks.push({\n\t\t\t\t\tstart: currentIndex,\n\t\t\t\t\tend: range.start,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttext: this.text.substr(currentIndex, range.start - currentIndex),\n\t\t\t\t})\n\t\t\t\tcurrentIndex = range.start\n\t\t\t}\n\t\t\treturn chunks\n\t\t},\n\t},\n\t/**\n\t * The render function to display the component\n\t *\n\t * @param {Function} createElement The function to create VNodes\n\t * @returns {VNodes} The created VNodes\n\t */\n\trender(createElement) {\n\t\tif (!this.ranges.length) {\n\t\t\treturn createElement('span', {}, this.text)\n\t\t}\n\n\t\treturn createElement('span', {}, this.chunks.map(chunk => {\n\t\t\treturn chunk.highlight ? createElement('strong', {}, chunk.text) : chunk.text\n\t\t}))\n\t},\n}\n</script>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Highlight.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!./Highlight.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./Highlight.vue?vue&type=script&lang=js&\"\nexport * from \"./Highlight.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Highlight.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Highlight from './Highlight'\n\nexport default Highlight\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nimport ___CSS_LOADER_URL_IMPORT_0___ from \"../../assets/status-icons/user-status-online.svg\";\nimport ___CSS_LOADER_URL_IMPORT_1___ from \"../../assets/status-icons/user-status-dnd.svg\";\nimport ___CSS_LOADER_URL_IMPORT_2___ from \"../../assets/status-icons/user-status-away.svg\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".material-design-icon[data-v-583ead48]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-583ead48]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-583ead48]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-583ead48]{cursor:pointer}.avatardiv--with-menu[data-v-583ead48] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu .icon-loading[data-v-583ead48]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-583ead48]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-583ead48],.avatardiv--with-menu:hover .icon-more[data-v-583ead48]{opacity:1}.avatardiv--with-menu:focus img[data-v-583ead48],.avatardiv--with-menu:hover img[data-v-583ead48]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu img[data-v-583ead48]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-583ead48]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-583ead48]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-583ead48]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-583ead48]{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \")}.avatardiv .avatardiv__user-status--dnd[data-v-583ead48]{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-583ead48]{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \")}.avatardiv .avatardiv__user-status--icon[data-v-583ead48]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-583ead48]{position:relative;display:inline-block}.avatar-class-icon[data-v-583ead48]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./Avatar.vue\"],\"names\":[],\"mappings\":\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0kBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,UAAW,CACX,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CA/F/C,4DAmGG,wDAAyE,CAnG5E,yDAsGG,wDAAsE,CACtE,wBAAyB,CAvG5B,0DA0GG,wDAAuE,CA1G1E,0DA6GG,WAAY,CACZ,4BAA6B,CA9GhC,iDAmHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB,+CAAgD,CAChD,WAAY\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more, .icon-loading {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--size);\\n\\t\\t\\theight: var(--size);\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = require(\"escape-html\");","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Originally taken from https://github.com/nextcloud/server/blob/master/core/js/placeholder.js\n */\n\nfunction Color(r, g, b) {\n\tthis.r = r\n\tthis.g = g\n\tthis.b = b\n}\n\nfunction stepCalc(steps, ends) {\n\tconst step = new Array(3)\n\tstep[0] = (ends[1].r - ends[0].r) / steps\n\tstep[1] = (ends[1].g - ends[0].g) / steps\n\tstep[2] = (ends[1].b - ends[0].b) / steps\n\treturn step\n}\n\nfunction mixPalette(steps, color1, color2) {\n\tconst palette = []\n\tpalette.push(color1)\n\tconst step = stepCalc(steps, [color1, color2])\n\tfor (let i = 1; i < steps; i++) {\n\t\tconst r = parseInt(color1.r + step[0] * i, 10)\n\t\tconst g = parseInt(color1.g + step[1] * i, 10)\n\t\tconst b = parseInt(color1.b + step[2] * i, 10)\n\t\tpalette.push(new Color(r, g, b))\n\t}\n\treturn palette\n}\n\n/**\n * Generate colors from the official nextcloud color\n * You can provide how many colors you want (multiplied by 3)\n * if step = 6\n * 3 colors * 6 will result in 18 generated colors\n *\n * @param {number} [steps=6] Number of steps to go from a color to another\n * @returns {Object[]}\n */\nfunction GenColors(steps) {\n\tif (!steps) {\n\t\tsteps = 6\n\t}\n\n\tconst red = new Color(182, 70, 157)\n\tconst yellow = new Color(221, 203, 85)\n\tconst blue = new Color(0, 130, 201) // Nextcloud blue\n\n\tconst palette1 = mixPalette(steps, red, yellow)\n\tconst palette2 = mixPalette(steps, yellow, blue)\n\tconst palette3 = mixPalette(steps, blue, red)\n\n\treturn palette1.concat(palette2).concat(palette3)\n}\n\nexport default GenColors\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default {\n\tprops: {\n\t\t/**\n\t\t * A class-name or an array of class-names\n\t\t * to be ignored when clicking outside\n\t\t * an element\n\t\t */\n\t\texcludeClickOutsideClasses: {\n\t\t\ttype: String | Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Middleware Handler for V-Click-Outside\n\t\t *\n\t\t * @param {Event} event The click event\n\t\t * @returns {Boolean}\n\t\t */\n\t\tclickOutsideMiddleware(event) {\n\t\t\tconst excludedClassList = Array.isArray(this.excludeClickOutsideClasses)\n\t\t\t\t? this.excludeClickOutsideClasses\n\t\t\t\t: [this.excludeClickOutsideClasses]\n\n\t\t\t// No need to iterate through all parents\n\t\t\t// if class-list is empty\n\t\t\tif (excludedClassList.length === 0) {\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\treturn !this.hasNodeOrAnyParentClass(event.target, excludedClassList)\n\t\t},\n\t\t/**\n\t\t * Checks if given node or any of it's parents have a class of classArray\n\t\t *\n\t\t * @param {Element} node Node to test\n\t\t * @param {Array} classArray List of classes to check for\n\t\t * @returns {Boolean}\n\t\t */\n\t\thasNodeOrAnyParentClass(node, classArray) {\n\t\t\tfor (const className of classArray) {\n\t\t\t\tif (node?.classList?.contains(className)) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn !!node.parentElement && this.hasNodeOrAnyParentClass(node.parentElement, classArray)\n\t\t},\n\t},\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tisFullscreen: this._isFullscreen(),\n\t\t}\n\t},\n\tbeforeMount() {\n\t\twindow.addEventListener('resize', this._onResize)\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this._onResize)\n\t},\n\tmethods: {\n\t\t_onResize() {\n\t\t\t// Update fullscreen mode\n\t\t\tthis.isFullscreen = this._isFullscreen()\n\t\t},\n\t\t_isFullscreen() {\n\t\t\t// if the window height is equal to the screen height,\n\t\t\t// we're in full screen mode\n\t\t\treturn window.outerHeight === screen.height\n\t\t},\n\t},\n}\n","module.exports = require(\"@nextcloud/browser-storage\");","export default \"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg==\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"popover__menu\"},_vm._l((_vm.menu),function(item,key){return _c('PopoverMenuItem',{key:key,attrs:{\"item\":item}})}),1)}\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!./PopoverMenuItem.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!./PopoverMenuItem.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li class=\"popover__menuitem\">\n\t\t<!-- If item.href is set, a link will be directly used -->\n\t\t<a v-if=\"item.href\"\n\t\t\t:href=\"(item.href) ? item.href : '#' \"\n\t\t\t:target=\"(item.target) ? item.target : '' \"\n\t\t\t:download=\"item.download\"\n\t\t\tclass=\"focusable\"\n\t\t\trel=\"noreferrer noopener\"\n\t\t\t@click=\"action\">\n\t\t\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\n\t\t\t<img v-else :src=\"item.icon\">\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</a>\n\n\t\t<!-- If item.input is set instead, an put will be used -->\n\t\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\n\t\t\t<!-- does not show if input is checkbox -->\n\t\t\t<span v-if=\"item.input !== 'checkbox'\" :class=\"item.icon\" />\n\n\t\t\t<!-- only shows if input is text -->\n\t\t\t<form v-if=\"item.input === 'text'\"\n\t\t\t\t:class=\"item.input\"\n\t\t\t\t@submit.prevent=\"item.action\">\n\t\t\t\t<input :type=\"item.input\"\n\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t:placeholder=\"item.text\"\n\t\t\t\t\trequired>\n\t\t\t\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\n\t\t\t</form>\n\n\t\t\t<!-- checkbox -->\n\t\t\t<template v-else>\n\t\t\t\t<!-- eslint-disable-next-line -->\n\t\t\t\t<input :id=\"key\" v-model=\"item.model\"\n\t\t\t\t\t:type=\"item.input\"\n\t\t\t\t\t:class=\"item.input\"\n\t\t\t\t\t@change=\"item.action\">\n\t\t\t\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</label>\n\t\t\t</template>\n\t\t</span>\n\n\t\t<!-- If item.action is set instead, a button will be used -->\n\t\t<button v-else-if=\"item.action\"\n\t\t\tclass=\"menuitem focusable\"\n\t\t\t:class=\"{active: item.active}\"\n\t\t\t:disabled=\"item.disabled\"\n\t\t\ttype=\"button\"\n\t\t\t@click.stop.prevent=\"item.action\">\n\t\t\t<span :class=\"item.icon\" />\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</button>\n\n\t\t<!-- If item.longtext is set AND the item does not have an action -->\n\t\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\n\t\t\t<span :class=\"item.icon\" />\n\t\t\t<p v-if=\"item.text && item.longtext\">\n\t\t\t\t<strong class=\"menuitem-text\">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class=\"menuitem-text-detail\">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if=\"item.text\">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if=\"item.longtext\">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</span>\n\t</li>\n</template>\n\n<script>\nexport default {\n\tname: 'PopoverMenuItem',\n\tprops: {\n\t\titem: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tdefault: () => {\n\t\t\t\treturn {\n\t\t\t\t\tkey: 'nextcloud-link',\n\t\t\t\t\thref: 'https://nextcloud.com',\n\t\t\t\t\ticon: 'icon-links',\n\t\t\t\t\ttext: 'Nextcloud',\n\t\t\t\t}\n\t\t\t},\n\t\t\t// check the input types\n\t\t\t// TODO: add more validation of types\n\t\t\tvalidator: item => {\n\t\t\t\t// TODO: support radio\n\t\t\t\tif (item.input) {\n\t\t\t\t\treturn ['text', 'checkbox'].indexOf(item.input) !== -1\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t},\n\t\t},\n\t},\n\tcomputed: {\n\t\t// random key for inputs binding if not provided\n\t\tkey() {\n\t\t\treturn this.item.key\n\t\t\t\t? this.item.key\n\t\t\t\t: Math.round(Math.random() * 16 * 1000000).toString(16)\n\t\t},\n\t\ticonIsUrl() {\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-new\n\t\t\t\tnew URL(this.item.icon)\n\t\t\t\treturn true\n\t\t\t} catch (_) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\t// allow us to use both link and an action on `a`\n\t\t// we still need to make sure item.action exists\n\t\taction(event) {\n\t\t\tif (this.item.action) {\n\t\t\t\tthis.item.action(event)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style scoped>\n\tbutton.menuitem {\n\t\ttext-align: left;\n\t}\n\n\tbutton.menuitem * {\n\t\tcursor: pointer;\n\t}\n\n\tbutton.menuitem:disabled {\n\t\topacity: 0.5 !important;\n\t\tcursor: default;\n\t}\n\n\tbutton.menuitem:disabled * {\n\t\tcursor: default;\n\t}\n\n\t.menuitem.active {\n\t\tbox-shadow: inset 2px 0 var(--color-primary);\n\t\tborder-radius: 0;\n\t}\n</style>\n\n<style lang=\"scss\" scoped>\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'],\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^='icon-']):not([class*='icon-']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^='icon-']):not([class*='icon-']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $icon-size;\n\t\t\tpadding: $icon-margin;\n\t\t}\n\n\t\t/* checkbox/radio fixes */\n\t\t> input.radio + label,\n\t\t> input.checkbox + label {\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t> input.checkbox + label::before {\n\t\t\tmargin: -2px 13px 0;\n\t\t}\n\t\t> input.radio + label::before {\n\t\t\tmargin: -2px 12px 0;\n\t\t}\n\t\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\n\t\t\twidth: 150px;\n\t\t}\n\n\t\t// Forms & text inputs\n\t\tform {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\t/* put a small space between text and form\n\t\t\t\tif there is an element before */\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t/* no margin if hidden span before */\n\t\t> span.hidden + form,\n\t\t> span[style*='display:none'] + form {\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t/* Inputs inside popover supports text, submit & reset */\n\t\tinput {\n\t\t\tmin-width: $clickable-area;\n\t\t\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\n\t\t\tmargin: 2px 0;\n\t\t\tflex: 1 1 auto;\n\t\t\t// space between inline inputs\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: do that in js, should be cleaner\n\t/* css hack, only first not hidden */\n\t&:not(.hidden):not([style*='display:none']) {\n\t\t&:first-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-top: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:last-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-bottom: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t> button {\n\t\tpadding: 0;\n\t\tspan {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n}\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=0&id=54983729&scoped=true&lang=css&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=1&id=54983729&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.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!./PopoverMenu.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n\tThis component is deprecated. Please use the [Actions](#/Components?id=actions-1) component instead.\n</docs>\n\n<template>\n\t<ul class=\"popover__menu\">\n\t\t<PopoverMenuItem v-for=\"(item, key) in menu\" :key=\"key\" :item=\"item\" />\n\t</ul>\n</template>\n\n<script>\nimport PopoverMenuItem from './PopoverMenuItem'\n\nexport default {\n\tname: 'PopoverMenu',\n\tcomponents: {\n\t\tPopoverMenuItem,\n\t},\n\tprops: {\n\t\tmenu: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => {\n\t\t\t\treturn [{\n\t\t\t\t\thref: 'https://nextcloud.com',\n\t\t\t\t\ticon: 'icon-links',\n\t\t\t\t\ttext: 'Nextcloud',\n\t\t\t\t}]\n\t\t\t},\n\t\t\trequired: true,\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nul {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n</style>\n","import { render, staticRenderFns } from \"./PopoverMenuItem.vue?vue&type=template&id=54983729&scoped=true&\"\nimport script from \"./PopoverMenuItem.vue?vue&type=script&lang=js&\"\nexport * from \"./PopoverMenuItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PopoverMenuItem.vue?vue&type=style&index=0&id=54983729&scoped=true&lang=css&\"\nimport style1 from \"./PopoverMenuItem.vue?vue&type=style&index=1&id=54983729&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 \"54983729\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"popover__menuitem\"},[(_vm.item.href)?_c('a',{staticClass:\"focusable\",attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#',\"target\":(_vm.item.target) ? _vm.item.target : '',\"download\":_vm.item.download,\"rel\":\"noreferrer noopener\"},on:{\"click\":_vm.action}},[(!_vm.iconIsUrl)?_c('span',{class:_vm.item.icon}):_c('img',{attrs:{\"src\":_vm.item.icon}}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()]):(_vm.item.input)?_c('span',{staticClass:\"menuitem\",class:{active: _vm.item.active}},[(_vm.item.input !== 'checkbox')?_c('span',{class:_vm.item.icon}):_vm._e(),_vm._v(\" \"),(_vm.item.input === 'text')?_c('form',{class:_vm.item.input,on:{\"submit\":function($event){$event.preventDefault();return _vm.item.action($event)}}},[_c('input',{attrs:{\"type\":_vm.item.input,\"placeholder\":_vm.item.text,\"required\":\"\"},domProps:{\"value\":_vm.item.value}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]):[((_vm.item.input)==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.item.model)?_vm._i(_vm.item.model,null)>-1:(_vm.item.model)},on:{\"change\":[function($event){var $$a=_vm.item.model,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.item, \"model\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.item, \"model\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.item, \"model\", $$c)}},_vm.item.action]}}):((_vm.item.input)==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.item.model,null)},on:{\"change\":[function($event){return _vm.$set(_vm.item, \"model\", null)},_vm.item.action]}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":_vm.item.input},domProps:{\"value\":(_vm.item.model)},on:{\"change\":_vm.item.action,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.item, \"model\", $event.target.value)}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.key},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.item.action($event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")])]],2):(_vm.item.action)?_c('button',{staticClass:\"menuitem focusable\",class:{active: _vm.item.active},attrs:{\"disabled\":_vm.item.disabled,\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.item.action($event)}}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()]):_c('span',{staticClass:\"menuitem\",class:{active: _vm.item.active}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=style&index=0&id=4dae360a&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./PopoverMenu.vue?vue&type=template&id=4dae360a&scoped=true&\"\nimport script from \"./PopoverMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./PopoverMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PopoverMenu.vue?vue&type=style&index=0&id=4dae360a&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 \"4dae360a\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./PopoverMenu.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport PopoverMenu from './PopoverMenu'\n\nexport default PopoverMenu\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\n\t\t'avatardiv--unknown': _vm.userDoesNotExist,\n\t\t'avatardiv--with-menu': _vm.hasMenu\n\t},style:(_vm.avatarStyle),attrs:{\"tabindex\":_vm.disableMenu ? '-1' : '0',\"aria-label\":_vm.avatarAriaLabel,\"role\":_vm.disableMenu ? '' : 'button'},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.toggleMenu($event)}}},!_vm.disableMenu ? { click: _vm.toggleMenu } : {}),[(_vm.iconClass)?_c('div',{staticClass:\"avatar-class-icon\",class:_vm.iconClass}):(_vm.isAvatarLoaded && !_vm.userDoesNotExist)?_c('img',{attrs:{\"src\":_vm.avatarUrlLoaded,\"srcset\":_vm.avatarSrcSetLoaded,\"alt\":\"\"}}):_vm._e(),_vm._v(\" \"),(_vm.hasMenu)?_c('Popover',{attrs:{\"placement\":\"auto\",\"container\":_vm.menuContainer,\"open\":_vm.contactsMenuOpenState},on:{\"after-show\":_vm.handlePopoverAfterShow,\"after-hide\":_vm.handlePopoverAfterHide},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [(_vm.contactsMenuLoading)?_c('div',{staticClass:\"icon-loading\"}):_c('DotsHorizontal',{staticClass:\"icon-more\",attrs:{\"size\":24,\"title\":\"\",\"decorative\":\"\"}})]},proxy:true}],null,false,3277751148)},[_c('PopoverMenu',{ref:\"popoverMenu\",attrs:{\"menu\":_vm.menu}})],1):_vm._e(),_vm._v(\" \"),(_vm.showUserStatusIconOnAvatar)?_c('div',{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.userStatus.icon)+\"\\n\\t\")]):(_vm.canDisplayUserStatus)?_c('div',{staticClass:\"avatardiv__user-status\",class:'avatardiv__user-status--' + _vm.userStatus.status}):_vm._e(),_vm._v(\" \"),(_vm.userDoesNotExist && !_vm.iconClass)?_c('div',{staticClass:\"unknown\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.initials)+\"\\n\\t\")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n\n### Basic user avatar\n\n```vue\n\t<avatar user=\"janedoe\" display-name=\"Jane Doe\" />\n```\n\n### Avatar with image\n\n```vue\n\t<avatar url=\"https://nextcloud.com/wp-content/themes/next/assets/img/common/nextcloud-square-logo.png\" />\n```\n\n</docs>\n<template>\n\t<div\n\t\tref=\"main\"\n\t\tv-tooltip=\"tooltip\"\n\t\tv-click-outside=\"closeMenu\"\n\t\t:class=\"{\n\t\t\t'avatardiv--unknown': userDoesNotExist,\n\t\t\t'avatardiv--with-menu': hasMenu\n\t\t}\"\n\t\t:style=\"avatarStyle\"\n\t\tclass=\"avatardiv popovermenu-wrapper\"\n\t\t:tabindex=\"disableMenu ? '-1' : '0'\"\n\t\t:aria-label=\"avatarAriaLabel\"\n\t\t:role=\"disableMenu ? '' : 'button'\"\n\t\tv-on=\"!disableMenu ? { click: toggleMenu } : {}\"\n\t\t@keydown.enter=\"toggleMenu\">\n\t\t<!-- Avatar icon or image -->\n\t\t<div v-if=\"iconClass\" :class=\"iconClass\" class=\"avatar-class-icon\" />\n\t\t<img v-else-if=\"isAvatarLoaded && !userDoesNotExist\"\n\t\t\t:src=\"avatarUrlLoaded\"\n\t\t\t:srcset=\"avatarSrcSetLoaded\"\n\t\t\talt=\"\">\n\n\t\t<!-- Contact menu -->\n\t\t<Popover\n\t\t\tv-if=\"hasMenu\"\n\t\t\tplacement=\"auto\"\n\t\t\t:container=\"menuContainer\"\n\t\t\t:open=\"contactsMenuOpenState\"\n\t\t\t@after-show=\"handlePopoverAfterShow\"\n\t\t\t@after-hide=\"handlePopoverAfterHide\">\n\t\t\t<PopoverMenu ref=\"popoverMenu\" :menu=\"menu\" />\n\t\t\t<template #trigger>\n\t\t\t\t<div v-if=\"contactsMenuLoading\" class=\"icon-loading\" />\n\t\t\t\t<DotsHorizontal v-else\n\t\t\t\t\t:size=\"24\"\n\t\t\t\t\tclass=\"icon-more\"\n\t\t\t\t\ttitle=\"\"\n\t\t\t\t\tdecorative />\n\t\t\t</template>\n\t\t</Popover>\n\n\t\t<!-- Avatar status -->\n\t\t<div v-if=\"showUserStatusIconOnAvatar\" class=\"avatardiv__user-status avatardiv__user-status--icon\">\n\t\t\t{{ userStatus.icon }}\n\t\t</div>\n\t\t<div v-else-if=\"canDisplayUserStatus\"\n\t\t\tclass=\"avatardiv__user-status\"\n\t\t\t:class=\"'avatardiv__user-status--' + userStatus.status\" />\n\n\t\t<!-- Show the letter if no avatar nor icon class -->\n\t\t<div v-if=\"userDoesNotExist && !iconClass\" class=\"unknown\">\n\t\t\t{{ initials }}\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport DotsHorizontal from 'vue-material-design-icons/DotsHorizontal'\n\nimport { directive as ClickOutside } from 'v-click-outside'\nimport { generateUrl } from '@nextcloud/router'\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport axios from '@nextcloud/axios'\n\nimport PopoverMenu from '../PopoverMenu'\nimport Tooltip from '../../directives/Tooltip'\nimport usernameToColor from '../../functions/usernameToColor'\nimport { userStatus } from '../../mixins'\nimport { t } from '../../l10n'\nimport Popover from '../Popover/Popover'\n\nconst browserStorage = getBuilder('nextcloud').persist().build()\n\nfunction getUserHasAvatar(userId) {\n\tconst flag = browserStorage.getItem('user-has-avatar.' + userId)\n\tif (typeof flag === 'string') {\n\t\treturn Boolean(flag)\n\t}\n\treturn null\n}\n\nfunction setUserHasAvatar(userId, flag) {\n\tif (userId) {\n\t\tbrowserStorage.setItem('user-has-avatar.' + userId, flag)\n\t}\n}\n\nexport default {\n\tname: 'Avatar',\n\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t\tClickOutside,\n\t},\n\tcomponents: {\n\t\tDotsHorizontal,\n\t\tPopover,\n\t\tPopoverMenu,\n\t},\n\tmixins: [userStatus],\n\tprops: {\n\t\t/**\n\t\t * Set a custom url to the avatar image\n\t\t * either the url, user or displayName property must be defined\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set a css icon-class for an icon to be used instead of the avatar.\n\t\t */\n\t\ticonClass: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set the user id to fetch the avatar\n\t\t * either the url, user or displayName property must be defined\n\t\t */\n\t\tuser: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Whether or not to display the user-status\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Whether or not to the status-icon should be used instead of online/away\n\t\t */\n\t\tshowUserStatusCompact: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * When the user status was preloaded via another source it can be handed in with this property to save the request.\n\t\t * If this property is not set the status will be fetched automatically.\n\t\t * If a preloaded no-status is available provide this object with properties \"status\", \"icon\" and \"message\" set to null.\n\t\t */\n\t\tpreloadedUserStatus: {\n\t\t\ttype: Object,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Is the user a guest user (then we have to user a different endpoint)\n\t\t */\n\t\tisGuest: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Set a display name that will be rendered as a tooltip\n\t\t * either the url, user or displayName property must be defined\n\t\t * specify just the displayname to generate a placeholder avatar without\n\t\t * trying to fetch the avatar based on the user id\n\t\t */\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set a size in px for the rendered avatar\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 32,\n\t\t},\n\t\t/**\n\t\t * Placeholder avatars will be automatically generated when this is set to true\n\t\t */\n\t\tallowPlaceholder: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Disable the tooltip\n\t\t */\n\t\tdisableTooltip: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Disable the menu\n\t\t */\n\t\tdisableMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Declares a custom tooltip when not null\n\t\t * Fallback will be the displayName\n\t\t *\n\t\t * requires disableTooltip not to be set to true\n\t\t */\n\t\ttooltipMessage: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Declares username is not a user's name, when true.\n\t\t * Prevents loading user's avatar from server and forces generating colored initials,\n\t\t * i.e. if the user is a group\n\t\t */\n\t\tisNoUser: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Choose the avatar menu alignment.\n\t\t * Possible values are `left`, `center`, `right`.\n\t\t */\n\t\tmenuPosition: {\n\t\t\ttype: String,\n\t\t\tdefault: 'center',\n\t\t},\n\n\t\t/**\n\t\t * Selector for the popover menu container\n\t\t */\n\t\tmenuContainer: {\n\t\t\ttype: String,\n\t\t\tdefault: 'body',\n\t\t},\n\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tavatarUrlLoaded: null,\n\t\t\tavatarSrcSetLoaded: null,\n\t\t\tuserDoesNotExist: false,\n\t\t\tisAvatarLoaded: false,\n\t\t\tisMenuLoaded: false,\n\t\t\tcontactsMenuLoading: false,\n\t\t\tcontactsMenuActions: [],\n\t\t\tcontactsMenuOpenState: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tavatarAriaLabel() {\n\t\t\tif (this.ariaLabel !== null) {\n\t\t\t\treturn this.ariaLabel\n\t\t\t}\n\n\t\t\treturn t('Avatar of {displayName}', { displayName: this.displayName || this.userId })\n\t\t},\n\n\t\tcanDisplayUserStatus() {\n\t\t\treturn this.showUserStatus\n\t\t\t\t&& this.hasStatus\n\t\t\t\t&& ['online', 'away', 'dnd'].includes(this.userStatus.status)\n\t\t},\n\t\tshowUserStatusIconOnAvatar() {\n\t\t\treturn this.showUserStatus\n\t\t\t\t&& this.showUserStatusCompact\n\t\t\t\t&& this.hasStatus\n\t\t\t\t&& this.userStatus.status !== 'dnd'\n\t\t\t\t&& this.userStatus.icon\n\t\t},\n\t\tgetUserIdentifier() {\n\t\t\tif (this.isDisplayNameDefined) {\n\t\t\t\treturn this.displayName\n\t\t\t}\n\t\t\tif (this.isUserDefined) {\n\t\t\t\treturn this.user\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\tisUserDefined() {\n\t\t\treturn typeof this.user !== 'undefined'\n\t\t},\n\t\tisDisplayNameDefined() {\n\t\t\treturn typeof this.displayName !== 'undefined'\n\t\t},\n\t\tisUrlDefined() {\n\t\t\treturn typeof this.url !== 'undefined'\n\t\t},\n\t\thasMenu() {\n\t\t\tif (this.disableMenu) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.isMenuLoaded) {\n\t\t\t\treturn this.menu.length > 0\n\t\t\t}\n\t\t\treturn !(this.user === getCurrentUser()?.uid || this.userDoesNotExist || this.url)\n\t\t},\n\t\tshouldShowPlaceholder() {\n\t\t\treturn this.allowPlaceholder && (\n\t\t\t\tthis.userDoesNotExist)\n\t\t},\n\t\tavatarStyle() {\n\t\t\tconst style = {\n\t\t\t\t'--size': this.size + 'px',\n\t\t\t\tlineHeight: this.size + 'px',\n\t\t\t\tfontSize: Math.round(this.size * 0.55) + 'px',\n\t\t\t}\n\n\t\t\tif (!this.iconClass && !this.avatarSrcSetLoaded) {\n\t\t\t\tconst rgb = usernameToColor(this.getUserIdentifier)\n\t\t\t\tstyle.backgroundColor = 'rgb(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ')'\n\t\t\t}\n\t\t\treturn style\n\t\t},\n\t\ttooltip() {\n\t\t\tif (this.disableTooltip) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.tooltipMessage) {\n\t\t\t\treturn this.tooltipMessage\n\t\t\t}\n\n\t\t\treturn this.displayName\n\t\t},\n\t\tinitials() {\n\t\t\tlet initials\n\t\t\tif (this.shouldShowPlaceholder) {\n\t\t\t\tconst user = this.getUserIdentifier\n\t\t\t\tconst idx = user.indexOf(' ')\n\t\t\t\tif (user === '') {\n\t\t\t\t\tinitials = '?'\n\t\t\t\t} else {\n\t\t\t\t\tinitials = String.fromCodePoint(user.codePointAt(0))\n\t\t\t\t\tif (idx !== -1) {\n\t\t\t\t\t\tinitials = initials.concat(String.fromCodePoint(user.codePointAt(idx + 1)))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn initials.toUpperCase()\n\t\t},\n\t\tmenu() {\n\t\t\tconst actions = this.contactsMenuActions.map((item) => {\n\t\t\t\treturn {\n\t\t\t\t\thref: item.hyperlink,\n\t\t\t\t\ticon: item.icon,\n\t\t\t\t\tlongtext: item.title,\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tfunction escape(html) {\n\t\t\t\tconst text = document.createTextNode(html)\n\t\t\t\tconst p = document.createElement('p')\n\t\t\t\tp.appendChild(text)\n\t\t\t\treturn p.innerHTML\n\t\t\t}\n\n\t\t\tif (this.showUserStatus && (this.userStatus.icon || this.userStatus.message)) {\n\t\t\t\treturn [{\n\t\t\t\t\thref: '#',\n\t\t\t\t\ticon: `data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>${escape(this.userStatus.icon)}</text></svg>`,\n\t\t\t\t\ttext: `${this.userStatus.message}`,\n\t\t\t\t}].concat(actions)\n\t\t\t}\n\n\t\t\treturn actions\n\t\t},\n\t},\n\n\twatch: {\n\t\turl() {\n\t\t\tthis.userDoesNotExist = false\n\t\t\tthis.loadAvatarUrl()\n\t\t},\n\t\tuser() {\n\t\t\tthis.userDoesNotExist = false\n\t\t\tthis.isMenuLoaded = false\n\t\t\tthis.loadAvatarUrl()\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.loadAvatarUrl()\n\t\tif (this.showUserStatus && this.user && !this.isNoUser) {\n\t\t\tif (!this.preloadedUserStatus) {\n\t\t\t\tthis.fetchUserStatus(this.user)\n\t\t\t} else {\n\t\t\t\tthis.userStatus.status = this.preloadedUserStatus.status || ''\n\t\t\t\tthis.userStatus.message = this.preloadedUserStatus.message || ''\n\t\t\t\tthis.userStatus.icon = this.preloadedUserStatus.icon || ''\n\t\t\t\tthis.hasStatus = this.preloadedUserStatus.status !== null\n\t\t\t}\n\t\t\tsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t\t}\n\t},\n\n\tbeforeDestroyed() {\n\t\tif (this.showUserStatus && this.user && !this.isNoUser) {\n\t\t\tunsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t\t}\n\t},\n\n\tmethods: {\n\t\thandlePopoverAfterShow() {\n\t\t\tconst links = this.$refs.popoverMenu.$el.getElementsByTagName('a')\n\t\t\tif (links.length) {\n\t\t\t\tlinks[0].focus()\n\t\t\t}\n\t\t},\n\t\thandlePopoverAfterHide() {\n\t\t\t// bring focus back to the trigger\n\t\t\tthis.$refs.main.focus()\n\t\t},\n\t\thandleUserStatusUpdated(state) {\n\t\t\tif (this.user === state.userId) {\n\t\t\t\tthis.userStatus = {\n\t\t\t\t\tstatus: state.status,\n\t\t\t\t\ticon: state.icon,\n\t\t\t\t\tmessage: state.message,\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tasync toggleMenu() {\n\t\t\tif (!this.hasMenu) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (!this.contactsMenuOpenState) {\n\t\t\t\tawait this.fetchContactsMenu()\n\t\t\t}\n\t\t\tthis.contactsMenuOpenState = !this.contactsMenuOpenState\n\t\t},\n\t\tcloseMenu() {\n\t\t\tthis.contactsMenuOpenState = false\n\t\t},\n\t\tasync fetchContactsMenu() {\n\t\t\tthis.contactsMenuLoading = true\n\t\t\ttry {\n\t\t\t\tconst user = encodeURIComponent(this.user)\n\t\t\t\tconst { data } = await axios.post(generateUrl('contactsmenu/findOne'), `shareType=0&shareWith=${user}`)\n\t\t\t\tthis.contactsMenuActions = data.topAction ? [data.topAction].concat(data.actions) : data.actions\n\t\t\t} catch (e) {\n\t\t\t\tthis.contactsMenuOpenState = false\n\t\t\t}\n\t\t\tthis.contactsMenuLoading = false\n\t\t\tthis.isMenuLoaded = true\n\t\t},\n\n\t\t/**\n\t\t * Handle avatar loading if user or url defined\n\t\t */\n\t\tloadAvatarUrl() {\n\t\t\tthis.isAvatarLoaded = false\n\n\t\t\t/** Only run avatar image loading if either user or url property is defined */\n\t\t\tif (!this.isUrlDefined && (!this.isUserDefined || this.isNoUser)) {\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Directly use the url if defined\n\t\t\tif (this.isUrlDefined) {\n\t\t\t\tthis.updateImageIfValid(this.url)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst avatarUrl = this.avatarUrlGenerator(this.user, this.size)\n\t\t\tconst srcset = [\n\t\t\t\tavatarUrl + ' 1x',\n\t\t\t\tthis.avatarUrlGenerator(this.user, this.size * 2) + ' 2x',\n\t\t\t\tthis.avatarUrlGenerator(this.user, this.size * 4) + ' 4x',\n\t\t\t].join(', ')\n\n\t\t\tthis.updateImageIfValid(avatarUrl, srcset)\n\t\t},\n\n\t\t/**\n\t\t * Generate an avatar url from the server's avatar endpoint\n\t\t *\n\t\t * @param {string} user the user id\n\t\t * @param {number} size the desired size\n\t\t * @returns {string}\n\t\t */\n\t\tavatarUrlGenerator(user, size) {\n\t\t\tlet url = '/avatar/{user}/{size}'\n\t\t\tif (this.isGuest) {\n\t\t\t\turl = '/avatar/guest/{user}/{size}'\n\t\t\t}\n\n\t\t\tlet avatarUrl = generateUrl(\n\t\t\t\turl,\n\t\t\t\t{\n\t\t\t\t\tuser,\n\t\t\t\t\tsize,\n\t\t\t\t})\n\n\t\t\t// eslint-disable-next-line camelcase\n\t\t\tif (user === getCurrentUser()?.uid && typeof oc_userconfig !== 'undefined') {\n\t\t\t\tavatarUrl += '?v=' + oc_userconfig.avatar.version\n\t\t\t}\n\n\t\t\treturn avatarUrl\n\t\t},\n\n\t\t/**\n\t\t * Check if the provided url is valid and update Avatar if so\n\t\t *\n\t\t * @param {string} url the avatar url\n\t\t * @param {array} srcset the avatar srcset\n\t\t */\n\t\tupdateImageIfValid(url, srcset = null) {\n\t\t\t// skip loading\n\t\t\tconst userHasAvatar = getUserHasAvatar(this.user)\n\t\t\tif (this.isUserDefined && typeof userHasAvatar === 'boolean') {\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\tthis.avatarUrlLoaded = url\n\t\t\t\tif (srcset) {\n\t\t\t\t\tthis.avatarSrcSetLoaded = srcset\n\t\t\t\t}\n\t\t\t\tif (userHasAvatar === false) {\n\t\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst img = new Image()\n\t\t\timg.onload = () => {\n\t\t\t\tthis.avatarUrlLoaded = url\n\t\t\t\tif (srcset) {\n\t\t\t\t\tthis.avatarSrcSetLoaded = srcset\n\t\t\t\t}\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\t// re-get to avoid concurrent access\n\t\t\t\tsetUserHasAvatar(this.user, true)\n\t\t\t}\n\t\t\timg.onerror = () => {\n\t\t\t\tconsole.debug('Invalid avatar url', url)\n\t\t\t\t// Avatar is invalid, reset\n\t\t\t\tthis.avatarUrlLoaded = null\n\t\t\t\tthis.avatarSrcSetLoaded = null\n\n\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\tthis.isAvatarLoaded = false\n\t\t\t\tsetUserHasAvatar(this.user, false)\n\t\t\t}\n\n\t\t\tif (srcset) {\n\t\t\t\timg.srcset = srcset\n\t\t\t}\n\t\t\timg.src = url\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.avatardiv {\n\tposition: relative;\n\tdisplay: inline-block;\n\twidth: var(--size);\n\theight: var(--size);\n\n\t&--unknown {\n\t\tposition: relative;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t}\n\n\t&:not(&--unknown) {\n\t\t// White background for avatars with transparency\n\t\tbackground-color: #fff !important;\n\t\tbody.theme--dark & {\n\t\t\t// And black background in dark mode, as it shines through on hover of the menu\n\t\t\tbackground-color: #000 !important;\n\t\t}\n\t\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\n\t}\n\n\t&--with-menu {\n\t\tcursor: pointer;\n\t\t::v-deep .trigger {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\t.icon-more, .icon-loading {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\twidth: var(--size);\n\t\t\theight: var(--size);\n\t\t\tcursor: pointer;\n\t\t\tbackground: none;\n\t\t}\n\t\t.icon-more {\n\t\t\topacity: 0;\n\t\t}\n\t\t&:focus,\n\t\t&:hover {\n\t\t\t.icon-more {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\timg {\n\t\t\t\topacity: 0.3;\n\t\t\t}\n\t\t}\n\t\t.icon-more,\n\t\timg {\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t}\n\t}\n\n\t> .unknown {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttext-align: center;\n\t\tfont-weight: normal;\n\t\tcolor: var(--color-main-background);\n\t}\n\n\timg {\n\t\t// Cover entire area\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\t// Keep ratio\n\t\tobject-fit: cover;\n\t}\n\n\t.avatardiv__user-status {\n\t\tposition: absolute;\n\t\tright: -4px;\n\t\tbottom: -4px;\n\t\theight: 18px;\n\t\twidth: 18px;\n\t\tline-height: 15px;\n\t\tfont-size: var(--default-font-size);\n\t\tborder: 2px solid var(--color-main-background);\n\t\tbackground-color: var(--color-main-background);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: 16px;\n\t\tbackground-position: center;\n\t\tborder-radius: 50%;\n\n\t\t.acli:hover & {\n\t\t\tborder-color: var(--color-background-hover);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t\t.acli.active & {\n\t\t\tborder-color: var(--color-primary-light);\n\t\t\tbackground-color: var(--color-primary-light);\n\t\t}\n\n\t\t&--online{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\n\t\t}\n\t\t&--dnd{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\n\t\t\tbackground-color: #ffffff;\n\t\t}\n\t\t&--away{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\n\t\t}\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t.popovermenu-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n}\n\n.avatar-class-icon {\n\tborder-radius: 50%;\n\tbackground-color: var(--color-background-darker);\n\theight: 100%;\n}\n\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.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!./Avatar.vue?vue&type=script&lang=js&\"","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=style&index=0&id=583ead48&scoped=true&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./Avatar.vue?vue&type=template&id=583ead48&scoped=true&\"\nimport script from \"./Avatar.vue?vue&type=script&lang=js&\"\nexport * from \"./Avatar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Avatar.vue?vue&type=style&index=0&id=583ead48&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 \"583ead48\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Avatar.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Avatar from './Avatar'\n\nexport default Avatar\n","module.exports = require(\"md5\");","module.exports = require(\"@nextcloud/capabilities\");","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport md5 from 'md5'\nimport GenColors from '../../utils/GenColors'\n\n/**\n * Originally taken from https://github.com/nextcloud/server/blob/master/core/js/placeholder.js\n * @param {string} username Display name or user id to generate from\n * @returns {Object} the rgb colors as {r:255, g:255, b:255}\n */\nconst usernameToColor = function(username) {\n\t// Normalize hash\n\tlet hash = username.toLowerCase()\n\n\t// Already a md5 hash?\n\tif (hash.match(/^([0-9a-f]{4}-?){8}$/) === null) {\n\t\thash = md5(hash)\n\t}\n\n\thash = hash.replace(/[^0-9a-f]/g, '')\n\n\tconst steps = 6\n\tconst finalPalette = GenColors(steps)\n\n\t// Convert a string to an integer evenly\n\tfunction hashToInt(hash, maximum) {\n\t\tlet finalInt = 0\n\t\tconst result = []\n\n\t\t// Splitting evenly the string\n\t\tfor (let i = 0; i < hash.length; i++) {\n\t\t\t// chars in md5 goes up to f, hex:16\n\t\t\tresult.push(parseInt(hash.charAt(i), 16) % 16)\n\t\t}\n\n\t\t// Adds up all results\n\t\tfor (const j in result) {\n\t\t\tfinalInt += result[j]\n\t\t}\n\n\t\t// chars in md5 goes up to f, hex:16\n\t\t// make sure we're always using int in our operation\n\t\treturn parseInt(parseInt(finalInt, 10) % maximum, 10)\n\t}\n\treturn finalPalette[hashToInt(hash, steps * 3)]\n}\n\nexport default usernameToColor\n","/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport usernameToColor from './usernameToColor'\n\nexport default usernameToColor\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst ScopeComponent = (Component) => {\n\t// Init mounted vue if none\n\tif (!Component.mounted) {\n\t\tComponent.mounted = []\n\t} else if (!Array.isArray(Component.mounted)) {\n\t\tComponent.mounted = [Component.mounted]\n\t}\n\n\t// Inject root scoping function\n\tComponent.mounted.push(function() {\n\t\tthis.$el.setAttribute(`data-v-${SCOPE_VERSION}`, '')\n\t})\n}\n\nexport default ScopeComponent\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".material-design-icon[data-v-28d338d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-28d338d4]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-28d338d4]{margin-right:var(--margin)}.option__details[data-v-28d338d4]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-28d338d4]{color:var(--color-text-light)}.option__linetwo[data-v-28d338d4]{opacity:.7}.option__lineone[data-v-28d338d4],.option__linetwo[data-v-28d338d4]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-28d338d4],.option__linetwo strong[data-v-28d338d4]{font-weight:bold}.option__icon[data-v-28d338d4]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./ListItemIcon.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgOxB,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UCnNiB,CDoNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aCnPmB,CDoPnB,UCpPmB,CDqPnB,WCrPmB,CDsPnB,UCrOmB,CDsOnB,0BAA2B,CAC3B,oBAAqB\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\t&__linetwo {\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".material-design-icon[data-v-f855c4b8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-f855c4b8]{display:flex;max-width:100%}.name-parts__first[data-v-f855c4b8]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f855c4b8],.name-parts__last[data-v-f855c4b8]{white-space:pre}.name-parts__first strong[data-v-f855c4b8],.name-parts__last strong[data-v-f855c4b8]{font-weight:bold}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./EllipsisedOption.vue\"],\"names\":[],\"mappings\":\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqHxB,6BACC,YAAa,CACb,cAAe,CACf,oCACC,eAAgB,CAChB,sBAAuB,CACvB,uEAIA,eAAgB,CAHhB,qFAKC,gBAAiB\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VueMultiselect',_vm._g(_vm._b({ref:\"VueMultiselect\",class:[\n\t\t{\n\t\t\t'icon-loading-small': _vm.loading\n\t\t},\n\t\t_vm.multiple ? 'multiselect--multiple': 'multiselect--single'\n\t],attrs:{\"options\":_vm.options,\"limit\":_vm.maxOptions,\"close-on-select\":!_vm.multiple,\"multiple\":_vm.multiple,\"label\":_vm.label,\"track-by\":_vm.trackBy,\"tag-placeholder\":\"create\"},scopedSlots:_vm._u([{key:\"option\",fn:function(scope){return [(_vm.userSelect && !_vm.$scopedSlots['option'])?_c('ListItemIcon',_vm._b({attrs:{\"title\":scope.option[_vm.label],\"search\":scope.search}},'ListItemIcon',scope.option,false)):(!_vm.$scopedSlots['option'])?_c('EllipsisedOption',{attrs:{\"name\":_vm.getOptionLabel(scope.option),\"option\":scope.option,\"search\":scope.search,\"label\":_vm.label}}):_vm._t(\"option\",null,null,scope)]}},(_vm.multiple)?{key:\"limit\",fn:function(){return [_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.formatLimitTitle(_vm.value)),expression:\"formatLimitTitle(value)\",modifiers:{\"auto\":true}}],staticClass:\"multiselect__limit\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.limitString)+\"\\n\\t\\t\")])]},proxy:true}:null,_vm._l((_vm.$scopedSlots),function(_,slot){return {key:slot,fn:function(scope){return [_vm._t(slot,null,null,scope)]}}}),{key:\"noResult\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.t('No results')))])]},proxy:true}],null,true),model:{value:(_vm.localValue),callback:function ($$v) {_vm.localValue=$$v},expression:\"localValue\"}},'VueMultiselect',_vm.$attrs,false),_vm.$listeners))}\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!./EllipsisedOption.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!./EllipsisedOption.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div class=\"name-parts\" :title=\"name\">\n\t\t<Highlight\n\t\t\tclass=\"name-parts__first\"\n\t\t\t:text=\"part1\"\n\t\t\t:search=\"search\"\n\t\t\t:highlight=\"highlight1\" />\n\t\t<Highlight\n\t\t\tv-if=\"part2\"\n\t\t\tclass=\"name-parts__last\"\n\t\t\t:text=\"part2\"\n\t\t\t:search=\"search\"\n\t\t\t:highlight=\"highlight2\" />\n\t</div>\n</template>\n<script>\nimport Highlight from '../Highlight'\nimport FindRanges from '../../utils/FindRanges'\n\nexport default {\n\tname: 'EllipsisedOption',\n\n\tcomponents: {\n\t\tHighlight,\n\t},\n\n\tprops: {\n\t\toption: {\n\t\t\ttype: [String, Object],\n\t\t\trequired: true,\n\t\t\tdefault: '',\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tneedsTruncate() {\n\t\t\treturn this.name && this.name.length >= 10\n\t\t},\n\t\t/**\n\t\t * Index at which to split the name if it is longer than 10 characters.\n\t\t *\n\t\t * @returns {Integer} The position at which to split\n\t\t */\n\t\tsplit() {\n\t\t\t// leave maximum 10 letters\n\t\t\treturn this.name.length - Math.min(Math.floor(this.name.length / 2), 10)\n\t\t},\n\t\tpart1() {\n\t\t\tif (this.needsTruncate) {\n\t\t\t\treturn this.name.substr(0, this.split)\n\t\t\t}\n\t\t\treturn this.name\n\t\t},\n\t\tpart2() {\n\t\t\tif (this.needsTruncate) {\n\t\t\t\treturn this.name.substr(this.split)\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\t/**\n\t\t * The ranges to highlight. Since we split the string for ellipsising,\n\t\t * the Highlight component cannot figure this out itself and needs the ranges provided.\n\t\t *\n\t\t * @returns {Array} The array with the ranges to highlight\n\t\t */\n\t\thighlight1() {\n\t\t\tif (!this.search) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn FindRanges(this.name, this.search)\n\t\t},\n\t\t/**\n\t\t * We shift the ranges for the second part by the position of the split.\n\t\t * Ranges out of the string length are discarded by the Highlight component,\n\t\t * so we don't need to take care of this here.\n\t\t *\n\t\t * @returns {Array} The array with the ranges to highlight\n\t\t */\n\t\thighlight2() {\n\t\t\treturn this.highlight1.map(range => {\n\t\t\t\treturn {\n\t\t\t\t\tstart: range.start - this.split,\n\t\t\t\t\tend: range.end - this.split,\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.name-parts {\n\tdisplay: flex;\n\tmax-width: 100%;\n\t&__first {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\t&__first,\n\t&__last {\n\t\t// prevent whitespace from being trimmed\n\t\twhite-space: pre;\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n}\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EllipsisedOption.vue?vue&type=style&index=0&id=f855c4b8&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./EllipsisedOption.vue?vue&type=template&id=f855c4b8&scoped=true&\"\nimport script from \"./EllipsisedOption.vue?vue&type=script&lang=js&\"\nexport * from \"./EllipsisedOption.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EllipsisedOption.vue?vue&type=style&index=0&id=f855c4b8&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 \"f855c4b8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"name-parts\",attrs:{\"title\":_vm.name}},[_c('Highlight',{staticClass:\"name-parts__first\",attrs:{\"text\":_vm.part1,\"search\":_vm.search,\"highlight\":_vm.highlight1}}),_vm._v(\" \"),(_vm.part2)?_c('Highlight',{staticClass:\"name-parts__last\",attrs:{\"text\":_vm.part2,\"search\":_vm.search,\"highlight\":_vm.highlight2}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<docs>\n## Multiselect\nWe're wrapping the awesome vue-multiselect library to add our own styling and default props/methods\nYou can use all the properties from https://vue-multiselect.js.org that are not declared/overrided here.\n\n### Simple examples\n```vue\n<template>\n\t<div class=\"wrapper\">\n\t\t<Multiselect v-model=\"value1\" :options=\"options\" />\n\t\t<Multiselect v-model=\"value2\" :options=\"options\" :multiple=\"true\" />\n\t</div>\n</template>\n\n<script>\nimport Multiselect from '../index'\nexport default {\n\tdata() {\n\t\treturn { value1: '2', value2: ['2'], options: ['0', '1', '2', '3', '4'] }\n\t}\n}\n</script>\n```\n\n### Simple example with objects\nYou can either use the exact object or the track-by key to match against your options\n\n```vue\n<template>\n\t<div class=\"wrapper\">\n\t\t<Multiselect v-model=\"value1\" :options=\"options\" track-by=\"id\" label=\"label\" />\n\t\t<pre>Selected option: {{ value1 }}</pre>\n\t\t<br />\n\t\t<Multiselect v-model=\"value2\" :options=\"options\" track-by=\"id\" label=\"label\" />\n\t\t<pre>Selected option: {{ value2 }}</pre>\n\t</div>\n</template>\n\n<script>\nimport Multiselect from '../index'\nconst options = [\n\t{ id: 1, label: 'Option 1' },\n\t{ id: 2, label: 'Option 2' },\n\t{ id: 3, label: 'Option 3' },\n\t{ id: 4, label: 'Option 4' }\n]\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tvalue1: options[1],\n\t\t\tvalue2: 2,\n\t\t\toptions\n\t\t}\n\t}\n}\n</script>\n```\n\n### Limit with automated tooltip\n```vue\n<template>\n\t<Multiselect v-model=\"value\"\n\t\t:options=\"options\" :multiple=\"true\"\n\t\t:tag-width=\"80\" />\n</template>\n\n<script>\nimport Multiselect from '../index'\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tvalue: ['eirmod', 'et', 'magna', 'invidunt', 'tempor'],\n\t\t\toptions: ['Consetetur', 'sadipscing', 'elitr', 'sed',\n\t\t\t\t'diam', 'nonumy', 'eirmod', 'tempor', 'invidunt',\n\t\t\t\t'ut', 'labore', 'et', 'dolore', 'magna', 'aliquyam', 'erat']\n\t\t}\n\t}\n}\n</script>\n```\n\n### User layout\nBy specifying `:user-select=\"true\"`, you can benefit from a fully formatted layout.\nThe singleLabel slot here is optional of course and here for demonstration purposes\nThe ListItemIcon title will be provided by the option key refering to the `label` prop.\nExample here: `displayName`\n\n> **Note:** Any extra binding from the object will be added as attribute (`$attrs`) on the ListItemIcon component used here\n\n```vue\n<template>\n\t<Multiselect v-model=\"value\" :options=\"formattedOptions\"\n\t\tlabel=\"displayName\" track-by=\"user\"\n\t\t:user-select=\"true\"\n\t\tstyle=\"width: 250px\">\n\t\t<template #singleLabel=\"{ option }\">\n\t\t\t<ListItemIcon v-bind=\"option\" :title=\"option.displayName\" :avatar-size=\"24\" :no-margin=\"true\" />\n\t\t</template>\n\t</Multiselect>\n</template>\n\n<script>\nimport Multiselect from '../index'\n\n// Building fake data for the docs\nconst options = ['admin', 'user1', 'user2', 'guest', 'group1']\nconst formattedOptions = options.map(item => {\n\treturn {\n\t\tuser: item,\n\t\tdisplayName: item,\n\t\tsubtitle: `This is the ${item.startsWith('group') ? 'group' : 'user'} ${item}`,\n\t\ticon: item.startsWith('group') ? 'icon-group' : 'icon-user',\n\t\tisNoUser: item.startsWith('group')\n\t}\n})\nexport default {\n\tdata() {\n\t\t\treturn {\n\t\t\t\t\tvalue: formattedOptions[0],\n\t\t\t\t\tformattedOptions,\n\t\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<!--\n\t# This is the original Multiselect !\n\t## tag-placeholder=\"create\"\n\t-> Hack to allow us to detect when an option needs\n\t- to be created (with css) and apply the proper\n\t- styling to this entry, @see [data-select='create']\n\t## :close-on-select=\"!multiple\"\n\t-> If multiple choice allowed, leave the dropdown\n\t- open after select\n\t## v-on=\"$listeners\", v-bind=\"$attrs\"\n\t-> Forward all undeclared props to the vue-multiselect child\n\t-->\n\t<VueMultiselect\n\t\tref=\"VueMultiselect\"\n\t\tv-model=\"localValue\"\n\t\tv-bind=\"$attrs\"\n\t\t:class=\"[\n\t\t\t{\n\t\t\t\t'icon-loading-small': loading\n\t\t\t},\n\t\t\tmultiple ? 'multiselect--multiple': 'multiselect--single'\n\t\t]\"\n\t\t:options=\"options\"\n\t\t:limit=\"maxOptions\"\n\t\t:close-on-select=\"!multiple\"\n\t\t:multiple=\"multiple\"\n\t\t:label=\"label\"\n\t\t:track-by=\"trackBy\"\n\t\ttag-placeholder=\"create\"\n\t\tv-on=\"$listeners\">\n\t\t<!-- This is the scope to format the list of available options in the dropdown\n\t\t\tTwo templates to avoid registering the slot unnecessary -->\n\t\t<template #option=\"scope\">\n\t\t\t<!-- Avatar display select slot override.\n\t\t\t\tYou CANNOT use this scope, we will replace it by this -->\n\t\t\t<ListItemIcon v-if=\"userSelect && !$scopedSlots['option']\"\n\t\t\t\tv-bind=\"scope.option\"\n\t\t\t\t:title=\"scope.option[label]\"\n\t\t\t\t:search=\"scope.search\" />\n\n\t\t\t<!-- Ellipsis in the middle if no option slot\n\t\t\t\tis defined in the parent -->\n\t\t\t<EllipsisedOption v-else-if=\"!$scopedSlots['option']\"\n\t\t\t\t:name=\"getOptionLabel(scope.option)\"\n\t\t\t\t:option=\"scope.option\"\n\t\t\t\t:search=\"scope.search\"\n\t\t\t\t:label=\"label\" />\n\n\t\t\t<!-- Passing the singleLabel slot -->\n\t\t\t<slot v-else name=\"option\" v-bind=\"scope\" />\n\t\t</template>\n\n\t\t<!-- Registering the limit slot to get the +xxx tooltip.\n\t\t\tYou CANNOT use this scope, we will replace it by this -->\n\t\t<template v-if=\"multiple\" #limit>\n\t\t\t<span v-tooltip.auto=\"formatLimitTitle(value)\"\n\t\t\t\tclass=\"multiselect__limit\">\n\t\t\t\t{{ limitString }}\n\t\t\t</span>\n\t\t</template>\n\n\t\t<!-- Passing the singleLabel slot, this is used to format the selected\n\t\t\toption on NON-multiple multiselects -->\n\t\t<template v-for=\"(_, slot) of $scopedSlots\" #[slot]=\"scope\">\n\t\t\t<slot :name=\"slot\" v-bind=\"scope\" />\n\t\t</template>\n\n\t\t<template #noResult>\n\t\t\t<span>{{ t('No results') }}</span>\n\t\t</template>\n\t</VueMultiselect>\n</template>\n\n<script>\nimport VueMultiselect from 'vue-multiselect'\n\nimport EllipsisedOption from './EllipsisedOption'\nimport l10n from '../../mixins/l10n'\nimport ListItemIcon from '../ListItemIcon'\nimport Tooltip from '../../directives/Tooltip'\n\nexport default {\n\tname: 'Multiselect',\n\tcomponents: {\n\t\tEllipsisedOption,\n\t\tListItemIcon,\n\t\tVueMultiselect,\n\t},\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t},\n\tmixins: [l10n],\n\tinheritAttrs: false,\n\n\t/**\n\t * Every prop that is defined here will break the auto\n\t * forward to the vue-multiselect component\n\t * You will have to specify it as a prop on the template\n\t */\n\tprops: {\n\t\t// eslint-disable-next-line\n\t\tvalue: {\n\t\t\tdefault() {\n\t\t\t\treturn []\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Allow multiple select ?\n\t\t */\n\t\tmultiple: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Limit the number of results\n\t\t */\n\t\tlimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 99999,\n\t\t},\n\n\t\t/**\n\t\t * key to use as label on object options\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * key to use as id on object options\n\t\t */\n\t\ttrackBy: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Array of available options: Objects, Strings or Integers.\n\t\t * If array of objects, visible label will default to option.label.\n\t\t * If `labal` prop is passed, label will equal option['label']\n\t\t */\n\t\toptions: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Enable the big user selector w/ avatar\n\t\t * Make sure your objects fit the requirements\n\t\t */\n\t\tuserSelect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Overriding the default slot. Only showing a spiner.\n\t\t */\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Enable the automatic limit and width calculation\n\t\t * Only works on multiple\n\t\t */\n\t\tautoLimit: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t* If autoLimit, allow to specify the min-width of every\n\t\t* selected option when calculating the number of options\n\t\t* to show. This needs to be a positive integer.\n\t\t*/\n\t\ttagWidth: {\n\t\t\ttype: Number,\n\t\t\tdefault: 150,\n\t\t\tvalidator: (value) => {\n\t\t\t\treturn value > 0\n\t\t\t},\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\telWidth: 0,\n\t\t}\n\t},\n\tcomputed: {\n\t\t/**\n\t\t * Calculate the number of options to show\n\t\t * depending on the width of the select.\n\t\t * Only works if `autoLimit` is `true`\n\t\t * @returns {number}\n\t\t */\n\t\tmaxOptions() {\n\t\t\tif (this.autoLimit && this.elWidth > 0 && this.tagWidth !== 0) {\n\t\t\t\tconst limit = Math.floor(this.elWidth / this.tagWidth)\n\t\t\t\treturn limit > 0 ? limit : 1\n\t\t\t}\n\t\t\treturn this.limit ? this.limit : 9999\n\t\t},\n\t\t/**\n\t\t * Make the tooltip limit string for the `autoLimit`\n\t\t * @returns {string}\n\t\t */\n\t\tlimitString() {\n\t\t\treturn `+${this.value.length - this.maxOptions}`\n\t\t},\n\n\t\tlocalValue: {\n\t\t\tget() {\n\t\t\t\tif (this.trackBy && this.options\n\t\t\t\t\t&& typeof this.value !== 'object'\n\t\t\t\t\t&& this.options[this.value]) {\n\t\t\t\t\treturn this.options[this.value]\n\t\t\t\t}\n\t\t\t\treturn this.value\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tthis.$emit('update:value', value)\n\t\t\t\tthis.$emit('change', value)\n\t\t\t},\n\t\t},\n\t},\n\n\twatch: {\n\t\t// ensure we update the width when we add or remove data\n\t\tvalue() {\n\t\t\tthis.updateWidth()\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.updateWidth()\n\t\twindow.addEventListener('resize', this.updateWidth)\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this.updateWidth)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Returns the option label\n\t\t *\n\t\t * @param {String} option The selected option\n\t\t * @returns {string}\n\t\t */\n\t\tgetOptionLabel(option) {\n\t\t\treturn String(this.$refs.VueMultiselect?.getOptionLabel(option))\n\t\t},\n\t\t/**\n\t\t * Format array of groups objects to a string\n\t\t * for the limit popup using the label prop\n\t\t *\n\t\t * @param {array} options The selected options\n\t\t * @returns {string}\n\t\t */\n\t\tformatLimitTitle(options) {\n\t\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\t\tlet selection = options\n\t\t\t\tif (typeof options[0] === 'object') {\n\t\t\t\t\tselection = options.map(option => option[this.label])\n\t\t\t\t}\n\t\t\t\treturn selection.slice(this.maxOptions).join(', ')\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\n\t\t/**\n\t\t * Update the component width data\n\t\t */\n\t\tupdateWidth() {\n\t\t\t// width of the tags wrapper minus the padding\n\t\t\tif (this.$el && this.$el.querySelector('.multiselect__tags-wrap')) {\n\t\t\t\tthis.elWidth = this.$el.querySelector('.multiselect__tags-wrap').offsetWidth - 10\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Multiselect.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!./Multiselect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Multiselect.vue?vue&type=template&id=7b3fe901&\"\nimport script from \"./Multiselect.vue?vue&type=script&lang=js&\"\nexport * from \"./Multiselect.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Multiselect.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._g({staticClass:\"option\",style:(_vm.cssVars),attrs:{\"id\":_vm.id}},_vm.$listeners),[_c('Avatar',_vm._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":true,\"disable-tooltip\":true,\"display-name\":_vm.displayName || _vm.title,\"is-no-user\":_vm.isNoUser,\"size\":_vm.avatarSize}},'Avatar',_vm.$attrs,false)),_vm._v(\" \"),_c('div',{staticClass:\"option__details\"},[_c('Highlight',{staticClass:\"option__lineone\",attrs:{\"text\":_vm.title,\"search\":_vm.search}}),_vm._v(\" \"),(_vm.isValidSubtitle && _vm.isSizeBigEnough)?_c('Highlight',{staticClass:\"option__linetwo\",attrs:{\"text\":_vm.subtitle,\"search\":_vm.search}}):(_vm.hasStatus)?_c('span',[_c('span',[_vm._v(_vm._s(_vm.userStatus.icon))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.userStatus.message))])]):_vm._e()],1),_vm._v(\" \"),_vm._t(\"default\"),_vm._v(\" \"),(_vm.hasIcon && !_vm.hasSlot)?_c('span',{staticClass:\"icon option__icon\",class:_vm.icon}):_vm._e()],2)}\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!./ListItemIcon.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!./ListItemIcon.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<docs>\n## This is used to display a avatar-title/subtitle + icon layout\nIt might be used for list rendering or within the multiselect for example\n\n> **Note:** Any binding will be forwarded on the Avatar component root\n\n```vue\n<ListItemIcon title=\"User 1\" />\n<ListItemIcon title=\"User 1\" subtitle=\"Hidden subtitle because size is too small\" :avatar-size=\"24\" />\n```\n```vue\n<ListItemIcon title=\"User 1\" :avatar-size=\"44\" icon=\"icon-user\" />\n```\n\n### With icon\n```vue\n<ListItemIcon title=\"Group 1\" subtitle=\"13 members\" icon=\"icon-group\" :is-no-user=\"true\" />\n```\n\n### Searching\n```vue\n<ListItemIcon title=\"Test user 1\" subtitle=\"callmetest@domain.com\" search=\"test\" />\n<ListItemIcon title=\"Testing admin\" subtitle=\"testme@example.com\" search=\"test\" />\n<ListItemIcon title=\"Test group 2\" subtitle=\"loremipsum@domain.com\" icon=\"icon-group\" :is-no-user=\"true\" search=\"test\" />\n```\n\n### With actions\n```vue\n<ListItemIcon title=\"Test user 1\" subtitle=\"callmetest@domain.com\">\n\t<Actions>\n\t\t<ActionButton icon=\"icon-edit\" @click=\"alert('Edit')\">Edit</ActionButton>\n\t\t<ActionButton icon=\"icon-delete\" @click=\"alert('Delete')\">Delete</ActionButton>\n\t</Actions>\n</ListItemIcon>\n```\n</docs>\n\n<template>\n\t<span :id=\"id\"\n\t\tclass=\"option\"\n\t\t:style=\"cssVars\"\n\t\tv-on=\"$listeners\">\n\t\t<Avatar\n\t\t\tv-bind=\"$attrs\"\n\t\t\t:disable-menu=\"true\"\n\t\t\t:disable-tooltip=\"true\"\n\t\t\t:display-name=\"displayName || title\"\n\t\t\t:is-no-user=\"isNoUser\"\n\t\t\t:size=\"avatarSize\"\n\t\t\tclass=\"option__avatar\" />\n\t\t<div class=\"option__details\">\n\t\t\t<Highlight\n\t\t\t\tclass=\"option__lineone\"\n\t\t\t\t:text=\"title\"\n\t\t\t\t:search=\"search\" />\n\t\t\t<Highlight\n\t\t\t\tv-if=\"isValidSubtitle && isSizeBigEnough\"\n\t\t\t\tclass=\"option__linetwo\"\n\t\t\t\t:text=\"subtitle\"\n\t\t\t\t:search=\"search\" />\n\t\t\t<span v-else-if=\"hasStatus\">\n\t\t\t\t<span>{{ userStatus.icon }}</span>\n\t\t\t\t<span>{{ userStatus.message }}</span>\n\t\t\t</span>\n\t\t</div>\n\n\t\t<!-- @slot use this slot to add a custom icon or actions -->\n\t\t<slot />\n\t\t<span v-if=\"hasIcon && !hasSlot\" class=\"icon option__icon\" :class=\"icon\" />\n\t</span>\n</template>\n\n<script>\nimport Avatar from '../Avatar'\nimport Highlight from '../Highlight'\nimport { userStatus } from '../../mixins'\n\n// global margin, ^2 ratio\nconst margin = 8\nconst defaultSize = 32\n\nexport default {\n\tname: 'ListItemIcon',\n\n\tcomponents: {\n\t\tAvatar,\n\t\tHighlight,\n\t},\n\tmixins: [userStatus],\n\n\tprops: {\n\t\t/**\n\t\t * Default first line text\n\t\t */\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Secondary optional line\n\t\t * Only visible on size of 32 and above\n\t\t */\n\t\tsubtitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Icon class to be displayed at the end of the component\n\t\t */\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Search within the highlight of title/subtitle\n\t\t */\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Set a size in px that will define the avatar height/width\n\t\t * and therefore, the height of the component\n\t\t */\n\t\tavatarSize: {\n\t\t\ttype: Number,\n\t\t\tdefault: defaultSize,\n\t\t},\n\n\t\t/**\n\t\t * Disable the margins of this component.\n\t\t * Useful for integration in Multiselect for example\n\t\t */\n\t\tnoMargin: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * See the [Avatar](#Avatar) displayName prop\n\t\t * Fallback to title\n\t\t */\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * See the [Avatar](#Avatar) isNoUser prop\n\t\t * Enable/disable the UserStatus fetching\n\t\t */\n\t\tisNoUser: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Unique list item ID\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tmargin,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\thasIcon() {\n\t\t\treturn this.icon !== ''\n\t\t},\n\t\thasSlot() {\n\t\t\treturn !!this.$slots.default\n\t\t},\n\n\t\tisValidSubtitle() {\n\t\t\treturn this.subtitle?.trim?.() !== ''\n\t\t},\n\t\tisSizeBigEnough() {\n\t\t\treturn this.avatarSize >= defaultSize\n\t\t},\n\n\t\tcssVars() {\n\t\t\t// Don't use margin to calculate the height if noMargin\n\t\t\tconst margin = this.noMargin ? 0 : this.margin\n\n\t\t\treturn {\n\t\t\t\t'--height': this.avatarSize + 2 * margin + 'px',\n\t\t\t\t'--margin': this.margin + 'px',\n\t\t\t}\n\t\t},\n\t},\n\n\tbeforeMount() {\n\t\t// If we don't have a subtitle and if this is a user\n\t\tif (!this.isNoUser && !this.subtitle) {\n\t\t\tthis.fetchUserStatus(this.user)\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.option {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n\theight: var(--height);\n\n\t&__avatar {\n\t\tmargin-right: var(--margin);\n\t}\n\n\t&__details {\n\t\tdisplay: flex;\n\t\tflex: 1 1;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tmin-width: 0;\n\t}\n\n\t&__lineone {\n\t\tcolor: var(--color-text-light);\n\t}\n\t&__linetwo {\n\t\topacity: $opacity_normal;\n\t}\n\t&__lineone,\n\t&__linetwo {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tline-height: 1.1em;\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n\n\t&__icon {\n\t\tflex: 0 0 $clickable-area;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\topacity: $opacity_disabled;\n\t\tbackground-position: center;\n\t\tbackground-size: 16px;\n\t}\n}\n\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListItemIcon.vue?vue&type=style&index=0&id=28d338d4&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./ListItemIcon.vue?vue&type=template&id=28d338d4&scoped=true&\"\nimport script from \"./ListItemIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./ListItemIcon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ListItemIcon.vue?vue&type=style&index=0&id=28d338d4&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 \"28d338d4\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./ListItemIcon.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport ListItemIcon from './ListItemIcon'\n\nexport default ListItemIcon\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!./index.scss\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport ScopeComponent from '../../utils/ScopeComponent'\nimport Multiselect from './Multiselect'\nimport './index.scss'\n\nScopeComponent(Multiselect)\n\nexport default Multiselect\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-542b2ae]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-542b2ae]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-542b2ae].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-542b2ae].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-542b2ae].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-542b2ae].multiselect--disabled,.multiselect[data-v-542b2ae].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-542b2ae].icon-loading-small::after{left:100%;margin-left:-24px}.multiselect[data-v-542b2ae] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:1px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:3px;min-height:34px;height:100%}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:3px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:2px 1px}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__single,.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__single,.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__single *,.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__strong,.multiselect[data-v-542b2ae] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-542b2ae] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;height:100% !important;border:none;cursor:pointer;padding:7px 6px !important;display:none}.multiselect[data-v-542b2ae] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-542b2ae] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-542b2ae] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:transparent}.multiselect[data-v-542b2ae] .multiselect__content-wrapper li,.multiselect[data-v-542b2ae] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-542b2ae] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:transparent;color:var(--color-text-lighter);width:100%}.multiselect[data-v-542b2ae] .multiselect__content-wrapper li>span::before{content:' ';background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-542b2ae] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-542b2ae] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-542b2ae] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-542b2ae] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-542b2ae] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-542b2ae].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-542b2ae].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-542b2ae].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-000)}.multiselect[data-v-542b2ae].multiselect--multiple .multiselect__content-wrapper li>span[data-select='create']::before{background-image:var(--icon-add-000);visibility:visible}.multiselect[data-v-542b2ae].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-542b2ae]:hover .multiselect__placeholder,.multiselect[data-v-542b2ae] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCJxB,6BACC,QAAS,CACT,oBAAqB,CACrB,oBAAqB,CAErB,eAAgB,CAChB,iBAAkB,CAClB,6CAA8C,CAP/C,4EAWE,UAAW,CACX,oBAAqB,CAZvB,0EAoBG,oBAAiC,CACjC,sBAAuB,CAEvB,2DAA4D,CAC5D,wBAAyB,CAxB5B,qEA6BG,YAAa,CA7BhB,6FAoCG,2DAA4D,CApC/D,2HA2CE,wDAAyD,CA3C3D,uDAgDE,SAAU,CACV,iBAAkB,CAjDpB,gDAwDE,YAAa,CACb,gBAAiB,CACjB,eAAgB,CAChB,yCAA0C,CAC1C,cAAe,CACf,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,WAAY,CAhEd,wEAoEG,kBAAmB,CACnB,mBAAoB,CACpB,eAAgB,CAChB,cAAe,CACf,iBAAkB,CAClB,eAlBkB,CAmBlB,QAAS,CACT,gBAAiB,CA3EpB,yGA+EI,oBAAiC,CACjC,wBAAyB,CAhF7B,wIAqFK,YAAa,CArFlB,0FA0FI,gBAAiB,CACjB,eAAgB,CAChB,qBAAsB,CACtB,4BAA6B,CAC7B,yCAA0C,CAC1C,mBAAoB,CACpB,kBAAmB,CACnB,iBAAkB,CAGlB,WAAY,CACZ,qBAAsB,CACtB,0BAA2B,CAC3B,cAAe,CAvGnB,qGA2GK,aAAc,CA3GnB,2GA8GK,gBAvDgB,CAvDrB,+FAmHK,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CArHrB,+IA8HG,eAAgB,CAChB,aAAc,CACd,SAAU,CACV,6CAA8C,CAC9C,gBAAiB,CACjB,+BAAgC,CAEhC,YAAa,CACb,kBAAmB,CAtItB,kSA0II,cAAe,CA1InB,yIAgJG,gBAAiB,CACjB,+BAAgC,CAChC,mBAAoB,CACpB,kBAAmB,CACnB,UC7GgB,CD8GhB,gBA9FkB,CAgGlB,SAAU,CAvJb,yEA2JG,qBAAsB,CACtB,4BAA6B,CAC7B,QAAS,CACT,SAAU,CAEV,sBAAuB,CACvB,WAAY,CAGZ,cAAe,CAEf,0BAA2B,CAC3B,YAAa,CAvKhB,2DA6KE,iBAAkB,CAClB,UAAW,CACX,eAAgB,CAChB,yCAA0C,CAC1C,uCAAwC,CACxC,UAAW,CACX,gBAAiB,CACjB,eAAgB,CAChB,2DAA4D,CArL9D,iFAuLG,UAAW,CACX,SAAU,CAxLb,8DA2LG,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,4BAA6B,CA9LhC,iIAiMI,cAAe,CAjMnB,mEAoMI,WAAY,CACZ,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,QAAS,CACT,WAAY,CACZ,cAAe,CACf,0BAA2B,CAC3B,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,mBAAoB,CACpB,kBAAmB,CACnB,4BAA6B,CAC7B,+BAAgC,CAChC,UAAW,CApNf,2EAuNK,WAAY,CACZ,2BAA4B,CAC5B,0BAA2B,CAC3B,cAAe,CACf,eAAgB,CAChB,aAAc,CACd,UCvLgB,CDwLhB,gBAAiB,CACjB,iBAAkB,CA/NvB,iGAkOK,6CAA8C,CAC9C,UC7LgB,CDtCrB,kGAsOK,4BAA6B,CAC7B,6CAA8C,CAvOnD,qHA0OK,UAAW,CA1OhB,8NA+OM,kBAAmB,CA/OzB,8EAuPE,WAAY,CACZ,kBAAmB,CAxPrB,sEA+PG,cAAe,CA/PlB,iGAoQI,0CAA2C,CApQ/C,uHA2QK,oCAAqC,CACrC,kBAAmB,CA5QxB,+FAoRE,YAAa,CApRf,6IA2RG,4BAA6B\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 160px;\\n\\tposition: relative;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t&.icon-loading-small::after {\\n\\t\\tleft: 100%;\\n\\t\\tmargin-left: -24px;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: 3px;\\n\\t\\tmin-height: 34px;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 3px $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 3px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin: 2px 1px;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:last-child) {\\n\\t\\t\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tpadding: 7px 6px; // like the input\\n\\t\\t\\tflex: 0 0 100%;\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\tposition: relative !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\t/* let's leave it on top of tags but hide it */\\n\\t\\t\\theight: 100% !important;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tpadding: 7px 6px !important;\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-000);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-000);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = require(\"vue-multiselect\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".material-design-icon[data-v-5c87e24c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}[data-v-5c87e24c] .multiselect__tags{border:none !important}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/material-icons.css\",\"webpack://./TimezonePicker.vue\"],\"names\":[],\"mappings\":\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqHxB,qCACC,sBAAuB\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"542b2ae\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n::v-deep .multiselect__tags {\\n\\tborder: none !important; // Remove the Multiselect border\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = require(\"@nextcloud/calendar-js\");","module.exports = require(\"@nextcloud/logger\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Multiselect',{attrs:{\"value\":_vm.selectedTimezone,\"options\":_vm.options,\"multiple\":false,\"group-select\":false,\"placeholder\":_vm.placeholder,\"group-values\":\"regions\",\"group-label\":\"continent\",\"track-by\":\"timezoneId\",\"label\":\"label\",\"open-direction\":\"above\"},on:{\"input\":_vm.change}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { t } from '../../l10n'\n\n/**\n *\n * @param {String[]} timezoneList List of Olsen timezones\n * @param {Array} additionalTimezones List of additional timezones\n * @returns {[]}\n */\nexport function getSortedTimezoneList(timezoneList = [], additionalTimezones = []) {\n\tconst sortedByContinent = {}\n\tconst sortedList = []\n\n\tfor (const timezoneId of timezoneList) {\n\t\tconst components = timezoneId.split('/')\n\t\tlet [continent, name] = [components.shift(), components.join('/')]\n\t\tif (!name) {\n\t\t\tname = continent\n\t\t\t// TRANSLATORS This refers to global timezones in the timezone picker\n\t\t\tcontinent = t('Global')\n\t\t}\n\n\t\tsortedByContinent[continent] = sortedByContinent[continent] || {\n\t\t\tcontinent,\n\t\t\tregions: [],\n\t\t}\n\n\t\tsortedByContinent[continent].regions.push({\n\t\t\tlabel: getReadableTimezoneName(name),\n\t\t\tcities: [],\n\t\t\ttimezoneId,\n\t\t})\n\t}\n\n\tfor (const additionalTimezone of additionalTimezones) {\n\t\tconst { continent, label, timezoneId } = additionalTimezone\n\n\t\tsortedByContinent[continent] = sortedByContinent[continent] || {\n\t\t\tcontinent,\n\t\t\tregions: [],\n\t\t}\n\n\t\tsortedByContinent[continent].regions.push({\n\t\t\tlabel,\n\t\t\tcities: [],\n\t\t\ttimezoneId,\n\t\t})\n\t}\n\n\tfor (const continent in sortedByContinent) {\n\t\tif (!Object.prototype.hasOwnProperty.call(sortedByContinent, continent)) {\n\t\t\tcontinue\n\t\t}\n\n\t\tsortedByContinent[continent].regions.sort((a, b) => {\n\t\t\tif (a.label < b.label) {\n\t\t\t\treturn -1\n\t\t\t}\n\n\t\t\treturn 1\n\t\t})\n\t\tsortedList.push(sortedByContinent[continent])\n\t}\n\n\t// Sort continents by name\n\tsortedList.sort((a, b) => {\n\t\tif (a.continent < b.continent) {\n\t\t\treturn -1\n\t\t}\n\n\t\treturn 1\n\t})\n\n\treturn sortedList\n}\n\n/**\n * Get human-readable name for timezoneId\n *\n * @param {String} timezoneId TimezoneId to turn human-readable\n * @returns {String}\n */\nexport function getReadableTimezoneName(timezoneId) {\n\treturn timezoneId\n\t\t.split('_')\n\t\t.join(' ')\n\t\t.replace('St ', 'St. ')\n\t\t.split('/')\n\t\t.join(' - ')\n}\n","/*\n * @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2021 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.detectUser()\n\t.setApp('@nextcloud/vue')\n\t.build()\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { getTimezoneManager } from '@nextcloud/calendar-js'\n\nimport tzData from '../../../resources/timezones/zones.json'\nimport logger from '../../utils/logger.js'\n\nconst timezoneManager = getTimezoneManager()\nlet initialized = false\n\n/**\n * Gets the timezone-manager\n * initializes it if necessary\n *\n * @returns {TimezoneManager}\n */\nexport default function() {\n\tif (!initialized) {\n\t\tinitialize()\n\t}\n\n\treturn timezoneManager\n}\n\n/**\n * Initializes the timezone-manager with all timezones shipped by the calendar app\n */\nfunction initialize() {\n\tlogger.debug(`Using version ${tzData.version} of the timezone database`)\n\n\tfor (const tzid in tzData.zones) {\n\t\tif (Object.prototype.hasOwnProperty.call(tzData.zones, [tzid])) {\n\t\t\tconst ics = [\n\t\t\t\t'BEGIN:VTIMEZONE',\n\t\t\t\t'TZID:' + tzid,\n\t\t\t\t...tzData.zones[tzid].ics,\n\t\t\t\t'END:VTIMEZONE',\n\t\t\t].join('\\r\\n')\n\t\t\ttimezoneManager.registerTimezoneFromICS(tzid, ics)\n\t\t}\n\t}\n\n\tfor (const tzid in tzData.aliases) {\n\t\tif (Object.prototype.hasOwnProperty.call(tzData.aliases, [tzid])) {\n\t\t\ttimezoneManager.registerAlias(tzid, tzData.aliases[tzid].aliasTo)\n\t\t}\n\t}\n\n\tinitialized = true\n}\n","<!--\n - @copyright Copyright (c) 2021 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @author Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n### Example\n```vue\n<template>\n\t<span>\n\t\t<TimezonePicker v-model=\"tz\" />\n\t</span>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttz: 'Hawaiian Standard Time',\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<Multiselect\n\t\t:value=\"selectedTimezone\"\n\t\t:options=\"options\"\n\t\t:multiple=\"false\"\n\t\t:group-select=\"false\"\n\t\t:placeholder=\"placeholder\"\n\t\tgroup-values=\"regions\"\n\t\tgroup-label=\"continent\"\n\t\ttrack-by=\"timezoneId\"\n\t\tlabel=\"label\"\n\t\topen-direction=\"above\"\n\t\t@input=\"change\" />\n</template>\n\n<script>\nimport Multiselect from '../Multiselect'\nimport {\n\tgetReadableTimezoneName,\n\tgetSortedTimezoneList,\n} from './timezone.js'\nimport getTimezoneManager from './timezoneDataProviderService.js'\nimport { t } from '../../l10n'\n\nexport default {\n\tname: 'TimezonePicker',\n\tcomponents: {\n\t\tMultiselect,\n\t},\n\tprops: {\n\t\t/**\n\t\t* An array of additional timezones to include with the standard database. Useful if there is a custom timezone, e.g. read from user data\n\t\t*/\n\t\tadditionalTimezones: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\t/**\n\t\t* The selected timezone. Use v-model for two-way binding. The default timezone is floating, which means a time independent of timezone. See https://icalendar.org/CalDAV-Access-RFC-4791/7-3-date-and-floating-time.html for details.\n\t\t*/\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: 'floating',\n\t\t},\n\t},\n\tcomputed: {\n\t\tplaceholder() {\n\t\t\treturn t('Type to search time zone')\n\t\t},\n\t\tselectedTimezone() {\n\t\t\tfor (const additionalTimezone of this.additionalTimezones) {\n\t\t\t\tif (additionalTimezone.timezoneId === this.value) {\n\t\t\t\t\treturn additionalTimezone\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tlabel: getReadableTimezoneName(this.value),\n\t\t\t\ttimezoneId: this.value,\n\t\t\t}\n\t\t},\n\t\toptions() {\n\t\t\tconst timezoneManager = getTimezoneManager()\n\t\t\treturn getSortedTimezoneList(timezoneManager.listAllTimezones(), this.additionalTimezones)\n\t\t},\n\t},\n\tmethods: {\n\t\tchange(newValue) {\n\t\t\tif (!newValue) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Two-way binding of the value prop. Use v-model=\"selectedTimezone\" for two-way binding\n\t\t\t */\n\t\t\tthis.$emit('input', newValue.timezoneId)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n::v-deep .multiselect__tags {\n\tborder: none !important; // Remove the Multiselect border\n}\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimezonePicker.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!./TimezonePicker.vue?vue&type=script&lang=js&\"","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimezonePicker.vue?vue&type=style&index=0&id=5c87e24c&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./TimezonePicker.vue?vue&type=template&id=5c87e24c&scoped=true&\"\nimport script from \"./TimezonePicker.vue?vue&type=script&lang=js&\"\nexport * from \"./TimezonePicker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TimezonePicker.vue?vue&type=style&index=0&id=5c87e24c&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 \"5c87e24c\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./TimezonePicker.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","/**\n * @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2021 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport TimezonePicker from './TimezonePicker'\n\nexport default TimezonePicker\n"],"sourceRoot":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define("Components/UserBubble",[],n):"object"==typeof exports?exports["Components/UserBubble"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue["Components/UserBubble"]=n())}(window,(function(){return function(t){var n={};function A(e){if(n[e])return n[e].exports;var i=n[e]={i:e,l:!1,exports:{}};return t[e].call(i.exports,i,i.exports,A),i.l=!0,i.exports}return A.m=t,A.c=n,A.d=function(t,n,e){A.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:e})},A.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},A.t=function(t,n){if(1&n&&(t=A(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(A.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)A.d(e,i,function(n){return t[n]}.bind(null,i));return e},A.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return A.d(n,"a",n),n},A.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},A.p="/dist/",A(A.s=214)}([function(t,n,A){"use strict";function e(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var A=[],e=!0,i=!1,a=void 0;try{for(var o,r=t[Symbol.iterator]();!(e=(o=r.next()).done)&&(A.push(o.value),!n||A.length!==n);e=!0);}catch(t){i=!0,a=t}finally{try{e||null==r.return||r.return()}finally{if(i)throw a}}return A}(t,n)||function(t,n){if(!t)return;if("string"==typeof t)return i(t,n);var A=Object.prototype.toString.call(t).slice(8,-1);"Object"===A&&t.constructor&&(A=t.constructor.name);if("Map"===A||"Set"===A)return Array.from(t);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return i(t,n)}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var A=0,e=new Array(n);A<n;A++)e[A]=t[A];return e}t.exports=function(t){var n=e(t,4),A=n[1],i=n[3];if("function"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(a),r="/*# ".concat(o," */"),s=i.sources.map((function(t){return"/*# sourceURL=".concat(i.sourceRoot||"").concat(t," */")}));return[A].concat(s).concat([r]).join("\n")}return[A].join("\n")}},function(t,n,A){"use strict";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var A=t(n);return n[2]?"@media ".concat(n[2]," {").concat(A,"}"):A})).join("")},n.i=function(t,A,e){"string"==typeof t&&(t=[[null,t,""]]);var i={};if(e)for(var a=0;a<this.length;a++){var o=this[a][0];null!=o&&(i[o]=!0)}for(var r=0;r<t.length;r++){var s=[].concat(t[r]);e&&i[s[0]]||(A&&(s[2]?s[2]="".concat(A," and ").concat(s[2]):s[2]=A),n.push(s))}},n}},function(t,n,A){"use strict";var e,i=function(){return void 0===e&&(e=Boolean(window&&document&&document.all&&!window.atob)),e},a=function(){var t={};return function(n){if(void 0===t[n]){var A=document.querySelector(n);if(window.HTMLIFrameElement&&A instanceof window.HTMLIFrameElement)try{A=A.contentDocument.head}catch(t){A=null}t[n]=A}return t[n]}}(),o=[];function r(t){for(var n=-1,A=0;A<o.length;A++)if(o[A].identifier===t){n=A;break}return n}function s(t,n){for(var A={},e=[],i=0;i<t.length;i++){var a=t[i],s=n.base?a[0]+n.base:a[0],c=A[s]||0,l="".concat(s," ").concat(c);A[s]=c+1;var d=r(l),u={css:a[1],media:a[2],sourceMap:a[3]};-1!==d?(o[d].references++,o[d].updater(u)):o.push({identifier:l,updater:C(u,n),references:1}),e.push(l)}return e}function c(t){var n=document.createElement("style"),e=t.attributes||{};if(void 0===e.nonce){var i=A.nc;i&&(e.nonce=i)}if(Object.keys(e).forEach((function(t){n.setAttribute(t,e[t])})),"function"==typeof t.insert)t.insert(n);else{var o=a(t.insert||"head");if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(n)}return n}var l,d=(l=[],function(t,n){return l[t]=n,l.filter(Boolean).join("\n")});function u(t,n,A,e){var i=A?"":e.media?"@media ".concat(e.media," {").concat(e.css,"}"):e.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var a=document.createTextNode(i),o=t.childNodes;o[n]&&t.removeChild(o[n]),o.length?t.insertBefore(a,o[n]):t.appendChild(a)}}function p(t,n,A){var e=A.css,i=A.media,a=A.sourceMap;if(i?t.setAttribute("media",i):t.removeAttribute("media"),a&&"undefined"!=typeof btoa&&(e+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}var g=null,m=0;function C(t,n){var A,e,i;if(n.singleton){var a=m++;A=g||(g=c(n)),e=u.bind(null,A,a,!1),i=u.bind(null,A,a,!0)}else A=c(n),e=p.bind(null,A,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(A)};return e(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;e(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||"boolean"==typeof n.singleton||(n.singleton=i());var A=s(t=t||[],n);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var e=0;e<A.length;e++){var i=r(A[e]);o[i].references--}for(var a=s(t,n),c=0;c<A.length;c++){var l=r(A[c]);0===o[l].references&&(o[l].updater(),o.splice(l,1))}A=a}}}},function(t,n,A){"use strict";function e(t,n,A,e,i,a,o,r){var s,c="function"==typeof t?t.options:t;if(n&&(c.render=n,c.staticRenderFns=A,c._compiled=!0),e&&(c.functional=!0),a&&(c._scopeId="data-v-"+a),o?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},c._ssrRegister=s):i&&(s=r?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(c.functional){c._injectStyles=s;var l=c.render;c.render=function(t,n){return s.call(n),l(t,n)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,s):[s]}return{exports:t,options:c}}A.d(n,"a",(function(){return e}))},function(t,n,A){"use strict";t.exports=function(t,n){return n||(n={}),"string"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['"].*['"]$/.test(t)&&(t=t.slice(1,-1)),n.hash&&(t+=n.hash),/["'() \t\n]/.test(t)||n.needQuotes?'"'.concat(t.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t)}},function(t,n){t.exports=require("core-js/modules/es.object.to-string.js")},function(t,n){t.exports=require("v-tooltip")},function(t,n,A){"use strict";n.a="data:application/vnd.ms-fontobject;base64,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"},function(t,n,A){"use strict";n.a="data:font/woff;base64,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PAE55eh8gAAAAQAAAAEAAEszNwdfDzz1AAsTiAAAAADdaPPWAAAAAN0YF9f/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtZjU2ZDUxN1JlZ3VsYXJpY29uZm9udC12dWUtZjU2ZDUxN2ljb25mb250LXZ1ZS1mNTZkNTE3VmVyc2lvbiAxLjBpY29uZm9udC12dWUtZjU2ZDUxN0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AZgA1ADYAZAA1ADEANwBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AZgA1ADYAZAA1ADEANwBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGYANQA2AGQANQAxADcAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AZgA1ADYAZAA1ADEANwBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA="},function(t,n,A){"use strict";n.a="data:font/ttf;base64,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AAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtZjU2ZDUxN1JlZ3VsYXJpY29uZm9udC12dWUtZjU2ZDUxN2ljb25mb250LXZ1ZS1mNTZkNTE3VmVyc2lvbiAxLjBpY29uZm9udC12dWUtZjU2ZDUxN0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AZgA1ADYAZAA1ADEANwBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AZgA1ADYAZAA1ADEANwBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGYANQA2AGQANQAxADcAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AZgA1ADYAZAA1ADEANwBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA="},function(t,n,A){"use strict";n.a="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLWY1NmQ1MTciIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtZjU2ZDUxNyIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0zMiAwIDUwMTEgNTAwMCIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMCIgdW5kZXJsaW5lLXBvc2l0aW9uPSI1MCIgdW5pY29kZS1yYW5nZT0iVStlYTAxLWVhMTIiIC8+PG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjAiICAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1sZWZ0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMTsiIGQ9Ik0zNzUwIDM5MDYgbC0xNDA2IC0xNDA2IGwxNDA2IC0xNDA2IGwwIDMxMiBsLTEwOTQgMTA5NCBsMTA5NCAxMDk0IGwwIDMxMiBaTTIzNDQgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQiIHVuaWNvZGU9IiYjeGVhMDI7IiBkPSJNMTU2MyAyNTAwIGwxODc1IC0xODc1IGwwIC0zMTIgbC0yMTg4IDIxODcgbDIxODggMjE4OCBsMCAtMzEzIGwtMTg3NSAtMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodC1kb3VibGUiIHVuaWNvZGU9IiYjeGVhMDM7IiBkPSJNMTI1MCAxMDk0IGwxNDA2IDE0MDYgbC0xNDA2IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaTTI2NTYgMTA5NCBsMTQwNyAxNDA2IGwtMTQwNyAxNDA2IGwwIC0zMTIgbDEwOTQgLTEwOTQgbC0xMDk0IC0xMDk0IGwwIC0zMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctcmlnaHQiIHVuaWNvZGU9IiYjeGVhMDQ7IiBkPSJNMzQzOCAyNTAwIGwtMTg3NSAxODc1IGwwIDMxMyBsMjE4NyAtMjE4OCBsLTIxODcgLTIxODcgbDAgMzEyIGwxODc1IDE4NzUgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYnJlYWRjcnVtYiIgdW5pY29kZT0iJiN4ZWEwNTsiIGQ9Ik0xNDggNTAwMCBsLTE0OCAtODUgbDEzOTQgLTI0MTUgbC0xMzk0IC0yNDE1IGwxNDggLTg1IGwxNDQzIDI1MDAgbC0xNDQzIDI1MDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2ttYXJrIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQwNDUgMzk3MSBsLTIwNjEgLTIwNjEgbC0xMDI5IDEwMjkgbC00NDIgLTQ0MSBsMTQ3MSAtMTQ3MSBsMjUwMyAyNTAyIGwtNDQyIDQ0MiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjbG9zZSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik00Mzc1IDExNTYgbC01MzEgLTUzMSBsLTEzNDQgMTM0NCBsLTEzNDQgLTEzNDQgbC01MzEgNTMxIGwxMzQ0IDEzNDQgbC0xMzQ0IDEzNDQgbDUzMSA1MzEgbDEzNDQgLTEzNDQgbDEzNDQgMTM0NCBsNTMxIC01MzEgbC0xMzQ0IC0xMzQ0IGwxMzQ0IC0xMzQ0IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNvbmZpcm0iIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNMjY1NiA0ODQ0IHEtMTAxIDAgLTE4MCAtNTcgcS03NCAtNTIgLTEwOSAtMTM4IHEtMzUgLTg2IC0xOSAtMTc1IHExOCAtOTYgOTAgLTE2NyBsMTQ5NSAtMTQ5NCBsLTM2MTYgMCBxLTc3IDEgLTEzOSAtMjYgcS01OCAtMjQgLTk5IC03MCBxLTM5IC00NCAtNTkgLTEwMSBxLTIwIC01NiAtMjAgLTExNiBxMCAtNjAgMjAgLTExNiBxMjAgLTU3IDU5IC0xMDEgcTQxIC00NiA5OSAtNzAgcTYyIC0yNyAxMzkgLTI1IGwzNjE2IDAgbC0xNDk1IC0xNDk1IHEtNTUgLTUzIC04MSAtMTE2IHEtMjQgLTU5IC0yMSAtMTIxIHEzIC01OCAzMCAtMTEzIHEyNSAtNTQgNjggLTk3IHE0MyAtNDMgOTYgLTY4IHE1NSAtMjYgMTE0IC0yOSBxNjIgLTMgMTIwIDIxIHE2MyAyNSAxMTYgODEgbDIwMjkgMjAyOCBxNTkgNjAgODAgMTQxIHEyMSA4MCAxIDE1OSBxLTIxIDgyIC04MSAxNDIgbC0yMDI5IDIwMjggcS00NCA0NSAtMTAyIDcwIHEtNTggMjUgLTEyMiAyNSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJpbmZvIiB1bmljb2RlPSImI3hlYTA5OyIgZD0iTTI0MjIgNDY4OCBxLTExMSAwIC0yMTMgLTQzIHEtOTggLTQyIC0xNzQgLTExNy41IHEtNzYgLTc1LjUgLTExNyAtMTc0LjUgcS00MyAtMTAxIC00MyAtMjEyLjUgcTAgLTExMS41IDQzIC0yMTIuNSBxNDEgLTk4IDExNyAtMTc0IHE3NiAtNzYgMTc0IC0xMTcgcTEwMiAtNDMgMjEzIC00MyBxMTExIDAgMjEzIDQzIHE5OCA0MSAxNzMuNSAxMTcgcTc1LjUgNzYgMTE3LjUgMTc0IHE0MyAxMDEgNDMgMjEyLjUgcTAgMTExLjUgLTQzIDIxMi41IHEtNDIgOTkgLTExNy41IDE3NC41IHEtNzUuNSA3NS41IC0xNzMuNSAxMTcuNSBxLTEwMiA0MyAtMjEzIDQzIFpNMTU2MyAzMTI1IHEtODYgMCAtMTU4IC00MyBxLTcxIC00MSAtMTEyIC0xMTIgcS00MyAtNzIgLTQzIC0xNTcuNSBxMCAtODUuNSA0MyAtMTU3LjUgcTQxIC03MSAxMTIgLTExMiBxNzIgLTQzIDE1OCAtNDMgbDYyNSAwIGwwIC0xNTYyIGwtNjI1IDAgcS04NiAwIC0xNTggLTQzIHEtNzEgLTQxIC0xMTIgLTExMiBxLTQzIC03MyAtNDMgLTE1OCBxMCAtODUgNDMgLTE1OCBxNDEgLTcxIDExMiAtMTEyIHE3MiAtNDMgMTU4IC00MiBsMTg3NSAwIHE4NSAwIDE1NyA0MiBxNzEgNDEgMTEyIDExMiBxNDMgNzMgNDMgMTU4IHEwIDg1IC00MyAxNTggcS00MSA3MSAtMTEyIDExMiBxLTcyIDQzIC0xNTcgNDMgbC02MjUgMCBsMCAxODc1IHEwIDg1IC00MyAxNTcgcS00MSA3MSAtMTEyIDExMiBxLTczIDQzIC0xNTggNDMgbC05MzcgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtZW51IiB1bmljb2RlPSImI3hlYTBhOyIgZD0iTTYyNSA0Mzc1IGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMjgxMyBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFpNNjI1IDEyNTAgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtb3JlIiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTc4MSAzMDQ3IHExMTIgMCAyMTMgLTQzIHE5OCAtNDIgMTc0IC0xMTcuNSBxNzYgLTc1LjUgMTE3IC0xNzMuNSBxNDMgLTEwMiA0MyAtMjEzIHEwIC0xMTEgLTQzIC0yMTMgcS00MSAtOTggLTExNyAtMTczLjUgcS03NiAtNzUuNSAtMTc0IC0xMTcuNSBxLTEwMSAtNDMgLTIxMi41IC00MyBxLTExMS41IDAgLTIxMy41IDQzIHEtOTggNDIgLTE3My41IDExNy41IHEtNzUuNSA3NS41IC0xMTcuNSAxNzMuNSBxLTQzIDEwMiAtNDMgMjEzIHEwIDExMSA0MyAyMTMgcTQyIDk4IDExNy41IDE3My41IHE3NS41IDc1LjUgMTczLjUgMTE3LjUgcTEwMiA0MyAyMTMgNDMgWk0yNTAwIDMwNDcgcTExMSAwIDIxMyAtNDMgcTk4IC00MiAxNzMuNSAtMTE3LjUgcTc1LjUgLTc1LjUgMTE3LjUgLTE3My41IHE0MyAtMTAyIDQzIC0yMTMgcTAgLTExMSAtNDMgLTIxMyBxLTQyIC05OCAtMTE3LjUgLTE3My41IHEtNzUuNSAtNzUuNSAtMTczLjUgLTExNy41IHEtMTAyIC00MyAtMjEzIC00MyBxLTExMSAwIC0yMTMgNDMgcS05OCA0MiAtMTczLjUgMTE3LjUgcS03NS41IDc1LjUgLTExNy41IDE3My41IHEtNDMgMTAyIC00MyAyMTMgcTAgMTExIDQzIDIxMyBxNDIgOTggMTE3LjUgMTczLjUgcTc1LjUgNzUuNSAxNzMuNSAxMTcuNSBxMTAyIDQzIDIxMyA0MyBaTTQyMTkgMzA0NyBxMTExIDAgMjEzIC00MyBxOTggLTQyIDE3My41IC0xMTcuNSBxNzUuNSAtNzUuNSAxMTcuNSAtMTczLjUgcTQzIC0xMDIgNDMgLTIxMyBxMCAtMTExIC00MyAtMjEzIHEtNDIgLTk4IC0xMTcuNSAtMTczLjUgcS03NS41IC03NS41IC0xNzMuNSAtMTE3LjUgcS0xMDIgLTQzIC0yMTMuNSAtNDMgcS0xMTEuNSAwIC0yMTIuNSA0MyBxLTk4IDQyIC0xNzQgMTE3LjUgcS03NiA3NS41IC0xMTcgMTczLjUgcS00MyAxMDIgLTQzIDIxMyBxMCAxMTEgNDMgMjEzIHE0MSA5OCAxMTcgMTczLjUgcTc2IDc1LjUgMTc0IDExNy41IHExMDEgNDMgMjEzIDQzIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InBhdXNlIiB1bmljb2RlPSImI3hlYTBjOyIgZD0iTTkzOCA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaTTI4MTMgNDA2MyBsMCAtMzEyNSBsMTI1MCAwIGwwIDMxMjUgbC0xMjUwIDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGxheSIgdW5pY29kZT0iJiN4ZWEwZDsiIGQ9Ik02MjUgNDM3NSBsMzc1MCAtMTg3NSBsLTM3NTAgLTE4NzUgbDAgMzc1MCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJ0cmlhbmdsZS1zIiB1bmljb2RlPSImI3hlYTBlOyIgZD0iTTEyNTAgMzEyNSBsMTI1MCAtMTI1MCBsMTI1MCAxMjQ4IGwtMjUwMCAyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWF3YXkiIHVuaWNvZGU9IiYjeGVhMGY7IiBkPSJNMjE1NiA0OTY5IHEtMzYwIC00NiAtNjk1IC0xOTcgcS0zMjYgLTE0NyAtNjAxIC0zODAgcS0yNzQgLTIzMSAtNDcyIC01MjggcS0yMDIgLTMwMSAtMzA5IC02NDIgcS0xMTAgLTM1MyAtMTEwIC03MjIgcTAgLTQwNiAxMjggLTc4OCBxMTIzIC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTM2OSAwIDcyMiAxMDcgcTM0MiAxMDQgNjQ0IDMwMSBxMjk4IDE5NCA1MzMgNDYzIHEyMzYgMjcwIDM4OSA1OTMgcTE1NiAzMzEgMjEyIDY5MiBxLTE4OCAtMjA0IC00MjMuNSAtMzUxIHEtMjM1LjUgLTE0NyAtNDk4LjUgLTIyNSBxLTI2OSAtODAgLTU0NyAtODAgcS0zMjIgMCAtNjI4IDEwMyBxLTI5NSA5OSAtNTQ4IDI4NiBxLTI1MSAxODQgLTQzNSA0MzUgcS0xODcgMjUzIC0yODYgNTQ4IHEtMTAzIDMwNiAtMTAzIDYyOCBxMCAyOTMgODAgNTY4IHE3OCAyNjkgMjI1LjUgNDk4LjUgcTE0Ny41IDIyOS41IDM1MC41IDQwMi41IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWRuZCIgdW5pY29kZT0iJiN4ZWExMDsiIGQ9Ik0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFpNMTU2MyAyOTY5IGwxODc1IDAgcTkxIDAgMTc4IC0zOCBxODQgLTM3IDE1MCAtMTAzIHE2NiAtNjYgMTAyIC0xNDkgcTM4IC04NyAzOCAtMTc5IHEwIC05MiAtMzggLTE3OSBxLTM2IC04MyAtMTAyIC0xNDkgcS02NiAtNjYgLTE1MCAtMTAzIHEtODcgLTM4IC0xNzggLTM4IGwtMTg3NSAwIHEtOTIgMCAtMTc5IDM4IHEtODQgMzcgLTE1MCAxMDMgcS02NiA2NiAtMTAyIDE0OSBxLTM4IDg3IC0zOCAxNzkgcTAgOTIgMzggMTc5IHEzNiA4MyAxMDIgMTQ5IHE2NiA2NiAxNTAgMTAzIHE4NyAzOCAxNzkgMzggWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtaW52aXNpYmxlIiB1bmljb2RlPSImI3hlYTExOyIgZD0iTTI1MDAgNTAwMCBxLTQwNiAwIC03ODggLTEyOCBxLTM3MCAtMTI0IC02ODYgLTM1NiBxLTMxMyAtMjI5IC01NDIgLTU0MiBxLTIzMiAtMzE2IC0zNTYgLTY4NiBxLTEyOCAtMzgyIC0xMjggLTc4OCBxMCAtNDA2IDEyOCAtNzg4IHExMjQgLTM3MCAzNTYgLTY4NiBxMjI5IC0zMTMgNTQyIC01NDIgcTMxNiAtMjMyIDY4NiAtMzU2IHEzODIgLTEyOCA3ODggLTEyOCBxNDA2IDAgNzg4IDEyOCBxMzcwIDEyNCA2ODYgMzU2IHEzMTMgMjI5IDU0MiA1NDIgcTIzMiAzMTYgMzU2IDY4NiBxMTI4IDM4MiAxMjggNzg4IHEwIDQwNiAtMTI4IDc4OCBxLTEyNCAzNzAgLTM1NiA2ODYgcS0yMjkgMzEzIC01NDIgNTQyIHEtMzE2IDIzMiAtNjg2IDM1NiBxLTM4MiAxMjggLTc4OCAxMjggWk0yNTAwIDQwMDAgcTMxMSAwIDU5MCAtMTE2IHEyNzEgLTExMiA0NzYuNSAtMzE3LjUgcTIwNS41IC0yMDUuNSAzMTcuNSAtNDc2LjUgcTExNiAtMjc5IDExNiAtNTkwIHEwIC0zMTEgLTExNiAtNTkwIHEtMTEyIC0yNzEgLTMxNy41IC00NzYuNSBxLTIwNS41IC0yMDUuNSAtNDc2LjUgLTMxNy41IHEtMjc5IC0xMTYgLTU5MCAtMTE2IHEtMzExIDAgLTU5MCAxMTYgcS0yNzEgMTEyIC00NzYuNSAzMTcuNSBxLTIwNS41IDIwNS41IC0zMTcuNSA0NzYuNSBxLTExNiAyNzkgLTExNiA1OTAgcTAgMzExIDExNiA1OTAgcTExMiAyNzEgMzE3LjUgNDc2LjUgcTIwNS41IDIwNS41IDQ3Ni41IDMxNy41IHEyNzkgMTE2IDU5MCAxMTYgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtb25saW5lIiB1bmljb2RlPSImI3hlYTEyOyIgZD0iTTE1MDAgMTUwMCBsMjAwMCAwIGwwIDIwMDAgbC0yMDAwIDAgbDAgLTIwMDAgWk0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFoiIC8+PC9mb250PjwvZGVmcz48L3N2Zz4="},function(t,n){t.exports=require("vue")},,function(t,n){t.exports=require("@nextcloud/router")},function(t,n){t.exports=require("core-js/modules/es.function.name.js")},function(t,n){t.exports=require("core-js/modules/es.regexp.exec.js")},function(t,n){t.exports=require("core-js/modules/es.array.iterator.js")},function(t,n){t.exports=require("core-js/modules/es.string.iterator.js")},function(t,n){t.exports=require("core-js/modules/web.dom-collections.iterator.js")},function(t,n,A){"use strict";var e=A(0),i=A.n(e),a=A(1),o=A.n(a)()(i.a);o.push([t.i,".popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\n","",{version:3,sources:["webpack://./Popover.vue"],names:[],mappings:"AAgHA,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU",sourcesContent:["$scope_version:\"f56d517\"; @import 'variables';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$arrow-width: 10px;\n\n.popover {\n\tz-index: 100000;\n\tdisplay: block !important;\n\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t&__inner {\n\t\tpadding: 0;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground: var(--color-main-background);\n\t}\n\n\t&__arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: $arrow-width;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n\n\t&[x-placement^='top'] {\n\t\tmargin-bottom: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\tbottom: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='bottom'] {\n\t\tmargin-top: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='right'] {\n\t\tmargin-left: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tleft: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width $arrow-width $arrow-width 0;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='left'] {\n\t\tmargin-right: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tright: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t}\n\t}\n\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\topacity: 0;\n\t}\n\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity var(--animation-quick);\n\t\topacity: 1;\n\t}\n}\n\n"],sourceRoot:""}]),n.a=o},function(t,n){},function(t,n,A){"use strict";A.r(n);var e=A(6),i=A(2),a=A.n(i),o=A(23),r={insert:"head",singleton:!1};a()(o.a,r),o.a.locals;
|
|
1
|
+
!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define("Components/UserBubble",[],n):"object"==typeof exports?exports["Components/UserBubble"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue["Components/UserBubble"]=n())}(window,(function(){return function(t){var n={};function e(a){if(n[a])return n[a].exports;var i=n[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,a){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:a})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(e.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)e.d(a,i,function(n){return t[n]}.bind(null,i));return a},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="/dist/",e(e.s=205)}({0:function(t,n,e){"use strict";function a(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null==e)return;var a,i,o=[],r=!0,s=!1;try{for(e=e.call(t);!(r=(a=e.next()).done)&&(o.push(a.value),!n||o.length!==n);r=!0);}catch(t){s=!0,i=t}finally{try{r||null==e.return||e.return()}finally{if(s)throw i}}return o}(t,n)||function(t,n){if(!t)return;if("string"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,a=new Array(n);e<n;e++)a[e]=t[e];return a}t.exports=function(t){var n=a(t,4),e=n[1],i=n[3];if(!i)return e;if("function"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(o),s="/*# ".concat(r," */"),l=i.sources.map((function(t){return"/*# sourceURL=".concat(i.sourceRoot||"").concat(t," */")}));return[e].concat(l).concat([s]).join("\n")}return[e].join("\n")}},1:function(t,n,e){"use strict";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?"@media ".concat(n[2]," {").concat(e,"}"):e})).join("")},n.i=function(t,e,a){"string"==typeof t&&(t=[[null,t,""]]);var i={};if(a)for(var o=0;o<this.length;o++){var r=this[o][0];null!=r&&(i[r]=!0)}for(var s=0;s<t.length;s++){var l=[].concat(t[s]);a&&i[l[0]]||(e&&(l[2]?l[2]="".concat(e," and ").concat(l[2]):l[2]=e),n.push(l))}},n}},10:function(t,n){},11:function(t,n,e){"use strict";e.r(n);var a=e(5),i=e(2),o=e.n(i),r=e(13),s={insert:"head",singleton:!1};o()(r.a,s),r.a.locals;
|
|
2
2
|
/**
|
|
3
3
|
* @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>
|
|
4
4
|
*
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
22
22
|
*
|
|
23
23
|
*/
|
|
24
|
-
e.VTooltip.options.defaultTemplate='<div class="vue-tooltip" role="tooltip" data-v-'.concat("f56d517",'><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'),e.VTooltip.options.defaultHtml=!1;n.default=e.VTooltip},function(t,n){t.exports=require("core-js/modules/es.string.trim.js")},function(t,n,A){"use strict";var e=A(0),i=A.n(e),a=A(1),o=A.n(a)()(i.a);o.push([t.i,".vue-tooltip[data-v-f56d517]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-f56d517][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-f56d517][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-f56d517][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-f56d517][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-f56d517][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-f56d517][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-f56d517] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-f56d517] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\n","",{version:3,sources:["webpack://./index.scss"],names:[],mappings:"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C",sourcesContent:["$scope_version:\"f56d517\"; @import 'variables';\n/**\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\n*\n* Bootstrap v3.3.5 (http://getbootstrap.com)\n* Copyright 2011-2015 Twitter, Inc.\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n*/\n\n$arrow-width: 10px;\n\n.vue-tooltip[data-v-#{$scope_version}] {\n\tposition: absolute;\n\tz-index: 100000;\n\tright: auto;\n\tleft: auto;\n\tdisplay: block;\n\tmargin: 0;\n\t/* default to top */\n\tmargin-top: -3px;\n\tpadding: 10px 0;\n\ttext-align: left;\n\ttext-align: start;\n\topacity: 0;\n\tline-height: 1.6;\n\n\tline-break: auto;\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t// TOP\n\t&[x-placement^='top'] {\n\t\t.tooltip-arrow {\n\t\t\tbottom: 0;\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// BOTTOM\n\t&[x-placement^='bottom'] {\n\t\t.tooltip-arrow {\n\t\t\ttop: 0;\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// RIGHT\n\t&[x-placement^='right'] {\n\t\t.tooltip-arrow {\n\t\t\tright: 100%;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width $arrow-width $arrow-width 0;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// LEFT\n\t&[x-placement^='left'] {\n\t\t.tooltip-arrow {\n\t\t\tleft: 100%;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t}\n\t}\n\n\t// HIDDEN / SHOWN\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity .15s, visibility .15s;\n\t\topacity: 0;\n\t}\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity .15s;\n\t\topacity: 1;\n\t}\n\n\t// CONTENT\n\t.tooltip-inner {\n\t\tmax-width: 350px;\n\t\tpadding: 5px 8px;\n\t\ttext-align: center;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-color: var(--color-main-background);\n\t}\n\n\t// ARROW\n\t.tooltip-arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: 0;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n}\n"],sourceRoot:""}]),n.a=o},function(t,n){t.exports=require("core-js/modules/es.array.map.js")},function(t,n){t.exports=require("core-js/modules/es.string.replace.js")},function(t,n){t.exports=require("core-js/modules/es.regexp.to-string.js")},,function(t,n,A){"use strict";var e={name:"Popover",components:{VPopover:A(6).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(n){n?t.$emit("after-show"):t.$emit("after-hide")}))}},i=A(2),a=A.n(i),o=A(19),r={insert:"head",singleton:!1},s=(a()(o.a,r),o.a.locals,A(3)),c=A(20),l=A.n(c),d=Object(s.a)(e,(function(){var t=this.$createElement,n=this._self._c||t;return n("VPopover",this._g(this._b({ref:"popover",attrs:{"popover-base-class":"popover","popover-wrapper-class":"popover__wrapper","popover-arrow-class":"popover__arrow","popover-inner-class":"popover__inner"}},"VPopover",this.$attrs,!1),this.$listeners),[this._t("trigger"),this._v(" "),n("template",{slot:"popover"},[this._t("default")],2)],2)}),[],!1,null,null,null);"function"==typeof l.a&&l()(d);n.a=d.exports},function(t,n){t.exports=require("@nextcloud/event-bus")},function(t,n){t.exports=require("core-js/modules/es.number.constructor.js")},function(t,n){t.exports=require("core-js/modules/es.symbol.js")},,,function(t,n){t.exports=require("@nextcloud/auth")},function(t,n,A){"use strict";A.r(n);var e=A(11),i=new(A.n(e).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit("changed",t)}},created:function(){window.addEventListener("resize",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener("resize",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});n.default={data:function(){return{isMobile:!1}},mounted:function(){i.$on("changed",this.onIsMobileChanged),this.isMobile=i.isMobile},beforeDestroy:function(){i.$off("changed",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,n){t.exports=require("@nextcloud/axios")},function(t,n){t.exports=require("core-js/modules/es.symbol.description.js")},,function(t,n){t.exports=require("core-js/modules/web.url.js")},function(t,n){t.exports=require("core-js/modules/es.array.slice.js")},function(t,n){t.exports=require("v-click-outside")},function(t,n){t.exports=require("striptags")},function(t,n,A){"use strict";var e=A(0),i=A.n(e),a=A(1),o=A.n(a)()(i.a);o.push([t.i,".mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\n","",{version:3,sources:["webpack://./MentionBubble.vue"],names:[],mappings:"AAsGC,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa",sourcesContent:["$scope_version:\"f56d517\"; @import 'variables';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$bubble-height: 20px;\n$bubble-max-width: 150px;\n$bubble-padding: 2px;\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\n\n.mention-bubble {\n\t&--primary &__content {\n\t\tcolor: var(--color-primary-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t&__wrapper {\n\t\tmax-width: $bubble-max-width;\n\t\t// Align with text\n\t\theight: $bubble-height - $bubble-padding;\n\t\tvertical-align: text-bottom;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tmax-width: 100%;\n\t\theight: $bubble-height ;\n\t\t-webkit-user-select: none;\n\t\tuser-select: none;\n\t\tpadding-right: $bubble-padding * 3;\n\t\tpadding-left: $bubble-padding;\n\t\tborder-radius: $bubble-height / 2;\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\twidth: $bubble-avatar-size;\n\t\theight: $bubble-avatar-size;\n\t\tborder-radius: $bubble-avatar-size / 2;\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\n\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tmargin-left: $bubble-padding;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Put label in ::before so it is not selectable\n\t\t&::before {\n\t\t\tcontent: attr(title);\n\t\t}\n\t}\n\n\t// Hide the mention id so it is selectable\n\t&__select {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\tleft: -1000px;\n\t}\n}\n\n"],sourceRoot:""}]),n.a=o},function(t,n,A){"use strict";A.d(n,"a",(function(){return e.default})),A.d(n,"b",(function(){return i.default})),A.d(n,"c",(function(){return a.default})),A.d(n,"d",(function(){return o.default})),A.d(n,"e",(function(){return p}));var e=A(74),i=A(75),a=A(35),o=A(59),r=(A(5),A(58),A(57),A(36)),s=A.n(r),c=A(13),l=A(81),d=A(34);function u(t,n,A,e,i,a,o){try{var r=t[a](o),s=r.value}catch(t){return void A(t)}r.done?n(s):Promise.resolve(s).then(e,i)}
|
|
24
|
+
a.VTooltip.options.defaultTemplate='<div class="vue-tooltip" role="tooltip" data-v-'.concat("542b2ae",'><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'),a.VTooltip.options.defaultHtml=!1,a.VTooltip.options.defaultDelay={show:500,hide:200};n.default=a.VTooltip},12:function(t,n){t.exports=require("@nextcloud/l10n/dist/gettext")},13:function(t,n,e){"use strict";var a=e(0),i=e.n(a),o=e(1),r=e.n(o)()(i.a);r.push([t.i,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-542b2ae]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-542b2ae][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-542b2ae][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-542b2ae][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-542b2ae][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-542b2ae][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-542b2ae][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-542b2ae] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-542b2ae] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./index.scss"],names:[],mappings:"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n/**\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\n*\n* Bootstrap v3.3.5 (http://getbootstrap.com)\n* Copyright 2011-2015 Twitter, Inc.\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n*/\n\n$arrow-width: 10px;\n\n.vue-tooltip[data-v-#{$scope_version}] {\n\tposition: absolute;\n\tz-index: 100000;\n\tright: auto;\n\tleft: auto;\n\tdisplay: block;\n\tmargin: 0;\n\t/* default to top */\n\tmargin-top: -3px;\n\tpadding: 10px 0;\n\ttext-align: left;\n\ttext-align: start;\n\topacity: 0;\n\tline-height: 1.6;\n\n\tline-break: auto;\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t// TOP\n\t&[x-placement^='top'] {\n\t\t.tooltip-arrow {\n\t\t\tbottom: 0;\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// BOTTOM\n\t&[x-placement^='bottom'] {\n\t\t.tooltip-arrow {\n\t\t\ttop: 0;\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// RIGHT\n\t&[x-placement^='right'] {\n\t\t.tooltip-arrow {\n\t\t\tright: 100%;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width $arrow-width $arrow-width 0;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// LEFT\n\t&[x-placement^='left'] {\n\t\t.tooltip-arrow {\n\t\t\tleft: 100%;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t}\n\t}\n\n\t// HIDDEN / SHOWN\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity .15s, visibility .15s;\n\t\topacity: 0;\n\t}\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity .15s;\n\t\topacity: 1;\n\t}\n\n\t// CONTENT\n\t.tooltip-inner {\n\t\tmax-width: 350px;\n\t\tpadding: 5px 8px;\n\t\ttext-align: center;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-color: var(--color-main-background);\n\t}\n\n\t// ARROW\n\t.tooltip-arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: 0;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n}\n"],sourceRoot:""}]),n.a=r},14:function(t,n,e){"use strict";var a={name:"Popover",components:{VPopover:e(5).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(n){n?t.$emit("after-show"):t.$emit("after-hide")}))}},i=e(2),o=e.n(i),r=e(9),s={insert:"head",singleton:!1},l=(o()(r.a,s),r.a.locals,e(3)),c=e(10),u=e.n(c),d=Object(l.a)(a,(function(){var t=this,n=t.$createElement;return(t._self._c||n)("VPopover",t._g(t._b({ref:"popover",attrs:{"popover-base-class":"popover","popover-wrapper-class":"popover__wrapper","popover-arrow-class":"popover__arrow","popover-inner-class":"popover__inner"},scopedSlots:t._u([{key:"popover",fn:function(){return[t._t("default")]},proxy:!0}],null,!0)},"VPopover",t.$attrs,!1),t.$listeners),[t._t("trigger")],2)}),[],!1,null,null,null);"function"==typeof u.a&&u()(d);n.a=d.exports},15:function(t,n){t.exports=require("vue-material-design-icons/DotsHorizontal")},16:function(t,n){t.exports=require("@nextcloud/event-bus")},18:function(t,n){t.exports=require("@nextcloud/auth")},182:function(t,n,e){"use strict";var a=e(0),i=e.n(a),o=e(1),r=e.n(o)()(i.a);r.push([t.i,".material-design-icon[data-v-20a66960]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.user-bubble__wrapper[data-v-20a66960]{display:inline-block;vertical-align:middle;min-width:0;max-width:100%}.user-bubble__content[data-v-20a66960]{display:inline-flex;max-width:100%;background-color:var(--color-background-dark)}.user-bubble__content--primary[data-v-20a66960]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.user-bubble__content[data-v-20a66960]>:last-child{padding-right:8px}.user-bubble__avatar[data-v-20a66960]{align-self:center}.user-bubble__title[data-v-20a66960]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.user-bubble__title[data-v-20a66960],.user-bubble__secondary[data-v-20a66960]{padding:0;padding-left:4px}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./UserBubble.vue"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCiRvB,uCAEC,oBAAqB,CACrB,qBAAsB,CAEtB,WAAY,CACZ,cAAe,CACf,uCAGA,mBAAoB,CACpB,cAAe,CACf,6CAA8C,CAE9C,gDACC,+BAAgC,CAChC,6CAA8C,CAP/C,mDAYC,iBAAkB,CAClB,sCAID,iBAAkB,CAClB,qCAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,8EAKA,SAAU,CACV,gBAAiB",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.user-bubble {\n\t&__wrapper {\n\t\t// align inline with text\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\t// shrink and allow grow to fit\n\t\tmin-width: 0;\n\t\tmax-width: 100%;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-background-dark);\n\n\t\t&--primary {\n\t\t\tcolor: var(--color-primary-text);\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\n\t\t> :last-child {\n\t\t\t// border radius left padding\n\t\t\tpadding-right: 8px;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\talign-self: center;\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__title,\n\t&__secondary {\n\t\t// proper spacing between avatar, title & slot\n\t\tpadding: 0;\n\t\tpadding-left: 4px;\n\t}\n}\n\n"],sourceRoot:""}]),n.a=r},183:function(t,n){},19:function(t,n,e){"use strict";e.r(n);var a=e(14);
|
|
25
25
|
/**
|
|
26
|
-
* @copyright Copyright (c)
|
|
26
|
+
* @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>
|
|
27
27
|
*
|
|
28
|
-
* @author
|
|
28
|
+
* @author Marco Ambrosini <marcoambrosini@pm.me>
|
|
29
29
|
*
|
|
30
30
|
* @license GNU AGPL version 3 or any later version
|
|
31
31
|
*
|
|
@@ -36,17 +36,17 @@ e.VTooltip.options.defaultTemplate='<div class="vue-tooltip" role="tooltip" data
|
|
|
36
36
|
*
|
|
37
37
|
* This program is distributed in the hope that it will be useful,
|
|
38
38
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
39
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
39
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
40
40
|
* GNU Affero General Public License for more details.
|
|
41
41
|
*
|
|
42
42
|
* You should have received a copy of the GNU Affero General Public License
|
|
43
43
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
44
44
|
*
|
|
45
|
-
*/var
|
|
45
|
+
*/n.default=a.a},2:function(t,n,e){"use strict";var a,i=function(){return void 0===a&&(a=Boolean(window&&document&&document.all&&!window.atob)),a},o=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),r=[];function s(t){for(var n=-1,e=0;e<r.length;e++)if(r[e].identifier===t){n=e;break}return n}function l(t,n){for(var e={},a=[],i=0;i<t.length;i++){var o=t[i],l=n.base?o[0]+n.base:o[0],c=e[l]||0,u="".concat(l," ").concat(c);e[l]=c+1;var d=s(u),m={css:o[1],media:o[2],sourceMap:o[3]};-1!==d?(r[d].references++,r[d].updater(m)):r.push({identifier:u,updater:A(m,n),references:1}),a.push(u)}return a}function c(t){var n=document.createElement("style"),a=t.attributes||{};if(void 0===a.nonce){var i=e.nc;i&&(a.nonce=i)}if(Object.keys(a).forEach((function(t){n.setAttribute(t,a[t])})),"function"==typeof t.insert)t.insert(n);else{var r=o(t.insert||"head");if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}return n}var u,d=(u=[],function(t,n){return u[t]=n,u.filter(Boolean).join("\n")});function m(t,n,e,a){var i=e?"":a.media?"@media ".concat(a.media," {").concat(a.css,"}"):a.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var o=document.createTextNode(i),r=t.childNodes;r[n]&&t.removeChild(r[n]),r.length?t.insertBefore(o,r[n]):t.appendChild(o)}}function p(t,n,e){var a=e.css,i=e.media,o=e.sourceMap;if(i?t.setAttribute("media",i):t.removeAttribute("media"),o&&"undefined"!=typeof btoa&&(a+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),t.styleSheet)t.styleSheet.cssText=a;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(a))}}var g=null,h=0;function A(t,n){var e,a,i;if(n.singleton){var o=h++;e=g||(g=c(n)),a=m.bind(null,e,o,!1),i=m.bind(null,e,o,!0)}else e=c(n),a=p.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return a(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;a(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||"boolean"==typeof n.singleton||(n.singleton=i());var e=l(t=t||[],n);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var a=0;a<e.length;a++){var i=s(e[a]);r[i].references--}for(var o=l(t,n),c=0;c<e.length;c++){var u=s(e[c]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}e=o}}}},20:function(t,n,e){"use strict";e.r(n);var a=e(6),i=new(e.n(a).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit("changed",t)}},created:function(){window.addEventListener("resize",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener("resize",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});n.default={data:function(){return{isMobile:!1}},mounted:function(){i.$on("changed",this.onIsMobileChanged),this.isMobile=i.isMobile},beforeDestroy:function(){i.$off("changed",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},205:function(t,n,e){"use strict";e.r(n);var a=e(19),i={name:"UserBubbleDiv"},o=e(3),r=Object(o.a)(i,(function(){var t=this.$createElement;return(this._self._c||t)("div",[this._t("trigger")],2)}),[],!1,null,null,null).exports,s=e(54),l={name:"UserBubble",components:{Popover:a.default,Avatar:s.default,UserBubbleDiv:r},props:{avatarImage:{type:String,default:void 0},user:{type:String,default:void 0},displayName:{type:String,required:!0},showUserStatus:{type:Boolean,default:!1},url:{type:String,default:void 0,validator:function(t){try{return!!(t=new URL(t))}catch(t){return!1}}},open:{type:Boolean,default:!1},primary:{type:Boolean,default:!1},size:{type:Number,default:20},margin:{type:Number,default:2}},computed:{isPopoverComponent:function(){return this.popoverEmpty?"UserBubbleDiv":"Popover"},isAvatarUrl:function(){if(!this.avatarImage)return!1;try{return!!new URL(this.avatarImage)}catch(t){return!1}},isCustomAvatar:function(){return!!this.avatarImage},isLinkComponent:function(){return this.url&&""!==this.url.trim()?{is:"a",href:this.url}:{is:"div"}},popoverEmpty:function(){return!("default"in this.$slots)},styles:function(){return{content:{height:this.size+"px",lineHeight:this.size+"px",borderRadius:this.size/2+"px"},avatar:{marginLeft:this.margin+"px"}}}},methods:{onOpenChange:function(t){this.$emit("update:open",t)},onClick:function(t){this.$emit("click",t)}}},c=e(2),u=e.n(c),d=e(182),m={insert:"head",singleton:!1},p=(u()(d.a,m),d.a.locals,e(183)),g=e.n(p),h=Object(o.a)(l,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(t.isPopoverComponent,{tag:"Popover",staticClass:"user-bubble__wrapper",attrs:{trigger:"hover focus",open:t.open},on:{"update:open":t.onOpenChange},scopedSlots:t._u([{key:"trigger",fn:function(){return[e("div",t._b({staticClass:"user-bubble__content",class:t.primary?"user-bubble__content--primary":"",style:t.styles.content,on:{click:t.onClick}},"div",t.isLinkComponent,!1),[e("Avatar",t._b({staticClass:"user-bubble__avatar",style:t.styles.avatar,attrs:{url:t.isCustomAvatar&&t.isAvatarUrl?t.avatarImage:void 0,"icon-class":t.isCustomAvatar&&!t.isAvatarUrl?t.avatarImage:void 0,user:t.user,"display-name":t.displayName,size:t.size-2*t.margin,"disable-tooltip":!0,"disable-menu":!0}},"Avatar",t.$props,!1)),t._v(" "),e("span",{staticClass:"user-bubble__title"},[t._v("\n\t\t\t\t"+t._s(t.displayName||t.user)+"\n\t\t\t")]),t._v(" "),t.$slots.title?e("span",{staticClass:"user-bubble__secondary"},[t._t("title")],2):t._e()],1)]},proxy:!0}],null,!0)},[t._v(" "),t._t("default")],2)}),[],!1,null,"20a66960",null);"function"==typeof g.a&&g()(h);var A=h.exports;
|
|
46
46
|
/**
|
|
47
|
-
* @copyright Copyright (c)
|
|
47
|
+
* @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>
|
|
48
48
|
*
|
|
49
|
-
* @author
|
|
49
|
+
* @author Marco Ambrosini <marcoambrosini@pm.me>
|
|
50
50
|
*
|
|
51
51
|
* @license GNU AGPL version 3 or any later version
|
|
52
52
|
*
|
|
@@ -63,11 +63,11 @@ e.VTooltip.options.defaultTemplate='<div class="vue-tooltip" role="tooltip" data
|
|
|
63
63
|
* You should have received a copy of the GNU Affero General Public License
|
|
64
64
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
65
65
|
*
|
|
66
|
-
*/},function(t,n){t.exports=require("
|
|
66
|
+
*/n.default=A},21:function(t,n){t.exports=require("@nextcloud/axios")},22:function(t,n,e){"use strict";e.d(n,"a",(function(){return a.default})),e.d(n,"b",(function(){return i.default})),e.d(n,"c",(function(){return o.default})),e.d(n,"d",(function(){return r.default})),e.d(n,"e",(function(){return p}));var a=e(46),i=e(47),o=e(20),r=e(38),s=e(21),l=e.n(s),c=e(7),u=e(56),d=e(18);function m(t,n,e,a,i,o,r){try{var s=t[o](r),l=s.value}catch(t){return void e(t)}s.done?n(l):Promise.resolve(l).then(a,i)}
|
|
67
67
|
/**
|
|
68
|
-
* @copyright Copyright (c)
|
|
68
|
+
* @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>
|
|
69
69
|
*
|
|
70
|
-
* @author
|
|
70
|
+
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
|
|
71
71
|
*
|
|
72
72
|
* @license GNU AGPL version 3 or any later version
|
|
73
73
|
*
|
|
@@ -78,15 +78,15 @@ e.VTooltip.options.defaultTemplate='<div class="vue-tooltip" role="tooltip" data
|
|
|
78
78
|
*
|
|
79
79
|
* This program is distributed in the hope that it will be useful,
|
|
80
80
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
81
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
81
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
82
82
|
* GNU Affero General Public License for more details.
|
|
83
83
|
*
|
|
84
84
|
* You should have received a copy of the GNU Affero General Public License
|
|
85
85
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
86
86
|
*
|
|
87
|
-
*/n.default=e.a},function(t,n){t.exports=require("linkifyjs/string")},,function(t,n){t.exports=require("core-js/modules/es.array.concat.js")},,function(t,n){t.exports=require("core-js/modules/es.array.from.js")},function(t,n,A){"use strict";var e=A(0),i=A.n(e),a=A(1),o=A.n(a)()(i.a);o.push([t.i,"\nbutton.menuitem[data-v-54983729] {\n\ttext-align: left;\n}\nbutton.menuitem *[data-v-54983729] {\n\tcursor: pointer;\n}\nbutton.menuitem[data-v-54983729]:disabled {\n\topacity: 0.5 !important;\n\tcursor: default;\n}\nbutton.menuitem:disabled *[data-v-54983729] {\n\tcursor: default;\n}\n.menuitem.active[data-v-54983729] {\n\tbox-shadow: inset 2px 0 var(--color-primary);\n\tborder-radius: 0;\n}\n","",{version:3,sources:["webpack://./PopoverMenuItem.vue"],names:[],mappings:";AAoLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA",sourcesContent:['\x3c!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n --\x3e\n\n<template>\n\t<li class="popover__menuitem">\n\t\t\x3c!-- If item.href is set, a link will be directly used --\x3e\n\t\t<a v-if="item.href"\n\t\t\t:href="(item.href) ? item.href : \'#\' "\n\t\t\t:target="(item.target) ? item.target : \'\' "\n\t\t\t:download="item.download"\n\t\t\tclass="focusable"\n\t\t\trel="noreferrer noopener"\n\t\t\t@click="action">\n\t\t\t<span v-if="!iconIsUrl" :class="item.icon" />\n\t\t\t<img v-else :src="item.icon">\n\t\t\t<p v-if="item.text && item.longtext">\n\t\t\t\t<strong class="menuitem-text">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class="menuitem-text-detail">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if="item.text">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if="item.longtext">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</a>\n\n\t\t\x3c!-- If item.input is set instead, an put will be used --\x3e\n\t\t<span v-else-if="item.input" class="menuitem" :class="{active: item.active}">\n\t\t\t\x3c!-- does not show if input is checkbox --\x3e\n\t\t\t<span v-if="item.input !== \'checkbox\'" :class="item.icon" />\n\n\t\t\t\x3c!-- only shows if input is text --\x3e\n\t\t\t<form v-if="item.input === \'text\'"\n\t\t\t\t:class="item.input"\n\t\t\t\t@submit.prevent="item.action">\n\t\t\t\t<input :type="item.input"\n\t\t\t\t\t:value="item.value"\n\t\t\t\t\t:placeholder="item.text"\n\t\t\t\t\trequired>\n\t\t\t\t<input type="submit" value="" class="icon-confirm">\n\t\t\t</form>\n\n\t\t\t\x3c!-- checkbox --\x3e\n\t\t\t<template v-else>\n\t\t\t\t\x3c!-- eslint-disable-next-line --\x3e\n\t\t\t\t<input :id="key" v-model="item.model"\n\t\t\t\t\t:type="item.input"\n\t\t\t\t\t:class="item.input"\n\t\t\t\t\t@change="item.action">\n\t\t\t\t<label :for="key" @click.stop.prevent="item.action">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</label>\n\t\t\t</template>\n\t\t</span>\n\n\t\t\x3c!-- If item.action is set instead, a button will be used --\x3e\n\t\t<button v-else-if="item.action"\n\t\t\tclass="menuitem focusable"\n\t\t\t:class="{active: item.active}"\n\t\t\t:disabled="item.disabled"\n\t\t\ttype="button"\n\t\t\t@click.stop.prevent="item.action">\n\t\t\t<span :class="item.icon" />\n\t\t\t<p v-if="item.text && item.longtext">\n\t\t\t\t<strong class="menuitem-text">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class="menuitem-text-detail">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if="item.text">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if="item.longtext">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</button>\n\n\t\t\x3c!-- If item.longtext is set AND the item does not have an action --\x3e\n\t\t<span v-else class="menuitem" :class="{active: item.active}">\n\t\t\t<span :class="item.icon" />\n\t\t\t<p v-if="item.text && item.longtext">\n\t\t\t\t<strong class="menuitem-text">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class="menuitem-text-detail">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if="item.text">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if="item.longtext">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</span>\n\t</li>\n</template>\n\n<script>\nexport default {\n\tname: \'PopoverMenuItem\',\n\tprops: {\n\t\titem: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tdefault: () => {\n\t\t\t\treturn {\n\t\t\t\t\tkey: \'nextcloud-link\',\n\t\t\t\t\thref: \'https://nextcloud.com\',\n\t\t\t\t\ticon: \'icon-links\',\n\t\t\t\t\ttext: \'Nextcloud\',\n\t\t\t\t}\n\t\t\t},\n\t\t\t// check the input types\n\t\t\t// TODO: add more validation of types\n\t\t\tvalidator: item => {\n\t\t\t\t// TODO: support radio\n\t\t\t\tif (item.input) {\n\t\t\t\t\treturn [\'text\', \'checkbox\'].indexOf(item.input) !== -1\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t},\n\t\t},\n\t},\n\tcomputed: {\n\t\t// random key for inputs binding if not provided\n\t\tkey() {\n\t\t\treturn this.item.key\n\t\t\t\t? this.item.key\n\t\t\t\t: Math.round(Math.random() * 16 * 1000000).toString(16)\n\t\t},\n\t\ticonIsUrl() {\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-new\n\t\t\t\tnew URL(this.item.icon)\n\t\t\t\treturn true\n\t\t\t} catch (_) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\t// allow us to use both link and an action on `a`\n\t\t// we still need to make sure item.action exists\n\t\taction(event) {\n\t\t\tif (this.item.action) {\n\t\t\t\tthis.item.action(event)\n\t\t\t}\n\t\t},\n\t},\n}\n<\/script>\n\n<style scoped>\n\tbutton.menuitem {\n\t\ttext-align: left;\n\t}\n\n\tbutton.menuitem * {\n\t\tcursor: pointer;\n\t}\n\n\tbutton.menuitem:disabled {\n\t\topacity: 0.5 !important;\n\t\tcursor: default;\n\t}\n\n\tbutton.menuitem:disabled * {\n\t\tcursor: default;\n\t}\n\n\t.menuitem.active {\n\t\tbox-shadow: inset 2px 0 var(--color-primary);\n\t\tborder-radius: 0;\n\t}\n</style>\n\n<style lang="scss" scoped>\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^=\'icon-\'],\n\t\tspan[class*=\' icon-\'],\n\t\t&[class^=\'icon-\'],\n\t\t&[class*=\' icon-\'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^=\'icon-\'],\n\t\tspan[class*=\' icon-\'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^=\'icon-\']):not([class*=\'icon-\']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^=\'icon-\']):not([class*=\'icon-\']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^=\'icon-\'],\n\t\t&[class*=\' icon-\'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $icon-size;\n\t\t\tpadding: $icon-margin;\n\t\t}\n\n\t\t/* checkbox/radio fixes */\n\t\t> input.radio + label,\n\t\t> input.checkbox + label {\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t> input.checkbox + label::before {\n\t\t\tmargin: -2px 13px 0;\n\t\t}\n\t\t> input.radio + label::before {\n\t\t\tmargin: -2px 12px 0;\n\t\t}\n\t\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\n\t\t\twidth: 150px;\n\t\t}\n\n\t\t// Forms & text inputs\n\t\tform {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\t/* put a small space between text and form\n\t\t\t\tif there is an element before */\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t/* no margin if hidden span before */\n\t\t> span.hidden + form,\n\t\t> span[style*=\'display:none\'] + form {\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t/* Inputs inside popover supports text, submit & reset */\n\t\tinput {\n\t\t\tmin-width: $clickable-area;\n\t\t\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\n\t\t\tmargin: 2px 0;\n\t\t\tflex: 1 1 auto;\n\t\t\t// space between inline inputs\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: do that in js, should be cleaner\n\t/* css hack, only first not hidden */\n\t&:not(.hidden):not([style*=\'display:none\']) {\n\t\t&:first-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-top: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:last-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-bottom: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t> button {\n\t\tpadding: 0;\n\t\tspan {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n}\n</style>\n'],sourceRoot:""}]),n.a=o},function(t,n,A){"use strict";var e=A(0),i=A.n(e),a=A(1),o=A.n(a)()(i.a);o.push([t.i,"li[data-v-54983729]{display:flex;flex:0 0 auto}li.hidden[data-v-54983729]{display:none}li>button[data-v-54983729],li>a[data-v-54983729],li>.menuitem[data-v-54983729]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{padding:0 14px 0 44px}li>button[data-v-54983729]:not(:disabled):hover,li>button[data-v-54983729]:not(:disabled):focus,li>button:not(:disabled).active[data-v-54983729],li>a[data-v-54983729]:not(:disabled):hover,li>a[data-v-54983729]:not(:disabled):focus,li>a:not(:disabled).active[data-v-54983729],li>.menuitem[data-v-54983729]:not(:disabled):hover,li>.menuitem[data-v-54983729]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-54983729]{opacity:1 !important}li>button.action[data-v-54983729],li>a.action[data-v-54983729],li>.menuitem.action[data-v-54983729]{padding:inherit !important}li>button>span[data-v-54983729],li>a>span[data-v-54983729],li>.menuitem>span[data-v-54983729]{cursor:pointer;white-space:nowrap}li>button>p[data-v-54983729],li>a>p[data-v-54983729],li>.menuitem>p[data-v-54983729]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-54983729],li>a>select[data-v-54983729],li>.menuitem>select[data-v-54983729]{margin:0;margin-left:6px}li>button[data-v-54983729]:not(:empty),li>a[data-v-54983729]:not(:empty),li>.menuitem[data-v-54983729]:not(:empty){padding-right:14px !important}li>button>img[data-v-54983729],li>a>img[data-v-54983729],li>.menuitem>img[data-v-54983729]{width:16px;padding:14px}li>button>input.radio+label[data-v-54983729],li>button>input.checkbox+label[data-v-54983729],li>a>input.radio+label[data-v-54983729],li>a>input.checkbox+label[data-v-54983729],li>.menuitem>input.radio+label[data-v-54983729],li>.menuitem>input.checkbox+label[data-v-54983729]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-54983729]::before,li>a>input.checkbox+label[data-v-54983729]::before,li>.menuitem>input.checkbox+label[data-v-54983729]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-54983729]::before,li>a>input.radio+label[data-v-54983729]::before,li>.menuitem>input.radio+label[data-v-54983729]::before{margin:-2px 12px 0}li>button>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-54983729],li>a form[data-v-54983729],li>.menuitem form[data-v-54983729]{display:flex;flex:1 1 auto}li>button form[data-v-54983729]:not(:first-child),li>a form[data-v-54983729]:not(:first-child),li>.menuitem form[data-v-54983729]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-54983729],li>button>span[style*='display:none']+form[data-v-54983729],li>a>span.hidden+form[data-v-54983729],li>a>span[style*='display:none']+form[data-v-54983729],li>.menuitem>span.hidden+form[data-v-54983729],li>.menuitem>span[style*='display:none']+form[data-v-54983729]{margin-left:0}li>button input[data-v-54983729],li>a input[data-v-54983729],li>.menuitem input[data-v-54983729]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-54983729]:not(:first-child),li>a input[data-v-54983729]:not(:first-child),li>.menuitem input[data-v-54983729]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-54983729]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-54983729]{margin-bottom:12px}li>button[data-v-54983729]{padding:0}li>button span[data-v-54983729]{opacity:1}\n","",{version:3,sources:["webpack://./PopoverMenuItem.vue","webpack://./../../assets/variables.scss"],names:[],mappings:"AA6MA,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,YCrR6C,CD4KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cCjUkB,CDkUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC9Ua",sourcesContent:["$scope_version:\"f56d517\"; @import 'variables';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'],\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^='icon-']):not([class*='icon-']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^='icon-']):not([class*='icon-']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $icon-size;\n\t\t\tpadding: $icon-margin;\n\t\t}\n\n\t\t/* checkbox/radio fixes */\n\t\t> input.radio + label,\n\t\t> input.checkbox + label {\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t> input.checkbox + label::before {\n\t\t\tmargin: -2px 13px 0;\n\t\t}\n\t\t> input.radio + label::before {\n\t\t\tmargin: -2px 12px 0;\n\t\t}\n\t\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\n\t\t\twidth: 150px;\n\t\t}\n\n\t\t// Forms & text inputs\n\t\tform {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\t/* put a small space between text and form\n\t\t\t\tif there is an element before */\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t/* no margin if hidden span before */\n\t\t> span.hidden + form,\n\t\t> span[style*='display:none'] + form {\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t/* Inputs inside popover supports text, submit & reset */\n\t\tinput {\n\t\t\tmin-width: $clickable-area;\n\t\t\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\n\t\t\tmargin: 2px 0;\n\t\t\tflex: 1 1 auto;\n\t\t\t// space between inline inputs\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: do that in js, should be cleaner\n\t/* css hack, only first not hidden */\n\t&:not(.hidden):not([style*='display:none']) {\n\t\t&:first-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-top: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:last-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-bottom: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t> button {\n\t\tpadding: 0;\n\t\tspan {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: ($clickable-area - $icon-size) / 2;\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n"],sourceRoot:""}]),n.a=o},function(t,n,A){"use strict";var e=A(0),i=A.n(e),a=A(1),o=A.n(a)()(i.a);o.push([t.i,"ul[data-v-4dae360a]{display:flex;flex-direction:column}\n","",{version:3,sources:["webpack://./PopoverMenu.vue"],names:[],mappings:"AA0DA,oBACC,YAAa,CACb,qBAAsB",sourcesContent:["$scope_version:\"f56d517\"; @import 'variables';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nul {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n"],sourceRoot:""}]),n.a=o},function(t,n){},function(t,n){t.exports=require("core-js/modules/es.array.join.js")},function(t,n){t.exports=require("regenerator-runtime/runtime.js")},function(t,n){t.exports=require("core-js/modules/es.promise.js")},function(t,n,A){"use strict";A.r(n),A.d(n,"USERID_REGEX",(function(){return h})),A.d(n,"USERID_REGEX_WITH_SPACE",(function(){return b}));A(89),A(15),A(26),A(90),A(24),A(78),A(25),A(56),A(62);var e=A(61),i=A.n(e),a=A(47),o=A.n(a),r=A(42),s=A.n(r),c=A(11),l=A.n(c),d=A(13),u={name:"MentionBubble",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&"users"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(" ")?"@".concat(this.id):'@"'.concat(this.id,'"')}},methods:{getAvatarUrl:function(t,n){return Object(d.generateUrl)("/avatar/{user}/{size}",{user:t,size:n})}}},p=A(2),g=A.n(p),m=A(43),C={insert:"head",singleton:!1},f=(g()(m.a,C),m.a.locals,A(3)),v=Object(f.a)(u,(function(){var t=this,n=t.$createElement,A=t._self._c||n;return A("span",{staticClass:"mention-bubble",class:{"mention-bubble--primary":t.primary},attrs:{contenteditable:"false"}},[A("span",{staticClass:"mention-bubble__wrapper"},[A("span",{staticClass:"mention-bubble__content"},[A("span",{staticClass:"mention-bubble__icon",class:[t.icon,"mention-bubble__icon--"+(t.avatarUrl?"with-avatar":"")],style:t.avatarUrl?{backgroundImage:"url("+t.avatarUrl+")"}:null}),t._v(" "),A("span",{staticClass:"mention-bubble__title",attrs:{role:"heading",title:t.label}})]),t._v(" "),A("span",{staticClass:"mention-bubble__select",attrs:{role:"none"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,"724f9d58",null).exports,h=new RegExp("".concat("(?:^|\\s)","(@[a-zA-Z0-9_.@\\-']+)(").concat("(?:[^a-z]|$)",")"),"gi"),b=new RegExp("".concat("(?:^|\\s)",'(@"[a-zA-Z0-9 _.@\\-\']+")(').concat("(?:[^a-z]|$)",")"),"gi");n.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var n=this;return i()(t).split(h).map((function(t){return t.split(b)})).flat().map((function(t){if(!t.startsWith("@"))return o()(t,{defaultProtocol:"https",target:"_blank",className:"external",attributes:{rel:"noopener noreferrer"}});var A=t.replace(/[@"]/gi,"");return" "+n.genSelectTemplate(A)})).join("").replace(/\n/gim,"<br>").replace(/&/gim,"&")},parseContent:function(t){var n=t.replace(/<br>/gim,"\n");return n=(n=(n=n.replace(/ /gim," ")).replace(/&/gim,"&")).replace(/<\/div>/gim,"\n"),n=s()(n,"<div>"),n=s()(n)},genSelectTemplate:function(t){var n=this.userData[t];return n?this.renderComponentHtml(n,v).replace(/[\n\t]/gim,""):-1===t.indexOf(" ")?"@".concat(t):'@"'.concat(t,'"')},renderComponentHtml:function(t,n){var A=new(l.a.extend(n))({propsData:t}),e=document.createElement("div"),i=document.createElement("div");e.style.display="none",e.appendChild(i),document.body.appendChild(e),A.$mount(i);var a=e.innerHTML;return A.$destroy(),e.remove(),a}}}},,function(t,n){t.exports=require("escape-html")},function(t,n){t.exports=require("core-js/modules/es.string.starts-with.js")},function(t,n,A){"use strict";A(49);
|
|
87
|
+
*/var p={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var n,e=this;return(n=regeneratorRuntime.mark((function n(){var a,i,o,r,s,m,p,g,h;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(t){n.next=2;break}return n.abrupt("return");case 2:if(a=Object(u.getCapabilities)(),Object.prototype.hasOwnProperty.call(a,"user_status")&&a.user_status.enabled){n.next=5;break}return n.abrupt("return");case 5:if(Object(d.getCurrentUser)()){n.next=7;break}return n.abrupt("return");case 7:return n.prev=7,n.next=10,l.a.get(Object(c.generateOcsUrl)("apps/user_status/api/v1/statuses/{userId}",{userId:t}));case 10:i=n.sent,o=i.data,r=o.ocs.data,s=r.status,m=r.message,p=r.icon,e.userStatus.status=s,e.userStatus.message=m||"",e.userStatus.icon=p||"",e.hasStatus=!0,n.next=24;break;case 19:if(n.prev=19,n.t0=n.catch(7),404!==n.t0.response.status||0!==(null===(g=n.t0.response.data.ocs)||void 0===g||null===(h=g.data)||void 0===h?void 0:h.length)){n.next=23;break}return n.abrupt("return");case 23:console.error(n.t0);case 24:case"end":return n.stop()}}),n,null,[[7,19]])})),function(){var t=this,e=arguments;return new Promise((function(a,i){var o=n.apply(t,e);function r(t){m(o,a,i,r,s,"next",t)}function s(t){m(o,a,i,r,s,"throw",t)}r(void 0)}))})()}}};
|
|
88
88
|
/**
|
|
89
|
-
* @copyright Copyright (c)
|
|
89
|
+
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
|
|
90
90
|
*
|
|
91
91
|
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
92
92
|
*
|
|
@@ -98,19 +98,18 @@ e.VTooltip.options.defaultTemplate='<div class="vue-tooltip" role="tooltip" data
|
|
|
98
98
|
* License, or (at your option) any later version.
|
|
99
99
|
*
|
|
100
100
|
* This program is distributed in the hope that it will be useful,
|
|
101
|
-
* but WITHOUT ANY WARRANTY without even the implied warranty of
|
|
102
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
101
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
102
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
103
103
|
* GNU Affero General Public License for more details.
|
|
104
104
|
*
|
|
105
105
|
* You should have received a copy of the GNU Affero General Public License
|
|
106
106
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
107
107
|
*
|
|
108
|
-
*/
|
|
109
|
-
function e(t,n,A){this.r=t,this.g=n,this.b=A}function i(t,n,A){var i=[];i.push(n);for(var a=function(t,n){var A=new Array(3);return A[0]=(n[1].r-n[0].r)/t,A[1]=(n[1].g-n[0].g)/t,A[2]=(n[1].b-n[0].b)/t,A}(t,[n,A]),o=1;o<t;o++){var r=parseInt(n.r+a[0]*o,10),s=parseInt(n.g+a[1]*o,10),c=parseInt(n.b+a[2]*o,10);i.push(new e(r,s,c))}return i}n.a=function(t){t||(t=6);var n=new e(182,70,157),A=new e(221,203,85),a=new e(0,130,201),o=i(t,n,A),r=i(t,A,a),s=i(t,a,n);return o.concat(r).concat(s)}},function(t,n,A){"use strict";var e=A(0),i=A.n(e),a=A(1),o=A.n(a),r=A(4),s=A.n(r),c=A(7),l=A(8),d=A(9),u=A(10),p=o()(i.a),g=s()(c.a),m=s()(l.a),C=s()(d.a),f=s()(u.a);p.push([t.i,'@font-face{font-family:"iconfont-vue-f56d517";src:url('+g+");src:url("+g+') format("embedded-opentype"),url('+m+') format("woff"),url('+C+') format("truetype"),url('+f+') format("svg")}.icon[data-v-68aca969]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.arrow-left[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.arrow-right-double[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.arrow-right[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.breadcrumb[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.checkmark[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.close[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.confirm[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.info[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.menu[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.more[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.pause[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.play[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.triangle-s[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.user-status-away[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.user-status-dnd[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.user-status-invisible[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.icon.user-status-online[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";content:""}.avatardiv[data-v-68aca969]{position:relative;display:inline-block}.avatardiv--unknown[data-v-68aca969]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-68aca969]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-68aca969]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-68aca969]{cursor:pointer}.avatardiv--with-menu[data-v-68aca969] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-68aca969],.avatardiv--with-menu .icon-loading[data-v-68aca969]{display:flex;cursor:pointer;background:none;font-size:18px;align-items:center;justify-content:center}.avatardiv--with-menu .icon-more[data-v-68aca969]:before,.avatardiv--with-menu .icon-loading[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";font-style:normal;font-weight:400;content:""}.avatardiv--with-menu .icon-more[data-v-68aca969]::before,.avatardiv--with-menu .icon-loading[data-v-68aca969]::before{display:block}.avatardiv--with-menu .icon-more[data-v-68aca969]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-68aca969],.avatardiv--with-menu:hover .icon-more[data-v-68aca969]{opacity:1}.avatardiv--with-menu:focus img[data-v-68aca969],.avatardiv--with-menu:hover img[data-v-68aca969]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-68aca969],.avatardiv--with-menu img[data-v-68aca969]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-68aca969]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-68aca969]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__status[data-v-68aca969]{position:absolute;top:22px;left:22px;width:10px;height:10px;border:1px solid rgba(255,255,255,0.5);background-clip:content-box}.avatardiv .avatardiv__status--positive[data-v-68aca969]{border-radius:50%;background-color:var(--color-success)}.avatardiv .avatardiv__status--negative[data-v-68aca969]{background-color:var(--color-error)}.avatardiv .avatardiv__status--neutral[data-v-68aca969]{border:none;background-color:transparent !important}.avatardiv .avatardiv__status--neutral svg[data-v-68aca969]{position:absolute;top:-3px;left:-2px}.avatardiv .avatardiv__status--neutral svg path[data-v-68aca969]{fill:#aaa}.avatardiv .avatardiv__user-status[data-v-68aca969]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-68aca969]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-68aca969]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-68aca969]{color:#49b382}.avatardiv .avatardiv__user-status--online[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";font-style:normal;font-weight:400;content:""}.avatardiv .avatardiv__user-status--dnd[data-v-68aca969]{background-color:#ffffff;color:#ed484c}.avatardiv .avatardiv__user-status--dnd[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";font-style:normal;font-weight:400;content:""}.avatardiv .avatardiv__user-status--away[data-v-68aca969]{color:#f4a331}.avatardiv .avatardiv__user-status--away[data-v-68aca969]:before{font-family:"iconfont-vue-f56d517";font-style:normal;font-weight:400;content:""}.avatardiv .avatardiv__user-status--icon[data-v-68aca969]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-68aca969]{position:relative;display:inline-block}.avatar-class-icon[data-v-68aca969]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\n',"",{version:3,sources:["webpack://./../../fonts/scss/iconfont-vue.scss","webpack://./Avatar.vue"],names:[],mappings:"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,4BACb,iBC2eE,CACT,oBACA,CAAA,qCAEA,iBAAU,CACT,8CACkB,CAAA,qDAGZ,gCAEN,CAAA,yCAKoB,CAAA,sEAPd,gCAKL,CAAA,uCACA,cAAA,CAAA,iDAMD,iBAAiB,CAChB,KAAA,CAAA,MAAU,CAAA,uGAHX,YAOY,CAAA,cACF,CAAA,eACD,CAAA,cACI,CAAA,kBAEZ,CAAA,sBACA,CAAA,qHANW,kCDlnBb,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,uHC+hBU,aAAa,CAAA,kDAPzB,SAoBA,CAAA,gHApBA,SAyBC,CAAA,kGAzBD,WAAW,CAAA,6FAAX,yCAkCqB,CAAA,qCArDvB,iBAyDG,CAAQ,KACT,CAAA,MAAU,CAAA,aAEV,CAAA,UACA,CAAA,iBACO,CAAI,kBACO,CAClB,kCACO,CAAA,gCAAA,UAjET,CAAA,WAsEE,CAAA,gBACQ,CAAA,+CAKT,iBAAA,CAAkB,QACjB,CAAQ,SAAU,CAClB,UACA,CAAA,WACA,CAAA,sCAEkB,CAAA,2BAClB,CAAA,yDACC,iBAAA,CAAU,qCAEQ,CAAA,yDAElB,mCACgB,CAAE,wDAElB,WAAA,CAAA,uCAEkB,CAAA,4DAFlB,iBAGA,CAAG,QACF,CAAQ,SAAU,CAClB,iEALD,SAAS,CAGT,oDAWF,iBAAA,CAAuB,UACZ,CAAA,WACV,CAAA,WACA,CAAA,UACA,CAAA,gBACO,CAAA,kCAEI,CAAA,6CACO,CAAA,6CACA,CAAA,iBAAA,CAA4B,gEAT/C,0CAagB,CAAA,8CACI,CAAA,iEAdpB,uCAiBgB,CAAA,2CACI,CAAA,4DAGlB,aAAA,CAAA,mEAAA,kCDttBF,CAAA,iBAAA,CAAsB,eAkFP,CAAA,WACZ,CAAA,yDCuoBD,wBAEA,CAAA,aAAkB,CAAA,gEAFlB,kCD1tBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC4oBD,aAAA,CAAA,iEAAA,kCD/tBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DCgpBD,WAAA,CAAA,4BAEA,CAAA,iDA7IO,iBAiJT,CAAA,oBACW,CAAQ,oCACT,iBACT,CAAA,+CAKiB,CAAA,WAAA",sourcesContent:['$__iconfont__data: map-merge(if(global_variable_exists(\'__iconfont__data\'), $__iconfont__data, ()), (\n\t"iconfont-vue-f56d517": (\n\t\t"arrow-left-double": "\\ea01",\n\t\t"arrow-left": "\\ea02",\n\t\t"arrow-right-double": "\\ea03",\n\t\t"arrow-right": "\\ea04",\n\t\t"breadcrumb": "\\ea05",\n\t\t"checkmark": "\\ea06",\n\t\t"close": "\\ea07",\n\t\t"confirm": "\\ea08",\n\t\t"info": "\\ea09",\n\t\t"menu": "\\ea0a",\n\t\t"more": "\\ea0b",\n\t\t"pause": "\\ea0c",\n\t\t"play": "\\ea0d",\n\t\t"triangle-s": "\\ea0e",\n\t\t"user-status-away": "\\ea0f",\n\t\t"user-status-dnd": "\\ea10",\n\t\t"user-status-invisible": "\\ea11",\n\t\t"user-status-online": "\\ea12"\n\t)\n));\n\n\n$create-font-face: true !default; // should the @font-face tag get created?\n\n// should there be a custom class for each icon? will be .filename\n$create-icon-classes: true !default; \n\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\n// for each icon\n$icon-common-class: \'icon\' !default;\n\n// if you whish to prefix your filenames, here you can do so.\n// if this string stays empty, your classes will use the filename, for example\n// an icon called star.svg will result in a class called .star\n// if you use the prefix to be \'icon-\' it would result in .icon-star\n$icon-prefix: \'\' !default; \n\n// helper function to get the correct font group\n@function iconfont-group($group: null) {\n @if (null == $group) {\n $group: nth(map-keys($__iconfont__data), 1);\n }\n @if (false == map-has-key($__iconfont__data, $group)) {\n @warn \'Undefined Iconfont Family!\';\n @return ();\n }\n @return map-get($__iconfont__data, $group);\n}\n\n// helper function to get the correct icon of a group\n@function iconfont-item($name) {\n $slash: str-index($name, \'/\');\n $group: null;\n @if ($slash) {\n $group: str-slice($name, 0, $slash - 1);\n $name: str-slice($name, $slash + 1);\n } @else {\n $group: nth(map-keys($__iconfont__data), 1);\n }\n $group: iconfont-group($group);\n @if (false == map-has-key($group, $name)) {\n @warn \'Undefined Iconfont Glyph!\';\n @return \'\';\n }\n @return map-get($group, $name);\n}\n\n// complete mixing to include the icon\n// usage:\n// .my_icon{ @include iconfont(\'star\') }\n@mixin iconfont($icon) {\n $slash: str-index($icon, \'/\');\n $group: null;\n @if ($slash) {\n $group: str-slice($icon, 0, $slash - 1);\n } @else {\n $group: nth(map-keys($__iconfont__data), 1);\n }\n &:before {\n font-family: $group;\n font-style: normal;\n font-weight: 400;\n content: iconfont-item($icon);\n }\n}\n\n// creates the font face tag if the variable is set to true (default)\n@if $create-font-face == true {\n @font-face {\n font-family: "iconfont-vue-f56d517";\n src: url(\'../iconfont-vue-f56d517.eot\'); /* IE9 Compat Modes */\n src: url(\'../iconfont-vue-f56d517.eot?#iefix\') format(\'embedded-opentype\'), /* IE6-IE8 */\n url(\'../iconfont-vue-f56d517.woff\') format(\'woff\'), /* Pretty Modern Browsers */\n url(\'../iconfont-vue-f56d517.ttf\') format(\'truetype\'), /* Safari, Android, iOS */\n url(\'../iconfont-vue-f56d517.svg\') format(\'svg\'); /* Legacy iOS */\n }\n}\n\n// creates icon classes for each individual loaded svg (default)\n@if $create-icon-classes == true {\n .#{$icon-common-class} {\n font-style: normal;\n font-weight: 400;\n\n @each $icon, $content in map-get($__iconfont__data, "iconfont-vue-f56d517") {\n &.#{$icon-prefix}#{$icon}:before {\n font-family: "iconfont-vue-f56d517";\n content: iconfont-item("iconfont-vue-f56d517/#{$icon}");\n }\n }\n }\n}\n',"$scope_version:\"f56d517\"; @import 'variables';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import '../../fonts/scss/iconfont-vue';\n\n.avatardiv {\n\tposition: relative;\n\tdisplay: inline-block;\n\n\t&--unknown {\n\t\tposition: relative;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t}\n\n\t&:not(&--unknown) {\n\t\t// White background for avatars with transparency\n\t\tbackground-color: #fff !important;\n\t\tbody.theme--dark & {\n\t\t\t// And black background in dark mode, as it shines through on hover of the menu\n\t\t\tbackground-color: #000 !important;\n\t\t}\n\t\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\n\t}\n\n\t&--with-menu {\n\t\tcursor: pointer;\n\t\t::v-deep .trigger {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\t.icon-more, .icon-loading {\n\t\t\tdisplay: flex;\n\t\t\tcursor: pointer;\n\t\t\tbackground: none;\n\t\t\tfont-size: 18px;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\n\t\t\t@include iconfont('more');\n\t\t\t&::before {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t\t.icon-more {\n\t\t\topacity: 0;\n\t\t}\n\t\t&:focus,\n\t\t&:hover {\n\t\t\t.icon-more {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\timg {\n\t\t\t\topacity: 0.3;\n\t\t\t}\n\t\t}\n\t\t.icon-more,\n\t\timg {\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t}\n\t}\n\n\t> .unknown {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttext-align: center;\n\t\tfont-weight: normal;\n\t\tcolor: var(--color-main-background);\n\t}\n\n\timg {\n\t\t// Cover entire area\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\t// Keep ratio\n\t\tobject-fit: cover;\n\t}\n\n\t.avatardiv__status {\n\t\tposition: absolute;\n\t\ttop: 22px;\n\t\tleft: 22px;\n\t\twidth: 10px;\n\t\theight: 10px;\n\t\tborder: 1px solid rgba(255, 255, 255, .5);\n\t\tbackground-clip: content-box;\n\t\t&--positive {\n\t\t\tborder-radius: 50%;\n\t\t\tbackground-color: var(--color-success);\n\t\t}\n\t\t&--negative {\n\t\t\tbackground-color: var(--color-error);\n\t\t}\n\t\t&--neutral {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent !important;\n\t\t\tsvg {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: -3px;\n\t\t\t\tleft: -2px;\n\t\t\t\tpath {\n\t\t\t\t\tfill: #aaa;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.avatardiv__user-status {\n\t\tposition: absolute;\n\t\tright: -4px;\n\t\tbottom: -4px;\n\t\theight: 18px;\n\t\twidth: 18px;\n\t\tline-height: 15px;\n\t\tfont-size: var(--default-font-size);\n\t\tborder: 2px solid var(--color-main-background);\n\t\tbackground-color: var(--color-main-background);\n\t\tborder-radius: 50%;\n\n\t\t.acli:hover & {\n\t\t\tborder-color: var(--color-background-hover);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t\t.acli.active & {\n\t\t\tborder-color: var(--color-primary-light);\n\t\t\tbackground-color: var(--color-primary-light);\n\t\t}\n\n\t\t&--online{\n\t\t\t@include iconfont('user-status-online');\n\t\t\tcolor: #49b382;\n\t\t}\n\t\t&--dnd{\n\t\t\t@include iconfont('user-status-dnd');\n\t\t\tbackground-color: #ffffff;\n\t\t\tcolor: #ed484c;\n\t\t}\n\t\t&--away{\n\t\t\t@include iconfont('user-status-away');\n\t\t\tcolor: #f4a331;\n\t\t}\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t.popovermenu-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n}\n\n.avatar-class-icon {\n\tborder-radius: 50%;\n\tbackground-color: var(--color-background-darker);\n\theight: 100%;\n}\n\n"],sourceRoot:""}]),n.a=p},function(t,n){},,,,,,,,,function(t,n,A){"use strict";A.r(n);A(40),A(5),A(14),A(51),A(17),A(31),A(37),A(45),A(16),A(18);function e(t,n){var A;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(A=function(t,n){if(!t)return;if("string"==typeof t)return i(t,n);var A=Object.prototype.toString.call(t).slice(8,-1);"Object"===A&&t.constructor&&(A=t.constructor.name);if("Map"===A||"Set"===A)return Array.from(t);if("Arguments"===A||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return i(t,n)}(t))||n&&t&&"number"==typeof t.length){A&&(t=A);var e=0,a=function(){};return{s:a,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,r=!0,s=!1;return{s:function(){A=t[Symbol.iterator]()},n:function(){var t=A.next();return r=t.done,t},e:function(t){s=!0,o=t},f:function(){try{r||null==A.return||A.return()}finally{if(s)throw o}}}}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var A=0,e=new Array(n);A<n;A++)e[A]=t[A];return e}
|
|
108
|
+
*/},23:function(t,n){t.exports=require("striptags")},24:function(t,n,e){"use strict";var a=e(0),i=e.n(a),o=e(1),r=e.n(o)()(i.a);r.push([t.i,".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./MentionBubble.vue"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$bubble-height: 20px;\n$bubble-max-width: 150px;\n$bubble-padding: 2px;\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\n\n.mention-bubble {\n\t&--primary &__content {\n\t\tcolor: var(--color-primary-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t&__wrapper {\n\t\tmax-width: $bubble-max-width;\n\t\t// Align with text\n\t\theight: $bubble-height - $bubble-padding;\n\t\tvertical-align: text-bottom;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tmax-width: 100%;\n\t\theight: $bubble-height ;\n\t\t-webkit-user-select: none;\n\t\tuser-select: none;\n\t\tpadding-right: $bubble-padding * 3;\n\t\tpadding-left: $bubble-padding;\n\t\tborder-radius: $bubble-height / 2;\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\twidth: $bubble-avatar-size;\n\t\theight: $bubble-avatar-size;\n\t\tborder-radius: $bubble-avatar-size / 2;\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\n\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tmargin-left: $bubble-padding;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Put label in ::before so it is not selectable\n\t\t&::before {\n\t\t\tcontent: attr(title);\n\t\t}\n\t}\n\n\t// Hide the mention id so it is selectable\n\t&__select {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\tleft: -1000px;\n\t}\n}\n\n"],sourceRoot:""}]),n.a=r},27:function(t,n){t.exports=require("v-click-outside")},3:function(t,n,e){"use strict";function a(t,n,e,a,i,o,r,s){var l,c="function"==typeof t?t.options:t;if(n&&(c.render=n,c.staticRenderFns=e,c._compiled=!0),a&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,n){return l.call(n),u(t,n)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}e.d(n,"a",(function(){return a}))},30:function(t,n){t.exports=require("linkifyjs/string")},32:function(t,n,e){"use strict";var a=e(0),i=e.n(a),o=e(1),r=e.n(o)()(i.a);r.push([t.i,"\nbutton.menuitem[data-v-54983729] {\n\ttext-align: left;\n}\nbutton.menuitem *[data-v-54983729] {\n\tcursor: pointer;\n}\nbutton.menuitem[data-v-54983729]:disabled {\n\topacity: 0.5 !important;\n\tcursor: default;\n}\nbutton.menuitem:disabled *[data-v-54983729] {\n\tcursor: default;\n}\n.menuitem.active[data-v-54983729] {\n\tbox-shadow: inset 2px 0 var(--color-primary);\n\tborder-radius: 0;\n}\n","",{version:3,sources:["webpack://./src/components/PopoverMenu/PopoverMenuItem.vue"],names:[],mappings:";AAoLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA",sourcesContent:['\x3c!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n --\x3e\n\n<template>\n\t<li class="popover__menuitem">\n\t\t\x3c!-- If item.href is set, a link will be directly used --\x3e\n\t\t<a v-if="item.href"\n\t\t\t:href="(item.href) ? item.href : \'#\' "\n\t\t\t:target="(item.target) ? item.target : \'\' "\n\t\t\t:download="item.download"\n\t\t\tclass="focusable"\n\t\t\trel="noreferrer noopener"\n\t\t\t@click="action">\n\t\t\t<span v-if="!iconIsUrl" :class="item.icon" />\n\t\t\t<img v-else :src="item.icon">\n\t\t\t<p v-if="item.text && item.longtext">\n\t\t\t\t<strong class="menuitem-text">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class="menuitem-text-detail">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if="item.text">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if="item.longtext">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</a>\n\n\t\t\x3c!-- If item.input is set instead, an put will be used --\x3e\n\t\t<span v-else-if="item.input" class="menuitem" :class="{active: item.active}">\n\t\t\t\x3c!-- does not show if input is checkbox --\x3e\n\t\t\t<span v-if="item.input !== \'checkbox\'" :class="item.icon" />\n\n\t\t\t\x3c!-- only shows if input is text --\x3e\n\t\t\t<form v-if="item.input === \'text\'"\n\t\t\t\t:class="item.input"\n\t\t\t\t@submit.prevent="item.action">\n\t\t\t\t<input :type="item.input"\n\t\t\t\t\t:value="item.value"\n\t\t\t\t\t:placeholder="item.text"\n\t\t\t\t\trequired>\n\t\t\t\t<input type="submit" value="" class="icon-confirm">\n\t\t\t</form>\n\n\t\t\t\x3c!-- checkbox --\x3e\n\t\t\t<template v-else>\n\t\t\t\t\x3c!-- eslint-disable-next-line --\x3e\n\t\t\t\t<input :id="key" v-model="item.model"\n\t\t\t\t\t:type="item.input"\n\t\t\t\t\t:class="item.input"\n\t\t\t\t\t@change="item.action">\n\t\t\t\t<label :for="key" @click.stop.prevent="item.action">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</label>\n\t\t\t</template>\n\t\t</span>\n\n\t\t\x3c!-- If item.action is set instead, a button will be used --\x3e\n\t\t<button v-else-if="item.action"\n\t\t\tclass="menuitem focusable"\n\t\t\t:class="{active: item.active}"\n\t\t\t:disabled="item.disabled"\n\t\t\ttype="button"\n\t\t\t@click.stop.prevent="item.action">\n\t\t\t<span :class="item.icon" />\n\t\t\t<p v-if="item.text && item.longtext">\n\t\t\t\t<strong class="menuitem-text">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class="menuitem-text-detail">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if="item.text">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if="item.longtext">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</button>\n\n\t\t\x3c!-- If item.longtext is set AND the item does not have an action --\x3e\n\t\t<span v-else class="menuitem" :class="{active: item.active}">\n\t\t\t<span :class="item.icon" />\n\t\t\t<p v-if="item.text && item.longtext">\n\t\t\t\t<strong class="menuitem-text">\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</strong><br>\n\t\t\t\t<span class="menuitem-text-detail">\n\t\t\t\t\t{{ item.longtext }}\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t\t<span v-else-if="item.text">\n\t\t\t\t{{ item.text }}\n\t\t\t</span>\n\t\t\t<p v-else-if="item.longtext">\n\t\t\t\t{{ item.longtext }}\n\t\t\t</p>\n\t\t</span>\n\t</li>\n</template>\n\n<script>\nexport default {\n\tname: \'PopoverMenuItem\',\n\tprops: {\n\t\titem: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t\tdefault: () => {\n\t\t\t\treturn {\n\t\t\t\t\tkey: \'nextcloud-link\',\n\t\t\t\t\thref: \'https://nextcloud.com\',\n\t\t\t\t\ticon: \'icon-links\',\n\t\t\t\t\ttext: \'Nextcloud\',\n\t\t\t\t}\n\t\t\t},\n\t\t\t// check the input types\n\t\t\t// TODO: add more validation of types\n\t\t\tvalidator: item => {\n\t\t\t\t// TODO: support radio\n\t\t\t\tif (item.input) {\n\t\t\t\t\treturn [\'text\', \'checkbox\'].indexOf(item.input) !== -1\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t},\n\t\t},\n\t},\n\tcomputed: {\n\t\t// random key for inputs binding if not provided\n\t\tkey() {\n\t\t\treturn this.item.key\n\t\t\t\t? this.item.key\n\t\t\t\t: Math.round(Math.random() * 16 * 1000000).toString(16)\n\t\t},\n\t\ticonIsUrl() {\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-new\n\t\t\t\tnew URL(this.item.icon)\n\t\t\t\treturn true\n\t\t\t} catch (_) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\t// allow us to use both link and an action on `a`\n\t\t// we still need to make sure item.action exists\n\t\taction(event) {\n\t\t\tif (this.item.action) {\n\t\t\t\tthis.item.action(event)\n\t\t\t}\n\t\t},\n\t},\n}\n<\/script>\n\n<style scoped>\n\tbutton.menuitem {\n\t\ttext-align: left;\n\t}\n\n\tbutton.menuitem * {\n\t\tcursor: pointer;\n\t}\n\n\tbutton.menuitem:disabled {\n\t\topacity: 0.5 !important;\n\t\tcursor: default;\n\t}\n\n\tbutton.menuitem:disabled * {\n\t\tcursor: default;\n\t}\n\n\t.menuitem.active {\n\t\tbox-shadow: inset 2px 0 var(--color-primary);\n\t\tborder-radius: 0;\n\t}\n</style>\n\n<style lang="scss" scoped>\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^=\'icon-\'],\n\t\tspan[class*=\' icon-\'],\n\t\t&[class^=\'icon-\'],\n\t\t&[class*=\' icon-\'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^=\'icon-\'],\n\t\tspan[class*=\' icon-\'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^=\'icon-\']):not([class*=\'icon-\']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^=\'icon-\']):not([class*=\'icon-\']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^=\'icon-\'],\n\t\t&[class*=\' icon-\'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $icon-size;\n\t\t\tpadding: $icon-margin;\n\t\t}\n\n\t\t/* checkbox/radio fixes */\n\t\t> input.radio + label,\n\t\t> input.checkbox + label {\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t> input.checkbox + label::before {\n\t\t\tmargin: -2px 13px 0;\n\t\t}\n\t\t> input.radio + label::before {\n\t\t\tmargin: -2px 12px 0;\n\t\t}\n\t\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\n\t\t\twidth: 150px;\n\t\t}\n\n\t\t// Forms & text inputs\n\t\tform {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\t/* put a small space between text and form\n\t\t\t\tif there is an element before */\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t/* no margin if hidden span before */\n\t\t> span.hidden + form,\n\t\t> span[style*=\'display:none\'] + form {\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t/* Inputs inside popover supports text, submit & reset */\n\t\tinput {\n\t\t\tmin-width: $clickable-area;\n\t\t\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\n\t\t\tmargin: 2px 0;\n\t\t\tflex: 1 1 auto;\n\t\t\t// space between inline inputs\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: do that in js, should be cleaner\n\t/* css hack, only first not hidden */\n\t&:not(.hidden):not([style*=\'display:none\']) {\n\t\t&:first-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-top: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:last-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-bottom: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t> button {\n\t\tpadding: 0;\n\t\tspan {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n}\n</style>\n'],sourceRoot:""}]),n.a=r},33:function(t,n,e){"use strict";var a=e(0),i=e.n(a),o=e(1),r=e.n(o)()(i.a);r.push([t.i,".material-design-icon[data-v-54983729]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-54983729]{display:flex;flex:0 0 auto}li.hidden[data-v-54983729]{display:none}li>button[data-v-54983729],li>a[data-v-54983729],li>.menuitem[data-v-54983729]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{padding:0 14px 0 44px}li>button[data-v-54983729]:not(:disabled):hover,li>button[data-v-54983729]:not(:disabled):focus,li>button:not(:disabled).active[data-v-54983729],li>a[data-v-54983729]:not(:disabled):hover,li>a[data-v-54983729]:not(:disabled):focus,li>a:not(:disabled).active[data-v-54983729],li>.menuitem[data-v-54983729]:not(:disabled):hover,li>.menuitem[data-v-54983729]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-54983729]{opacity:1 !important}li>button.action[data-v-54983729],li>a.action[data-v-54983729],li>.menuitem.action[data-v-54983729]{padding:inherit !important}li>button>span[data-v-54983729],li>a>span[data-v-54983729],li>.menuitem>span[data-v-54983729]{cursor:pointer;white-space:nowrap}li>button>p[data-v-54983729],li>a>p[data-v-54983729],li>.menuitem>p[data-v-54983729]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-54983729],li>a>select[data-v-54983729],li>.menuitem>select[data-v-54983729]{margin:0;margin-left:6px}li>button[data-v-54983729]:not(:empty),li>a[data-v-54983729]:not(:empty),li>.menuitem[data-v-54983729]:not(:empty){padding-right:14px !important}li>button>img[data-v-54983729],li>a>img[data-v-54983729],li>.menuitem>img[data-v-54983729]{width:16px;padding:14px}li>button>input.radio+label[data-v-54983729],li>button>input.checkbox+label[data-v-54983729],li>a>input.radio+label[data-v-54983729],li>a>input.checkbox+label[data-v-54983729],li>.menuitem>input.radio+label[data-v-54983729],li>.menuitem>input.checkbox+label[data-v-54983729]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-54983729]::before,li>a>input.checkbox+label[data-v-54983729]::before,li>.menuitem>input.checkbox+label[data-v-54983729]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-54983729]::before,li>a>input.radio+label[data-v-54983729]::before,li>.menuitem>input.radio+label[data-v-54983729]::before{margin:-2px 12px 0}li>button>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-54983729],li>a form[data-v-54983729],li>.menuitem form[data-v-54983729]{display:flex;flex:1 1 auto}li>button form[data-v-54983729]:not(:first-child),li>a form[data-v-54983729]:not(:first-child),li>.menuitem form[data-v-54983729]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-54983729],li>button>span[style*='display:none']+form[data-v-54983729],li>a>span.hidden+form[data-v-54983729],li>a>span[style*='display:none']+form[data-v-54983729],li>.menuitem>span.hidden+form[data-v-54983729],li>.menuitem>span[style*='display:none']+form[data-v-54983729]{margin-left:0}li>button input[data-v-54983729],li>a input[data-v-54983729],li>.menuitem input[data-v-54983729]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-54983729]:not(:first-child),li>a input[data-v-54983729]:not(:first-child),li>.menuitem input[data-v-54983729]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-54983729]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-54983729]{margin-bottom:12px}li>button[data-v-54983729]{padding:0}li>button span[data-v-54983729]{opacity:1}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./PopoverMenuItem.vue","webpack://./../../assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqMxB,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,YCrR6C,CD4KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cCjUkB,CDkUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC9Ua",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nli {\n\tdisplay: flex;\n\tflex: 0 0 auto;\n\n\t&.hidden {\n\t\tdisplay: none;\n\t}\n\n\t> button,\n\t> a,\n\t> .menuitem {\n\t\tcursor: pointer;\n\t\tline-height: $clickable-area;\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfont-weight: normal;\n\t\tbox-shadow: none;\n\t\twidth: 100%;\n\t\tcolor: var(--color-main-text);\n\t\twhite-space: nowrap;\n\t\topacity: $opacity_normal;\n\n\t\t// TODO split into individual components for readability\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'],\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tmin-width: 0; /* Overwrite icons*/\n\t\t\tmin-height: 0;\n\t\t\tbackground-position: #{$icon-margin} center;\n\t\t\tbackground-size: $icon-size;\n\t\t}\n\n\t\tspan[class^='icon-'],\n\t\tspan[class*=' icon-'] {\n\t\t\t/* Keep padding to define the width to\n\t\t\t\tassure correct position of a possible text */\n\t\t\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\n\t\t}\n\n\t\t// If no icons set, force left margin to align\n\t\t&:not([class^='icon-']):not([class*='icon-']) {\n\t\t\t> span,\n\t\t\t> input,\n\t\t\t> form {\n\t\t\t\t&:not([class^='icon-']):not([class*='icon-']):first-child {\n\t\t\t\t\tmargin-left: $clickable-area;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&[class^='icon-'],\n\t\t&[class*=' icon-'] {\n\t\t\tpadding: 0 $icon-margin 0 $clickable-area;\n\t\t}\n\n\t\t&:not(:disabled):hover,\n\t\t&:not(:disabled):focus,\n\t\t&:not(:disabled).active {\n\t\t\topacity: $opacity_full !important;\n\t\t}\n\n\t\t/* prevent .action class to break the design */\n\t\t&.action {\n\t\t\tpadding: inherit !important;\n\t\t}\n\n\t\t> span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t// long text area\n\t\t> p {\n\t\t\twidth: 150px;\n\t\t\tline-height: 1.6em;\n\t\t\tpadding: 8px 0;\n\t\t\twhite-space: normal;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t// TODO: do we really supports it?\n\t\t> select {\n\t\t\tmargin: 0;\n\t\t\tmargin-left: 6px;\n\t\t}\n\n\t\t/* Add padding if contains icon+text */\n\t\t&:not(:empty) {\n\t\t\tpadding-right: $icon-margin !important;\n\t\t}\n\n\t\t/* DEPRECATED! old img in popover fallback\n\t\t\t* TODO: to remove */\n\t\t> img {\n\t\t\twidth: $icon-size;\n\t\t\tpadding: $icon-margin;\n\t\t}\n\n\t\t/* checkbox/radio fixes */\n\t\t> input.radio + label,\n\t\t> input.checkbox + label {\n\t\t\tpadding: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t> input.checkbox + label::before {\n\t\t\tmargin: -2px 13px 0;\n\t\t}\n\t\t> input.radio + label::before {\n\t\t\tmargin: -2px 12px 0;\n\t\t}\n\t\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\n\t\t\twidth: 150px;\n\t\t}\n\n\t\t// Forms & text inputs\n\t\tform {\n\t\t\tdisplay: flex;\n\t\t\tflex: 1 1 auto;\n\t\t\t/* put a small space between text and form\n\t\t\t\tif there is an element before */\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t\t/* no margin if hidden span before */\n\t\t> span.hidden + form,\n\t\t> span[style*='display:none'] + form {\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t/* Inputs inside popover supports text, submit & reset */\n\t\tinput {\n\t\t\tmin-width: $clickable-area;\n\t\t\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\n\t\t\tmargin: 2px 0;\n\t\t\tflex: 1 1 auto;\n\t\t\t// space between inline inputs\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-left: 5px;\n\t\t\t}\n\t\t}\n\t}\n\n\t// TODO: do that in js, should be cleaner\n\t/* css hack, only first not hidden */\n\t&:not(.hidden):not([style*='display:none']) {\n\t\t&:first-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-top: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t&:last-of-type {\n\t\t\t> button, > a, > .menuitem {\n\t\t\t\t> form, > input {\n\t\t\t\t\tmargin-bottom: $icon-margin - 2px; // minus the input margin\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t> button {\n\t\tpadding: 0;\n\t\tspan {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: ($clickable-area - $icon-size) / 2;\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n"],sourceRoot:""}]),n.a=r},34:function(t,n,e){"use strict";var a=e(0),i=e.n(a),o=e(1),r=e.n(o)()(i.a);r.push([t.i,".material-design-icon[data-v-4dae360a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-4dae360a]{display:flex;flex-direction:column}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./PopoverMenu.vue"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCkDxB,oBACC,YAAa,CACb,qBAAsB",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nul {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n"],sourceRoot:""}]),n.a=r},35:function(t,n){},38:function(t,n,e){"use strict";e.r(n),e.d(n,"USERID_REGEX",(function(){return f})),e.d(n,"USERID_REGEX_WITH_SPACE",(function(){return C}));var a=e(42),i=e.n(a),o=e(30),r=e.n(o),s=e(23),l=e.n(s),c=e(6),u=e.n(c),d=e(7),m={name:"MentionBubble",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&"users"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(" ")?"@".concat(this.id):'@"'.concat(this.id,'"')}},methods:{getAvatarUrl:function(t,n){return Object(d.generateUrl)("/avatar/{user}/{size}",{user:t,size:n})}}},p=e(2),g=e.n(p),h=e(24),A={insert:"head",singleton:!1},v=(g()(h.a,A),h.a.locals,e(3)),b=Object(v.a)(m,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("span",{staticClass:"mention-bubble",class:{"mention-bubble--primary":t.primary},attrs:{contenteditable:"false"}},[e("span",{staticClass:"mention-bubble__wrapper"},[e("span",{staticClass:"mention-bubble__content"},[e("span",{staticClass:"mention-bubble__icon",class:[t.icon,"mention-bubble__icon--"+(t.avatarUrl?"with-avatar":"")],style:t.avatarUrl?{backgroundImage:"url("+t.avatarUrl+")"}:null}),t._v(" "),e("span",{staticClass:"mention-bubble__title",attrs:{role:"heading",title:t.label}})]),t._v(" "),e("span",{staticClass:"mention-bubble__select",attrs:{role:"none"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,"724f9d58",null).exports,f=new RegExp("".concat("(?:^|\\s)","(@[a-zA-Z0-9_.@\\-']+)(").concat("(?:[^a-z]|$)",")"),"gi"),C=new RegExp("".concat("(?:^|\\s)","(@"[a-zA-Z0-9 _.@\\-']+")(").concat("(?:[^a-z]|$)",")"),"gi");n.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var n=this;return i()(t).split(f).map((function(t){return t.split(C)})).flat().map((function(t){if(!t.startsWith("@"))return r()(t,{defaultProtocol:"https",target:"_blank",className:"external",attributes:{rel:"noopener noreferrer"}});var e=t.replace(/@|"/gi,"");return" "+n.genSelectTemplate(e)})).join("").replace(/\n/gim,"<br>").replace(/&/gim,"&")},parseContent:function(t){var n=t.replace(/<br>/gim,"\n");return n=(n=(n=n.replace(/ /gim," ")).replace(/&/gim,"&")).replace(/<\/div>/gim,"\n"),n=l()(n,"<div>"),n=l()(n)},genSelectTemplate:function(t){var n=this.userData[t];return n?this.renderComponentHtml(n,b).replace(/[\n\t]/gim,""):-1===t.indexOf(" ")?"@".concat(t):'@"'.concat(t,'"')},renderComponentHtml:function(t,n){var e=new(u.a.extend(n))({propsData:t}),a=document.createElement("div"),i=document.createElement("div");a.style.display="none",a.appendChild(i),document.body.appendChild(a),e.$mount(i);var o=a.innerHTML;return e.$destroy(),a.remove(),o}}}},4:function(t,n,e){"use strict";e.d(n,"b",(function(){return s})),e.d(n,"a",(function(){return r}));var a=e(12),i=Object(a.getGettextBuilder)().detectLocale();[{locale:"br",translations:{"{tag} (invisible)":"{tag} (diwelus)","{tag} (restricted)":"{tag} (bevennet)",Actions:"Oberioù",Activities:"Oberiantizoù","Animals & Nature":"Loened & Natur",Choose:"Dibab",Close:"Serriñ",Custom:"Personelañ",Flags:"Bannieloù","Food & Drink":"Boued & Evajoù","Frequently used":"Implijet alies",Next:"Da heul","No emoji found":"Emoji ebet kavet","No results":"Disoc'h ebet",Objects:"Traoù","Pause slideshow":"Arsav an diaporama","People & Body":"Tud & Korf","Pick an emoji":"Choaz un emoji",Previous:"A-raok",Search:"Klask","Search results":"Disoc'hoù an enklask","Select a tag":"Choaz ur c'hlav",Settings:"Arventennoù","Smileys & Emotion":"Smileyioù & Fromoù","Start slideshow":"Kregiñ an diaporama",Symbols:"Arouezioù","Travel & Places":"Beaj & Lec'hioù","Unable to search the group":"Dibosupl eo klask ar strollad"}},{locale:"ca",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringit)",Actions:"Accions",Activities:"Activitats","Animals & Nature":"Animals i natura","Cancel changes":"Cancel·la els canvis",Choose:"Tria",Close:"Tanca","Confirm changes":"Confirmeu els canvis",Custom:"Personalitzat","External documentation for {title}":"Documentació externa per a {title}",Flags:"Marques","Food & Drink":"Menjar i begudes","Frequently used":"Utilitzats recentment","Message limit of {count} characters reached":"S'ha arribat al límit de {count} caràcters per missatge",Next:"Següent","No emoji found":"No s'ha trobat cap emoji","No results":"Sense resultats",Objects:"Objectes","Pause slideshow":"Atura la presentació","People & Body":"Persones i cos","Pick an emoji":"Trieu un emoji",Previous:"Anterior",Search:"Cerca","Search results":"Resultats de cerca","Select a tag":"Selecciona una etiqueta",Settings:"Paràmetres","Settings navigation":"Navegació d'opcions","Smileys & Emotion":"Cares i emocions","Start slideshow":"Inicia la presentació",Submit:"Envia",Symbols:"Símbols","Travel & Places":"Viatges i llocs","Unable to search the group":"No es pot cercar el grup","Write message, @ to mention someone …":"Escriu un missatge, @ per mencionar algú..."}},{locale:"cs_CZ",translations:{"{tag} (invisible)":"{tag} (neviditelné)","{tag} (restricted)":"{tag} (omezené)",Actions:"Akce",Activities:"Aktivity","Animals & Nature":"Zvířata a příroda","Avatar of {displayName}":"Zástupný obrázek uživatele {displayName}","Cancel changes":"Zrušit změny",Choose:"Zvolit",Close:"Zavřít","Confirm changes":"Potvrdit změny",Custom:"Uživatelsky určené","External documentation for {title}":"Externí dokumentace k {title}",Flags:"Příznaky","Food & Drink":"Jídlo a pití","Frequently used":"Často používané",Global:"Globální","Message limit of {count} characters reached":"Dosaženo limitu počtu ({count}) znaků zprávy",Next:"Následující","No emoji found":"Nenalezeno žádné emoji","No results":"Nic nenalezeno",Objects:"Objekty","Pause slideshow":"Pozastavit prezentaci","People & Body":"Lidé a tělo","Pick an emoji":"Vybrat emoji","Please select a time zone:":"Vyberte časovou zónu:",Previous:"Předchozí",Search:"Hledat","Search results":"Výsledky hledání","Select a tag":"Vybrat štítek",Settings:"Nastavení","Settings navigation":"Pohyb po nastavení","Smileys & Emotion":"Úsměvy a emoce","Start slideshow":"Spustit prezentaci",Submit:"Odeslat",Symbols:"Symboly","Travel & Places":"Cestování a místa","Type to search time zone":"Psaním vyhledejte časovou zónu","Unable to search the group":"Nedaří se hledat skupinu","Write message, @ to mention someone …":"Pište zprávu, pokud chcete někoho zmínit, použijte @ …"}},{locale:"da",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (begrænset)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr & Natur",Choose:"Vælg",Close:"Luk",Custom:"Brugerdefineret",Flags:"Flag","Food & Drink":"Mad & Drikke","Frequently used":"Ofte brugt","Message limit of {count} characters reached":"Begrænsning på {count} tegn er nået",Next:"Videre","No emoji found":"Ingen emoji fundet","No results":"Ingen resultater",Objects:"Objekter","Pause slideshow":"Suspender fremvisning","People & Body":"Mennesker & Menneskekroppen","Pick an emoji":"Vælg en emoji",Previous:"Forrige",Search:"Søg","Search results":"Søgeresultater","Select a tag":"Vælg et mærke",Settings:"Indstillinger","Settings navigation":"Naviger i indstillinger","Smileys & Emotion":"Smileys & Emotion","Start slideshow":"Start fremvisning",Symbols:"Symboler","Travel & Places":"Rejser & Rejsemål","Unable to search the group":"Kan ikke søge på denne gruppe","Write message, @ to mention someone …":"Skriv i meddelelse, @ for at nævne nogen …"}},{locale:"de",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Avatar of {displayName}":"Avatar von {displayName}","Cancel changes":"Änderungen verwerfen",Choose:"Auswählen",Close:"Schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","External documentation for {title}":"Externe Dokumentation für {title}",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Gegenstände","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a timezone:":"Bitte eine Zeitzone auswählen:",Previous:"Vorherige",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen-Navigation","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search timezone":"Tippen, um eine Zeitzone zu suchen","Unable to search the group":"Die Gruppe konnte nicht durchsucht werden","Write message, @ to mention someone …":"Nachricht schreiben, @ um jemanden zu erwähnen ..."}},{locale:"de_DE",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Avatar of {displayName}":"Avatar von {displayName}","Cancel changes":"Änderungen verwerfen",Choose:"Auswählen",Close:"Schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","External documentation for {title}":"Externe Dokumentation für {title}",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Objekte","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte eine Zeitzone auswählen:",Previous:"Vorherige",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um eine Zeitzone zu suchen","Unable to search the group":"Die Gruppe kann nicht durchsucht werden","Write message, @ to mention someone …":"Nachricht schreiben, @ um jemanden zu erwähnen ..."}},{locale:"el",translations:{"{tag} (invisible)":"{tag} (αόρατο)","{tag} (restricted)":"{tag} (περιορισμένο)",Actions:"Ενέργειες",Activities:"Δραστηριότητες","Animals & Nature":"Ζώα & Φύση",Choose:"Επιλογή",Close:"Κλείσιμο",Custom:"Προσαρμογή",Flags:"Σημαίες","Food & Drink":"Φαγητό & Ποτό","Frequently used":"Συχνά χρησιμοποιούμενο",Next:"Επόμενο","No emoji found":"Δεν βρέθηκε emoji","No results":"Κανένα αποτέλεσμα",Objects:"Αντικείμενα","Pause slideshow":"Παύση προβολής διαφανειών","People & Body":"Άνθρωποι & Σώμα","Pick an emoji":"Επιλέξτε ένα emoji",Previous:"Προηγούμενο",Search:"Αναζήτηση","Search results":"Αποτελέσματα αναζήτησης","Select a tag":"Επιλογή ετικέτας",Settings:"Ρυθμίσεις","Smileys & Emotion":"Φατσούλες & Συναίσθημα","Start slideshow":"Έναρξη προβολής διαφανειών",Symbols:"Σύμβολα","Travel & Places":"Ταξίδια & Τοποθεσίες","Unable to search the group":"Δεν είναι δυνατή η αναζήτηση της ομάδας"}},{locale:"eo",translations:{"{tag} (invisible)":"{tag} (kaŝita)","{tag} (restricted)":"{tag} (limigita)",Actions:"Agoj",Activities:"Aktiveco","Animals & Nature":"Bestoj & Naturo",Choose:"Elektu",Close:"Fermu",Custom:"Propra",Flags:"Flagoj","Food & Drink":"Manĝaĵo & Trinkaĵo","Frequently used":"Ofte uzataj","Message limit of {count} characters reached":"La limo je {count} da literoj atingita",Next:"Sekva","No emoji found":"La emoĝio forestas","No results":"La rezulto forestas",Objects:"Objektoj","Pause slideshow":"Payzi bildprezenton","People & Body":"Homoj & Korpo","Pick an emoji":"Elekti emoĝion ",Previous:"Antaŭa",Search:"Serĉi","Search results":"Serĉrezultoj","Select a tag":"Elektu etikedon",Settings:"Agordo","Settings navigation":"Agorda navigado","Smileys & Emotion":"Ridoj kaj Emocioj","Start slideshow":"Komenci bildprezenton",Symbols:"Signoj","Travel & Places":"Vojaĵoj & Lokoj","Unable to search the group":"Ne eblas serĉi en la grupo","Write message, @ to mention someone …":"Mesaĝi, uzu @ por mencii iun ..."}},{locale:"es",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringido)",Actions:"Acciones",Activities:"Actividades","Animals & Nature":"Animales y naturaleza",Choose:"Elegir",Close:"Cerrar",Custom:"Personalizado",Flags:"Banderas","Food & Drink":"Comida y bebida","Frequently used":"Usado con frecuenca","Message limit of {count} characters reached":"El mensaje ha alcanzado el límite de {count} caracteres",Next:"Siguiente","No emoji found":"No hay ningún emoji","No results":" Ningún resultado",Objects:"Objetos","Pause slideshow":"Pausar la presentación ","People & Body":"Personas y cuerpos","Pick an emoji":"Elegir un emoji",Previous:"Anterior",Search:"Buscar","Search results":"Resultados de la búsqueda","Select a tag":"Seleccione una etiqueta",Settings:"Ajustes","Settings navigation":"Navegación por ajustes","Smileys & Emotion":"Smileys y emoticonos","Start slideshow":"Iniciar la presentación",Symbols:"Símbolos","Travel & Places":"Viajes y lugares","Unable to search the group":"No es posible buscar en el grupo","Write message, @ to mention someone …":"Escriba un mensaje, @ para mencionar a alguien..."}},{locale:"eu",translations:{"{tag} (invisible)":"{tag} (ikusezina)","{tag} (restricted)":"{tag} (mugatua)",Choose:"Aukeratu",Close:"Itxi",Next:"Hurrengoa","No results":"Emaitzarik ez","Pause slideshow":"Pausatu diaporama",Previous:"Aurrekoa","Select a tag":"Hautatu etiketa bat",Settings:"Ezarpenak","Start slideshow":"Hasi diaporama"}},{locale:"fi_FI",translations:{"{tag} (invisible)":"{tag} (näkymätön)","{tag} (restricted)":"{tag} (rajoitettu)",Actions:"Toiminnot",Activities:"Aktiviteetit","Animals & Nature":"Eläimet & luonto",Choose:"Valitse",Close:"Sulje",Custom:"Mukautettu",Flags:"Liput","Food & Drink":"Ruoka & juoma","Frequently used":"Usein käytetyt","Message limit of {count} characters reached":"Viestin maksimimerkkimäärä {count} täynnä ",Next:"Seuraava","No emoji found":"Emojia ei löytynyt","No results":"Ei tuloksia",Objects:"Esineet & asiat","Pause slideshow":"Keskeytä diaesitys","People & Body":"Ihmiset & keho","Pick an emoji":"Valitse emoji",Previous:"Edellinen",Search:"Etsi","Search results":"Hakutulokset","Select a tag":"Valitse tagi",Settings:"Asetukset","Settings navigation":"Asetusnavigaatio","Smileys & Emotion":"Hymiöt ja & tunteet","Start slideshow":"Aloita diaesitys",Symbols:"Symbolit","Travel & Places":"Matkustus & kohteet","Unable to search the group":"Ryhmää ei voi hakea","Write message, @ to mention someone …":"Kirjoita viesti, @ mainitaksesi jonkun..."}},{locale:"fr",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restreint)",Actions:"Actions",Activities:"Activités","Animals & Nature":"Animaux & Nature",Choose:"Choisir",Close:"Fermer",Custom:"Personnalisé",Flags:"Drapeaux","Food & Drink":"Nourriture & Boissons","Frequently used":"Utilisés fréquemment","Message limit of {count} characters reached":"Limite de messages de {count} caractères atteinte",Next:"Suivant","No emoji found":"Pas d’émoji trouvé","No results":"Aucun résultat",Objects:"Objets","Pause slideshow":"Mettre le diaporama en pause","People & Body":"Personnes & Corps","Pick an emoji":"Choisissez un émoji",Previous:"Précédent",Search:"Chercher","Search results":"Résultats de recherche","Select a tag":"Sélectionnez une balise",Settings:"Paramètres","Settings navigation":"Navigation dans les paramètres","Smileys & Emotion":"Smileys & Émotions","Start slideshow":"Démarrer le diaporama",Symbols:"Symboles","Travel & Places":"Voyage & Lieux","Unable to search the group":"Impossible de chercher le groupe","Write message, @ to mention someone …":"Écrivez un message, @ pour mentionner quelqu'un…"}},{locale:"gl",translations:{"{tag} (invisible)":"{tag} (invisíbel)","{tag} (restricted)":"{tag} (restrinxido)",Actions:"Accións",Activities:"Actividades","Animals & Nature":"Animais e natureza","Cancel changes":"Cancelar os cambios",Choose:"Escoller",Close:"Pechar","Confirm changes":"Confirma os cambios",Custom:"Personalizado","External documentation for {title}":"Documentación externa para {title}",Flags:"Bandeiras","Food & Drink":"Comida e bebida","Frequently used":"Usado con frecuencia","Message limit of {count} characters reached":"Acadouse o límite de {count} caracteres por mensaxe",Next:"Seguinte","No emoji found":"Non se atopou ningún «emoji»","No results":"Sen resultados",Objects:"Obxectos","Pause slideshow":"Pausar o diaporama","People & Body":"Persoas e corpo","Pick an emoji":"Escolla un «emoji»",Previous:"Anterir",Search:"Buscar","Search results":"Resultados da busca","Select a tag":"Seleccione unha etiqueta",Settings:"Axustes","Settings navigation":"Navegación polos axustes","Smileys & Emotion":"Sorrisos e emocións","Start slideshow":"Iniciar o diaporama",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viaxes e lugares","Unable to search the group":"Non foi posíbel buscar o grupo","Write message, @ to mention someone …":"Escriba a mensaxe, @ para mencionar a alguén…"}},{locale:"he",translations:{"{tag} (invisible)":"{tag} (נסתר)","{tag} (restricted)":"{tag} (מוגבל)",Actions:"פעולות",Activities:"פעילויות","Animals & Nature":"חיות וטבע",Choose:"בחירה",Close:"סגירה",Custom:"בהתאמה אישית",Flags:"דגלים","Food & Drink":"מזון ומשקאות","Frequently used":"בשימוש תדיר",Next:"הבא","No emoji found":"לא נמצא אמוג׳י","No results":"אין תוצאות",Objects:"חפצים","Pause slideshow":"השהיית מצגת","People & Body":"אנשים וגוף","Pick an emoji":"נא לבחור אמוג׳י",Previous:"הקודם",Search:"חיפוש","Search results":"תוצאות חיפוש","Select a tag":"בחירת תגית",Settings:"הגדרות","Smileys & Emotion":"חייכנים ורגשונים","Start slideshow":"התחלת המצגת",Symbols:"סמלים","Travel & Places":"טיולים ומקומות","Unable to search the group":"לא ניתן לחפש בקבוצה"}},{locale:"hu_HU",translations:{"{tag} (invisible)":"{tag} (láthatatlan)","{tag} (restricted)":"{tag} (korlátozott)",Actions:"Műveletek",Activities:"Tevékenységek","Animals & Nature":"Állatok és természet",Choose:"Válassszon",Close:"Bezárás",Custom:"Egyéni",Flags:"Zászló","Food & Drink":"Étel és ital","Frequently used":"Gyakran használt","Message limit of {count} characters reached":"{count} karakteres üzenetkorlát elérve",Next:"Következő","No emoji found":"Nem található emodzsi","No results":"Nincs találat",Objects:"Tárgyak","Pause slideshow":"Diavetítés szüneteltetése","People & Body":"Emberek és test","Pick an emoji":"Válasszon egy emodzsit",Previous:"Előző",Search:"Keresés","Search results":"Találatok","Select a tag":"Válasszon címkét",Settings:"Beállítások","Settings navigation":"Navigáció a beállításokban","Smileys & Emotion":"Mosolyok és érzelmek","Start slideshow":"Diavetítés indítása",Symbols:"Szimbólumok","Travel & Places":"Utazás és helyek","Unable to search the group":"A csoport nem kereshető","Write message, @ to mention someone …":"Írjon üzenetet, @ valaki megemlítéséhez…"}},{locale:"is",translations:{"{tag} (invisible)":"{tag} (ósýnilegt)","{tag} (restricted)":"{tag} (takmarkað)",Actions:"Aðgerðir",Activities:"Aðgerðir","Animals & Nature":"Dýr og náttúra",Choose:"Velja",Close:"Loka",Custom:"Sérsniðið",Flags:"Flögg","Food & Drink":"Matur og drykkur","Frequently used":"Oftast notað",Next:"Næsta","No emoji found":"Ekkert tjáningartákn fannst","No results":"Engar niðurstöður",Objects:"Hlutir","Pause slideshow":"Gera hlé á skyggnusýningu","People & Body":"Fólk og líkami","Pick an emoji":"Veldu tjáningartákn",Previous:"Fyrri",Search:"Leita","Search results":"Leitarniðurstöður","Select a tag":"Veldu merki",Settings:"Stillingar","Smileys & Emotion":"Broskallar og tilfinningar","Start slideshow":"Byrja skyggnusýningu",Symbols:"Tákn","Travel & Places":"Staðir og ferðalög","Unable to search the group":"Get ekki leitað í hópnum"}},{locale:"it",translations:{"{tag} (invisible)":"{tag} (invisibile)","{tag} (restricted)":"{tag} (limitato)",Actions:"Azioni",Activities:"Attività","Animals & Nature":"Animali e natura","Avatar of {displayName}":"Avatar di {displayName}","Cancel changes":"Annulla modifiche",Choose:"Scegli",Close:"Chiudi","Confirm changes":"Conferma modifiche",Custom:"Personalizzato","External documentation for {title}":"Documentazione esterna per {title}",Flags:"Bandiere","Food & Drink":"Cibo e bevande","Frequently used":"Usati di frequente","Message limit of {count} characters reached":"Limite dei messaggi di {count} caratteri raggiunto",Next:"Successivo","No emoji found":"Nessun emoji trovato","No results":"Nessun risultato",Objects:"Oggetti","Pause slideshow":"Presentazione in pausa","People & Body":"Persone e corpo","Pick an emoji":"Scegli un emoji",Previous:"Precedente",Search:"Cerca","Search results":"Risultati di ricerca","Select a tag":"Seleziona un'etichetta",Settings:"Impostazioni","Settings navigation":"Navigazione delle impostazioni","Smileys & Emotion":"Faccine ed emozioni","Start slideshow":"Avvia presentazione",Submit:"Invia",Symbols:"Simboli","Travel & Places":"Viaggi e luoghi","Unable to search the group":"Impossibile cercare il gruppo","Write message, @ to mention someone …":"Scrivi messaggio, @ per menzionare qualcuno…"}},{locale:"ja_JP",translations:{"{tag} (invisible)":"{タグ} (不可視)","{tag} (restricted)":"{タグ} (制限付)",Actions:"操作",Activities:"アクティビティ","Animals & Nature":"動物と自然","Avatar of {displayName}":"{displayName} のアバター","Cancel changes":"変更をキャンセル",Choose:"選択",Close:"閉じる","Confirm changes":"変更を承認",Custom:"カスタム","External documentation for {title}":"{title} のための添付文書",Flags:"国旗","Food & Drink":"食べ物と飲み物","Frequently used":"よく使うもの","Message limit of {count} characters reached":"{count} 文字のメッセージ上限に達しています",Next:"次","No emoji found":"絵文字が見つかりません","No results":"なし",Objects:"物","Pause slideshow":"スライドショーを一時停止","People & Body":"様々な人と体の部位","Pick an emoji":"絵文字を選択",Previous:"前",Search:"検索","Search results":"検索結果","Select a tag":"タグを選択",Settings:"設定","Settings navigation":"ナビゲーション設定","Smileys & Emotion":"笑顔と気持ち","Start slideshow":"スライドショーを開始",Submit:"提出",Symbols:"記号","Travel & Places":"旅行と場所","Unable to search the group":"グループを検索できません","Write message, @ to mention someone …":"メッセージを書く、@ で通知します。"}},{locale:"lt_LT",translations:{"{tag} (invisible)":"{tag} (nematoma)","{tag} (restricted)":"{tag} (apribota)",Actions:"Veiksmai",Activities:"Veiklos","Animals & Nature":"Gyvūnai ir gamta",Choose:"Pasirinkti",Close:"Užverti",Custom:"Tinkinti","External documentation for {title}":"Išorinė {title} dokumentacija",Flags:"Vėliavos","Food & Drink":"Maistas ir gėrimai","Frequently used":"Dažniausiai naudoti","Message limit of {count} characters reached":"Pasiekta {count} simbolių žinutės riba",Next:"Kitas","No emoji found":"Nerasta jaustukų","No results":"Nėra rezultatų",Objects:"Objektai","Pause slideshow":"Pristabdyti skaidrių rodymą","People & Body":"Žmonės ir kūnas","Pick an emoji":"Pasirinkti jaustuką",Previous:"Ankstesnis",Search:"Ieškoti","Search results":"Paieškos rezultatai","Select a tag":"Pasirinkti žymę",Settings:"Nustatymai","Settings navigation":"Naršymas nustatymuose","Smileys & Emotion":"Šypsenos ir emocijos","Start slideshow":"Pradėti skaidrių rodymą",Submit:"Pateikti",Symbols:"Simboliai","Travel & Places":"Kelionės ir vietos","Unable to search the group":"Nepavyko atlikti paiešką grupėje","Write message, @ to mention someone …":"Rašykite žinutę, naudokite @ norėdami kažką paminėti…"}},{locale:"lv",translations:{"{tag} (invisible)":"{tag} (neredzams)","{tag} (restricted)":"{tag} (ierobežots)",Choose:"Izvēlēties",Close:"Aizvērt",Next:"Nākamais","No results":"Nav rezultātu","Pause slideshow":"Pauzēt slaidrādi",Previous:"Iepriekšējais","Select a tag":"Izvēlēties birku",Settings:"Iestatījumi","Start slideshow":"Sākt slaidrādi"}},{locale:"mk",translations:{"{tag} (invisible)":"{tag} (невидливо)","{tag} (restricted)":"{tag} (ограничено)",Actions:"Акции",Activities:"Активности","Animals & Nature":"Животни & Природа",Choose:"Избери",Close:"Затвори",Custom:"Прилагодени",Flags:"Знамиња","Food & Drink":"Храна & Пијалоци","Frequently used":"Најчесто користени","Message limit of {count} characters reached":"Ограничувањето на должината на пораката од {count} карактери е надминато",Next:"Следно","No emoji found":"Не се пронајдени емотикони","No results":"Нема резултати",Objects:"Објекти","Pause slideshow":"Пузирај слајдшоу","People & Body":"Луѓе & Тело","Pick an emoji":"Избери емотикон",Previous:"Предходно",Search:"Барај","Search results":"Резултати од барувањето","Select a tag":"Избери ознака",Settings:"Параметри","Settings navigation":"Параметри за навигација","Smileys & Emotion":"Смешковци & Емотикони","Start slideshow":"Стартувај слајдшоу",Symbols:"Симболи","Travel & Places":"Патувања & Места","Unable to search the group":"Неможе да се принајде групата","Write message, @ to mention someone …":"Напиши порака, @ за да спомнеш некој …"}},{locale:"my",translations:{"{tag} (invisible)":"{tag} (ကွယ်ဝှက်ထား)","{tag} (restricted)":"{tag} (ကန့်သတ်)",Actions:"လုပ်ဆောင်ချက်များ",Activities:"ပြုလုပ်ဆောင်တာများ","Animals & Nature":"တိရစ္ဆာန်များနှင့် သဘာဝ","Avatar of {displayName}":"{displayName} ၏ ကိုယ်ပွား","Cancel changes":"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်",Choose:"ရွေးချယ်ရန်",Close:"ပိတ်ရန်","Confirm changes":"ပြောင်းလဲမှုများ အတည်ပြုရန်",Custom:"အလိုကျချိန်ညှိမှု","External documentation for {title}":"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း",Flags:"အလံများ","Food & Drink":"အစားအသောက်","Frequently used":"မကြာခဏအသုံးပြုသော",Global:"ကမ္ဘာလုံးဆိုင်ရာ","Message limit of {count} characters reached":"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ",Next:"နောက်သို့ဆက်ရန်","No emoji found":"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ","No results":"ရလဒ်မရှိပါ",Objects:"အရာဝတ္ထုများ","Pause slideshow":"စလိုက်ရှိုး ခေတ္တရပ်ရန်","People & Body":"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်","Pick an emoji":"အီမိုဂျီရွေးရန်","Please select a time zone:":"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ",Previous:"ယခင်",Search:"ရှာဖွေရန်","Search results":"ရှာဖွေမှု ရလဒ်များ","Select a tag":"tag ရွေးချယ်ရန်",Settings:"ချိန်ညှိချက်များ","Settings navigation":"ချိန်ညှိချက်အညွှန်း","Smileys & Emotion":"စမိုင်လီများနှင့် အီမိုရှင်း","Start slideshow":"စလိုက်ရှိုးအား စတင်ရန်",Submit:"တင်သွင်းရန်",Symbols:"သင်္ကေတများ","Travel & Places":"ခရီးသွားလာခြင်းနှင့် နေရာများ","Type to search time zone":"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ","Unable to search the group":"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ","Write message, @ to mention someone …":"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်..."}},{locale:"nb_NO",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (beskyttet)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr og natur",Choose:"Velg",Close:"Lukk",Custom:"Selvvalgt",Flags:"Flagg","Food & Drink":"Mat og drikke","Frequently used":"Ofte brukt",Next:"Neste","No emoji found":"Fant ingen emoji","No results":"Ingen resultater",Objects:"Objekter","Pause slideshow":"Pause lysbildefremvisning","People & Body":"Mennesker og kropp","Pick an emoji":"Velg en emoji",Previous:"Forrige",Search:"Søk","Search results":"Søkeresultater","Select a tag":"Velg en merkelapp",Settings:"Innstillinger","Smileys & Emotion":"Smilefjes og følelser","Start slideshow":"Start lysbildefremvisning",Symbols:"Symboler","Travel & Places":"Reise og steder","Unable to search the group":"Kunne ikke søke i gruppen"}},{locale:"nl",translations:{"{tag} (invisible)":"{tag} (onzichtbaar)","{tag} (restricted)":"{tag} (beperkt)",Actions:"Acties",Activities:"Activiteiten","Animals & Nature":"Dieren & Natuur","Avatar of {displayName}":"Avatar van {displayName}","Cancel changes":"Wijzigingen annuleren",Choose:"Kies",Close:"Sluiten","Confirm changes":"Wijzigingen bevestigen",Custom:"Aangepast","External documentation for {title}":"Externe documentatie voor {title}",Flags:"Vlaggen","Food & Drink":"Eten & Drinken","Frequently used":"Vaak gebruikt","Message limit of {count} characters reached":"Berichtlengte van {count} karakters bereikt",Next:"Volgende","No emoji found":"Geen emoji gevonden","No results":"Geen resultaten",Objects:"Objecten","Pause slideshow":"Pauzeer diavoorstelling","People & Body":"Mensen & Lichaam","Pick an emoji":"Kies een emoji",Previous:"Vorige",Search:"Zoeken","Search results":"Zoekresultaten","Select a tag":"Selecteer een label",Settings:"Instellingen","Settings navigation":"Instellingen navigatie","Smileys & Emotion":"Smileys & Emotie","Start slideshow":"Start diavoorstelling",Submit:"Verwerken",Symbols:"Symbolen","Travel & Places":"Reizen & Plaatsen","Unable to search the group":"Kan niet in de groep zoeken","Write message, @ to mention someone …":"Schrijf een bericht, @ om iemand te noemen ..."}},{locale:"oc",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (limit)",Actions:"Accions",Choose:"Causir",Close:"Tampar",Next:"Seguent","No results":"Cap de resultat","Pause slideshow":"Metre en pausa lo diaporama",Previous:"Precedent","Select a tag":"Seleccionar una etiqueta",Settings:"Paramètres","Start slideshow":"Lançar lo diaporama"}},{locale:"pl",translations:{"{tag} (invisible)":"{tag} (niewidoczna)","{tag} (restricted)":"{tag} (ograniczona)",Actions:"Działania",Activities:"Aktywność","Animals & Nature":"Zwierzęta i natura","Avatar of {displayName}":"Awatar {displayName}","Cancel changes":"Anuluj zmiany",Choose:"Wybierz",Close:"Zamknij","Confirm changes":"Potwierdź zmiany",Custom:"Zwyczajne","External documentation for {title}":"Dokumentacja zewnętrzna dla {title}",Flags:"Flagi","Food & Drink":"Jedzenie i picie","Frequently used":"Często używane",Global:"Globalnie","Message limit of {count} characters reached":"Przekroczono limit wiadomości wynoszący {count} znaków",Next:"Następny","No emoji found":"Nie znaleziono emotikonów","No results":"Brak wyników",Objects:"Obiekty","Pause slideshow":"Wstrzymaj pokaz slajdów","People & Body":"Ludzie i ciało","Pick an emoji":"Wybierz emoji","Please select a time zone:":"Wybierz strefę czasową:",Previous:"Poprzedni",Search:"Szukaj","Search results":"Wyniki wyszukiwania","Select a tag":"Wybierz etykietę",Settings:"Ustawienia","Settings navigation":"Nawigacja ustawień","Smileys & Emotion":"Buźki i emotikony","Start slideshow":"Rozpocznij pokaz slajdów",Submit:"Wyślij",Symbols:"Symbole","Travel & Places":"Podróże i miejsca","Type to search time zone":"Wpisz, aby wyszukać strefę czasową","Unable to search the group":"Nie można przeszukać grupy","Write message, @ to mention someone …":"Napisz wiadomość, aby wspomnieć o kimś użyj @…"}},{locale:"pt_BR",translations:{"{tag} (invisible)":"{tag} (invisível)","{tag} (restricted)":"{tag} (restrito) ",Actions:"Ações",Activities:"Atividades","Animals & Nature":"Animais & Natureza","Avatar of {displayName}":"Avatar de {displayName}","Cancel changes":"Cancelar alterações",Choose:"Escolher",Close:"Fechar","Confirm changes":"Confirmar alterações",Custom:"Personalizado","External documentation for {title}":"Documentação externa para {title}",Flags:"Bandeiras","Food & Drink":"Comida & Bebida","Frequently used":"Mais usados",Global:"Global","Message limit of {count} characters reached":"Limite de mensagem de {count} caracteres atingido",Next:"Próximo","No emoji found":"Nenhum emoji encontrado","No results":"Sem resultados",Objects:"Objetos","Pause slideshow":"Pausar apresentação de slides","People & Body":"Pessoas & Corpo","Pick an emoji":"Escolha um emoji","Please select a time zone:":"Selecione um fuso horário: ",Previous:"Anterior",Search:"Pesquisar","Search results":"Resultados da pesquisa","Select a tag":"Selecionar uma tag",Settings:"Configurações","Settings navigation":"Navegação de configurações","Smileys & Emotion":"Smiles & Emoções","Start slideshow":"Iniciar apresentação de slides",Submit:"Enviar",Symbols:"Símbolo","Travel & Places":"Viagem & Lugares","Type to search time zone":"Digite para pesquisar o fuso horário ","Unable to search the group":"Não foi possível pesquisar o grupo","Write message, @ to mention someone …":"Escreva mensagem, @ para mencionar alguém ..."}},{locale:"pt_PT",translations:{"{tag} (invisible)":"{tag} (invisivel)","{tag} (restricted)":"{tag} (restrito)",Actions:"Ações",Choose:"Escolher",Close:"Fechar",Next:"Seguinte","No results":"Sem resultados","Pause slideshow":"Pausar diaporama",Previous:"Anterior","Select a tag":"Selecionar uma etiqueta",Settings:"Definições","Start slideshow":"Iniciar diaporama","Unable to search the group":"Não é possível pesquisar o grupo"}},{locale:"ru",translations:{"{tag} (invisible)":"{tag} (невидимое)","{tag} (restricted)":"{tag} (ограниченное)",Actions:"Действия ",Activities:"События","Animals & Nature":"Животные и природа ","Avatar of {displayName}":"Аватар {displayName}","Cancel changes":"Отменить изменения",Choose:"Выберите",Close:"Закрыть","Confirm changes":"Подтвердить изменения",Custom:"Пользовательское","External documentation for {title}":"Внешняя документация для {title}",Flags:"Флаги","Food & Drink":"Еда, напиток","Frequently used":"Часто используемый",Global:"Глобальный","Message limit of {count} characters reached":"Достигнуто ограничение на количество символов в {count}",Next:"Следующее","No emoji found":"Эмодзи не найдено","No results":"Результаты отсуствуют",Objects:"Объекты","Pause slideshow":"Приостановить показ слйдов","People & Body":"Люди и тело","Pick an emoji":"Выберите эмодзи","Please select a time zone:":"Пожалуйста, выберите часовой пояс:",Previous:"Предыдущее",Search:"Поиск","Search results":"Результаты поиска","Select a tag":"Выберите метку",Settings:"Параметры","Settings navigation":"Навигация по настройкам","Smileys & Emotion":"Смайлики и эмоции","Start slideshow":"Начать показ слайдов",Submit:"Утвердить",Symbols:"Символы","Travel & Places":"Путешествия и места","Type to search time zone":"Введите для поиска часового пояса","Unable to search the group":"Невозможно найти группу","Write message, @ to mention someone …":"Напишите сообщение, используйте @ чтобы упомянуть кого-то…"}},{locale:"sk_SK",translations:{"{tag} (invisible)":"{tag} (neviditeľný)","{tag} (restricted)":"{tag} (obmedzený)",Actions:"Akcie",Activities:"Aktivity","Animals & Nature":"Zvieratá a príroda","Avatar of {displayName}":"Avatar {displayName}","Cancel changes":"Zrušiť zmeny",Choose:"Vybrať",Close:"Zatvoriť","Confirm changes":"Potvrdiť zmeny",Custom:"Zvyk","External documentation for {title}":"Externá dokumentácia pre {title}",Flags:"Vlajky","Food & Drink":"Jedlo a nápoje","Frequently used":"Často používané","Message limit of {count} characters reached":"Limit správy na {count} znakov dosiahnutý",Next:"Ďalší","No emoji found":"Nenašli sa žiadne emodži","No results":"Žiadne výsledky",Objects:"Objekty","Pause slideshow":"Pozastaviť prezentáciu","People & Body":"Ľudia a telo","Pick an emoji":"Vyberte si emodži",Previous:"Predchádzajúci",Search:"Hľadať","Search results":"Výsledky vyhľadávania","Select a tag":"Vybrať štítok",Settings:"Nastavenia","Settings navigation":"Navigácia v nastaveniach","Smileys & Emotion":"Smajlíky a emócie","Start slideshow":"Začať prezentáciu",Submit:"Odoslať",Symbols:"Symboly","Travel & Places":"Cestovanie a miesta","Unable to search the group":"Skupinu sa nepodarilo nájsť","Write message, @ to mention someone …":"Napíšte správu, @ pre spomenutie niekoho ..."}},{locale:"sl",translations:{"{tag} (invisible)":"{tag} (nevidno)","{tag} (restricted)":"{tag} (omejeno)",Actions:"Dejanja",Activities:"Dejavnosti","Animals & Nature":"Živali in Narava",Choose:"Izbor",Close:"Zapri",Custom:"Po meri","External documentation for {title}":"Zunanja dokumentacija za {title}",Flags:"Zastavice","Food & Drink":"Hrana in Pijača","Frequently used":"Pogostost uporabe","Message limit of {count} characters reached":"Dosežena omejitev {count} znakov na sporočilo.",Next:"Naslednji","No emoji found":"Ni najdenih izraznih ikon","No results":"Ni zadetkov",Objects:"Predmeti","Pause slideshow":"Ustavi predstavitev","People & Body":"Ljudje in Telo","Pick an emoji":"Izbor izrazne ikone",Previous:"Predhodni",Search:"Iskanje","Search results":"Zadetki iskanja","Select a tag":"Izbor oznake",Settings:"Nastavitve","Settings navigation":"Krmarjenje nastavitev","Smileys & Emotion":"Izrazne ikone","Start slideshow":"Začni predstavitev",Submit:"Pošlji",Symbols:"Simboli","Travel & Places":"Potovanja in Kraji","Unable to search the group":"Ni mogoče iskati po skuspini","Write message, @ to mention someone …":"Napišite sporočilo, z @ omenite osebo ..."}},{locale:"sv",translations:{"{tag} (invisible)":"{tag} (osynlig)","{tag} (restricted)":"{tag} (begränsad)",Actions:"Åtgärder",Activities:"Aktiviteter","Animals & Nature":"Djur & Natur","Cancel changes":"Avbryt ändringar",Choose:"Välj",Close:"Stäng","Confirm changes":"Bekräfta ändringar",Custom:"Anpassad","External documentation for {title}":"Extern dokumentation för {title}",Flags:"Flaggor","Food & Drink":"Mat & Dryck","Frequently used":"Används ofta","Message limit of {count} characters reached":"Meddelandegräns {count} tecken används",Next:"Nästa","No emoji found":"Hittade inga emojis","No results":"Inga resultat",Objects:"Objekt","Pause slideshow":"Pausa bildspelet","People & Body":"Kropp & Själ","Pick an emoji":"Välj en emoji",Previous:"Föregående",Search:"Sök","Search results":"Sökresultat","Select a tag":"Välj en tag",Settings:"Inställningar","Settings navigation":"Inställningsmeny","Smileys & Emotion":"Selfies & Känslor","Start slideshow":"Starta bildspelet",Submit:"Skicka",Symbols:"Symboler","Travel & Places":"Resor & Sevärdigheter","Unable to search the group":"Kunde inte söka i gruppen","Write message, @ to mention someone …":"Skicka meddelande, skriv @ för att omnämna någon ..."}},{locale:"tr",translations:{"{tag} (invisible)":"{tag} (görünmez)","{tag} (restricted)":"{tag} (kısıtlı)",Actions:"İşlemler",Activities:"Etkinlikler","Animals & Nature":"Hayvanlar ve Doğa","Avatar of {displayName}":"{displayName} avatarı","Cancel changes":"Değişiklikleri iptal et",Choose:"Seçin",Close:"Kapat","Confirm changes":"Değişiklikleri onayla",Custom:"Özel","External documentation for {title}":"{title} için dış belgeler",Flags:"Bayraklar","Food & Drink":"Yeme ve İçme","Frequently used":"Sık kullanılanlar",Global:"Evrensel","Message limit of {count} characters reached":"{count} karakter ileti sınırına ulaşıldı",Next:"Sonraki","No emoji found":"Herhangi bir emoji bulunamadı","No results":"Herhangi bir sonuç bulunamadı",Objects:"Nesneler","Pause slideshow":"Slayt sunumunu duraklat","People & Body":"İnsanlar ve Beden","Pick an emoji":"Bir emoji seçin","Please select a time zone:":"Lütfen bir saat dilimi seçin:",Previous:"Önceki",Search:"Arama","Search results":"Arama sonuçları","Select a tag":"Bir etiket seçin",Settings:"Ayarlar","Settings navigation":"Gezinme ayarları","Smileys & Emotion":"İfadeler ve Duygular","Start slideshow":"Slayt sunumunu başlat",Submit:"Gönder",Symbols:"Simgeler","Travel & Places":"Gezi ve Yerler","Type to search time zone":"Saat dilimi aramak için yazmaya başlayın","Unable to search the group":"Grupta arama yapılamadı","Write message, @ to mention someone …":"İletiyi yazın. Birini anmak için @ kullanın …"}},{locale:"uk",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restricted)",Actions:"Дії",Activities:"Діяльність","Animals & Nature":"Тварини та природа",Choose:"Виберіть",Close:"Закрити",Custom:"Власне",Flags:"Прапори","Food & Drink":"Їжа та напитки","Frequently used":"Найчастіші",Next:"Вперед","No emoji found":"Емоційки відсутні","No results":"Відсутні результати",Objects:"Об'єкти","Pause slideshow":"Пауза у показі слайдів","People & Body":"Люди та жести","Pick an emoji":"Виберіть емоційку",Previous:"Назад",Search:"Пошук","Search results":"Результати пошуку","Select a tag":"Виберіть позначку",Settings:"Налаштування","Smileys & Emotion":"Усміхайлики та емоційки","Start slideshow":"Почати показ слайдів",Symbols:"Символи","Travel & Places":"Поїздки та місця","Unable to search the group":"Неможливо шукати в групі"}},{locale:"zh_CN",translations:{"{tag} (invisible)":"{tag} (不可见)","{tag} (restricted)":"{tag} (受限)",Actions:"行为",Activities:"活动","Animals & Nature":"动物 & 自然",Choose:"选择",Close:"关闭",Custom:"自定义",Flags:"旗帜","Food & Drink":"食物 & 饮品","Frequently used":"经常使用","Message limit of {count} characters reached":"已达到 {count} 个字符的消息限制",Next:"下一个","No emoji found":"表情未找到","No results":"无结果",Objects:"物体","Pause slideshow":"暂停幻灯片","People & Body":"人 & 身体","Pick an emoji":"选择一个表情",Previous:"上一个",Search:"搜索","Search results":"搜索结果","Select a tag":"选择一个标签",Settings:"设置","Settings navigation":"设置向导","Smileys & Emotion":"笑脸 & 情感","Start slideshow":"开始幻灯片",Symbols:"符号","Travel & Places":"旅游 & 地点","Unable to search the group":"无法搜索分组","Write message, @ to mention someone …":"输入消息,输入 @ 来提醒某人"}},{locale:"zh_HK",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然",Choose:"選擇",Close:"關閉",Custom:"自定義","External documentation for {title}":"{title} 的外部文檔",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"經常使用","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號",Previous:"上一個",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Submit:"提交",Symbols:"標誌","Travel & Places":"旅遊與景點","Unable to search the group":"無法搜尋群組","Write message, @ to mention someone …":"輸入訊息時可使用 @ 來標示某人..."}},{locale:"zh_TW",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然",Choose:"選擇",Close:"關閉",Custom:"自定義",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"最近使用","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號",Previous:"上一個",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Symbols:"標誌","Travel & Places":"旅遊與景點","Unable to search the group":"無法搜尋群組","Write message, @ to mention someone …":"輸入訊息時可使用 @ 來標示某人..."}}].forEach((function(t){var n={};for(var e in t.translations)t.translations[e].pluralId?n[e]={msgid:e,msgid_plural:t.translations[e].pluralId,msgstr:t.translations[e].msgstr}:n[e]={msgid:e,msgstr:[t.translations[e]]};i.addTranslation(t.locale,{translations:{"":n}})}));var o=i.build(),r=o.ngettext.bind(o),s=o.gettext.bind(o)},40:function(t,n,e){"use strict";var a=e(0),i=e.n(a),o=e(1),r=e.n(o),s=e(8),l=e.n(s),c=e(49),u=e(50),d=e(51),m=r()(i.a),p=l()(c.a),g=l()(u.a),h=l()(d.a);m.push([t.i,".material-design-icon[data-v-583ead48]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-583ead48]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-583ead48]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-583ead48]{cursor:pointer}.avatardiv--with-menu[data-v-583ead48] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu .icon-loading[data-v-583ead48]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-583ead48]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-583ead48],.avatardiv--with-menu:hover .icon-more[data-v-583ead48]{opacity:1}.avatardiv--with-menu:focus img[data-v-583ead48],.avatardiv--with-menu:hover img[data-v-583ead48]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu img[data-v-583ead48]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-583ead48]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-583ead48]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-583ead48]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-583ead48]{background-image:url("+p+")}.avatardiv .avatardiv__user-status--dnd[data-v-583ead48]{background-image:url("+g+");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-583ead48]{background-image:url("+h+")}.avatardiv .avatardiv__user-status--icon[data-v-583ead48]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-583ead48]{position:relative;display:inline-block}.avatar-class-icon[data-v-583ead48]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./Avatar.vue"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0kBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,UAAW,CACX,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CA/F/C,4DAmGG,wDAAyE,CAnG5E,yDAsGG,wDAAsE,CACtE,wBAAyB,CAvG5B,0DA0GG,wDAAuE,CA1G1E,0DA6GG,WAAY,CACZ,4BAA6B,CA9GhC,iDAmHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB,+CAAgD,CAChD,WAAY",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.avatardiv {\n\tposition: relative;\n\tdisplay: inline-block;\n\twidth: var(--size);\n\theight: var(--size);\n\n\t&--unknown {\n\t\tposition: relative;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t}\n\n\t&:not(&--unknown) {\n\t\t// White background for avatars with transparency\n\t\tbackground-color: #fff !important;\n\t\tbody.theme--dark & {\n\t\t\t// And black background in dark mode, as it shines through on hover of the menu\n\t\t\tbackground-color: #000 !important;\n\t\t}\n\t\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\n\t}\n\n\t&--with-menu {\n\t\tcursor: pointer;\n\t\t::v-deep .trigger {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\t.icon-more, .icon-loading {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\twidth: var(--size);\n\t\t\theight: var(--size);\n\t\t\tcursor: pointer;\n\t\t\tbackground: none;\n\t\t}\n\t\t.icon-more {\n\t\t\topacity: 0;\n\t\t}\n\t\t&:focus,\n\t\t&:hover {\n\t\t\t.icon-more {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\timg {\n\t\t\t\topacity: 0.3;\n\t\t\t}\n\t\t}\n\t\t.icon-more,\n\t\timg {\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t}\n\t}\n\n\t> .unknown {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttext-align: center;\n\t\tfont-weight: normal;\n\t\tcolor: var(--color-main-background);\n\t}\n\n\timg {\n\t\t// Cover entire area\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\t// Keep ratio\n\t\tobject-fit: cover;\n\t}\n\n\t.avatardiv__user-status {\n\t\tposition: absolute;\n\t\tright: -4px;\n\t\tbottom: -4px;\n\t\theight: 18px;\n\t\twidth: 18px;\n\t\tline-height: 15px;\n\t\tfont-size: var(--default-font-size);\n\t\tborder: 2px solid var(--color-main-background);\n\t\tbackground-color: var(--color-main-background);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: 16px;\n\t\tbackground-position: center;\n\t\tborder-radius: 50%;\n\n\t\t.acli:hover & {\n\t\t\tborder-color: var(--color-background-hover);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t\t.acli.active & {\n\t\t\tborder-color: var(--color-primary-light);\n\t\t\tbackground-color: var(--color-primary-light);\n\t\t}\n\n\t\t&--online{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\n\t\t}\n\t\t&--dnd{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\n\t\t\tbackground-color: #ffffff;\n\t\t}\n\t\t&--away{\n\t\t\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\n\t\t}\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t.popovermenu-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n}\n\n.avatar-class-icon {\n\tborder-radius: 50%;\n\tbackground-color: var(--color-background-darker);\n\theight: 100%;\n}\n\n"],sourceRoot:""}]),n.a=m},41:function(t,n){},42:function(t,n){t.exports=require("escape-html")},43:function(t,n,e){"use strict";
|
|
110
109
|
/**
|
|
111
|
-
* @copyright Copyright (c)
|
|
110
|
+
* @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
|
|
112
111
|
*
|
|
113
|
-
* @author
|
|
112
|
+
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
114
113
|
*
|
|
115
114
|
* @license GNU AGPL version 3 or any later version
|
|
116
115
|
*
|
|
@@ -120,18 +119,18 @@ function e(t,n,A){this.r=t,this.g=n,this.b=A}function i(t,n,A){var i=[];i.push(n
|
|
|
120
119
|
* License, or (at your option) any later version.
|
|
121
120
|
*
|
|
122
121
|
* This program is distributed in the hope that it will be useful,
|
|
123
|
-
* but WITHOUT ANY WARRANTY
|
|
122
|
+
* but WITHOUT ANY WARRANTY without even the implied warranty of
|
|
124
123
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
125
124
|
* GNU Affero General Public License for more details.
|
|
126
125
|
*
|
|
127
126
|
* You should have received a copy of the GNU Affero General Public License
|
|
128
127
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
129
128
|
*
|
|
130
|
-
*/n.
|
|
129
|
+
*/function a(t,n,e){this.r=t,this.g=n,this.b=e}function i(t,n,e){var i=[];i.push(n);for(var o=function(t,n){var e=new Array(3);return e[0]=(n[1].r-n[0].r)/t,e[1]=(n[1].g-n[0].g)/t,e[2]=(n[1].b-n[0].b)/t,e}(t,[n,e]),r=1;r<t;r++){var s=parseInt(n.r+o[0]*r,10),l=parseInt(n.g+o[1]*r,10),c=parseInt(n.b+o[2]*r,10);i.push(new a(s,l,c))}return i}n.a=function(t){t||(t=6);var n=new a(182,70,157),e=new a(221,203,85),o=new a(0,130,201),r=i(t,n,e),s=i(t,e,o),l=i(t,o,n);return r.concat(s).concat(l)}},46:function(t,n,e){"use strict";function a(t,n){var e="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=function(t,n){if(!t)return;if("string"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t))||n&&t&&"number"==typeof t.length){e&&(t=e);var a=0,o=function(){};return{s:o,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,s=!0,l=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return s=t.done,t},e:function(t){l=!0,r=t},f:function(){try{s||null==e.return||e.return()}finally{if(l)throw r}}}}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,a=new Array(n);e<n;e++)a[e]=t[e];return a}
|
|
131
130
|
/**
|
|
132
|
-
* @copyright Copyright (c)
|
|
131
|
+
* @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>
|
|
133
132
|
*
|
|
134
|
-
* @author
|
|
133
|
+
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
|
|
135
134
|
*
|
|
136
135
|
* @license GNU AGPL version 3 or any later version
|
|
137
136
|
*
|
|
@@ -142,15 +141,15 @@ function e(t,n,A){this.r=t,this.g=n,this.b=A}function i(t,n,A){var i=[];i.push(n
|
|
|
142
141
|
*
|
|
143
142
|
* This program is distributed in the hope that it will be useful,
|
|
144
143
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
145
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
144
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
146
145
|
* GNU Affero General Public License for more details.
|
|
147
146
|
*
|
|
148
147
|
* You should have received a copy of the GNU Affero General Public License
|
|
149
148
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
150
149
|
*
|
|
151
|
-
*/
|
|
150
|
+
*/e.r(n),n.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var n=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===n.length||!this.hasNodeOrAnyParentClass(t.target,n)},hasNodeOrAnyParentClass:function(t,n){var e,i=a(n);try{for(i.s();!(e=i.n()).done;){var o,r=e.value;if(null!=t&&null!==(o=t.classList)&&void 0!==o&&o.contains(r))return!0}}catch(t){i.e(t)}finally{i.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,n)}}}},47:function(t,n,e){"use strict";e.r(n),
|
|
152
151
|
/**
|
|
153
|
-
* @copyright Copyright (c)
|
|
152
|
+
* @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
|
|
154
153
|
*
|
|
155
154
|
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
156
155
|
*
|
|
@@ -169,11 +168,11 @@ function e(t,n,A){this.r=t,this.g=n,this.b=A}function i(t,n,A){var i=[];i.push(n
|
|
|
169
168
|
* You should have received a copy of the GNU Affero General Public License
|
|
170
169
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
171
170
|
*
|
|
172
|
-
*/n.default=
|
|
171
|
+
*/n.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener("resize",this._onResize)},beforeDestroy:function(){window.removeEventListener("resize",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},48:function(t,n){t.exports=require("@nextcloud/browser-storage")},49:function(t,n,e){"use strict";n.a="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K"},5:function(t,n){t.exports=require("v-tooltip")},50:function(t,n,e){"use strict";n.a="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg=="},51:function(t,n,e){"use strict";n.a="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg=="},53:function(t,n,e){"use strict";e.r(n);var a={name:"PopoverMenuItem",props:{item:{type:Object,required:!0,default:function(){return{key:"nextcloud-link",href:"https://nextcloud.com",icon:"icon-links",text:"Nextcloud"}},validator:function(t){return!t.input||-1!==["text","checkbox"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},i=e(2),o=e.n(i),r=e(32),s={insert:"head",singleton:!1},l=(o()(r.a,s),r.a.locals,e(33)),c={insert:"head",singleton:!1},u=(o()(l.a,c),l.a.locals,e(3)),d={name:"PopoverMenu",components:{PopoverMenuItem:Object(u.a)(a,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("li",{staticClass:"popover__menuitem"},[t.item.href?e("a",{staticClass:"focusable",attrs:{href:t.item.href?t.item.href:"#",target:t.item.target?t.item.target:"",download:t.item.download,rel:"noreferrer noopener"},on:{click:t.action}},[t.iconIsUrl?e("img",{attrs:{src:t.item.icon}}):e("span",{class:t.item.icon}),t._v(" "),t.item.text&&t.item.longtext?e("p",[e("strong",{staticClass:"menuitem-text"},[t._v("\n\t\t\t\t"+t._s(t.item.text)+"\n\t\t\t")]),e("br"),t._v(" "),e("span",{staticClass:"menuitem-text-detail"},[t._v("\n\t\t\t\t"+t._s(t.item.longtext)+"\n\t\t\t")])]):t.item.text?e("span",[t._v("\n\t\t\t"+t._s(t.item.text)+"\n\t\t")]):t.item.longtext?e("p",[t._v("\n\t\t\t"+t._s(t.item.longtext)+"\n\t\t")]):t._e()]):t.item.input?e("span",{staticClass:"menuitem",class:{active:t.item.active}},["checkbox"!==t.item.input?e("span",{class:t.item.icon}):t._e(),t._v(" "),"text"===t.item.input?e("form",{class:t.item.input,on:{submit:function(n){return n.preventDefault(),t.item.action(n)}}},[e("input",{attrs:{type:t.item.input,placeholder:t.item.text,required:""},domProps:{value:t.item.value}}),t._v(" "),e("input",{staticClass:"icon-confirm",attrs:{type:"submit",value:""}})]):["checkbox"===t.item.input?e("input",{directives:[{name:"model",rawName:"v-model",value:t.item.model,expression:"item.model"}],class:t.item.input,attrs:{id:t.key,type:"checkbox"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(n){var e=t.item.model,a=n.target,i=!!a.checked;if(Array.isArray(e)){var o=t._i(e,null);a.checked?o<0&&t.$set(t.item,"model",e.concat([null])):o>-1&&t.$set(t.item,"model",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.item,"model",i)},t.item.action]}}):"radio"===t.item.input?e("input",{directives:[{name:"model",rawName:"v-model",value:t.item.model,expression:"item.model"}],class:t.item.input,attrs:{id:t.key,type:"radio"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(n){return t.$set(t.item,"model",null)},t.item.action]}}):e("input",{directives:[{name:"model",rawName:"v-model",value:t.item.model,expression:"item.model"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(n){n.target.composing||t.$set(t.item,"model",n.target.value)}}}),t._v(" "),e("label",{attrs:{for:t.key},on:{click:function(n){return n.stopPropagation(),n.preventDefault(),t.item.action(n)}}},[t._v("\n\t\t\t\t"+t._s(t.item.text)+"\n\t\t\t")])]],2):t.item.action?e("button",{staticClass:"menuitem focusable",class:{active:t.item.active},attrs:{disabled:t.item.disabled,type:"button"},on:{click:function(n){return n.stopPropagation(),n.preventDefault(),t.item.action(n)}}},[e("span",{class:t.item.icon}),t._v(" "),t.item.text&&t.item.longtext?e("p",[e("strong",{staticClass:"menuitem-text"},[t._v("\n\t\t\t\t"+t._s(t.item.text)+"\n\t\t\t")]),e("br"),t._v(" "),e("span",{staticClass:"menuitem-text-detail"},[t._v("\n\t\t\t\t"+t._s(t.item.longtext)+"\n\t\t\t")])]):t.item.text?e("span",[t._v("\n\t\t\t"+t._s(t.item.text)+"\n\t\t")]):t.item.longtext?e("p",[t._v("\n\t\t\t"+t._s(t.item.longtext)+"\n\t\t")]):t._e()]):e("span",{staticClass:"menuitem",class:{active:t.item.active}},[e("span",{class:t.item.icon}),t._v(" "),t.item.text&&t.item.longtext?e("p",[e("strong",{staticClass:"menuitem-text"},[t._v("\n\t\t\t\t"+t._s(t.item.text)+"\n\t\t\t")]),e("br"),t._v(" "),e("span",{staticClass:"menuitem-text-detail"},[t._v("\n\t\t\t\t"+t._s(t.item.longtext)+"\n\t\t\t")])]):t.item.text?e("span",[t._v("\n\t\t\t"+t._s(t.item.text)+"\n\t\t")]):t.item.longtext?e("p",[t._v("\n\t\t\t"+t._s(t.item.longtext)+"\n\t\t")]):t._e()])])}),[],!1,null,"54983729",null).exports},props:{menu:{type:Array,default:function(){return[{href:"https://nextcloud.com",icon:"icon-links",text:"Nextcloud"}]},required:!0}}},m=e(34),p={insert:"head",singleton:!1},g=(o()(m.a,p),m.a.locals,e(35)),h=e.n(g),A=Object(u.a)(d,(function(){var t=this.$createElement,n=this._self._c||t;return n("ul",{staticClass:"popover__menu"},this._l(this.menu,(function(t,e){return n("PopoverMenuItem",{key:e,attrs:{item:t}})})),1)}),[],!1,null,"4dae360a",null);"function"==typeof h.a&&h()(A);var v=A.exports;
|
|
173
172
|
/**
|
|
174
|
-
* @copyright Copyright (c) 2018
|
|
173
|
+
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
|
|
175
174
|
*
|
|
176
|
-
* @author
|
|
175
|
+
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
177
176
|
*
|
|
178
177
|
* @license GNU AGPL version 3 or any later version
|
|
179
178
|
*
|
|
@@ -184,17 +183,17 @@ function e(t,n,A){this.r=t,this.g=n,this.b=A}function i(t,n,A){var i=[];i.push(n
|
|
|
184
183
|
*
|
|
185
184
|
* This program is distributed in the hope that it will be useful,
|
|
186
185
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
187
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
186
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
188
187
|
* GNU Affero General Public License for more details.
|
|
189
188
|
*
|
|
190
189
|
* You should have received a copy of the GNU Affero General Public License
|
|
191
190
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
192
191
|
*
|
|
193
|
-
*/n.default=
|
|
192
|
+
*/n.default=v},54:function(t,n,e){"use strict";e.r(n);var a=e(15),i=e.n(a),o=e(27),r=e(7),s=e(48),l=e(18),c=e(16),u=e(21),d=e.n(u),m=e(53),p=e(11),g=e(57),h=e(22),A=e(4),v=e(14);function b(t,n,e,a,i,o,r){try{var s=t[o](r),l=s.value}catch(t){return void e(t)}s.done?n(l):Promise.resolve(l).then(a,i)}function f(t){return function(){var n=this,e=arguments;return new Promise((function(a,i){var o=t.apply(n,e);function r(t){b(o,a,i,r,s,"next",t)}function s(t){b(o,a,i,r,s,"throw",t)}r(void 0)}))}}var C=Object(s.getBuilder)("nextcloud").persist().build();function y(t){var n=C.getItem("user-has-avatar."+t);return"string"==typeof n?Boolean(n):null}function k(t,n){t&&C.setItem("user-has-avatar."+t,n)}var x={name:"Avatar",directives:{tooltip:p.default,ClickOutside:o.directive},components:{DotsHorizontal:i.a,Popover:v.a,PopoverMenu:m.default},mixins:[h.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:"center"},menuContainer:{type:String,default:"body"},ariaLabel:{type:String,default:null}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){return null!==this.ariaLabel?this.ariaLabel:Object(A.b)("Avatar of {displayName}",{displayName:this.displayName||this.userId})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&["online","away","dnd"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&"dnd"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:""},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(l.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={"--size":this.size+"px",lineHeight:this.size+"px",fontSize:Math.round(.55*this.size)+"px"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var n=Object(g.default)(this.getUserIdentifier);t.backgroundColor="rgb("+n.r+", "+n.g+", "+n.b+")"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var n=this.getUserIdentifier,e=n.indexOf(" ");""===n?t="?":(t=String.fromCodePoint(n.codePointAt(0)),-1!==e&&(t=t.concat(String.fromCodePoint(n.codePointAt(e+1)))))}return t.toUpperCase()},menu:function(){var t,n,e,a=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:"#",icon:"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>".concat((t=this.userStatus.icon,n=document.createTextNode(t),e=document.createElement("p"),e.appendChild(n),e.innerHTML),"</text></svg>"),text:"".concat(this.userStatus.message)}].concat(a):a}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||"",this.userStatus.message=this.preloadedUserStatus.message||"",this.userStatus.icon=this.preloadedUserStatus.icon||"",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(c.subscribe)("user_status:status.updated",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(c.unsubscribe)("user_status:status.updated",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var t=this.$refs.popoverMenu.$el.getElementsByTagName("a");t.length&&t[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return f(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(t.hasMenu){n.next=2;break}return n.abrupt("return");case 2:if(t.contactsMenuOpenState){n.next=5;break}return n.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case"end":return n.stop()}}),n)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return f(regeneratorRuntime.mark((function n(){var e,a,i;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t.contactsMenuLoading=!0,n.prev=1,e=encodeURIComponent(t.user),n.next=5,d.a.post(Object(r.generateUrl)("contactsmenu/findOne"),"shareType=0&shareWith=".concat(e));case 5:a=n.sent,i=a.data,t.contactsMenuActions=i.topAction?[i.topAction].concat(i.actions):i.actions,n.next=13;break;case 10:n.prev=10,n.t0=n.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case"end":return n.stop()}}),n,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var t=this.avatarUrlGenerator(this.user,this.size),n=[t+" 1x",this.avatarUrlGenerator(this.user,2*this.size)+" 2x",this.avatarUrlGenerator(this.user,4*this.size)+" 4x"].join(", ");this.updateImageIfValid(t,n)}},avatarUrlGenerator:function(t,n){var e,a="/avatar/{user}/{size}";this.isGuest&&(a="/avatar/guest/{user}/{size}");var i=Object(r.generateUrl)(a,{user:t,size:n});return t===(null===(e=Object(l.getCurrentUser)())||void 0===e?void 0:e.uid)&&"undefined"!=typeof oc_userconfig&&(i+="?v="+oc_userconfig.avatar.version),i},updateImageIfValid:function(t){var n=this,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=y(this.user);if(this.isUserDefined&&"boolean"==typeof a)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,e&&(this.avatarSrcSetLoaded=e),void(!1===a&&(this.userDoesNotExist=!0));var i=new Image;i.onload=function(){n.avatarUrlLoaded=t,e&&(n.avatarSrcSetLoaded=e),n.isAvatarLoaded=!0,k(n.user,!0)},i.onerror=function(){console.debug("Invalid avatar url",t),n.avatarUrlLoaded=null,n.avatarSrcSetLoaded=null,n.userDoesNotExist=!0,n.isAvatarLoaded=!1,k(n.user,!1)},e&&(i.srcset=e),i.src=t}}},B=e(2),w=e.n(B),S=e(40),j={insert:"head",singleton:!1},N=(w()(S.a,j),S.a.locals,e(3)),P=e(41),_=e.n(P),z=Object(N.a)(x,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",t._g({directives:[{name:"tooltip",rawName:"v-tooltip",value:t.tooltip,expression:"tooltip"},{name:"click-outside",rawName:"v-click-outside",value:t.closeMenu,expression:"closeMenu"}],ref:"main",staticClass:"avatardiv popovermenu-wrapper",class:{"avatardiv--unknown":t.userDoesNotExist,"avatardiv--with-menu":t.hasMenu},style:t.avatarStyle,attrs:{tabindex:t.disableMenu?"-1":"0","aria-label":t.avatarAriaLabel,role:t.disableMenu?"":"button"},on:{keydown:function(n){return!n.type.indexOf("key")&&t._k(n.keyCode,"enter",13,n.key,"Enter")?null:t.toggleMenu(n)}}},t.disableMenu?{}:{click:t.toggleMenu}),[t.iconClass?e("div",{staticClass:"avatar-class-icon",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?e("img",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:""}}):t._e(),t._v(" "),t.hasMenu?e("Popover",{attrs:{placement:"auto",container:t.menuContainer,open:t.contactsMenuOpenState},on:{"after-show":t.handlePopoverAfterShow,"after-hide":t.handlePopoverAfterHide},scopedSlots:t._u([{key:"trigger",fn:function(){return[t.contactsMenuLoading?e("div",{staticClass:"icon-loading"}):e("DotsHorizontal",{staticClass:"icon-more",attrs:{size:24,title:"",decorative:""}})]},proxy:!0}],null,!1,3277751148)},[e("PopoverMenu",{ref:"popoverMenu",attrs:{menu:t.menu}})],1):t._e(),t._v(" "),t.showUserStatusIconOnAvatar?e("div",{staticClass:"avatardiv__user-status avatardiv__user-status--icon"},[t._v("\n\t\t"+t._s(t.userStatus.icon)+"\n\t")]):t.canDisplayUserStatus?e("div",{staticClass:"avatardiv__user-status",class:"avatardiv__user-status--"+t.userStatus.status}):t._e(),t._v(" "),t.userDoesNotExist&&!t.iconClass?e("div",{staticClass:"unknown"},[t._v("\n\t\t"+t._s(t.initials)+"\n\t")]):t._e()],1)}),[],!1,null,"583ead48",null);"function"==typeof _.a&&_()(z);var E=z.exports;
|
|
194
193
|
/**
|
|
195
|
-
* @copyright Copyright (c)
|
|
194
|
+
* @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>
|
|
196
195
|
*
|
|
197
|
-
* @author
|
|
196
|
+
* @author Julius Härtl <jus@bitgrid.net>
|
|
198
197
|
*
|
|
199
198
|
* @license GNU AGPL version 3 or any later version
|
|
200
199
|
*
|
|
@@ -205,11 +204,11 @@ function e(t,n,A){this.r=t,this.g=n,this.b=A}function i(t,n,A){var i=[];i.push(n
|
|
|
205
204
|
*
|
|
206
205
|
* This program is distributed in the hope that it will be useful,
|
|
207
206
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
208
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
207
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
209
208
|
* GNU Affero General Public License for more details.
|
|
210
209
|
*
|
|
211
210
|
* You should have received a copy of the GNU Affero General Public License
|
|
212
211
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
213
212
|
*
|
|
214
|
-
*/n.default=g}])}));
|
|
213
|
+
*/n.default=E},55:function(t,n){t.exports=require("md5")},56:function(t,n){t.exports=require("@nextcloud/capabilities")},57:function(t,n,e){"use strict";e.r(n);var a=e(55),i=e.n(a),o=e(43),r=function(t){var n=t.toLowerCase();null===n.match(/^([0-9a-f]{4}-?){8}$/)&&(n=i()(n)),n=n.replace(/[^0-9a-f]/g,"");return Object(o.a)(6)[function(t,n){for(var e=0,a=[],i=0;i<t.length;i++)a.push(parseInt(t.charAt(i),16)%16);for(var o in a)e+=a[o];return parseInt(parseInt(e,10)%n,10)}(n,18)]};n.default=r},6:function(t,n){t.exports=require("vue")},7:function(t,n){t.exports=require("@nextcloud/router")},8:function(t,n,e){"use strict";t.exports=function(t,n){return n||(n={}),"string"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['"].*['"]$/.test(t)&&(t=t.slice(1,-1)),n.hash&&(t+=n.hash),/["'() \t\n]/.test(t)||n.needQuotes?'"'.concat(t.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t)}},9:function(t,n,e){"use strict";var a=e(0),i=e.n(a),o=e(1),r=e.n(o)()(i.a);r.push([t.i,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./Popover.vue"],names:[],mappings:"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"542b2ae\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$arrow-width: 10px;\n\n.popover {\n\tz-index: 100000;\n\tdisplay: block !important;\n\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t&__inner {\n\t\tpadding: 0;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground: var(--color-main-background);\n\t}\n\n\t&__arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: $arrow-width;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n\n\t&[x-placement^='top'] {\n\t\tmargin-bottom: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\tbottom: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='bottom'] {\n\t\tmargin-top: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='right'] {\n\t\tmargin-left: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tleft: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width $arrow-width $arrow-width 0;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='left'] {\n\t\tmargin-right: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tright: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t}\n\t}\n\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\topacity: 0;\n\t}\n\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity var(--animation-quick);\n\t\topacity: 1;\n\t}\n}\n\n"],sourceRoot:""}]),n.a=r}})}));
|
|
215
214
|
//# sourceMappingURL=UserBubble.js.map
|