@nextcloud/vue 6.0.0-beta.1 → 6.0.0-beta.4
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 +107 -44
- package/README.md +12 -0
- package/dist/Components/NcActionButton.js +3 -0
- package/dist/Components/{ActionButton.js.LICENSE.txt → NcActionButton.js.LICENSE.txt} +0 -0
- package/dist/Components/NcActionButton.js.map +1 -0
- package/dist/Components/NcActionCaption.js +2 -0
- package/dist/Components/NcActionCaption.js.map +1 -0
- package/dist/Components/NcActionCheckbox.js +3 -0
- package/dist/Components/{ActionCheckbox.js.LICENSE.txt → NcActionCheckbox.js.LICENSE.txt} +0 -0
- package/dist/Components/NcActionCheckbox.js.map +1 -0
- package/dist/Components/NcActionInput.js +3 -0
- package/dist/Components/{ActionInput.js.LICENSE.txt → NcActionInput.js.LICENSE.txt} +0 -0
- package/dist/Components/NcActionInput.js.map +1 -0
- package/dist/Components/NcActionLink.js +3 -0
- package/dist/Components/{ActionLink.js.LICENSE.txt → NcActionLink.js.LICENSE.txt} +0 -0
- package/dist/Components/NcActionLink.js.map +1 -0
- package/dist/Components/NcActionRadio.js +3 -0
- package/dist/Components/{ActionRadio.js.LICENSE.txt → NcActionRadio.js.LICENSE.txt} +0 -0
- package/dist/Components/NcActionRadio.js.map +1 -0
- package/dist/Components/NcActionRouter.js +3 -0
- package/dist/Components/{ActionRouter.js.LICENSE.txt → NcActionRouter.js.LICENSE.txt} +0 -0
- package/dist/Components/NcActionRouter.js.map +1 -0
- package/dist/Components/NcActionSeparator.js +2 -0
- package/dist/Components/NcActionSeparator.js.map +1 -0
- package/dist/Components/NcActionText.js +3 -0
- package/dist/Components/{ActionText.js.LICENSE.txt → NcActionText.js.LICENSE.txt} +0 -0
- package/dist/Components/NcActionText.js.map +1 -0
- package/dist/Components/NcActionTextEditable.js +3 -0
- package/dist/Components/{ActionTextEditable.js.LICENSE.txt → NcActionTextEditable.js.LICENSE.txt} +0 -0
- package/dist/Components/NcActionTextEditable.js.map +1 -0
- package/dist/Components/NcActions.js +3 -0
- package/dist/Components/{Actions.js.LICENSE.txt → NcActions.js.LICENSE.txt} +0 -0
- package/dist/Components/NcActions.js.map +1 -0
- package/dist/Components/NcAppContent.js +3 -0
- package/dist/Components/{AppContent.js.LICENSE.txt → NcAppContent.js.LICENSE.txt} +0 -0
- package/dist/Components/NcAppContent.js.map +1 -0
- package/dist/Components/NcAppContentDetails.js +2 -0
- package/dist/Components/NcAppContentDetails.js.map +1 -0
- package/dist/Components/NcAppContentList.js +2 -0
- package/dist/Components/NcAppContentList.js.map +1 -0
- package/dist/Components/NcAppNavigation.js +3 -0
- package/dist/Components/{AppNavigation.js.LICENSE.txt → NcAppNavigation.js.LICENSE.txt} +0 -0
- package/dist/Components/NcAppNavigation.js.map +1 -0
- package/dist/Components/NcAppNavigationCaption.js +3 -0
- package/dist/Components/{AppNavigationCaption.js.LICENSE.txt → NcAppNavigationCaption.js.LICENSE.txt} +0 -0
- package/dist/Components/NcAppNavigationCaption.js.map +1 -0
- package/dist/Components/NcAppNavigationCounter.js +2 -0
- package/dist/Components/NcAppNavigationCounter.js.map +1 -0
- package/dist/Components/NcAppNavigationIconBullet.js +2 -0
- package/dist/Components/NcAppNavigationIconBullet.js.map +1 -0
- package/dist/Components/NcAppNavigationItem.js +3 -0
- package/dist/Components/{AppNavigationItem.js.LICENSE.txt → NcAppNavigationItem.js.LICENSE.txt} +0 -0
- package/dist/Components/NcAppNavigationItem.js.map +1 -0
- package/dist/Components/NcAppNavigationNew.js +2 -0
- package/dist/Components/NcAppNavigationNew.js.map +1 -0
- package/dist/Components/NcAppNavigationNewItem.js +2 -0
- package/dist/Components/NcAppNavigationNewItem.js.map +1 -0
- package/dist/Components/NcAppNavigationSettings.js +3 -0
- package/dist/Components/{AppNavigationSettings.js.LICENSE.txt → NcAppNavigationSettings.js.LICENSE.txt} +0 -0
- package/dist/Components/NcAppNavigationSettings.js.map +1 -0
- package/dist/Components/NcAppNavigationSpacer.js +2 -0
- package/dist/Components/NcAppNavigationSpacer.js.map +1 -0
- package/dist/Components/NcAppNavigationToggle.js +3 -0
- package/dist/Components/{AppNavigationToggle.js.LICENSE.txt → NcAppNavigationToggle.js.LICENSE.txt} +0 -0
- package/dist/Components/NcAppNavigationToggle.js.map +1 -0
- package/dist/Components/NcAppSettingsDialog.js +3 -0
- package/dist/Components/{AppSettingsDialog.js.LICENSE.txt → NcAppSettingsDialog.js.LICENSE.txt} +0 -0
- package/dist/Components/NcAppSettingsDialog.js.map +1 -0
- package/dist/Components/NcAppSettingsSection.js +2 -0
- package/dist/Components/NcAppSettingsSection.js.map +1 -0
- package/dist/Components/NcAppSidebar.js +3 -0
- package/dist/Components/{AppSidebar.js.LICENSE.txt → NcAppSidebar.js.LICENSE.txt} +0 -0
- package/dist/Components/NcAppSidebar.js.map +1 -0
- package/dist/Components/NcAppSidebarTab.js +2 -0
- package/dist/Components/NcAppSidebarTab.js.map +1 -0
- package/dist/Components/NcAvatar.js +3 -0
- package/dist/Components/{Avatar.js.LICENSE.txt → NcAvatar.js.LICENSE.txt} +0 -0
- package/dist/Components/NcAvatar.js.map +1 -0
- package/dist/Components/NcBreadcrumb.js +3 -0
- package/dist/Components/{Breadcrumb.js.LICENSE.txt → NcBreadcrumb.js.LICENSE.txt} +0 -0
- package/dist/Components/NcBreadcrumb.js.map +1 -0
- package/dist/Components/NcBreadcrumbs.js +3 -0
- package/dist/Components/{Breadcrumbs.js.LICENSE.txt → NcBreadcrumbs.js.LICENSE.txt} +0 -0
- package/dist/Components/NcBreadcrumbs.js.map +1 -0
- package/dist/Components/NcButton.js +2 -0
- package/dist/Components/NcButton.js.map +1 -0
- package/dist/Components/NcCheckboxRadioSwitch.js +3 -0
- package/dist/Components/{CheckboxRadioSwitch.js.LICENSE.txt → NcCheckboxRadioSwitch.js.LICENSE.txt} +0 -0
- package/dist/Components/NcCheckboxRadioSwitch.js.map +1 -0
- package/dist/Components/NcColorPicker.js +3 -0
- package/dist/Components/{ColorPicker.js.LICENSE.txt → NcColorPicker.js.LICENSE.txt} +0 -0
- package/dist/Components/NcColorPicker.js.map +1 -0
- package/dist/Components/NcContent.js +2 -0
- package/dist/Components/NcContent.js.map +1 -0
- package/dist/Components/NcCounterBubble.js +2 -0
- package/dist/Components/NcCounterBubble.js.map +1 -0
- package/dist/Components/NcDashboardWidget.js +3 -0
- package/dist/Components/{DashboardWidget.js.LICENSE.txt → NcDashboardWidget.js.LICENSE.txt} +0 -0
- package/dist/Components/NcDashboardWidget.js.map +1 -0
- package/dist/Components/NcDashboardWidgetItem.js +3 -0
- package/dist/Components/{DashboardWidgetItem.js.LICENSE.txt → NcDashboardWidgetItem.js.LICENSE.txt} +0 -0
- package/dist/Components/NcDashboardWidgetItem.js.map +1 -0
- package/dist/Components/NcDatetimePicker.js +3 -0
- package/dist/Components/{DatetimePicker.js.LICENSE.txt → NcDatetimePicker.js.LICENSE.txt} +0 -0
- package/dist/Components/NcDatetimePicker.js.map +1 -0
- package/dist/Components/NcEmojiPicker.js +2 -0
- package/dist/Components/NcEmojiPicker.js.map +1 -0
- package/dist/Components/NcEmptyContent.js +2 -0
- package/dist/Components/NcEmptyContent.js.map +1 -0
- package/dist/Components/NcHighlight.js +3 -0
- package/dist/Components/{Highlight.js.LICENSE.txt → NcHighlight.js.LICENSE.txt} +0 -0
- package/dist/Components/NcHighlight.js.map +1 -0
- package/dist/Components/NcInputField.js +2 -0
- package/dist/Components/NcInputField.js.map +1 -0
- package/dist/Components/NcListItem.js +3 -0
- package/dist/Components/{ListItem.js.LICENSE.txt → NcListItem.js.LICENSE.txt} +0 -0
- package/dist/Components/NcListItem.js.map +1 -0
- package/dist/Components/NcListItemIcon.js +3 -0
- package/dist/Components/{ListItemIcon.js.LICENSE.txt → NcListItemIcon.js.LICENSE.txt} +0 -0
- package/dist/Components/NcListItemIcon.js.map +1 -0
- package/dist/Components/NcLoadingIcon.js +2 -0
- package/dist/Components/NcLoadingIcon.js.map +1 -0
- package/dist/Components/NcModal.js +3 -0
- package/dist/Components/{Modal.js.LICENSE.txt → NcModal.js.LICENSE.txt} +0 -0
- package/dist/Components/NcModal.js.map +1 -0
- package/dist/Components/NcMultiselect.js +3 -0
- package/dist/Components/{Multiselect.js.LICENSE.txt → NcMultiselect.js.LICENSE.txt} +0 -0
- package/dist/Components/NcMultiselect.js.map +1 -0
- package/dist/Components/NcMultiselectTags.js +3 -0
- package/dist/Components/{MultiselectTags.js.LICENSE.txt → NcMultiselectTags.js.LICENSE.txt} +0 -0
- package/dist/Components/NcMultiselectTags.js.map +1 -0
- package/dist/Components/NcPopover.js +2 -0
- package/dist/Components/NcPopover.js.map +1 -0
- package/dist/Components/NcPopoverMenu.js +2 -0
- package/dist/Components/NcPopoverMenu.js.map +1 -0
- package/dist/Components/NcProgressBar.js +2 -0
- package/dist/Components/NcProgressBar.js.map +1 -0
- package/dist/Components/NcRichContenteditable.js +3 -0
- package/dist/Components/{RichContenteditable.js.LICENSE.txt → NcRichContenteditable.js.LICENSE.txt} +0 -0
- package/dist/Components/NcRichContenteditable.js.map +1 -0
- package/dist/Components/NcSettingsInputText.js +2 -0
- package/dist/Components/NcSettingsInputText.js.map +1 -0
- package/dist/Components/NcSettingsSection.js +2 -0
- package/dist/Components/NcSettingsSection.js.map +1 -0
- package/dist/Components/NcSettingsSelectGroup.js +3 -0
- package/dist/Components/{SettingsSelectGroup.js.LICENSE.txt → NcSettingsSelectGroup.js.LICENSE.txt} +0 -0
- package/dist/Components/NcSettingsSelectGroup.js.map +1 -0
- package/dist/Components/NcTextField.js +3 -0
- package/dist/Components/{TextField.js.LICENSE.txt → NcTextField.js.LICENSE.txt} +0 -0
- package/dist/Components/NcTextField.js.map +1 -0
- package/dist/Components/NcTimezonePicker.js +3 -0
- package/dist/Components/{TimezonePicker.js.LICENSE.txt → NcTimezonePicker.js.LICENSE.txt} +0 -0
- package/dist/Components/NcTimezonePicker.js.map +1 -0
- package/dist/Components/NcUserBubble.js +3 -0
- package/dist/Components/{UserBubble.js.LICENSE.txt → NcUserBubble.js.LICENSE.txt} +0 -0
- package/dist/Components/NcUserBubble.js.map +1 -0
- package/dist/Components/NcVNodes.js +2 -0
- package/dist/Components/NcVNodes.js.map +1 -0
- package/dist/Directives/Tooltip.js +1 -1
- package/dist/Directives/Tooltip.js.map +1 -1
- package/dist/Mixins/richEditor.js +1 -1
- package/dist/Mixins/richEditor.js.map +1 -1
- package/dist/ncvuecomponents.js +1 -1
- package/dist/ncvuecomponents.js.map +1 -1
- package/package.json +9 -7
- package/dist/Components/ActionButton.js +0 -3
- package/dist/Components/ActionButton.js.map +0 -1
- package/dist/Components/ActionCaption.js +0 -2
- package/dist/Components/ActionCaption.js.map +0 -1
- package/dist/Components/ActionCheckbox.js +0 -3
- package/dist/Components/ActionCheckbox.js.map +0 -1
- package/dist/Components/ActionInput.js +0 -3
- package/dist/Components/ActionInput.js.map +0 -1
- package/dist/Components/ActionLink.js +0 -3
- package/dist/Components/ActionLink.js.map +0 -1
- package/dist/Components/ActionRadio.js +0 -3
- package/dist/Components/ActionRadio.js.map +0 -1
- package/dist/Components/ActionRouter.js +0 -3
- package/dist/Components/ActionRouter.js.map +0 -1
- package/dist/Components/ActionSeparator.js +0 -2
- package/dist/Components/ActionSeparator.js.map +0 -1
- package/dist/Components/ActionText.js +0 -3
- package/dist/Components/ActionText.js.map +0 -1
- package/dist/Components/ActionTextEditable.js +0 -3
- package/dist/Components/ActionTextEditable.js.map +0 -1
- package/dist/Components/Actions.js +0 -3
- package/dist/Components/Actions.js.map +0 -1
- package/dist/Components/AppContent.js +0 -3
- package/dist/Components/AppContent.js.map +0 -1
- package/dist/Components/AppContentDetails.js +0 -2
- package/dist/Components/AppContentDetails.js.map +0 -1
- package/dist/Components/AppContentList.js +0 -2
- package/dist/Components/AppContentList.js.map +0 -1
- package/dist/Components/AppNavigation.js +0 -3
- package/dist/Components/AppNavigation.js.map +0 -1
- package/dist/Components/AppNavigationCaption.js +0 -3
- package/dist/Components/AppNavigationCaption.js.map +0 -1
- package/dist/Components/AppNavigationCounter.js +0 -2
- package/dist/Components/AppNavigationCounter.js.map +0 -1
- package/dist/Components/AppNavigationIconBullet.js +0 -2
- package/dist/Components/AppNavigationIconBullet.js.map +0 -1
- package/dist/Components/AppNavigationItem.js +0 -3
- package/dist/Components/AppNavigationItem.js.map +0 -1
- package/dist/Components/AppNavigationNew.js +0 -2
- package/dist/Components/AppNavigationNew.js.map +0 -1
- package/dist/Components/AppNavigationNewItem.js +0 -2
- package/dist/Components/AppNavigationNewItem.js.map +0 -1
- package/dist/Components/AppNavigationSettings.js +0 -3
- package/dist/Components/AppNavigationSettings.js.map +0 -1
- package/dist/Components/AppNavigationSpacer.js +0 -2
- package/dist/Components/AppNavigationSpacer.js.map +0 -1
- package/dist/Components/AppNavigationToggle.js +0 -3
- package/dist/Components/AppNavigationToggle.js.map +0 -1
- package/dist/Components/AppSettingsDialog.js +0 -3
- package/dist/Components/AppSettingsDialog.js.map +0 -1
- package/dist/Components/AppSettingsSection.js +0 -2
- package/dist/Components/AppSettingsSection.js.map +0 -1
- package/dist/Components/AppSidebar.js +0 -3
- package/dist/Components/AppSidebar.js.map +0 -1
- package/dist/Components/AppSidebarTab.js +0 -2
- package/dist/Components/AppSidebarTab.js.map +0 -1
- package/dist/Components/Avatar.js +0 -3
- package/dist/Components/Avatar.js.map +0 -1
- package/dist/Components/Breadcrumb.js +0 -3
- package/dist/Components/Breadcrumb.js.map +0 -1
- package/dist/Components/Breadcrumbs.js +0 -3
- package/dist/Components/Breadcrumbs.js.map +0 -1
- package/dist/Components/ButtonVue.js +0 -2
- package/dist/Components/ButtonVue.js.map +0 -1
- package/dist/Components/CheckboxRadioSwitch.js +0 -3
- package/dist/Components/CheckboxRadioSwitch.js.map +0 -1
- package/dist/Components/ColorPicker.js +0 -3
- package/dist/Components/ColorPicker.js.map +0 -1
- package/dist/Components/Content.js +0 -2
- package/dist/Components/Content.js.map +0 -1
- package/dist/Components/CounterBubble.js +0 -2
- package/dist/Components/CounterBubble.js.map +0 -1
- package/dist/Components/DashboardWidget.js +0 -3
- package/dist/Components/DashboardWidget.js.map +0 -1
- package/dist/Components/DashboardWidgetItem.js +0 -3
- package/dist/Components/DashboardWidgetItem.js.map +0 -1
- package/dist/Components/DatetimePicker.js +0 -3
- package/dist/Components/DatetimePicker.js.map +0 -1
- package/dist/Components/EmojiPicker.js +0 -2
- package/dist/Components/EmojiPicker.js.map +0 -1
- package/dist/Components/EmptyContent.js +0 -2
- package/dist/Components/EmptyContent.js.map +0 -1
- package/dist/Components/Highlight.js +0 -3
- package/dist/Components/Highlight.js.map +0 -1
- package/dist/Components/InputField.js +0 -2
- package/dist/Components/InputField.js.map +0 -1
- package/dist/Components/ListItem.js +0 -3
- package/dist/Components/ListItem.js.map +0 -1
- package/dist/Components/ListItemIcon.js +0 -3
- package/dist/Components/ListItemIcon.js.map +0 -1
- package/dist/Components/LoadingIcon.js +0 -2
- package/dist/Components/LoadingIcon.js.map +0 -1
- package/dist/Components/Modal.js +0 -3
- package/dist/Components/Modal.js.map +0 -1
- package/dist/Components/Multiselect.js +0 -3
- package/dist/Components/Multiselect.js.map +0 -1
- package/dist/Components/MultiselectTags.js +0 -3
- package/dist/Components/MultiselectTags.js.map +0 -1
- package/dist/Components/Popover.js +0 -2
- package/dist/Components/Popover.js.map +0 -1
- package/dist/Components/PopoverMenu.js +0 -2
- package/dist/Components/PopoverMenu.js.map +0 -1
- package/dist/Components/ProgressBar.js +0 -2
- package/dist/Components/ProgressBar.js.map +0 -1
- package/dist/Components/RichContenteditable.js +0 -3
- package/dist/Components/RichContenteditable.js.map +0 -1
- package/dist/Components/SettingsInputText.js +0 -2
- package/dist/Components/SettingsInputText.js.map +0 -1
- package/dist/Components/SettingsSection.js +0 -2
- package/dist/Components/SettingsSection.js.map +0 -1
- package/dist/Components/SettingsSelectGroup.js +0 -3
- package/dist/Components/SettingsSelectGroup.js.map +0 -1
- package/dist/Components/TextField.js +0 -3
- package/dist/Components/TextField.js.map +0 -1
- package/dist/Components/TimezonePicker.js +0 -3
- package/dist/Components/TimezonePicker.js.map +0 -1
- package/dist/Components/UserBubble.js +0 -3
- package/dist/Components/UserBubble.js.map +0 -1
- package/dist/Components/VNodes.js +0 -2
- package/dist/Components/VNodes.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Components/AppNavigationCaption.js","mappings":"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","sources":["webpack://NextcloudVue/webpack/universalModuleDefinition","webpack://NextcloudVue/src/components/Actions/Actions.vue","webpack://NextcloudVue/./src/components/Actions/Actions.vue?af4c","webpack://NextcloudVue/./src/components/Actions/Actions.vue?88a3","webpack://NextcloudVue/./src/components/Actions/Actions.vue?a06b","webpack://NextcloudVue/./src/components/Actions/Actions.vue","webpack://NextcloudVue/./src/components/Actions/index.js","webpack://NextcloudVue/src/components/ButtonVue/ButtonVue.vue","webpack://NextcloudVue/./src/components/ButtonVue/ButtonVue.vue?66f4","webpack://NextcloudVue/./src/components/ButtonVue/ButtonVue.vue?dd48","webpack://NextcloudVue/./src/components/ButtonVue/ButtonVue.vue?f537","webpack://NextcloudVue/./src/components/ButtonVue/ButtonVue.vue","webpack://NextcloudVue/./src/components/ButtonVue/index.js","webpack://NextcloudVue/./src/components/Popover/Popover.vue","webpack://NextcloudVue/./src/components/Popover/Popover.vue?ccc1","webpack://NextcloudVue/src/components/Popover/Popover.vue","webpack://NextcloudVue/./src/components/Popover/Popover.vue?9e1d","webpack://NextcloudVue/./src/components/Popover/Popover.vue?abcd","webpack://NextcloudVue/./src/components/Popover/index.js","webpack://NextcloudVue/./src/directives/Tooltip/index.scss?db22","webpack://NextcloudVue/./src/directives/Tooltip/index.js","webpack://NextcloudVue/./src/l10n.js","webpack://NextcloudVue/./src/utils/GenRandomId.js","webpack://NextcloudVue/./src/directives/Tooltip/index.scss","webpack://NextcloudVue/./src/components/Actions/Actions.vue?7e60","webpack://NextcloudVue/./src/components/Actions/Actions.vue?8af8","webpack://NextcloudVue/./src/components/AppNavigationCaption/AppNavigationCaption.vue?65e3","webpack://NextcloudVue/./src/components/ButtonVue/ButtonVue.vue?74f1","webpack://NextcloudVue/./src/components/Popover/Popover.vue?b9e8","webpack://NextcloudVue/./node_modules/css-loader/dist/runtime/api.js","webpack://NextcloudVue/./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack://NextcloudVue/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://NextcloudVue/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://NextcloudVue/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://NextcloudVue/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://NextcloudVue/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://NextcloudVue/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://NextcloudVue/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://NextcloudVue/external commonjs \"@nextcloud/l10n/dist/gettext.js\"","webpack://NextcloudVue/external commonjs \"floating-vue\"","webpack://NextcloudVue/external commonjs \"focus-trap\"","webpack://NextcloudVue/external commonjs \"vue-material-design-icons/DotsHorizontal.vue\"","webpack://NextcloudVue/webpack/bootstrap","webpack://NextcloudVue/webpack/runtime/compat get default export","webpack://NextcloudVue/webpack/runtime/define property getters","webpack://NextcloudVue/webpack/runtime/hasOwnProperty shorthand","webpack://NextcloudVue/webpack/runtime/make namespace object","webpack://NextcloudVue/webpack/runtime/nonce","webpack://NextcloudVue/./src/components/AppNavigationCaption/AppNavigationCaption.vue","webpack://NextcloudVue/./src/components/AppNavigationCaption/AppNavigationCaption.vue?0aca","webpack://NextcloudVue/src/components/AppNavigationCaption/AppNavigationCaption.vue","webpack://NextcloudVue/./src/components/AppNavigationCaption/AppNavigationCaption.vue?cc5f","webpack://NextcloudVue/./src/components/AppNavigationCaption/AppNavigationCaption.vue?2cb8","webpack://NextcloudVue/./src/components/AppNavigationCaption/index.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(\"NextcloudVue\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"NextcloudVue\"] = factory();\n\telse\n\t\troot[\"NextcloudVue\"] = root[\"NextcloudVue\"] || {}, root[\"NextcloudVue\"][\"Components/AppNavigationCaption\"] = factory();\n})(self, function() {\nreturn ","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\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<!-- Accessibility guidelines:\nhttps://www.w3.org/TR/wai-aria-practices/examples/menu-button/menu-button-actions.html -->\n\n<docs>\n### Single action\n\n```\n<template>\n\t<Actions>\n\t\t<ActionButton @click=\"actionDelete\">\n\t\t\t<template #icon>\n\t\t\t\t<Delete :size=\"20\" />\n\t\t\t</template>\n\t\t\tDelete\n\t\t</ActionButton>\n\t</Actions>\n</template>\n<script>\nimport Delete from 'vue-material-design-icons/Delete'\n\nexport default {\n\tcomponents: {\n\t\tDelete,\n\t},\n\tmethods: {\n\t\tactionDelete() {\n\t\t\talert('Delete')\n\t\t},\n\t},\n}\n</script>\n```\n\n### Multiple actions\n\n```\n<template>\n\t<Actions>\n\t\t<ActionButton @click=\"showMessage('Edit')\">\n\t\t\t<template #icon>\n\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t</template>\n\t\t\tEdit\n\t\t</ActionButton>\n\t\t<ActionButton @click=\"showMessage('Delete')\">\n\t\t\t<template #icon>\n\t\t\t\t<Delete :size=\"20\" />\n\t\t\t</template>\n\t\t\tDelete\n\t\t</ActionButton>\n\t\t<ActionLink href=\"https://nextcloud.com\">\n\t\t\t<template #icon>\n\t\t\t\t<OpenInNew :size=\"20\" />\n\t\t\t</template>\n\t\t\tLink\n\t\t</ActionLink>\n\t</Actions>\n</template>\n<script>\nimport Delete from 'vue-material-design-icons/Delete'\nimport OpenInNew from 'vue-material-design-icons/OpenInNew'\nimport Pencil from 'vue-material-design-icons/Pencil'\n\nexport default {\n\tcomponents: {\n\t\tDelete,\n\t\tOpenInNew,\n\t\tPencil,\n\t},\n\tmethods: {\n\t\tshowMessage(msg) {\n\t\t\talert(msg)\n\t\t},\n\t},\n}\n</script>\n```\n\n### Multiple actions with custom icon\n\n```\n<template>\n\t<Actions>\n\t\t<template #icon>\n\t\t\t<Pencil :size=\"20\" />\n\t\t</template>\n\t\t<ActionButton @click=\"showMessage('Edit')\">\n\t\t\t<template #icon>\n\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t</template>\n\t\t\tEdit\n\t\t</ActionButton>\n\t\t<ActionButton @click=\"showMessage('Delete')\">\n\t\t\t<template #icon>\n\t\t\t\t<Delete :size=\"20\" />\n\t\t\t</template>\n\t\t\tDelete\n\t\t</ActionButton>\n\t\t<ActionLink href=\"https://nextcloud.com\">\n\t\t\t<template #icon>\n\t\t\t\t<OpenInNew :size=\"20\" />\n\t\t\t</template>\n\t\t\tLink\n\t\t</ActionLink>\n\t</Actions>\n</template>\n<script>\nimport Delete from 'vue-material-design-icons/Delete'\nimport OpenInNew from 'vue-material-design-icons/OpenInNew'\nimport Pencil from 'vue-material-design-icons/Pencil'\n\nexport default {\n\tcomponents: {\n\t\tDelete,\n\t\tOpenInNew,\n\t\tPencil,\n\t},\n\tmethods: {\n\t\tshowMessage(msg) {\n\t\t\talert(msg)\n\t\t},\n\t},\n}\n</script>\n```\n\n### With menu title\n\n```\n<template>\n\t<Actions menu-title=\"Object management\">\n\t\t<template #icon>\n\t\t\t<Pencil :size=\"20\" />\n\t\t</template>\n\t\t<ActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t</template>\n\t\t\tRename\n\t\t</ActionButton>\n\t\t<ActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Delete :size=\"20\" />\n\t\t\t</template>\n\t\t\tDelete\n\t\t</ActionButton>\n\t\t<ActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<ArrowRight :size=\"20\" />\n\t\t\t</template>\n\t\t\tValidate\n\t\t</ActionButton>\n\t\t<ActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Download :size=\"20\" />\n\t\t\t</template>\n\t\t\tDownload\n\t\t</ActionButton>\n\t</Actions>\n</template>\n<script>\nimport ArrowRight from 'vue-material-design-icons/ArrowRight'\nimport Delete from 'vue-material-design-icons/Delete'\nimport Download from 'vue-material-design-icons/Download'\nimport Pencil from 'vue-material-design-icons/Pencil'\n\nexport default {\n\tcomponents: {\n\t\tArrowRight,\n\t\tDelete,\n\t\tDownload,\n\t\tPencil,\n\t},\n}\n</script>\n```\n\n### Various icons styles\n```\n<template>\n\t<Actions :primary=\"true\">\n\t\t<ActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t</template>\n\t\t\tEdit\n\t\t</ActionButton>\n\t\t<ActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Delete :size=\"20\" />\n\t\t\t</template>\n\t\t\tDelete\n\t\t</ActionButton>\n\t</Actions>\n</template>\n<script>\nimport Delete from 'vue-material-design-icons/Delete'\nimport Pencil from 'vue-material-design-icons/Pencil'\n\nexport default {\n\tcomponents: {\n\t\tDelete,\n\t\tPencil,\n\t},\n}\n</script>\n```\n\n```\n<template>\n\t<Actions :primary=\"true\" menu-title=\"Object management\">\n\t\t<template #icon>\n\t\t\t<Plus :size=\"20\" />\n\t\t</template>\n\t\t<ActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t</template>\n\t\t\tRename\n\t\t</ActionButton>\n\t\t<ActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Delete :size=\"20\" />\n\t\t\t</template>\n\t\t\tDelete\n\t\t</ActionButton>\n\t\t<ActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<ArrowRight :size=\"20\" />\n\t\t\t</template>\n\t\t\tValidate\n\t\t</ActionButton>\n\t\t<ActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Download :size=\"20\" />\n\t\t\t</template>\n\t\t\tDownload\n\t\t</ActionButton>\n\t</Actions>\n</template>\n<script>\nimport ArrowRight from 'vue-material-design-icons/ArrowRight'\nimport Delete from 'vue-material-design-icons/Delete'\nimport Download from 'vue-material-design-icons/Download'\nimport Pencil from 'vue-material-design-icons/Pencil'\nimport Plus from 'vue-material-design-icons/Plus'\n\nexport default {\n\tcomponents: {\n\t\tArrowRight,\n\t\tDelete,\n\t\tDownload,\n\t\tPencil,\n\t\tPlus,\n\t},\n}\n</script>\n```\n\n### Custom icon slot\nTo be used with `vue-material-design-icons` only. For icon classes use the `default-icon` slot.\nIt can be used with one or multiple actions.\n```\n<template>\n\t<div style=\"display: flex;align-items: center;\">\n\t\t<ButtonVue @click=\"toggled = !toggled\">Toggle multiple action</ButtonVue>\n\t\t<Actions>\n\t\t\t<template #icon>\n\t\t\t\t<DotsHorizontalCircleOutline :size=\"20\" />\n\t\t\t</template>\n\t\t\t<ActionButton>\n\t\t\t\t<template #icon>\n\t\t\t\t\t<MicrophoneOff :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tMute\n\t\t\t</ActionButton>\n\t\t\t<ActionButton v-if=\"toggled\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tDelete\n\t\t\t</ActionButton>\n\t\t</Actions>\n\t\t<Actions>\n\t\t</Actions>\n\t</div>\n</template>\n<script>\nimport Delete from 'vue-material-design-icons/Delete'\nimport DotsHorizontalCircleOutline from 'vue-material-design-icons/DotsHorizontalCircleOutline'\nimport MicrophoneOff from 'vue-material-design-icons/MicrophoneOff'\n\nexport default {\n\tcomponents: {\n\t\tDelete,\n\t\tDotsHorizontalCircleOutline,\n\t\tMicrophoneOff,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\ttoggled: false\n\t\t}\n\t}\n}\n</script>\n```\n\n### Custom icon slot in child elements\n```\n<template>\n\t<Actions :primary=\"true\">\n\t\t<ActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Magnify :size=\"20\" />\n\t\t\t</template>\n\t\t\tSearch\n\t\t</ActionButton>\n\t\t<ActionButton>\n\t\t\t<template #icon>\n\t\t\t\t<Delete :size=\"20\" />\n\t\t\t</template>\n\t\t\tDelete\n\t\t</ActionButton>\n\t</Actions>\n</template>\n<script>\nimport Delete from 'vue-material-design-icons/Delete'\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tDelete,\n\t\tMagnify,\n\t},\n}\n</script>\n```\n\n</docs>\n\n<script>\nimport ButtonVue from '../ButtonVue/index.js'\nimport Popover from '../Popover/index.js'\nimport Tooltip from '../../directives/Tooltip/index.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { t } from '../../l10n.js'\n\nimport DotsHorizontal from 'vue-material-design-icons/DotsHorizontal.vue'\n\nconst focusableSelector = '.focusable'\n\n/**\n * The Actions component can be used to display one ore more actions.\n * If only a single action is provided, it will be rendered as an inline icon.\n * For more, a menu indicator will be shown and a popovermenu containing the\n * actions will be opened on click.\n *\n * @since 0.10.0\n */\nexport default {\n\tname: 'Actions',\n\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t},\n\n\tcomponents: {\n\t\tButtonVue,\n\t\tDotsHorizontal,\n\t\tPopover,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Specify the open state of the popover menu\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Force the actions to display in a three dot menu\n\t\t */\n\t\tforceMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Force the title to show for single actions\n\t\t */\n\t\tforceTitle: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Specify the menu title\n\t\t */\n\t\tmenuTitle: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Apply primary styling for this menu\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Specifies the button type used for trigger and single actions buttons\n\t\t * Accepted values: primary, secondary, tertiary, tertiary-no-background, tertiary-on-primary, error, warning, success. If left empty,\n\t\t * the default button style will be applied.\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tvalidator(value) {\n\t\t\t\treturn ['primary', 'secondary', 'tertiary', 'tertiary-no-background', 'tertiary-on-primary', 'error', 'warning', 'success'].indexOf(value) !== -1\n\t\t\t},\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Aria label for the actions menu\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Actions'),\n\t\t},\n\n\t\t/**\n\t\t * Wanted direction of the menu\n\t\t */\n\t\tplacement: {\n\t\t\ttype: String,\n\t\t\tdefault: 'bottom',\n\t\t},\n\n\t\t/**\n\t\t * DOM element for the actions' popover boundaries\n\t\t */\n\t\tboundariesElement: {\n\t\t\ttype: Element,\n\t\t\tdefault: () => document.querySelector('body'),\n\t\t},\n\n\t\t/**\n\t\t * Selector for the actions' popover container\n\t\t */\n\t\tcontainer: {\n\t\t\ttype: String,\n\t\t\tdefault: 'body',\n\t\t},\n\n\t\t/**\n\t\t * Disabled state of the main button (single action or menu toggle)\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\temits: [\n\t\t'update:open',\n\t\t'open',\n\t\t'update:open',\n\t\t'close',\n\t\t'focus',\n\t\t'blur',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\topened: this.open,\n\t\t\tfocusIndex: 0,\n\t\t\trandomId: `menu-${GenRandomId()}`,\n\t\t}\n\t},\n\n\twatch: {\n\t\t// Watch parent prop\n\t\topen(state) {\n\t\t\tif (state === this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.opened = state\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Do we have exactly one Action and\n\t\t * is it allowed as a standalone element?\n\t\t *\n\t\t * @param {Array} actions The acttions to check\n\t\t * @return {boolean}\n\t\t */\n\t\tisValidSingleAction(actions) {\n\t\t\treturn actions.length === 1\n\t\t\t\t&& ['ActionButton', 'ActionLink', 'ActionRouter'].includes(actions[0]?.componentOptions?.tag)\n\t\t},\n\t\t// MENU STATE MANAGEMENT\n\t\topenMenu(e) {\n\t\t\tif (this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.opened = true\n\n\t\t\t/**\n\t\t\t * Event emitted when the popover menu open state is changed\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('update:open', true)\n\n\t\t\t/**\n\t\t\t * Event emitted when the popover menu is opened\n\t\t\t */\n\t\t\tthis.$emit('open')\n\t\t},\n\t\tcloseMenu(e) {\n\t\t\tif (!this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.opened = false\n\n\t\t\t/**\n\t\t\t * Event emitted when the popover menu open state is changed\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('update:open', false)\n\n\t\t\t/**\n\t\t\t * Event emitted when the popover menu is closed\n\t\t\t */\n\t\t\tthis.$emit('close')\n\n\t\t\t// close everything\n\t\t\tthis.opened = false\n\t\t\tthis.focusIndex = 0\n\n\t\t\t// focus back the menu button\n\t\t\tthis.$refs.menuButton.$el.focus()\n\t\t},\n\n\t\tonOpen(event) {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.focusFirstAction(event)\n\t\t\t})\n\t\t},\n\n\t\t// MENU KEYS & FOCUS MANAGEMENT\n\t\t// focus nearest focusable item on mouse move\n\t\t// DO NOT change the focus if the target is already focused\n\t\t// this will prevent issues with input being unfocused\n\t\t// on mouse move\n\t\tonMouseFocusAction(event) {\n\t\t\tif (document.activeElement === event.target) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst menuItem = event.target.closest('li')\n\t\t\tif (menuItem) {\n\t\t\t\tconst focusableItem = menuItem.querySelector(focusableSelector)\n\t\t\t\tif (focusableItem) {\n\t\t\t\t\tconst focusList = this.$refs.menu.querySelectorAll(focusableSelector)\n\t\t\t\t\tconst focusIndex = [...focusList].indexOf(focusableItem)\n\t\t\t\t\tif (focusIndex > -1) {\n\t\t\t\t\t\tthis.focusIndex = focusIndex\n\t\t\t\t\t\tthis.focusAction()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Dispatches the keydown listener to different handlers\n\t\t *\n\t\t * @param {object} event The keydown event\n\t\t */\n\t\tonKeydown(event) {\n\t\t\t// Up or Shift+Tab\n\t\t\tif (event.keyCode === 38 || (event.keyCode === 9 && event.shiftKey)) {\n\t\t\t\tthis.focusPreviousAction(event)\n\t\t\t}\n\t\t\t// Down or Tab\n\t\t\tif (event.keyCode === 40 || (event.keyCode === 9 && !event.shiftKey)) {\n\t\t\t\tthis.focusNextAction(event)\n\t\t\t}\n\t\t\t// Page-Up\n\t\t\tif (event.keyCode === 33) {\n\t\t\t\tthis.focusFirstAction(event)\n\t\t\t}\n\t\t\t// Page-Down\n\t\t\tif (event.keyCode === 34) {\n\t\t\t\tthis.focusLastAction(event)\n\t\t\t}\n\t\t\t// Esc\n\t\t\tif (event.keyCode === 27) {\n\t\t\t\tthis.closeMenu(event)\n\t\t\t\tevent.preventDefault()\n\t\t\t}\n\t\t},\n\t\tremoveCurrentActive() {\n\t\t\tconst currentActiveElement = this.$refs.menu.querySelector('li.active')\n\t\t\tif (currentActiveElement) {\n\t\t\t\tcurrentActiveElement.classList.remove('active')\n\t\t\t}\n\t\t},\n\t\tfocusAction() {\n\t\t\t// TODO: have a global disabled state for non input elements\n\t\t\tconst focusElement = this.$refs.menu.querySelectorAll(focusableSelector)[this.focusIndex]\n\t\t\tif (focusElement) {\n\t\t\t\tthis.removeCurrentActive()\n\t\t\t\tconst liMenuParent = focusElement.closest('li.action')\n\t\t\t\tfocusElement.focus()\n\t\t\t\tif (liMenuParent) {\n\t\t\t\t\tliMenuParent.classList.add('active')\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tfocusPreviousAction(event) {\n\t\t\tif (this.opened) {\n\t\t\t\tif (this.focusIndex === 0) {\n\t\t\t\t\t// First element overflows to body-navigation (no preventDefault!) and closes Actions-menu\n\t\t\t\t\tthis.closeMenu()\n\t\t\t\t} else {\n\t\t\t\t\tthis.preventIfEvent(event)\n\t\t\t\t\tthis.focusIndex = this.focusIndex - 1\n\t\t\t\t}\n\t\t\t\tthis.focusAction()\n\t\t\t}\n\t\t},\n\t\tfocusNextAction(event) {\n\t\t\tif (this.opened) {\n\t\t\t\tconst indexLength = this.$refs.menu.querySelectorAll(focusableSelector).length - 1\n\t\t\t\tif (this.focusIndex === indexLength) {\n\t\t\t\t\t// Last element overflows to body-navigation (no preventDefault!) and closes Actions-menu\n\t\t\t\t\tthis.closeMenu()\n\t\t\t\t} else {\n\t\t\t\t\tthis.preventIfEvent(event)\n\t\t\t\t\tthis.focusIndex = this.focusIndex + 1\n\t\t\t\t}\n\t\t\t\tthis.focusAction()\n\t\t\t}\n\t\t},\n\t\tfocusFirstAction(event) {\n\t\t\tif (this.opened) {\n\t\t\t\tthis.preventIfEvent(event)\n\t\t\t\tthis.focusIndex = 0\n\t\t\t\tthis.focusAction()\n\t\t\t}\n\t\t},\n\t\tfocusLastAction(event) {\n\t\t\tif (this.opened) {\n\t\t\t\tthis.preventIfEvent(event)\n\t\t\t\tthis.focusIndex = this.$refs.menu.querySelectorAll(focusableSelector).length - 1\n\t\t\t\tthis.focusAction()\n\t\t\t}\n\t\t},\n\t\tpreventIfEvent(event) {\n\t\t\tif (event) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tevent.stopPropagation()\n\t\t\t}\n\t\t},\n\t\tonFocus(event) {\n\t\t\tthis.$emit('focus', event)\n\t\t},\n\t\tonBlur(event) {\n\t\t\tthis.$emit('blur', event)\n\t\t},\n\t},\n\t/**\n\t * The render function to display the component\n\t *\n\t * @param {Function} h The function to create VNodes\n\t * @return {VNodes} The created VNodes\n\t */\n\trender(h) {\n\t\t/**\n\t\t * Filter the Actions, so that we only get allowed components.\n\t\t * This also ensure that we don't get 'text' elements, which would\n\t\t * become problematic later on.\n\t\t */\n\t\tconst actions = (this.$slots.default || []).filter(\n\t\t\taction => action?.componentOptions?.tag\n\t\t)\n\n\t\t// Check that we have at least one action\n\t\tif (actions.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\t/**\n\t\t * If we have a single action only and didn't force a menu,\n\t\t * we render the action as a standalone button\n\t\t */\n\t\tif (this.isValidSingleAction(actions) && !this.forceMenu) {\n\t\t\tconst firstAction = actions[0]\n\t\t\tconst icon = firstAction?.data?.scopedSlots?.icon()?.[0]\n\t\t\tconst title = this.forceTitle ? this.menuTitle : ''\n\t\t\tconst clickListener = firstAction?.componentOptions?.listeners?.click\n\t\t\treturn h('ButtonVue',\n\t\t\t\t{\n\t\t\t\t\tclass: [\n\t\t\t\t\t\t'action-item action-item--single',\n\t\t\t\t\t\tfirstAction?.data?.staticClass,\n\t\t\t\t\t\tfirstAction?.data?.class,\n\t\t\t\t\t],\n\t\t\t\t\tattrs: {\n\t\t\t\t\t\t'aria-label': firstAction?.componentOptions?.propsData?.ariaLabel || firstAction?.componentOptions?.children?.[0]?.text,\n\t\t\t\t\t},\n\t\t\t\t\tprops: {\n\t\t\t\t\t\t // If it has a title, we use a secondary button\n\t\t\t\t\t\ttype: this.type || (title ? 'secondary' : 'tertiary'),\n\t\t\t\t\t\tdisabled: this.disabled || firstAction?.componentOptions?.propsData?.disabled,\n\t\t\t\t\t\t...firstAction?.componentOptions?.propsData,\n\t\t\t\t\t},\n\t\t\t\t\tdirectives: [{\n\t\t\t\t\t\tname: 'tooltip',\n\t\t\t\t\t\tvalue: firstAction?.componentOptions?.children?.[0]?.text,\n\t\t\t\t\t\tmodifiers: {\n\t\t\t\t\t\t\tauto: true,\n\t\t\t\t\t\t},\n\n\t\t\t\t\t}],\n\t\t\t\t\ton: {\n\t\t\t\t\t\tfocus: this.onFocus,\n\t\t\t\t\t\tblur: this.onBlur,\n\t\t\t\t\t\t// If we have a click listener,\n\t\t\t\t\t\t// we bind it to execute on click and forward the click event\n\t\t\t\t\t\t...(!!clickListener && {\n\t\t\t\t\t\t\tclick: (event) => {\n\t\t\t\t\t\t\t\tif (clickListener) {\n\t\t\t\t\t\t\t\t\tclickListener(event)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t[\n\t\t\t\t\th('template', { slot: 'icon' }, [icon]),\n\t\t\t\t\ttitle,\n\t\t\t\t],\n\t\t\t)\n\t\t/**\n\t\t * Otherwise, we render the actions in a popover\n\t\t */\n\t\t} else {\n\t\t\tconst triggerIcon = this.$slots.icon?.[0] || h('DotsHorizontal', {\n\t\t\t\tprops: {\n\t\t\t\t\tsize: 20,\n\t\t\t\t},\n\t\t\t})\n\t\t\treturn h('div',\n\t\t\t\t{\n\t\t\t\t\tclass: [\n\t\t\t\t\t\t'action-item',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'action-item--open': this.opened,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t[\n\t\t\t\t\th('Popover',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\tdelay: 0,\n\t\t\t\t\t\t\t\thandleResize: true,\n\t\t\t\t\t\t\t\tshown: this.opened,\n\t\t\t\t\t\t\t\tplacement: this.placement,\n\t\t\t\t\t\t\t\tboundary: this.boundariesElement,\n\t\t\t\t\t\t\t\tcontainer: this.container,\n\t\t\t\t\t\t\t\tpopoverBaseClass: 'action-item__popper',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t// For some reason the popover component\n\t\t\t\t\t\t\t// does not react to props given under the 'props' key,\n\t\t\t\t\t\t\t// so we use both 'attrs' and 'props'\n\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\tdelay: 0,\n\t\t\t\t\t\t\t\thandleResize: true,\n\t\t\t\t\t\t\t\tshown: this.opened,\n\t\t\t\t\t\t\t\tplacement: this.placement,\n\t\t\t\t\t\t\t\tboundary: this.boundariesElement,\n\t\t\t\t\t\t\t\tcontainer: this.container,\n\t\t\t\t\t\t\t\tpopoverBaseClass: 'action-item__popper',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\tshow: this.openMenu,\n\t\t\t\t\t\t\t\t'after-show': this.onOpen,\n\t\t\t\t\t\t\t\thide: this.closeMenu,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\th('ButtonVue', {\n\t\t\t\t\t\t\t\tclass: 'action-item__menutoggle',\n\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\t// If requested, we use a primary button\n\t\t\t\t\t\t\t\t\ttype: this.type || (this.primary\n\t\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t\t// If it has a title, we use a secondary button\n\t\t\t\t\t\t\t\t\t\t: this.menuTitle ? 'secondary' : 'tertiary'),\n\t\t\t\t\t\t\t\t\tdisabled: this.disabled,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tslot: 'trigger',\n\t\t\t\t\t\t\t\tref: 'menuButton',\n\t\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\t\t'aria-haspopup': 'menu',\n\t\t\t\t\t\t\t\t\t'aria-label': this.ariaLabel,\n\t\t\t\t\t\t\t\t\t'aria-controls': this.randomId,\n\t\t\t\t\t\t\t\t\t'aria-expanded': this.opened.toString(),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\t\tfocus: this.onFocus,\n\t\t\t\t\t\t\t\t\tblur: this.onBlur,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}, [\n\t\t\t\t\t\t\t\th('template', { slot: 'icon' }, [triggerIcon]),\n\t\t\t\t\t\t\t\tthis.menuTitle,\n\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\th('div', {\n\t\t\t\t\t\t\t\tclass: {\n\t\t\t\t\t\t\t\t\topen: this.opened,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\t\ttabindex: '-1',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\t\tkeydown: this.onKeydown,\n\t\t\t\t\t\t\t\t\tmousemove: this.onMouseFocusAction,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tref: 'menu',\n\t\t\t\t\t\t\t}, [\n\t\t\t\t\t\t\t\th('ul', {\n\t\t\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\t\t\tid: this.randomId,\n\t\t\t\t\t\t\t\t\t\ttabindex: '-1',\n\t\t\t\t\t\t\t\t\t\trole: 'menu',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}, [\n\t\t\t\t\t\t\t\t\tactions,\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t],\n\t\t\t\t\t),\n\t\t\t\t])\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.action-item {\n\tposition: relative;\n\tdisplay: inline-block;\n\n\t&.action-item--open .action-item__menutoggle {\n\t\topacity: $opacity_full;\n\t\tbackground-color: $action-background-hover;\n\t}\n}\n</style>\n\n<style lang=\"scss\">\n// We overwrote the popover base class, so we can style\n// the popover__inner for actions only.\n.v-popper__popper.action-item__popper .v-popper__inner {\n\tborder-radius: var(--border-radius-large);\n\tpadding: 4px;\n}\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Actions.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!./Actions.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Actions.vue?vue&type=style&index=0&id=1263a40d&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Actions.vue?vue&type=style&index=0&id=1263a40d&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Actions.vue?vue&type=style&index=1&id=1263a40d&prod&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Actions.vue?vue&type=style&index=1&id=1263a40d&prod&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","var render, staticRenderFns\nimport script from \"./Actions.vue?vue&type=script&lang=js&\"\nexport * from \"./Actions.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Actions.vue?vue&type=style&index=0&id=1263a40d&prod&lang=scss&scoped=true&\"\nimport style1 from \"./Actions.vue?vue&type=style&index=1&id=1263a40d&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1263a40d\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./Actions.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 AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Actions from './Actions.vue'\n\nexport default Actions\n","<!--\n - @copyright Copyright (c) 2020 Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.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\n### General description\nGeneral purpose button component. See props for different options.\n[Use material design icons only for icons](https://www.npmjs.com/package/vue-material-design-icons) and remember to set their size to 20.\n\n### Usage\n### Custom icon slot\nTo be used with `vue-material-design-icons` only. For icon classes use the `default-icon` slot.\nIt can be used with one or multiple actions.\n```\n<template>\n<div class=\"wrapper\">\n\t<!-- Style selector -->\n\t<div class=\"grid\">\n\t\t<CheckboxRadioSwitch :checked.sync=\"style\" value=\"text\" name=\"style\" type=\"radio\">Text only</CheckboxRadioSwitch>\n\t\t<CheckboxRadioSwitch :checked.sync=\"style\" value=\"icon\" name=\"style\" type=\"radio\">Icon only</CheckboxRadioSwitch>\n\t\t<CheckboxRadioSwitch :checked.sync=\"style\" value=\"icontext\" name=\"style\" type=\"radio\">Icon and text</CheckboxRadioSwitch>\n\t\t<CheckboxRadioSwitch :checked.sync=\"disabled\" type=\"checkbox\">Disabled</CheckboxRadioSwitch>\n\t\t<!--<CheckboxRadioSwitch :checked.sync=\"readonly\" type=\"checkbox\">Read-only</CheckboxRadioSwitch>-->\n\t</div>\n\n\t<h5>Standard buttons</h5>\n\t<div class=\"grid\">\n\t\t<p>Tertiary, no background</p>\n\t\t<p>Tertiary</p>\n\t\t<p>Secondary</p>\n\t\t<p>Primary</p>\n\t\t<ButtonVue\n\t\t\t:disabled=\"disabled\"\n\t\t\t:readonly=\"readonly\"\n\t\t\ttype=\"tertiary-no-background\">\n\t\t\t<template v-if=\"style.indexOf('icon') !== -1\" #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t\t<template v-if=\"style.indexOf('text') !== -1\">Example text</template>\n\t\t</ButtonVue>\n\t\t<ButtonVue\n\t\t\t:disabled=\"disabled\"\n\t\t\t:readonly=\"readonly\"\n\t\t\ttype=\"tertiary\">\n\t\t\t<template v-if=\"style.indexOf('icon') !== -1\" #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t\t<template v-if=\"style.indexOf('text') !== -1\">Example text</template>\n\t\t</ButtonVue>\n\t\t<ButtonVue\n\t\t\t:disabled=\"disabled\"\n\t\t\t:readonly=\"readonly\">\n\t\t\t<template v-if=\"style.indexOf('icon') !== -1\" #icon>\n\t\t\t\t<Video\n\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t\t<template v-if=\"style.indexOf('text') !== -1\">Example text</template>\n\t\t</ButtonVue>\n\t\t<ButtonVue\n\t\t\t:disabled=\"disabled\"\n\t\t\t:readonly=\"readonly\"\n\t\t\ttype=\"primary\">\n\t\t\t<template v-if=\"style.indexOf('icon') !== -1\" #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t\t<template v-if=\"style.indexOf('text') !== -1\">Example text</template>\n\t\t</ButtonVue>\n\t</div>\n\n\t<!-- Wide button -->\n\t<h5>Wide button</h5>\n\t<ButtonVue\n\t\t:disabled=\"disabled\"\n\t\t:readonly=\"readonly\"\n\t\t:wide=\"true\"\n\t\ttext=\"Example text\">\n\t\t<template #icon>\n\t\t\t<Video\n\t\t\t\ttitle=\"\"\n\t\t\t\t:size=\"20\" />\n\t\t</template>\n\t\tExample text\n\t</ButtonVue>\n\n\t<!-- Special buttons -->\n\t<h5>Special buttons</h5>\n\t<div class=\"grid\">\n\t\t<p>Success</p>\n\t\t<p>Warning</p>\n\t\t<p>Error</p>\n\t\t<p> - </p>\n\t\t<ButtonVue\n\t\t\t:disabled=\"disabled\"\n\t\t\t:readonly=\"readonly\"\n\t\t\ttype=\"success\">\n\t\t\t<template #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t\tExample text\n\t\t</ButtonVue>\n\t\t<ButtonVue\n\t\t\t:disabled=\"disabled\"\n\t\t\t:readonly=\"readonly\"\n\t\t\ttype=\"warning\">\n\t\t\t<template #icon>\n\t\t\t\t<Video\n\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t\tExample text\n\t\t</ButtonVue>\n\t\t<ButtonVue\n\t\t\t:disabled=\"disabled\"\n\t\t\t:readonly=\"readonly\"\n\t\t\ttype=\"error\">\n\t\t\t<template #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t\tExample text\n\t\t</ButtonVue>\n\t\t<p> - </p>\n\t</div>\n</div>\n\n</template>\n<script>\nimport Video from 'vue-material-design-icons/Video'\n\nexport default {\n\tcomponents: {\n\t\tVideo,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\ttoggled: false,\n\t\t\tdisabled: false,\n\t\t\treadonly: false,\n\t\t\tstyle: 'icontext',\n\t\t}\n\t}\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.wrapper {\n\tpadding: 0 12px;\n}\n\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: 1fr 1fr 1fr 1fr;\n\tgrid-template-rows: repeat(auto-fill, auto);\n\tposition: relative;\n\tmargin: 12px 0;\n}\n\nh5 {\n\tfont-weight: bold;\n\tmargin: 40px 0 20px 0;\n}\n\np {\n\ttext-align: center;\n\tmargin: 4px 0 12px 0;\n\tcolor: var(--color-text-lighter)\n}\n\nbutton {\n\tmargin: auto;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<root-element class=\"button-vue\"\n\t\tv-bind=\"rootElement\"\n\t\t:class=\"buttonClassObject\"\n\t\t:aria-label=\"ariaLabel\"\n\t\t:type=\"nativeType\"\n\t\t:disabled=\"disabled\"\n\t\tv-on=\"$listeners\"\n\t\t@keydown.enter=\"makeActive\"\n\t\t@keyup.enter=\"makeInactive\"\n\t\t@click=\"handleClick\"\n\t\t@blur=\"handleBlur\"\n\t\t@keyup.tab.exact=\"handleTabUp\"\n\t\t@keyup.shift.tab=\"handleTabUp\">\n\t\t<span class=\"button-vue__wrapper\">\n\t\t\t<span v-if=\"hasIcon\" class=\"button-vue__icon\">\n\t\t\t\t<!-- @slot The material design icon slot -->\n\t\t\t\t<slot name=\"icon\" />\n\t\t\t</span>\n\t\t\t<span v-if=\"hasText\" class=\"button-vue__text\">\n\t\t\t\t<slot />\n\t\t\t</span>\n\t\t</span>\n\t</root-element>\n</template>\n<script>\n\nexport default {\n\tname: 'ButtonVue',\n\n\tprops: {\n\t\t/**\n\t\t * Toggles the disabled state of the button on and off.\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Specifies the button type\n\t\t * Accepted values: primary, secondary, tertiary, tertiary-no-background, tertiary-on-primary, error, warning, success. If left empty,\n\t\t * the default button style will be applied.\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tvalidator(value) {\n\t\t\t\treturn ['primary', 'secondary', 'tertiary', 'tertiary-no-background', 'tertiary-on-primary', 'error', 'warning', 'success'].indexOf(value) !== -1\n\t\t\t},\n\t\t\tdefault: 'secondary',\n\t\t},\n\n\t\t/**\n\t\t * Specifies the button native type\n\t\t * Accepted values: submit, reset, button. If left empty,\n\t\t * the default \"button\" type will be used.\n\t\t */\n\t\tnativeType: {\n\t\t\ttype: String,\n\t\t\tvalidator(value) {\n\t\t\t\treturn ['submit', 'reset', 'button'].indexOf(value) !== -1\n\t\t\t},\n\t\t\tdefault: 'button',\n\t\t},\n\n\t\t/**\n\t\t * Specifies whether the button should span all the available width.\n\t\t * By default, buttons span the whole width of the container.\n\t\t */\n\t\twide: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Always try to provide an aria-label to your button. Make it more\n\t\t * specific than the button's title by provide some more context. E.g. if\n\t\t * the title of the button is \"send\" in the Mail app, the aria label could\n\t\t * be \"Send email\".\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Providing the href attribute turns the button component into an `a`\n\t\t * element.\n\t\t */\n\t\thref: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Providing the to attribute turns the button component into a `router-link`\n\t\t * element. Takes precedence over the href attribute.\n\t\t */\n\t\tto: {\n\t\t\ttype: [String, Object],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Pass in `true` if you want the matching behaviour of `router-link` to\n\t\t * be non-inclusive: https://router.vuejs.org/api/#exact\n\t\t */\n\t\texact: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t/**\n\t\t\t * Keeps track of whether the element's focus status is due to having\n\t\t\t * tabbed to it. We use this to display a thick 'focus outline' only\n\t\t\t * when the user is navigating with the keyboard.\n\t\t\t */\n\t\t\ttabbed: false,\n\n\t\t\t/**\n\t\t\t * Making sure the slots are reactive\n\t\t\t */\n\t\t\tslots: this.$slots,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t// Determines whether the root element is an a,\n\t\t// a router-link or a button\n\t\trootElement() {\n\t\t\tif (this.to) {\n\t\t\t\treturn {\n\t\t\t\t\tis: 'router-link',\n\t\t\t\t\ttag: 'button',\n\t\t\t\t\tto: this.to,\n\t\t\t\t\texact: this.exact,\n\t\t\t\t\t...this.$attrs,\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this.href) {\n\t\t\t\treturn {\n\t\t\t\t\tis: 'a',\n\t\t\t\t\thref: this.href,\n\t\t\t\t\t...this.$attrs,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tis: 'button',\n\t\t\t\t...this.$attrs,\n\t\t\t}\n\t\t},\n\n\t\thasText() {\n\t\t\treturn this.slots?.default !== undefined\n\t\t\t\t&& this.slots?.default[0]?.text\n\t\t},\n\n\t\thasIcon() {\n\t\t\treturn this.slots.icon !== undefined\n\t\t},\n\n\t\ticonOnly() {\n\t\t\treturn this.hasIcon && !this.hasText\n\t\t},\n\n\t\ttextOnly() {\n\t\t\treturn !this.hasIcon && this.hasText\n\t\t},\n\n\t\ticonAndText() {\n\t\t\treturn this.hasIcon && this.hasText\n\t\t},\n\n\t\ttext() {\n\t\t\treturn this.hasText ? this.slots.default[0].text.trim() : null\n\t\t},\n\n\t\t// Classes applied to the button element\n\t\tbuttonClassObject() {\n\t\t\treturn {\n\t\t\t\t// If icon only, some additional css rules are required\n\t\t\t\t'button-vue--icon-only': this.iconOnly,\n\t\t\t\t'button-vue--text-only': this.textOnly,\n\t\t\t\t'button-vue--icon-and-text': this.iconAndText,\n\t\t\t\t[`button-vue--vue-${this.type}`]: this.type,\n\t\t\t\t'button-vue--wide': this.wide,\n\t\t\t\t'button-vue--tabbed': this.tabbed,\n\t\t\t}\n\t\t},\n\t},\n\n\tbeforeUpdate() {\n\t\t// $slots is not reactive, this make sure we are able to detect changes\n\t\tthis.slots = this.$slots\n\t},\n\n\tmounted() {\n\t\t/**\n\t\t * Always fill either the text prop or the ariaLabel one.\n\t\t */\n\t\tif (!this.text && !this.ariaLabel) {\n\t\t\tconsole.warn('You need to fill either the text or the ariaLabel props in the button component.', {\n\t\t\t\ttext: this.text,\n\t\t\t\tariaLabel: this.ariaLabel,\n\t\t\t},\n\t\t\tthis)\n\t\t}\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Removes the tabbed state of the button.\n\t\t */\n\t\thandleClick() {\n\t\t\tthis.tabbed = false\n\t\t},\n\n\t\t/**\n\t\t * When the tab key is lifted, the button has been \"tabbed in\",\n\t\t * see comments on the `tabbed` variable declared in the data.\n\t\t */\n\t\thandleTabUp() {\n\t\t\tthis.tabbed = true\n\t\t},\n\n\t\t/**\n\t\t * Everytime the button is blurred, we remove the tabbed state.\n\t\t */\n\t\thandleBlur() {\n\t\t\tthis.tabbed = false\n\t\t},\n\n\t\t/**\n\t\t * When the button is reached via keyboard navigation and pressed using\n\t\t * the enter key, we slightly change the styles to provide an \"active-like\"\n\t\t * feedback. When using the mouse this is achieved with the ripple effect.\n\t\t */\n\t\tmakeActive() {\n\t\t\tthis.tabbed = false\n\t\t},\n\n\t\tmakeInactive() {\n\t\t\tthis.tabbed = true\n\t\t},\n\t},\n}\n\n</script>\n\n<style lang=\"scss\" scoped>\n\n.button-vue {\n\tposition: relative;\n\twidth: fit-content;\n\toverflow: hidden;\n\tborder: 0;\n\tpadding: 0;\n\tfont-size: var(--default-font-size);\n\tfont-weight: bold;\n\tmin-height: $clickable-area;\n\tmin-width: $clickable-area;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t// Cursor pointer on element and all children\n\tcursor: pointer;\n\t& * {\n\t\tcursor: pointer;\n\t}\n\tborder-radius: math.div($clickable-area, 2);\n\ttransition: background-color 0.1s linear !important;\n\ttransition: border 0.1s linear;\n\n\t// No outline feedback for focus. Handled with a toggled class in js (see data)\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t\t& * {\n\t\t\tcursor: default;\n\t\t}\n\t\topacity: $opacity_disabled;\n\t\t// Gives a wash out effect\n\t\tfilter: saturate($opacity_normal);\n\t}\n\n\t// Default button type\n\tbackground-color: var(--color-primary-element-lighter);\n\tcolor: var(--color-primary-light-text);\n\t&:hover:not(:disabled) {\n\t\tbackground-color: var(--color-primary-light-hover);\n\t}\n\n\t// Back to the default color for this button when active\n\t// TODO: add ripple effect\n\t&:active {\n\t\tbackground-color: var(--color-primary-element-lighter);\n\t}\n\n\t&__wrapper {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: space-around;\n\t}\n\n\t&__icon {\n\t\theight: $clickable-area;\n\t\twidth: $clickable-area;\n\t\tmin-height: $clickable-area;\n\t\tmin-width: $clickable-area;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\n\t&__text {\n\t\tfont-weight: bold;\n\t\tmargin-bottom: 1px;\n\t\tpadding: 2px 0;\n\t}\n\n\t// Icon-only button\n\t&--icon-only {\n\t\twidth: $clickable-area !important;\n\t}\n\n\t// Text-only button\n\t&--text-only {\n\t\tpadding: 0 12px;\n\t\t& .button-vue__text {\n\t\t\tmargin-left: 4px;\n\t\t\tmargin-right: 4px;\n\t\t}\n\t}\n\n\t// Icon and text button\n\t&--icon-and-text {\n\t\tpadding: 0 16px 0 4px;\n\t}\n\n\t// Wide button spans the whole width of the container\n\t&--wide {\n\t\twidth: 100%;\n\t}\n\n\t// We use box-shadow around our buttons instead of an outline, so that the added \"border\"\n\t// coincides with the border of the element. It's not possible to add a border-radius to\n\t// the outline\n\t&--tabbed, &:focus-visible {\n\t\tbox-shadow: 0 0 0 2px var(--color-main-text);\n\t\tbackground-color: var(--color-primary-light-hover);\n\t\t&.button-vue--vue-primary {\n\t\t\tbackground-color: var(--color-primary-hover);\n\t\t}\n\t\t&.button-vue--vue-secondary {\n\t\t\tbox-shadow: 0 0 0 2px var(--color-main-text);\n\t\t}\n\t\t&.button-vue--vue-tertiary-no-background {\n\t\t\topacity: 1;\n\t\t}\n\t\t&.button-vue--vue-tertiary-on-primary {\n\t\t\tbox-shadow: 0 0 0 2px var(--color-primary-text);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\topacity: 1;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t\t&.button-vue--vue-success {\n\t\t\tbackground-color: var(--color-success-hover);\n\t\t}\n\t\t&.button-vue--vue-warning {\n\t\t\tbackground-color: var(--color-warning-hover);\n\t\t}\n\t\t&.button-vue--vue-error {\n\t\t\tbackground-color: var(--color-error-hover);\n\t\t}\n\t}\n\n\t// Button types\n\n\t// Primary\n\t&--vue-primary {\n\t\tbackground-color: var(--color-primary-element);\n\t\tcolor: var(--color-primary-text);\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\t}\n\n\t// Secondary\n\t&--vue-secondary {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: var(--color-background-dark);\n\t\tbox-shadow: 0 0 0 2px var(--color-border-dark);\n\t\t&:hover:not(:disabled) {\n\t\t\tcolor: var(--color-main-text);\n\t\t\tbackground-color: var(--color-background-dark);\n\t\t\tbox-shadow: 0 0 0 2px var(--color-primary-element);\n\t\t}\n\t}\n\n\t// Tertiary\n\t&--vue-tertiary {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Tertiary, no background\n\t&--vue-tertiary-no-background {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\topacity: .7;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t// Tertiary on primary color (like the header)\n\t&--vue-tertiary-on-primary {\n\t\tcolor: var(--color-primary-text);\n\t\tbackground-color: transparent;\n\t\topacity: .7;\n\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t// Success\n\t&--vue-success {\n\t\tbackground-color: var(--color-success);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-success-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// : add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-success);\n\t\t}\n\t}\n\n\t// Warning\n\t&--vue-warning {\n\t\tbackground-color: var(--color-warning);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-warning-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-warning);\n\t\t}\n\t}\n\n\t// Error\n\t&--vue-error {\n\t\tbackground-color: var(--color-error);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-error-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-error);\n\t\t}\n\t}\n}\n\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonVue.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!./ButtonVue.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonVue.vue?vue&type=style&index=0&id=51ecca01&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonVue.vue?vue&type=style&index=0&id=51ecca01&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ButtonVue.vue?vue&type=template&id=51ecca01&scoped=true&\"\nimport script from \"./ButtonVue.vue?vue&type=script&lang=js&\"\nexport * from \"./ButtonVue.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ButtonVue.vue?vue&type=style&index=0&id=51ecca01&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"51ecca01\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./ButtonVue.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('root-element',_vm._g(_vm._b({staticClass:\"button-vue\",class:_vm.buttonClassObject,attrs:{\"aria-label\":_vm.ariaLabel,\"type\":_vm.nativeType,\"disabled\":_vm.disabled},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.makeActive.apply(null, arguments)},\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.makeInactive.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\"))return null;if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey)return null;return _vm.handleTabUp.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\"))return null;if(!$event.shiftKey)return null;return _vm.handleTabUp.apply(null, arguments)}],\"click\":_vm.handleClick,\"blur\":_vm.handleBlur}},'root-element',_vm.rootElement,false),_vm.$listeners),[_c('span',{staticClass:\"button-vue__wrapper\"},[(_vm.hasIcon)?_c('span',{staticClass:\"button-vue__icon\"},[_vm._t(\"icon\")],2):_vm._e(),_vm._v(\" \"),(_vm.hasText)?_c('span',{staticClass:\"button-vue__text\"},[_vm._t(\"default\")],2):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 Marco Ambrosini <marcoambrosini@icloud.com>\n *\n * @author Marco Ambrosini <marcoambrosini@icloud.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport ButtonVue from './ButtonVue.vue'\n\nexport default ButtonVue\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Dropdown',_vm._g(_vm._b({ref:\"popover\",attrs:{\"distance\":10,\"arrow-padding\":10,\"popper-class\":_vm.popoverBaseClass},scopedSlots:_vm._u([{key:\"popper\",fn:function(){return [_vm._t(\"default\")]},proxy:true}],null,true)},'Dropdown',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"trigger\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./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@icloud.com>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.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\n### General description\n\nThis component is just a wrapper for the floating-vue plugin by Akryum,\nplease refer to this documentation for customization:\nhttps://github.com/Akryum/floating-vue\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\n#### With a `<button>` as a trigger:\n\n```vue\n<template>\n\t<Popover>\n\t\t<template #trigger>\n\t\t\t<ButtonVue> I am the trigger </ButtonVue>\n\t\t</template>\n\t\t<template>\n\t\t\t<form tabindex=\"0\" @submit.prevent>\n\t\t\t\t<h2>this is some content</h2>\n\t\t\t\t<p>\n\t\t\t\t\tLorem ipsum dolor sit amet, consectetur adipiscing elit. </br>\n\t\t\t\t\tVestibulum eget placerat velit.\n\t\t\t\t</p>\n\t\t\t\t<label>\n\t\t\t\t\tLabel element\n\t\t\t\t\t<input type=\"text\" placehold=\"input element\" />\n\t\t\t\t</label>\n\t\t\t</form>\n\t\t</template>\n\t</Popover>\n</template>\n```\n\n#### Without focus trap:\n\nThe [`focus-trap`](https://github.com/focus-trap/focus-trap) emits an error when used in a non-focusable element tree.\n\nThe prop `:focus-trap=\"false\"` help to prevent it when the default behavior is not relevant.\n\n```vue\n<template>\n\t<Popover :focus-trap=\"false\">\n\t\t<template #trigger>\n\t\t\t<ButtonVue> Click me! </ButtonVue>\n\t\t</template>\n\t\t<template>\n\t\t\tHi! 🚀\n\t\t</template>\n\t</Popover>\n</template>\n```\n</docs>\n\n<template>\n\t<Dropdown ref=\"popover\"\n\t\t:distance=\"10\"\n\t\t:arrow-padding=\"10\"\n\t\tv-bind=\"$attrs\"\n\t\t:popper-class=\"popoverBaseClass\"\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 #popper>\n\t\t\t<slot />\n\t\t</template>\n\t</Dropdown>\n</template>\n\n<script>\nimport { Dropdown } from 'floating-vue'\nimport { createFocusTrap } from 'focus-trap'\n\nexport default {\n\tname: 'Popover',\n\tcomponents: {\n\t\tDropdown,\n\t},\n\n\tprops: {\n\t\tpopoverBaseClass: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tfocusTrap: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\temits: [\n\t\t'after-show',\n\t\t'after-hide',\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.$refs.popper.isShown\n\t\t\t},\n\t\t\t(val) => {\n\t\t\t\tif (val) {\n\t\t\t\t\tthis.afterShow()\n\t\t\t\t} else {\n\t\t\t\t\tthis.afterHide()\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\t},\n\n\tmethods: {\n\t\tafterShow() {\n\t\t\t/**\n\t\t\t * Triggered after the tooltip was visually displayed.\n\t\t\t *\n\t\t\t * This is different from the 'show' and 'apply-show' which\n\t\t\t * run earlier than this where there is no guarantee that the\n\t\t\t * tooltip is already visible and in the DOM.\n\t\t\t */\n\t\t\tthis.$emit('after-show')\n\n\t\t\t/**\n\t\t\t * Add focus trap for accessibility.\n\t\t\t */\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tif (!this.focusTrap) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tconst el = this.$refs.popover?.$refs.popperContent?.$el\n\n\t\t\t\tif (!el) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tthis.$focusTrap = createFocusTrap(el, {\n\t\t\t\t\t// Prevents to lose focus using esc key\n\t\t\t\t\t// Focus will be release when popover be hide\n\t\t\t\t\tescapeDeactivates: false,\n\t\t\t\t})\n\t\t\t\tthis.$focusTrap.activate()\n\t\t\t})\n\t\t},\n\t\tafterHide() {\n\t\t\t/**\n\t\t\t * Triggered after the tooltip was visually hidden.\n\t\t\t */\n\t\t\tthis.$emit('after-hide')\n\n\t\t\t/**\n\t\t\t * Remove focus trap\n\t\t\t */\n\t\t\tthis.$focusTrap?.deactivate()\n\t\t\tthis.$focusTrap = null\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n\n.resize-observer {\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\tz-index:-1;\n\twidth:100%;\n\theight:100%;\n\tborder:none;\n\tbackground-color:transparent;\n\tpointer-events:none;\n\tdisplay:block;\n\toverflow:hidden;\n\topacity:0\n}\n\n.resize-observer object {\n\tdisplay:block;\n\tposition:absolute;\n\ttop:0;\n\tleft:0;\n\theight:100%;\n\twidth:100%;\n\toverflow:hidden;\n\tpointer-events:none;\n\tz-index:-1\n}\n\n$arrow-width: 10px;\n\n.v-popper--theme-dropdown {\n\t&.v-popper__popper {\n\t\tz-index: 100000;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tdisplay: block !important;\n\n\t\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t\t.v-popper__inner {\n\t\t\tpadding: 0;\n\t\t\tcolor: var(--color-main-text);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\toverflow: hidden;\n\t\t\tbackground: var(--color-main-background);\n\t\t}\n\n\t\t.v-popper__arrow-container {\n\t\t\tposition: absolute;\n\t\t\tz-index: 1;\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t\tborder-color: transparent;\n\t\t\tborder-width: $arrow-width;\n\t\t}\n\n\t\t&[data-popper-placement^='top'] .v-popper__arrow-container {\n\t\t\tbottom: -$arrow-width;\n\t\t\tborder-bottom-width: 0;\n\t\t\tborder-top-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\n\t\t\ttop: -$arrow-width;\n\t\t\tborder-top-width: 0;\n\t\t\tborder-bottom-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='right'] .v-popper__arrow-container {\n\t\t\tleft: -$arrow-width;\n\t\t\tborder-left-width: 0;\n\t\t\tborder-right-color: var(--color-main-background);\n\t\t}\n\n\t\t&[data-popper-placement^='left'] .v-popper__arrow-container {\n\t\t\tright: -$arrow-width;\n\t\t\tborder-right-width: 0;\n\t\t\tborder-left-color: var(--color-main-background);\n\t\t}\n\n\t\t&[aria-hidden='true'] {\n\t\t\tvisibility: hidden;\n\t\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\t\topacity: 0;\n\t\t}\n\n\t\t&[aria-hidden='false'] {\n\t\t\tvisibility: visible;\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n\n</style>\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Popover.vue?vue&type=style&index=0&id=0842ceca&prod&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Popover.vue?vue&type=style&index=0&id=0842ceca&prod&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Popover.vue?vue&type=template&id=0842ceca&\"\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&id=0842ceca&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\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","/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@icloud.com>\n *\n * @author Marco Ambrosini <marcoambrosini@icloud.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Popover from './Popover.vue'\n\nexport default Popover\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./index.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!./index.scss\";\n export default content && content.locals ? content.locals : undefined;\n","/**\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 AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { VTooltip, options } from 'floating-vue'\nimport './index.scss'\n\noptions.themes.tooltip.html = false\noptions.themes.tooltip.delay = { show: 500, hide: 200 }\noptions.themes.tooltip.distance = 10\noptions.themes.tooltip['arrow-padding'] = 3\n\nexport default VTooltip\nexport { options }\n","import { getGettextBuilder } from '@nextcloud/l10n/dist/gettext.js'\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","\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <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.slice(0, length || 5)\n}\n\nexport default GenRandomId\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}.v-popper--theme-tooltip.v-popper__popper{position:absolute;z-index:100000;top:0;right:auto;left:auto;display:block;margin:0;padding:0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{right:100%;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{left:100%;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity .15s,visibility .15s;opacity:0}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity .15s;opacity:1}.v-popper--theme-tooltip .v-popper__inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.v-popper--theme-tooltip .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/directives/Tooltip/index.scss\"],\"names\":[],\"mappings\":\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCQA,0CACC,iBAAA,CACA,cAAA,CACA,KAAA,CACA,UAAA,CACA,SAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,SAAA,CACA,eAAA,CAEA,eAAA,CACA,sDAAA,CAGA,iGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAID,oGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAID,mGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAID,kGACC,SAAA,CACA,oBAAA,CACA,8CAAA,CAID,4DACC,iBAAA,CACA,uCAAA,CACA,SAAA,CAED,6DACC,kBAAA,CACA,uBAAA,CACA,SAAA,CAKF,0CACC,eAAA,CACA,eAAA,CACA,iBAAA,CACA,4BAAA,CACA,kCAAA,CACA,6CAAA,CAID,oDACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBAhFY\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"d5cd941\\\"; @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.v-popper--theme-tooltip {\\n\\t&.v-popper__popper {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 100000;\\n\\t\\ttop: 0;\\n\\t\\tright: auto;\\n\\t\\tleft: auto;\\n\\t\\tdisplay: block;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\ttext-align: left;\\n\\t\\ttext-align: start;\\n\\t\\topacity: 0;\\n\\t\\tline-height: 1.6;\\n\\n\\t\\tline-break: auto;\\n\\t\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t\\t// TOP\\n\\t\\t&[data-popper-placement^='top'] .v-popper__arrow-container {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// BOTTOM\\n\\t\\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// RIGHT\\n\\t\\t&[data-popper-placement^='right'] .v-popper__arrow-container {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// LEFT\\n\\t\\t&[data-popper-placement^='left'] .v-popper__arrow-container {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// HIDDEN / SHOWN\\n\\t\\t&[aria-hidden='true'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&[aria-hidden='false'] {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t\\ttransition: opacity .15s;\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t// CONTENT\\n\\t.v-popper__inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.v-popper__arrow-container {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: $arrow-width;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\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-1263a40d]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-item[data-v-1263a40d]{position:relative;display:inline-block}.action-item.action-item--open .action-item__menutoggle[data-v-1263a40d]{opacity:1;background-color:rgba(127,127,127,.25)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Actions/Actions.vue\",\"webpack://./src/assets/variables.scss\"],\"names\":[],\"mappings\":\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,8BACC,iBAAA,CACA,oBAAA,CAEA,yEACC,SCqCa,CDpCb,sCCwCwB\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"d5cd941\\\"; @import 'variables'; @import 'material-icons';\\n\\n.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\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: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],\"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{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper__popper.action-item__popper .v-popper__inner{border-radius:var(--border-radius-large);padding:4px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Actions/Actions.vue\"],\"names\":[],\"mappings\":\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,uDACC,wCAAA,CACA,WAAA\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"d5cd941\\\"; @import 'variables'; @import 'material-icons';\\n\\n// We overwrote the popover base class, so we can style\\n// the popover__inner for actions only.\\n.v-popper__popper.action-item__popper .v-popper__inner {\\n\\tborder-radius: var(--border-radius-large);\\n\\tpadding: 4px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/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-e4733d34]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-caption[data-v-e4733d34]{display:flex;justify-content:space-between;padding:0 8px 0 22px}.app-navigation-caption__title[data-v-e4733d34]{font-weight:bold;color:var(--color-primary-element);font-size:var(--default-font-size);line-height:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.7;box-shadow:none !important;flex-shrink:0}.app-navigation-caption__actions[data-v-e4733d34]{flex:0 0 44px}.app-navigation-caption[data-v-e4733d34]:not(:first-child){margin-top:22px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationCaption/AppNavigationCaption.vue\",\"webpack://./src/assets/variables.scss\"],\"names\":[],\"mappings\":\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,yCACC,YAAA,CACA,6BAAA,CACA,oBAAA,CAEA,gDACC,gBAAA,CACA,kCAAA,CACA,kCAAA,CACA,gBCae,CDZf,kBAAA,CACA,eAAA,CACA,sBAAA,CACA,UC2Be,CD1Bf,0BAAA,CACA,aAAA,CAGD,kDACC,aAAA,CAKF,2DACC,eAAA\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"d5cd941\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.app-navigation-caption {\\n\\tdisplay: flex;\\n\\tjustify-content: space-between;\\n\\tpadding: 0 8px 0 math.div($clickable-area, 2);\\n\\n\\t&__title {\\n\\t\\tfont-weight: bold;\\n\\t\\tcolor: var(--color-primary-element);\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tbox-shadow: none !important;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t}\\n}\\n\\n// extra top space if it's not the first item on the list\\n.app-navigation-caption:not(:first-child) {\\n\\tmargin-top: math.div($clickable-area, 2);\\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: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],\"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-51ecca01]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-51ecca01]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition:background-color .1s linear !important;transition:border .1s linear;background-color:var(--color-primary-element-lighter);color:var(--color-primary-light-text)}.button-vue *[data-v-51ecca01]{cursor:pointer}.button-vue[data-v-51ecca01]:focus{outline:none}.button-vue[data-v-51ecca01]:disabled{cursor:default;opacity:.5;filter:saturate(0.7)}.button-vue:disabled *[data-v-51ecca01]{cursor:default}.button-vue[data-v-51ecca01]:hover:not(:disabled){background-color:var(--color-primary-light-hover)}.button-vue[data-v-51ecca01]:active{background-color:var(--color-primary-element-lighter)}.button-vue__wrapper[data-v-51ecca01]{display:inline-flex;align-items:center;justify-content:space-around}.button-vue__icon[data-v-51ecca01]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-51ecca01]{font-weight:bold;margin-bottom:1px;padding:2px 0}.button-vue--icon-only[data-v-51ecca01]{width:44px !important}.button-vue--text-only[data-v-51ecca01]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-51ecca01]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-51ecca01]{padding:0 16px 0 4px}.button-vue--wide[data-v-51ecca01]{width:100%}.button-vue--tabbed[data-v-51ecca01],.button-vue[data-v-51ecca01]:focus-visible{box-shadow:0 0 0 2px var(--color-main-text);background-color:var(--color-primary-light-hover)}.button-vue--tabbed.button-vue--vue-primary[data-v-51ecca01],.button-vue:focus-visible.button-vue--vue-primary[data-v-51ecca01]{background-color:var(--color-primary-hover)}.button-vue--tabbed.button-vue--vue-secondary[data-v-51ecca01],.button-vue:focus-visible.button-vue--vue-secondary[data-v-51ecca01]{box-shadow:0 0 0 2px var(--color-main-text)}.button-vue--tabbed.button-vue--vue-tertiary-no-background[data-v-51ecca01],.button-vue:focus-visible.button-vue--vue-tertiary-no-background[data-v-51ecca01]{opacity:1}.button-vue--tabbed.button-vue--vue-tertiary-on-primary[data-v-51ecca01],.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-51ecca01]{box-shadow:0 0 0 2px var(--color-primary-text);border-radius:var(--border-radius);opacity:1;background-color:rgba(0,0,0,0)}.button-vue--tabbed.button-vue--vue-success[data-v-51ecca01],.button-vue:focus-visible.button-vue--vue-success[data-v-51ecca01]{background-color:var(--color-success-hover)}.button-vue--tabbed.button-vue--vue-warning[data-v-51ecca01],.button-vue:focus-visible.button-vue--vue-warning[data-v-51ecca01]{background-color:var(--color-warning-hover)}.button-vue--tabbed.button-vue--vue-error[data-v-51ecca01],.button-vue:focus-visible.button-vue--vue-error[data-v-51ecca01]{background-color:var(--color-error-hover)}.button-vue--vue-primary[data-v-51ecca01]{background-color:var(--color-primary-element);color:var(--color-primary-text)}.button-vue--vue-primary[data-v-51ecca01]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-51ecca01]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-51ecca01]{color:var(--color-main-text);background-color:var(--color-background-dark);box-shadow:0 0 0 2px var(--color-border-dark)}.button-vue--vue-secondary[data-v-51ecca01]:hover:not(:disabled){color:var(--color-main-text);background-color:var(--color-background-dark);box-shadow:0 0 0 2px var(--color-primary-element)}.button-vue--vue-tertiary[data-v-51ecca01]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary[data-v-51ecca01]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-51ecca01]{color:var(--color-main-text);background-color:rgba(0,0,0,0);opacity:.7}.button-vue--vue-tertiary-no-background[data-v-51ecca01]:hover:not(:disabled){background-color:rgba(0,0,0,0);opacity:1}.button-vue--vue-tertiary-on-primary[data-v-51ecca01]{color:var(--color-primary-text);background-color:rgba(0,0,0,0);opacity:.7}.button-vue--vue-tertiary-on-primary[data-v-51ecca01]:hover:not(:disabled){background-color:rgba(0,0,0,0);opacity:1}.button-vue--vue-success[data-v-51ecca01]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-51ecca01]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-51ecca01]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-51ecca01]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-51ecca01]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-51ecca01]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-51ecca01]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-51ecca01]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-51ecca01]:active{background-color:var(--color-error)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/ButtonVue/ButtonVue.vue\",\"webpack://./src/assets/variables.scss\"],\"names\":[],\"mappings\":\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,kCAAA,CACA,gBAAA,CACA,eCcgB,CDbhB,cCagB,CDZhB,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,cAAA,CAIA,kBAAA,CACA,iDAAA,CACA,4BAAA,CAkBA,qDAAA,CACA,qCAAA,CAxBA,+BACC,cAAA,CAOD,mCACC,YAAA,CAGD,sCACC,cAAA,CAIA,UCMiB,CDJjB,oBAAA,CALA,wCACC,cAAA,CAUF,kDACC,iDAAA,CAKD,oCACC,qDAAA,CAGD,sCACC,mBAAA,CACA,kBAAA,CACA,4BAAA,CAGD,mCACC,WCpCe,CDqCf,UCrCe,CDsCf,eCtCe,CDuCf,cCvCe,CDwCf,YAAA,CACA,sBAAA,CACA,kBAAA,CAGD,mCACC,gBAAA,CACA,iBAAA,CACA,aAAA,CAID,wCACC,qBAAA,CAID,wCACC,cAAA,CACA,0DACC,eAAA,CACA,gBAAA,CAKF,4CACC,oBAAA,CAID,mCACC,UAAA,CAMD,gFACC,2CAAA,CACA,iDAAA,CACA,gIACC,2CAAA,CAED,oIACC,2CAAA,CAED,8JACC,SAAA,CAED,wJACC,8CAAA,CACA,kCAAA,CACA,SAAA,CACA,8BAAA,CAED,gIACC,2CAAA,CAED,gIACC,2CAAA,CAED,4HACC,yCAAA,CAOF,0CACC,6CAAA,CACA,+BAAA,CACA,+DACC,mDAAA,CAID,iDACC,6CAAA,CAKF,4CACC,4BAAA,CACA,6CAAA,CACA,6CAAA,CACA,iEACC,4BAAA,CACA,6CAAA,CACA,iDAAA,CAKF,2CACC,4BAAA,CACA,8BAAA,CACA,gEACC,6BAAA,CACA,8CAAA,CAKF,yDACC,4BAAA,CACA,8BAAA,CACA,UAAA,CACA,8EACC,8BAAA,CACA,SAAA,CAKF,sDACC,+BAAA,CACA,8BAAA,CACA,UAAA,CAEA,2EACC,8BAAA,CACA,SAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,wCACC,mCAAA,CACA,UAAA,CACA,6DACC,yCAAA,CAID,+CACC,mCAAA\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"d5cd941\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.button-vue {\\n\\tposition: relative;\\n\\twidth: fit-content;\\n\\toverflow: hidden;\\n\\tborder: 0;\\n\\tpadding: 0;\\n\\tfont-size: var(--default-font-size);\\n\\tfont-weight: bold;\\n\\tmin-height: $clickable-area;\\n\\tmin-width: $clickable-area;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\n\\t// Cursor pointer on element and all children\\n\\tcursor: pointer;\\n\\t& * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\tborder-radius: math.div($clickable-area, 2);\\n\\ttransition: background-color 0.1s linear !important;\\n\\ttransition: border 0.1s linear;\\n\\n\\t// No outline feedback for focus. Handled with a toggled class in js (see data)\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\t& * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t// Gives a wash out effect\\n\\t\\tfilter: saturate($opacity_normal);\\n\\t}\\n\\n\\t// Default button type\\n\\tbackground-color: var(--color-primary-element-lighter);\\n\\tcolor: var(--color-primary-light-text);\\n\\t&:hover:not(:disabled) {\\n\\t\\tbackground-color: var(--color-primary-light-hover);\\n\\t}\\n\\n\\t// Back to the default color for this button when active\\n\\t// TODO: add ripple effect\\n\\t&:active {\\n\\t\\tbackground-color: var(--color-primary-element-lighter);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: space-around;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\theight: $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-height: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__text {\\n\\t\\tfont-weight: bold;\\n\\t\\tmargin-bottom: 1px;\\n\\t\\tpadding: 2px 0;\\n\\t}\\n\\n\\t// Icon-only button\\n\\t&--icon-only {\\n\\t\\twidth: $clickable-area !important;\\n\\t}\\n\\n\\t// Text-only button\\n\\t&--text-only {\\n\\t\\tpadding: 0 12px;\\n\\t\\t& .button-vue__text {\\n\\t\\t\\tmargin-left: 4px;\\n\\t\\t\\tmargin-right: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Icon and text button\\n\\t&--icon-and-text {\\n\\t\\tpadding: 0 16px 0 4px;\\n\\t}\\n\\n\\t// Wide button spans the whole width of the container\\n\\t&--wide {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t// We use box-shadow around our buttons instead of an outline, so that the added \\\"border\\\"\\n\\t// coincides with the border of the element. It's not possible to add a border-radius to\\n\\t// the outline\\n\\t&--tabbed, &:focus-visible {\\n\\t\\tbox-shadow: 0 0 0 2px var(--color-main-text);\\n\\t\\tbackground-color: var(--color-primary-light-hover);\\n\\t\\t&.button-vue--vue-primary {\\n\\t\\t\\tbackground-color: var(--color-primary-hover);\\n\\t\\t}\\n\\t\\t&.button-vue--vue-secondary {\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-main-text);\\n\\t\\t}\\n\\t\\t&.button-vue--vue-tertiary-no-background {\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t\\t&.button-vue--vue-tertiary-on-primary {\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-primary-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\topacity: 1;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t\\t&.button-vue--vue-success {\\n\\t\\t\\tbackground-color: var(--color-success-hover);\\n\\t\\t}\\n\\t\\t&.button-vue--vue-warning {\\n\\t\\t\\tbackground-color: var(--color-warning-hover);\\n\\t\\t}\\n\\t\\t&.button-vue--vue-error {\\n\\t\\t\\tbackground-color: var(--color-error-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Button types\\n\\n\\t// Primary\\n\\t&--vue-primary {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-primary-element-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n\\n\\t// Secondary\\n\\t&--vue-secondary {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tbox-shadow: 0 0 0 2px var(--color-border-dark);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary\\n\\t&--vue-tertiary {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary, no background\\n\\t&--vue-tertiary-no-background {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\topacity: .7;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary on primary color (like the header)\\n\\t&--vue-tertiary-on-primary {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\topacity: .7;\\n\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t// Success\\n\\t&--vue-success {\\n\\t\\tbackground-color: var(--color-success);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-success-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// : add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t}\\n\\n\\t// Warning\\n\\t&--vue-warning {\\n\\t\\tbackground-color: var(--color-warning);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-warning-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-warning);\\n\\t\\t}\\n\\t}\\n\\n\\t// Error\\n\\t&--vue-error {\\n\\t\\tbackground-color: var(--color-error);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-error-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <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: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],\"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{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:rgba(0,0,0,0);pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown.v-popper__popper{z-index:100000;top:0;left:0;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-dropdown.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);overflow:hidden;background:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-10px;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Popover/Popover.vue\"],\"names\":[],\"mappings\":\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,iBACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CACA,aAAA,CACA,eAAA,CACA,SAAA,CAGD,wBACC,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CAMA,2CACC,cAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CAEA,sDAAA,CAEA,4DACC,SAAA,CACA,4BAAA,CACA,kCAAA,CACA,eAAA,CACA,uCAAA,CAGD,sEACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBA1BW,CA6BZ,kGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAGD,qGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAGD,oGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAGD,mGACC,WAAA,CACA,oBAAA,CACA,8CAAA,CAGD,6DACC,iBAAA,CACA,2EAAA,CACA,SAAA,CAGD,8DACC,kBAAA,CACA,yCAAA,CACA,SAAA\",\"sourcesContent\":[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"d5cd941\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.resize-observer {\\n\\tposition:absolute;\\n\\ttop:0;\\n\\tleft:0;\\n\\tz-index:-1;\\n\\twidth:100%;\\n\\theight:100%;\\n\\tborder:none;\\n\\tbackground-color:transparent;\\n\\tpointer-events:none;\\n\\tdisplay:block;\\n\\toverflow:hidden;\\n\\topacity:0\\n}\\n\\n.resize-observer object {\\n\\tdisplay:block;\\n\\tposition:absolute;\\n\\ttop:0;\\n\\tleft:0;\\n\\theight:100%;\\n\\twidth:100%;\\n\\toverflow:hidden;\\n\\tpointer-events:none;\\n\\tz-index:-1\\n}\\n\\n$arrow-width: 10px;\\n\\n.v-popper--theme-dropdown {\\n\\t&.v-popper__popper {\\n\\t\\tz-index: 100000;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block !important;\\n\\n\\t\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t\\t.v-popper__inner {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tbackground: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t.v-popper__arrow-container {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tz-index: 1;\\n\\t\\t\\twidth: 0;\\n\\t\\t\\theight: 0;\\n\\t\\t\\tborder-style: solid;\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tborder-width: $arrow-width;\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='top'] .v-popper__arrow-container {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='right'] .v-popper__arrow-container {\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='left'] .v-popper__arrow-container {\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[aria-hidden='true'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\n\\t\\t&[aria-hidden='false'] {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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\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\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 indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\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};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(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/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\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\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\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 options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;","/* 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 =\n typeof scriptExports === 'function' ? scriptExports.options : 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) {\n // 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 ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","module.exports = require(\"@nextcloud/l10n/dist/gettext.js\");","module.exports = require(\"floating-vue\");","module.exports = require(\"focus-trap\");","module.exports = require(\"vue-material-design-icons/DotsHorizontal.vue\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nc = undefined;","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"app-navigation-caption\"},[_c('h2',{staticClass:\"app-navigation-caption__title\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.title)+\"\\n\\t\")]),_vm._v(\" \"),(_vm.hasActions)?_c('div',{staticClass:\"app-navigation-caption__actions\"},[_c('Actions',_vm._b({scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_vm._t(\"actionsTriggerIcon\")]},proxy:true}],null,true)},'Actions',_vm.$attrs,false),[_vm._t(\"actions\")],2)],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppNavigationCaption.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!./AppNavigationCaption.vue?vue&type=script&lang=js&\"","<docs>\n```\n<AppNavigationCaption\n\ttitle=\"Your caption goes here\">\n\t<template #actions>\n\t\t<ActionButton icon=\"icon-add\"/>\n\t</template>\n</AppNavigationCaption>\n```\n\n### Element with a slot for custom actions icon\n```\n<template>\n\t<AppNavigationCaption\n\t\ttitle=\"Your caption goes here\">\n\t\t<template #actionsTriggerIcon>\n\t\t\t<PlusIcon slot=\"icon\" :size=\"20\" />\n\t\t</template>\n\t\t<template #actions>\n\t\t\t<ActionButton icon=\"icon-edit\">Rename</ActionButton>\n\t\t\t<ActionButton icon=\"icon-delete\">Delete</ActionButton>\n\t\t\t<ActionButton icon=\"icon-confirm\">Validate</ActionButton>\n\t\t\t<ActionButton icon=\"icon-download\">Download</ActionButton>\n\t\t</template>\n\t</AppNavigationCaption>\n</template>\n<script>\n\timport PlusIcon from 'vue-material-design-icons/Plus'\n\n\texport default {\n\t\tcomponents: {\n\t\t\tPlusIcon\n\t\t}\n\t}\n</script>\n```\n\n</docs>\n\n<template>\n\t<li class=\"app-navigation-caption\">\n\t\t<!-- Title of the caption -->\n\t\t<h2 class=\"app-navigation-caption__title\">\n\t\t\t{{ title }}\n\t\t</h2>\n\n\t\t<!-- Actions -->\n\t\t<div v-if=\"hasActions\"\n\t\t\tclass=\"app-navigation-caption__actions\">\n\t\t\t<Actions v-bind=\"$attrs\">\n\t\t\t\t<!-- @slot Slot for the actions menu -->\n\t\t\t\t<slot name=\"actions\" />\n\t\t\t\t<template #icon>\n\t\t\t\t\t<slot name=\"actionsTriggerIcon\" />\n\t\t\t\t</template>\n\t\t\t</Actions>\n\t\t</div>\n\t</li>\n</template>\n\n<script>\nimport Actions from '../Actions/index.js'\n\nexport default {\n\tname: 'AppNavigationCaption',\n\n\tcomponents: {\n\t\tActions,\n\t},\n\tprops: {\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\t// Check if the actions slot is populated\n\t\thasActions() {\n\t\t\treturn !!this.$slots.actions\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.app-navigation-caption {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tpadding: 0 8px 0 math.div($clickable-area, 2);\n\n\t&__title {\n\t\tfont-weight: bold;\n\t\tcolor: var(--color-primary-element);\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: $clickable-area;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\topacity: $opacity_normal;\n\t\tbox-shadow: none !important;\n\t\tflex-shrink: 0;\n\t}\n\n\t&__actions {\n\t\tflex: 0 0 $clickable-area;\n\t}\n}\n\n// extra top space if it's not the first item on the list\n.app-navigation-caption:not(:first-child) {\n\tmargin-top: math.div($clickable-area, 2);\n}\n</style>\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppNavigationCaption.vue?vue&type=style&index=0&id=e4733d34&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppNavigationCaption.vue?vue&type=style&index=0&id=e4733d34&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppNavigationCaption.vue?vue&type=template&id=e4733d34&scoped=true&\"\nimport script from \"./AppNavigationCaption.vue?vue&type=script&lang=js&\"\nexport * from \"./AppNavigationCaption.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppNavigationCaption.vue?vue&type=style&index=0&id=e4733d34&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e4733d34\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./AppNavigationCaption.vue?vue&type=custom&index=0&blockType=docs\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","import AppNavigationCaption from './AppNavigationCaption.vue'\n\nexport default AppNavigationCaption\n"],"names":["root","factory","exports","module","define","amd","self","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","component","render","staticRenderFns","_vm","this","_c","_self","_g","_b","staticClass","class","buttonClassObject","attrs","ariaLabel","nativeType","disabled","on","$event","type","indexOf","_k","keyCode","key","makeActive","apply","arguments","makeInactive","ctrlKey","shiftKey","altKey","metaKey","handleTabUp","handleClick","handleBlur","rootElement","$listeners","hasIcon","_t","_e","_v","hasText","ref","popoverBaseClass","scopedSlots","_u","fn","proxy","$attrs","show","hide","VTooltip","gtBuilder","getGettextBuilder","detectLocale","TRANSLATIONS","forEach","lang","translations","pluralId","msgid","msgid_plural","msgstr","addTranslation","locale","gt","build","t","ngettext","bind","gettext","length","Math","random","toString","replace","slice","___CSS_LOADER_EXPORT___","push","id","cssWithMappingToString","list","map","item","content","concat","join","i","modules","mediaQuery","dedupe","alreadyImportedModules","_i","_arrayLikeToArray","arr","len","arr2","Array","_item","isArray","_arrayWithHoles","Symbol","iterator","_s","_arr","_n","_d","call","next","done","value","err","_iterableToArrayLimit","o","minLen","n","Object","prototype","constructor","name","from","test","_unsupportedIterableToArray","TypeError","_nonIterableRest","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","sourceURLs","sources","source","sourceRoot","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","idCountMap","identifiers","base","count","indexByIdentifier","obj","css","media","sourceMap","supports","layer","references","updater","addElementStyle","byIndex","splice","api","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_index","memo","style","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","e","getTarget","Error","appendChild","element","createElement","attributes","styleElement","nonce","setAttribute","needLayer","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode","normalizeComponent","scriptExports","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","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","__esModule","d","a","definition","defineProperty","enumerable","get","prop","hasOwnProperty","r","toStringTag","nc","title","hasActions"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define("NextcloudVue",[],n):"object"==typeof exports?exports.NextcloudVue=n():(e.NextcloudVue=e.NextcloudVue||{},e.NextcloudVue["Components/AppNavigationCounter"]=n())}(self,(function(){return function(){var e={2821:function(e,n,t){"use strict";var r=t(4015),o=t.n(r),i=t(3645),a=t.n(i)()(o());a.push([e.id,".material-design-icon[data-v-ff740bda]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry__counter[data-v-ff740bda]{font-size:calc(var(--default-font-size)*.8);overflow:hidden;width:fit-content;max-width:44px;text-align:center;text-overflow:ellipsis;line-height:1em;padding:4px 8px;border-radius:var(--border-radius-pill);background-color:var(--color-background-darker)}.app-navigation-entry__counter--highlighted[data-v-ff740bda]{padding:4px 6px;color:var(--color-primary-text);background-color:var(--color-primary)}","",{version:3,sources:["webpack://./src/assets/material-icons.css","webpack://./src/components/AppNavigationCounter/AppNavigationCounter.vue","webpack://./src/assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gDACC,2CAAA,CACA,eAAA,CACA,iBAAA,CACA,cCmBgB,CDlBhB,iBAAA,CACA,sBAAA,CACA,eAAA,CACA,eAAA,CACA,uCAAA,CACA,+CAAA,CAEA,6DACC,eAAA,CACA,+BAAA,CACA,qCAAA",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","@use 'sass:math'; $scope_version:\"d5cd941\"; @import 'variables'; @import 'material-icons';\n\n.app-navigation-entry__counter {\n\tfont-size: calc(var(--default-font-size) * .8);\n\toverflow: hidden;\n\twidth: fit-content;\n\tmax-width: $clickable-area;\n\ttext-align: center;\n\ttext-overflow: ellipsis;\n\tline-height: 1em;\n\tpadding: 4px 8px;\n\tborder-radius: var(--border-radius-pill);\n\tbackground-color: var(--color-background-darker);\n\n\t&--highlighted {\n\t\tpadding: 4px 6px;\n\t\tcolor: var(--color-primary-text);\n\t\tbackground-color: var(--color-primary);\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: math.div($clickable-area - $icon-size, 2);\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n\n// top-bar spacing\n$topbar-margin: 4px;\n"],sourceRoot:""}]),n.Z=a},3645:function(e){"use strict";e.exports=function(e){var n=[];return n.toString=function(){return this.map((function(n){var t=e(n);return n[2]?"@media ".concat(n[2]," {").concat(t,"}"):t})).join("")},n.i=function(e,t,r){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(r)for(var i=0;i<this.length;i++){var a=this[i][0];null!=a&&(o[a]=!0)}for(var c=0;c<e.length;c++){var s=[].concat(e[c]);r&&o[s[0]]||(t&&(s[2]?s[2]="".concat(t," and ").concat(s[2]):s[2]=t),n.push(s))}},n}},4015:function(e){"use strict";function n(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}e.exports=function(e){var t,r,o=(r=4,function(e){if(Array.isArray(e))return e}(t=e)||function(e,n){var t=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null!=t){var r,o,i=[],a=!0,c=!1;try{for(t=t.call(e);!(a=(r=t.next()).done)&&(i.push(r.value),!n||i.length!==n);a=!0);}catch(e){c=!0,o=e}finally{try{a||null==t.return||t.return()}finally{if(c)throw o}}return i}}(t,r)||function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}(t,r)||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.")}()),i=o[1],a=o[3];if(!a)return i;if("function"==typeof btoa){var c=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),s="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(c),u="/*# ".concat(s," */"),l=a.sources.map((function(e){return"/*# sourceURL=".concat(a.sourceRoot||"").concat(e," */")}));return[i].concat(l).concat([u]).join("\n")}return[i].join("\n")}},3379:function(e){"use strict";var n=[];function t(e){for(var t=-1,r=0;r<n.length;r++)if(n[r].identifier===e){t=r;break}return t}function r(e,r){for(var i={},a=[],c=0;c<e.length;c++){var s=e[c],u=r.base?s[0]+r.base:s[0],l=i[u]||0,p="".concat(u," ").concat(l);i[u]=l+1;var d=t(p),f={css:s[1],media:s[2],sourceMap:s[3],supports:s[4],layer:s[5]};if(-1!==d)n[d].references++,n[d].updater(f);else{var v=o(f,r);r.byIndex=c,n.splice(c,0,{identifier:p,updater:v,references:1})}a.push(p)}return a}function o(e,n){var t=n.domAPI(n);return t.update(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap&&n.supports===e.supports&&n.layer===e.layer)return;t.update(e=n)}else t.remove()}}e.exports=function(e,o){var i=r(e=e||[],o=o||{});return function(e){e=e||[];for(var a=0;a<i.length;a++){var c=t(i[a]);n[c].references--}for(var s=r(e,o),u=0;u<i.length;u++){var l=t(i[u]);0===n[l].references&&(n[l].updater(),n.splice(l,1))}i=s}}},569:function(e){"use strict";var n={};e.exports=function(e,t){var r=function(e){if(void 0===n[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}n[e]=t}return n[e]}(e);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(t)}},9216:function(e){"use strict";e.exports=function(e){var n=document.createElement("style");return e.setAttributes(n,e.attributes),e.insert(n,e.options),n}},3565:function(e,n,t){"use strict";e.exports=function(e){var n=t.nc;n&&e.setAttribute("nonce",n)}},7795:function(e){"use strict";e.exports=function(e){var n=e.insertStyleElement(e);return{update:function(t){!function(e,n,t){var r="";t.supports&&(r+="@supports (".concat(t.supports,") {")),t.media&&(r+="@media ".concat(t.media," {"));var o=void 0!==t.layer;o&&(r+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),r+=t.css,o&&(r+="}"),t.media&&(r+="}"),t.supports&&(r+="}");var i=t.sourceMap;i&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),n.styleTagTransform(r,e,n.options)}(n,e,t)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)}}}},4589:function(e){"use strict";e.exports=function(e,n){if(n.styleSheet)n.styleSheet.cssText=e;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(e))}}},7808:function(){},1900:function(e,n,t){"use strict";function r(e,n,t,r,o,i,a,c){var s,u="function"==typeof e?e.options:e;if(n&&(u.render=n,u.staticRenderFns=t,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),a?(s=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},u._ssrRegister=s):o&&(s=c?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),s)if(u.functional){u._injectStyles=s;var l=u.render;u.render=function(e,n){return s.call(n),l(e,n)}}else{var p=u.beforeCreate;u.beforeCreate=p?[].concat(p,s):[s]}return{exports:e,options:u}}t.d(n,{Z:function(){return r}})}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var i=n[r]={id:r,exports:{}};return e[r](i,i.exports,t),i.exports}t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,{a:n}),n},t.d=function(e,n){for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.nc=void 0;var r={};return function(){"use strict";t.r(r),t.d(r,{default:function(){return C}});var e={name:"AppNavigationCounter",props:{highlighted:{type:Boolean,default:!1}}},n=t(3379),o=t.n(n),i=t(7795),a=t.n(i),c=t(569),s=t.n(c),u=t(3565),l=t.n(u),p=t(9216),d=t.n(p),f=t(4589),v=t.n(f),h=t(2821),A={};A.styleTagTransform=v(),A.setAttributes=l(),A.insert=s().bind(null,"head"),A.domAPI=a(),A.insertStyleElement=d(),o()(h.Z,A),h.Z&&h.Z.locals&&h.Z.locals;var m=t(1900),g=t(7808),b=t.n(g),y=(0,m.Z)(e,(function(){var e=this;return(0,e._self._c)("div",{staticClass:"app-navigation-entry__counter",class:{"app-navigation-entry__counter--highlighted":e.highlighted}},[e._t("default")],2)}),[],!1,null,"ff740bda",null);"function"==typeof b()&&b()(y);var C=y.exports}(),r}()}));
|
|
2
|
-
//# sourceMappingURL=AppNavigationCounter.js.map
|