@nextcloud/vue 8.5.0 → 9.0.0-alpha.0
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 +88 -0
- package/dist/Components/NcActionButton.cjs +3 -130
- package/dist/Components/NcActionButton.cjs.map +1 -1
- package/dist/Components/NcActionButton.mjs +2 -134
- package/dist/Components/NcActionButton.mjs.map +1 -1
- package/dist/Components/NcActionButtonGroup.cjs +1 -1
- package/dist/Components/NcActionButtonGroup.mjs +1 -1
- package/dist/Components/NcActionCaption.cjs +3 -34
- package/dist/Components/NcActionCaption.cjs.map +1 -1
- package/dist/Components/NcActionCaption.mjs +2 -35
- package/dist/Components/NcActionCaption.mjs.map +1 -1
- package/dist/Components/NcActionCheckbox.cjs +3 -92
- package/dist/Components/NcActionCheckbox.cjs.map +1 -1
- package/dist/Components/NcActionCheckbox.mjs +2 -95
- package/dist/Components/NcActionCheckbox.mjs.map +1 -1
- package/dist/Components/NcActionInput.cjs +1 -1
- package/dist/Components/NcActionInput.mjs +1 -1
- package/dist/Components/NcActionLink.cjs +3 -76
- package/dist/Components/NcActionLink.cjs.map +1 -1
- package/dist/Components/NcActionLink.mjs +2 -78
- package/dist/Components/NcActionLink.mjs.map +1 -1
- package/dist/Components/NcActionRadio.cjs +3 -99
- package/dist/Components/NcActionRadio.cjs.map +1 -1
- package/dist/Components/NcActionRadio.mjs +2 -102
- package/dist/Components/NcActionRadio.mjs.map +1 -1
- package/dist/Components/NcActionRouter.cjs +3 -47
- package/dist/Components/NcActionRouter.cjs.map +1 -1
- package/dist/Components/NcActionRouter.mjs +2 -49
- package/dist/Components/NcActionRouter.mjs.map +1 -1
- package/dist/Components/NcActionSeparator.cjs +3 -19
- package/dist/Components/NcActionSeparator.cjs.map +1 -1
- package/dist/Components/NcActionSeparator.mjs +2 -20
- package/dist/Components/NcActionSeparator.mjs.map +1 -1
- package/dist/Components/NcActionText.cjs +3 -28
- package/dist/Components/NcActionText.cjs.map +1 -1
- package/dist/Components/NcActionText.mjs +2 -30
- package/dist/Components/NcActionText.mjs.map +1 -1
- package/dist/Components/NcActionTextEditable.cjs +3 -80
- package/dist/Components/NcActionTextEditable.cjs.map +1 -1
- package/dist/Components/NcActionTextEditable.mjs +2 -84
- package/dist/Components/NcActionTextEditable.mjs.map +1 -1
- package/dist/Components/NcActions.cjs +1 -1
- package/dist/Components/NcActions.mjs +1 -1
- package/dist/Components/NcAppContent.cjs +1 -1
- package/dist/Components/NcAppContent.mjs +1 -1
- package/dist/Components/NcAppContentDetails.cjs +2 -18
- package/dist/Components/NcAppContentDetails.cjs.map +1 -1
- package/dist/Components/NcAppContentDetails.mjs +2 -19
- package/dist/Components/NcAppContentDetails.mjs.map +1 -1
- package/dist/Components/NcAppContentList.cjs +2 -28
- package/dist/Components/NcAppContentList.cjs.map +1 -1
- package/dist/Components/NcAppContentList.mjs +2 -29
- package/dist/Components/NcAppContentList.mjs.map +1 -1
- package/dist/Components/NcAppNavigation.cjs +1 -1
- package/dist/Components/NcAppNavigation.mjs +1 -1
- package/dist/Components/NcAppNavigationCaption.cjs +1 -1
- package/dist/Components/NcAppNavigationCaption.mjs +1 -1
- package/dist/Components/NcAppNavigationIconBullet.cjs +3 -39
- package/dist/Components/NcAppNavigationIconBullet.cjs.map +1 -1
- package/dist/Components/NcAppNavigationIconBullet.mjs +2 -40
- package/dist/Components/NcAppNavigationIconBullet.mjs.map +1 -1
- package/dist/Components/NcAppNavigationItem.cjs +1 -1
- package/dist/Components/NcAppNavigationItem.mjs +1 -1
- package/dist/Components/NcAppNavigationNew.cjs +3 -49
- package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
- package/dist/Components/NcAppNavigationNew.mjs +1 -50
- package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
- package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
- package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
- package/dist/Components/NcAppNavigationSettings.cjs +1 -1
- package/dist/Components/NcAppNavigationSettings.mjs +1 -1
- package/dist/Components/NcAppNavigationSpacer.cjs +3 -19
- package/dist/Components/NcAppNavigationSpacer.cjs.map +1 -1
- package/dist/Components/NcAppNavigationSpacer.mjs +2 -20
- package/dist/Components/NcAppNavigationSpacer.mjs.map +1 -1
- package/dist/Components/NcAppNavigationToggle.cjs +1 -1
- package/dist/Components/NcAppNavigationToggle.mjs +1 -1
- package/dist/Components/NcAppSettingsDialog.cjs +1 -1
- package/dist/Components/NcAppSettingsDialog.mjs +1 -1
- package/dist/Components/NcAppSettingsSection.cjs +3 -54
- package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
- package/dist/Components/NcAppSettingsSection.mjs +2 -55
- package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
- package/dist/Components/NcAppSidebar.cjs +1 -1
- package/dist/Components/NcAppSidebar.mjs +1 -1
- package/dist/Components/NcAppSidebarTab.cjs +3 -81
- package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
- package/dist/Components/NcAppSidebarTab.mjs +2 -82
- package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
- package/dist/Components/NcAvatar.cjs +1 -1
- package/dist/Components/NcAvatar.mjs +1 -1
- package/dist/Components/NcBreadcrumb.cjs +1 -1
- package/dist/Components/NcBreadcrumb.mjs +1 -1
- package/dist/Components/NcBreadcrumbs.cjs +1 -1
- package/dist/Components/NcBreadcrumbs.mjs +1 -1
- package/dist/Components/NcButton.cjs +3 -237
- package/dist/Components/NcButton.cjs.map +1 -1
- package/dist/Components/NcButton.mjs +2 -238
- package/dist/Components/NcButton.mjs.map +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
- package/dist/Components/NcColorPicker.cjs +1 -1
- package/dist/Components/NcColorPicker.mjs +1 -1
- package/dist/Components/NcContent.cjs +1 -1
- package/dist/Components/NcContent.mjs +1 -1
- package/dist/Components/NcCounterBubble.cjs +3 -46
- package/dist/Components/NcCounterBubble.cjs.map +1 -1
- package/dist/Components/NcCounterBubble.mjs +2 -47
- package/dist/Components/NcCounterBubble.mjs.map +1 -1
- package/dist/Components/NcDashboardWidget.cjs +1 -1
- package/dist/Components/NcDashboardWidget.mjs +1 -1
- package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
- package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
- package/dist/Components/NcDateTime.cjs +1 -1
- package/dist/Components/NcDateTime.mjs +1 -1
- package/dist/Components/NcDateTimePicker.cjs +3 -301
- package/dist/Components/NcDateTimePicker.cjs.map +1 -1
- package/dist/Components/NcDateTimePicker.mjs +2 -308
- package/dist/Components/NcDateTimePicker.mjs.map +1 -1
- package/dist/Components/NcDateTimePickerNative.cjs +3 -198
- package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
- package/dist/Components/NcDateTimePickerNative.mjs +2 -200
- package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
- package/dist/Components/NcDialog.cjs +1 -1
- package/dist/Components/NcDialog.mjs +1 -1
- package/dist/Components/NcDialogButton.cjs +1 -1
- package/dist/Components/NcDialogButton.mjs +1 -1
- package/dist/Components/NcEllipsisedOption.cjs +3 -73
- package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
- package/dist/Components/NcEllipsisedOption.mjs +2 -75
- package/dist/Components/NcEllipsisedOption.mjs.map +1 -1
- package/dist/Components/NcEmojiPicker.cjs +1 -1
- package/dist/Components/NcEmojiPicker.mjs +1 -1
- package/dist/Components/NcEmptyContent.cjs +3 -52
- package/dist/Components/NcEmptyContent.cjs.map +1 -1
- package/dist/Components/NcEmptyContent.mjs +2 -53
- package/dist/Components/NcEmptyContent.mjs.map +1 -1
- package/dist/Components/NcGuestContent.cjs +3 -25
- package/dist/Components/NcGuestContent.cjs.map +1 -1
- package/dist/Components/NcGuestContent.mjs +2 -26
- package/dist/Components/NcGuestContent.mjs.map +1 -1
- package/dist/Components/NcHeaderMenu.cjs +1 -1
- package/dist/Components/NcHeaderMenu.mjs +1 -1
- package/dist/Components/NcHighlight.cjs +2 -2
- package/dist/Components/NcHighlight.mjs +1 -1
- package/dist/Components/NcIconSvgWrapper.cjs +1 -1
- package/dist/Components/NcIconSvgWrapper.mjs +1 -1
- package/dist/Components/NcInputField.cjs +3 -221
- package/dist/Components/NcInputField.cjs.map +1 -1
- package/dist/Components/NcInputField.mjs +2 -226
- package/dist/Components/NcInputField.mjs.map +1 -1
- package/dist/Components/NcListItem.cjs +1 -1
- package/dist/Components/NcListItem.mjs +1 -1
- package/dist/Components/NcListItemIcon.cjs +1 -1
- package/dist/Components/NcListItemIcon.mjs +1 -1
- package/dist/Components/NcLoadingIcon.cjs +3 -53
- package/dist/Components/NcLoadingIcon.cjs.map +1 -1
- package/dist/Components/NcLoadingIcon.mjs +2 -54
- package/dist/Components/NcLoadingIcon.mjs.map +1 -1
- package/dist/Components/NcModal.cjs +315 -139
- package/dist/Components/NcModal.cjs.map +1 -1
- package/dist/Components/NcModal.mjs +326 -149
- package/dist/Components/NcModal.mjs.map +1 -1
- package/dist/Components/NcNoteCard.cjs +3 -198
- package/dist/Components/NcNoteCard.cjs.map +1 -1
- package/dist/Components/NcNoteCard.mjs +2 -199
- package/dist/Components/NcNoteCard.mjs.map +1 -1
- package/dist/Components/NcPasswordField.cjs +1 -1
- package/dist/Components/NcPasswordField.mjs +1 -1
- package/dist/Components/NcPopover.cjs +1 -1
- package/dist/Components/NcPopover.mjs +1 -1
- package/dist/Components/NcProgressBar.cjs +1 -1
- package/dist/Components/NcProgressBar.mjs +1 -1
- package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
- package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
- package/dist/Components/NcRichContenteditable.cjs +1 -1
- package/dist/Components/NcRichContenteditable.mjs +2 -2
- package/dist/Components/NcRichText.cjs +1 -1
- package/dist/Components/NcRichText.mjs +3 -3
- package/dist/Components/NcSavingIndicatorIcon.cjs +1 -1
- package/dist/Components/NcSavingIndicatorIcon.mjs +1 -1
- package/dist/Components/NcSelect.cjs +1 -1
- package/dist/Components/NcSelect.mjs +1 -1
- package/dist/Components/NcSelectTags.cjs +1 -1
- package/dist/Components/NcSelectTags.mjs +1 -1
- package/dist/Components/NcSettingsInputText.cjs +1 -1
- package/dist/Components/NcSettingsInputText.mjs +1 -1
- package/dist/Components/NcSettingsSection.cjs +1 -1
- package/dist/Components/NcSettingsSection.mjs +1 -1
- package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
- package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
- package/dist/Components/NcTextArea.cjs +3 -166
- package/dist/Components/NcTextArea.cjs.map +1 -1
- package/dist/Components/NcTextArea.mjs +1 -169
- package/dist/Components/NcTextArea.mjs.map +1 -1
- package/dist/Components/NcTextField.cjs +1 -1
- package/dist/Components/NcTextField.mjs +1 -1
- package/dist/Components/NcTimezonePicker.cjs +1 -1
- package/dist/Components/NcTimezonePicker.mjs +1 -1
- package/dist/Components/NcUserBubble.cjs +1 -1
- package/dist/Components/NcUserBubble.mjs +1 -1
- package/dist/Components/NcUserStatusIcon.cjs +1 -1
- package/dist/Components/NcUserStatusIcon.mjs +1 -1
- package/dist/Components/NcVNodes.cjs +5 -17
- package/dist/Components/NcVNodes.cjs.map +1 -1
- package/dist/Components/NcVNodes.mjs +4 -17
- package/dist/Components/NcVNodes.mjs.map +1 -1
- package/dist/Composables/useIsFullscreen.cjs +5 -7
- package/dist/Composables/useIsFullscreen.cjs.map +1 -1
- package/dist/Composables/useIsFullscreen.mjs +6 -8
- package/dist/Composables/useIsFullscreen.mjs.map +1 -1
- package/dist/Directives/Focus.cjs +1 -1
- package/dist/Directives/Focus.cjs.map +1 -1
- package/dist/Directives/Focus.mjs +1 -1
- package/dist/Directives/Focus.mjs.map +1 -1
- package/dist/Functions/a11y.cjs +25 -0
- package/dist/Functions/a11y.cjs.map +1 -0
- package/dist/Functions/a11y.mjs +25 -0
- package/dist/Functions/a11y.mjs.map +1 -0
- package/dist/Functions/emoji.cjs +8 -0
- package/dist/Functions/emoji.cjs.map +1 -0
- package/dist/Functions/emoji.mjs +8 -0
- package/dist/Functions/emoji.mjs.map +1 -0
- package/dist/Functions/usernameToColor.cjs +1 -1
- package/dist/Functions/usernameToColor.mjs +1 -1
- package/dist/Mixins/richEditor.cjs +1 -1
- package/dist/Mixins/richEditor.mjs +1 -1
- package/dist/assets/NcActionButton-p7spK21h.css +134 -0
- package/dist/assets/NcActionCheckbox-T379T-FC.css +106 -0
- package/dist/assets/NcActionInput-MGVmREKR.css +243 -0
- package/dist/assets/NcActionRadio-UC-7SDBI.css +106 -0
- package/dist/assets/NcActionRouter-g0zV3dVT.css +133 -0
- package/dist/assets/NcActionTextEditable-DE_5Sc0w.css +259 -0
- package/dist/assets/NcActions-cEMOhd0g.css +84 -0
- package/dist/assets/NcAppContent--D5zvLsb.css +115 -0
- package/dist/assets/NcAppNavigation-9xEM_GAn.css +92 -0
- package/dist/assets/NcAppNavigationCaption-0s4Wxc88.css +52 -0
- package/dist/assets/NcAppNavigationItem-V2jQd3bm.css +206 -0
- package/dist/assets/NcAppNavigationNew-PtSC3Wy5.css +36 -0
- package/dist/assets/NcAppNavigationSettings-Q_od5CcP.css +88 -0
- package/dist/assets/NcAppNavigationToggle-egZffUzR.css +38 -0
- package/dist/assets/NcAppSettingsDialog-F29bz2Yx.css +87 -0
- package/dist/assets/NcAppSettingsSection-Gh575p0x.css +41 -0
- package/dist/assets/NcAppSidebar-QQPSZPo9.css +318 -0
- package/dist/assets/NcAppSidebarTab-goNfHK4d.css +45 -0
- package/dist/assets/NcAvatar-qgACiUer.css +144 -0
- package/dist/assets/NcBreadcrumb-ZsIS1jDx.css +80 -0
- package/dist/assets/NcBreadcrumbs-liWjT068.css +49 -0
- package/dist/assets/NcButton-fqTN6SJK.css +204 -0
- package/dist/assets/NcCheckboxRadioSwitch-P71iLdgD.css +199 -0
- package/dist/assets/NcColorPicker-88MDZrB0.css +131 -0
- package/dist/assets/NcContent-ZG2BJ837.css +82 -0
- package/dist/assets/NcDashboardWidget-7x3QrWFu.css +83 -0
- package/dist/assets/NcDateTimePicker-SsDztIsS.css +907 -0
- package/dist/assets/NcDateTimePickerNative-QBosiBWA.css +46 -0
- package/dist/assets/NcDialog-9-cx1V0y.css +115 -0
- package/dist/assets/NcEmojiPicker-KRMyqbWg.css +551 -0
- package/dist/assets/NcEmptyContent-b8eqBVE_.css +75 -0
- package/dist/assets/NcGuestContent-FRQFLxlW.css +51 -0
- package/dist/assets/NcHeaderMenu-j8h_puZT.css +92 -0
- package/dist/assets/NcIconSvgWrapper-0OJxiD3Q.css +44 -0
- package/dist/assets/NcInputConfirmCancel-_GF_RjYc.css +51 -0
- package/dist/assets/NcInputField-42mSa1zm.css +193 -0
- package/dist/assets/NcListItem--i7b67QY.css +165 -0
- package/dist/assets/NcListItemIcon-mlEQ7oK0.css +80 -0
- package/dist/assets/NcModal-DzsqMWSJ.css +298 -0
- package/dist/assets/NcRelatedResourcesPanel-i1-7CClp.css +76 -0
- package/dist/assets/NcRichContenteditable-nUZdQSMZ.css +267 -0
- package/dist/assets/NcSettingsInputText-JpZtS9DS.css +46 -0
- package/dist/assets/NcSettingsSelectGroup-51HMKLZQ.css +34 -0
- package/dist/assets/NcTextArea-6akBm4Ks.css +138 -0
- package/dist/assets/NcUserBubble-t1uOyYCF.css +59 -0
- package/dist/assets/NcUserStatusIcon-AXLspcOQ.css +41 -0
- package/dist/assets/referencePickerModal-G-NTZHL1.css +509 -0
- package/dist/chunks/AlertCircleOutline-Q4EgxGNm.mjs +44 -0
- package/dist/chunks/AlertCircleOutline-Q4EgxGNm.mjs.map +1 -0
- package/dist/chunks/AlertCircleOutline-aU4Cu4IM.cjs +41 -0
- package/dist/chunks/AlertCircleOutline-aU4Cu4IM.cjs.map +1 -0
- package/dist/chunks/ArrowLeft-4DZMGcXE.cjs +41 -0
- package/dist/chunks/ArrowLeft-4DZMGcXE.cjs.map +1 -0
- package/dist/chunks/ArrowLeft-LlLrrfss.mjs +44 -0
- package/dist/chunks/ArrowLeft-LlLrrfss.mjs.map +1 -0
- package/dist/chunks/ArrowRight-Fk_qtqpW.mjs +44 -0
- package/dist/chunks/ArrowRight-Fk_qtqpW.mjs.map +1 -0
- package/dist/chunks/ArrowRight-mI4Fw0h2.cjs +41 -0
- package/dist/chunks/ArrowRight-mI4Fw0h2.cjs.map +1 -0
- package/dist/chunks/Check-SlTPuUzR.cjs +41 -0
- package/dist/chunks/Check-SlTPuUzR.cjs.map +1 -0
- package/dist/chunks/Check-hentWFPd.mjs +44 -0
- package/dist/chunks/Check-hentWFPd.mjs.map +1 -0
- package/dist/chunks/ChevronDown-7w1_NWAd.cjs +41 -0
- package/dist/chunks/ChevronDown-7w1_NWAd.cjs.map +1 -0
- package/dist/chunks/ChevronDown-hP8YKVnf.mjs +44 -0
- package/dist/chunks/ChevronDown-hP8YKVnf.mjs.map +1 -0
- package/dist/chunks/ChevronRight-iDcqZ2Ih.cjs +41 -0
- package/dist/chunks/ChevronRight-iDcqZ2Ih.cjs.map +1 -0
- package/dist/chunks/ChevronRight-xEIO1OE7.mjs +44 -0
- package/dist/chunks/ChevronRight-xEIO1OE7.mjs.map +1 -0
- package/dist/chunks/Close-2nENZfbn.cjs +41 -0
- package/dist/chunks/Close-2nENZfbn.cjs.map +1 -0
- package/dist/chunks/Close-4lZze_oD.mjs +44 -0
- package/dist/chunks/Close-4lZze_oD.mjs.map +1 -0
- package/dist/chunks/DotsHorizontal-2GCivGee.mjs +44 -0
- package/dist/chunks/DotsHorizontal-2GCivGee.mjs.map +1 -0
- package/dist/chunks/DotsHorizontal-Ehuu1q0g.cjs +41 -0
- package/dist/chunks/DotsHorizontal-Ehuu1q0g.cjs.map +1 -0
- package/dist/chunks/GenColors-avBT67Zu.mjs +142 -0
- package/dist/chunks/GenColors-avBT67Zu.mjs.map +1 -0
- package/dist/chunks/GenColors-ojnUsIA8.cjs +141 -0
- package/dist/chunks/GenColors-ojnUsIA8.cjs.map +1 -0
- package/dist/chunks/NcActionButton-G4OSfyii.cjs +171 -0
- package/dist/chunks/NcActionButton-G4OSfyii.cjs.map +1 -0
- package/dist/chunks/NcActionButton-TAhaLmwa.mjs +178 -0
- package/dist/chunks/NcActionButton-TAhaLmwa.mjs.map +1 -0
- package/dist/chunks/NcActionButtonGroup-0hif9Dcf.mjs +55 -0
- package/dist/chunks/NcActionButtonGroup-0hif9Dcf.mjs.map +1 -0
- package/dist/chunks/NcActionButtonGroup-jTRjqpYM.cjs +50 -0
- package/dist/chunks/NcActionButtonGroup-jTRjqpYM.cjs.map +1 -0
- package/dist/chunks/NcActionCaption-SIz5c1sE.cjs +27 -0
- package/dist/chunks/NcActionCaption-SIz5c1sE.cjs.map +1 -0
- package/dist/chunks/NcActionCaption-vguA2tEL.mjs +31 -0
- package/dist/chunks/NcActionCaption-vguA2tEL.mjs.map +1 -0
- package/dist/chunks/NcActionCheckbox-PWAridhc.mjs +113 -0
- package/dist/chunks/NcActionCheckbox-PWAridhc.mjs.map +1 -0
- package/dist/chunks/NcActionCheckbox-Z4Wc9828.cjs +107 -0
- package/dist/chunks/NcActionCheckbox-Z4Wc9828.cjs.map +1 -0
- package/dist/chunks/NcActionInput-7-f1OPr6.mjs +346 -0
- package/dist/chunks/NcActionInput-7-f1OPr6.mjs.map +1 -0
- package/dist/chunks/NcActionInput-GuwDt73G.cjs +335 -0
- package/dist/chunks/NcActionInput-GuwDt73G.cjs.map +1 -0
- package/dist/chunks/NcActionLink-QLFtD_iF.cjs +106 -0
- package/dist/chunks/NcActionLink-QLFtD_iF.cjs.map +1 -0
- package/dist/chunks/NcActionLink-YllmwOrF.mjs +111 -0
- package/dist/chunks/NcActionLink-YllmwOrF.mjs.map +1 -0
- package/dist/chunks/NcActionRadio-1U50276u.cjs +115 -0
- package/dist/chunks/NcActionRadio-1U50276u.cjs.map +1 -0
- package/dist/chunks/NcActionRadio-DSBghCIA.mjs +121 -0
- package/dist/chunks/NcActionRadio-DSBghCIA.mjs.map +1 -0
- package/dist/chunks/NcActionRouter-Vg-BSvq7.cjs +70 -0
- package/dist/chunks/NcActionRouter-Vg-BSvq7.cjs.map +1 -0
- package/dist/chunks/NcActionRouter-vBYCxyc1.mjs +75 -0
- package/dist/chunks/NcActionRouter-vBYCxyc1.mjs.map +1 -0
- package/dist/chunks/NcActionSeparator-0-kc3NRC.mjs +16 -0
- package/dist/chunks/NcActionSeparator-0-kc3NRC.mjs.map +1 -0
- package/dist/chunks/NcActionSeparator-craHv8oO.cjs +12 -0
- package/dist/chunks/NcActionSeparator-craHv8oO.cjs.map +1 -0
- package/dist/chunks/NcActionText-aWTbDRVH.cjs +52 -0
- package/dist/chunks/NcActionText-aWTbDRVH.cjs.map +1 -0
- package/dist/chunks/NcActionText-p3Ew3r1G.mjs +57 -0
- package/dist/chunks/NcActionText-p3Ew3r1G.mjs.map +1 -0
- package/dist/chunks/NcActionTextEditable-PAn8Dpv4.mjs +121 -0
- package/dist/chunks/NcActionTextEditable-PAn8Dpv4.mjs.map +1 -0
- package/dist/chunks/NcActionTextEditable-RUh3BjpU.cjs +114 -0
- package/dist/chunks/NcActionTextEditable-RUh3BjpU.cjs.map +1 -0
- package/dist/chunks/NcActions-6Yv0De7D.mjs +451 -0
- package/dist/chunks/NcActions-6Yv0De7D.mjs.map +1 -0
- package/dist/chunks/NcActions-VJy75Dj8.cjs +443 -0
- package/dist/chunks/NcActions-VJy75Dj8.cjs.map +1 -0
- package/dist/chunks/NcAppContent-khCUrgDu.cjs +264 -0
- package/dist/chunks/NcAppContent-khCUrgDu.cjs.map +1 -0
- package/dist/chunks/NcAppContent-rV1EGzGY.mjs +275 -0
- package/dist/chunks/NcAppContent-rV1EGzGY.mjs.map +1 -0
- package/dist/chunks/NcAppContentDetails-BhbsNp93.cjs +11 -0
- package/dist/chunks/NcAppContentDetails-BhbsNp93.cjs.map +1 -0
- package/dist/chunks/NcAppContentDetails-bD9j5H59.mjs +14 -0
- package/dist/chunks/NcAppContentDetails-bD9j5H59.mjs.map +1 -0
- package/dist/chunks/NcAppContentList-_kO9F-p0.mjs +26 -0
- package/dist/chunks/NcAppContentList-_kO9F-p0.mjs.map +1 -0
- package/dist/chunks/NcAppContentList-blRtleBI.cjs +23 -0
- package/dist/chunks/NcAppContentList-blRtleBI.cjs.map +1 -0
- package/dist/chunks/NcAppNavigation-qnc3o3YP.cjs +125 -0
- package/dist/chunks/NcAppNavigation-qnc3o3YP.cjs.map +1 -0
- package/dist/chunks/NcAppNavigation-wvBM1j2_.mjs +134 -0
- package/dist/chunks/NcAppNavigation-wvBM1j2_.mjs.map +1 -0
- package/dist/chunks/NcAppNavigationCaption-6SpoIhcW.cjs +42 -0
- package/dist/chunks/NcAppNavigationCaption-6SpoIhcW.cjs.map +1 -0
- package/dist/chunks/NcAppNavigationCaption-wnBg9gYq.mjs +47 -0
- package/dist/chunks/NcAppNavigationCaption-wnBg9gYq.mjs.map +1 -0
- package/dist/chunks/NcAppNavigationIconBullet-GLCjMfFF.cjs +36 -0
- package/dist/chunks/NcAppNavigationIconBullet-GLCjMfFF.cjs.map +1 -0
- package/dist/chunks/NcAppNavigationIconBullet-OqquWWY6.mjs +40 -0
- package/dist/chunks/NcAppNavigationIconBullet-OqquWWY6.mjs.map +1 -0
- package/dist/chunks/NcAppNavigationItem-6kzsp9I8.cjs +595 -0
- package/dist/chunks/NcAppNavigationItem-6kzsp9I8.cjs.map +1 -0
- package/dist/chunks/NcAppNavigationItem-VR6oSt2q.mjs +608 -0
- package/dist/chunks/NcAppNavigationItem-VR6oSt2q.mjs.map +1 -0
- package/dist/chunks/NcAppNavigationNew-AamR4VD3.mjs +56 -0
- package/dist/chunks/NcAppNavigationNew-AamR4VD3.mjs.map +1 -0
- package/dist/chunks/NcAppNavigationNew-ae4GCKxx.cjs +51 -0
- package/dist/chunks/NcAppNavigationNew-ae4GCKxx.cjs.map +1 -0
- package/dist/chunks/NcAppNavigationNewItem-sZ0DdaXr.cjs +106 -0
- package/dist/chunks/NcAppNavigationNewItem-sZ0DdaXr.cjs.map +1 -0
- package/dist/chunks/NcAppNavigationNewItem-tSH06MX2.mjs +112 -0
- package/dist/chunks/NcAppNavigationNewItem-tSH06MX2.mjs.map +1 -0
- package/dist/chunks/NcAppNavigationSettings-giVx2sHN.mjs +131 -0
- package/dist/chunks/NcAppNavigationSettings-giVx2sHN.mjs.map +1 -0
- package/dist/chunks/NcAppNavigationSettings-mYqB3vRb.cjs +128 -0
- package/dist/chunks/NcAppNavigationSettings-mYqB3vRb.cjs.map +1 -0
- package/dist/chunks/NcAppNavigationSpacer-FIQIP65d.cjs +9 -0
- package/dist/chunks/NcAppNavigationSpacer-FIQIP65d.cjs.map +1 -0
- package/dist/chunks/NcAppNavigationSpacer-gzdnlvnT.mjs +13 -0
- package/dist/chunks/NcAppNavigationSpacer-gzdnlvnT.mjs.map +1 -0
- package/dist/chunks/NcAppNavigationToggle-DBCPaseG.mjs +136 -0
- package/dist/chunks/NcAppNavigationToggle-DBCPaseG.mjs.map +1 -0
- package/dist/chunks/NcAppNavigationToggle-cRUPsHZH.cjs +131 -0
- package/dist/chunks/NcAppNavigationToggle-cRUPsHZH.cjs.map +1 -0
- package/dist/chunks/NcAppSettingsDialog-90cJBaTf.mjs +212 -0
- package/dist/chunks/NcAppSettingsDialog-90cJBaTf.mjs.map +1 -0
- package/dist/chunks/NcAppSettingsDialog-WvDTWMwC.cjs +204 -0
- package/dist/chunks/NcAppSettingsDialog-WvDTWMwC.cjs.map +1 -0
- package/dist/chunks/NcAppSettingsSection-WcupJObJ.mjs +55 -0
- package/dist/chunks/NcAppSettingsSection-WcupJObJ.mjs.map +1 -0
- package/dist/chunks/NcAppSettingsSection-wLClE1lO.cjs +51 -0
- package/dist/chunks/NcAppSettingsSection-wLClE1lO.cjs.map +1 -0
- package/dist/chunks/NcAppSidebar-19vWkj82.cjs +706 -0
- package/dist/chunks/NcAppSidebar-19vWkj82.cjs.map +1 -0
- package/dist/chunks/NcAppSidebar-yjd-HiUO.mjs +725 -0
- package/dist/chunks/NcAppSidebar-yjd-HiUO.mjs.map +1 -0
- package/dist/chunks/NcAppSidebarTab--7BkDK9T.mjs +87 -0
- package/dist/chunks/NcAppSidebarTab--7BkDK9T.mjs.map +1 -0
- package/dist/chunks/NcAppSidebarTab-BeWt8Sdt.cjs +83 -0
- package/dist/chunks/NcAppSidebarTab-BeWt8Sdt.cjs.map +1 -0
- package/dist/chunks/NcAvatar-1MXwkOA2.cjs +516 -0
- package/dist/chunks/NcAvatar-1MXwkOA2.cjs.map +1 -0
- package/dist/chunks/NcAvatar-paLjF9Tc.mjs +532 -0
- package/dist/chunks/NcAvatar-paLjF9Tc.mjs.map +1 -0
- package/dist/chunks/NcBreadcrumb-X45pwcLq.cjs +208 -0
- package/dist/chunks/NcBreadcrumb-X45pwcLq.cjs.map +1 -0
- package/dist/chunks/NcBreadcrumb-gB_hnDG_.mjs +216 -0
- package/dist/chunks/NcBreadcrumb-gB_hnDG_.mjs.map +1 -0
- package/dist/chunks/NcBreadcrumbs-N7-Jj_ry.mjs +377 -0
- package/dist/chunks/NcBreadcrumbs-N7-Jj_ry.mjs.map +1 -0
- package/dist/chunks/NcBreadcrumbs-Y8LRE6xz.cjs +365 -0
- package/dist/chunks/NcBreadcrumbs-Y8LRE6xz.cjs.map +1 -0
- package/dist/chunks/NcButton-Uxh-oARg.cjs +245 -0
- package/dist/chunks/NcButton-Uxh-oARg.cjs.map +1 -0
- package/dist/chunks/NcButton-nCkJxwsi.mjs +248 -0
- package/dist/chunks/NcButton-nCkJxwsi.mjs.map +1 -0
- package/dist/chunks/NcCheckboxRadioSwitch-Hi5ocuhB.cjs +696 -0
- package/dist/chunks/NcCheckboxRadioSwitch-Hi5ocuhB.cjs.map +1 -0
- package/dist/chunks/NcCheckboxRadioSwitch-RgFq8ZUL.mjs +701 -0
- package/dist/chunks/NcCheckboxRadioSwitch-RgFq8ZUL.mjs.map +1 -0
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_c3135eb8_lang-RYt-H2PA.cjs +3 -0
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_c3135eb8_lang-RYt-H2PA.cjs.map +1 -0
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_c3135eb8_lang-kB-352LR.mjs +3 -0
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_c3135eb8_lang-kB-352LR.mjs.map +1 -0
- package/dist/chunks/NcColorPicker-hS0KYrLP.mjs +247 -0
- package/dist/chunks/NcColorPicker-hS0KYrLP.mjs.map +1 -0
- package/dist/chunks/NcColorPicker-rE3Dd7s7.cjs +235 -0
- package/dist/chunks/NcColorPicker-rE3Dd7s7.cjs.map +1 -0
- package/dist/chunks/NcContent-CUWR0V-w.mjs +156 -0
- package/dist/chunks/NcContent-CUWR0V-w.mjs.map +1 -0
- package/dist/chunks/NcContent-fGj1oSM5.cjs +148 -0
- package/dist/chunks/NcContent-fGj1oSM5.cjs.map +1 -0
- package/dist/chunks/NcCounterBubble-0pCAxQl7.cjs +40 -0
- package/dist/chunks/NcCounterBubble-0pCAxQl7.cjs.map +1 -0
- package/dist/chunks/NcCounterBubble-w6SmwTWu.mjs +44 -0
- package/dist/chunks/NcCounterBubble-w6SmwTWu.mjs.map +1 -0
- package/dist/chunks/NcDashboardWidget-DC4_9Yv_.mjs +169 -0
- package/dist/chunks/NcDashboardWidget-DC4_9Yv_.mjs.map +1 -0
- package/dist/chunks/NcDashboardWidget-fnhMGIb6.cjs +161 -0
- package/dist/chunks/NcDashboardWidget-fnhMGIb6.cjs.map +1 -0
- package/dist/chunks/NcDashboardWidgetItem-0jGJ_5Nx.cjs +177 -0
- package/dist/chunks/NcDashboardWidgetItem-0jGJ_5Nx.cjs.map +1 -0
- package/dist/chunks/NcDashboardWidgetItem-TD0N9xlv.mjs +184 -0
- package/dist/chunks/NcDashboardWidgetItem-TD0N9xlv.mjs.map +1 -0
- package/dist/chunks/NcDateTime-EnQV6T52.mjs +140 -0
- package/dist/chunks/NcDateTime-EnQV6T52.mjs.map +1 -0
- package/dist/chunks/NcDateTime-m_WZoAvd.cjs +136 -0
- package/dist/chunks/NcDateTime-m_WZoAvd.cjs.map +1 -0
- package/dist/chunks/NcDateTimePicker-4edYzlVf.cjs +326 -0
- package/dist/chunks/NcDateTimePicker-4edYzlVf.cjs.map +1 -0
- package/dist/chunks/NcDateTimePicker-GHt3kJ7B.mjs +336 -0
- package/dist/chunks/NcDateTimePicker-GHt3kJ7B.mjs.map +1 -0
- package/dist/chunks/NcDateTimePickerNative-m30hv5MT.cjs +176 -0
- package/dist/chunks/NcDateTimePickerNative-m30hv5MT.cjs.map +1 -0
- package/dist/chunks/NcDateTimePickerNative-nDQjZSiZ.mjs +181 -0
- package/dist/chunks/NcDateTimePickerNative-nDQjZSiZ.mjs.map +1 -0
- package/dist/chunks/NcDialog-eZWcoYL9.mjs +243 -0
- package/dist/chunks/NcDialog-eZWcoYL9.mjs.map +1 -0
- package/dist/chunks/NcDialog-qsI2VY8S.cjs +235 -0
- package/dist/chunks/NcDialog-qsI2VY8S.cjs.map +1 -0
- package/dist/chunks/NcDialogButton-Dou0EAc_.cjs +72 -0
- package/dist/chunks/NcDialogButton-Dou0EAc_.cjs.map +1 -0
- package/dist/chunks/NcDialogButton-R-zAILHz.mjs +77 -0
- package/dist/chunks/NcDialogButton-R-zAILHz.mjs.map +1 -0
- package/dist/chunks/NcEllipsisedOption-FGgPyI_T.mjs +86 -0
- package/dist/chunks/NcEllipsisedOption-FGgPyI_T.mjs.map +1 -0
- package/dist/chunks/NcEllipsisedOption-eFqGdcUE.cjs +81 -0
- package/dist/chunks/NcEllipsisedOption-eFqGdcUE.cjs.map +1 -0
- package/dist/chunks/NcEmojiPicker-84m02Stk.mjs +336 -0
- package/dist/chunks/NcEmojiPicker-84m02Stk.mjs.map +1 -0
- package/dist/chunks/NcEmojiPicker-hxiKGEHb.cjs +323 -0
- package/dist/chunks/NcEmojiPicker-hxiKGEHb.cjs.map +1 -0
- package/dist/chunks/NcEmptyContent-Dvt4jhjb.mjs +62 -0
- package/dist/chunks/NcEmptyContent-Dvt4jhjb.mjs.map +1 -0
- package/dist/chunks/NcEmptyContent-M3ClqFZe.cjs +58 -0
- package/dist/chunks/NcEmptyContent-M3ClqFZe.cjs.map +1 -0
- package/dist/chunks/NcGuestContent-8HpHaN1K.mjs +21 -0
- package/dist/chunks/NcGuestContent-8HpHaN1K.mjs.map +1 -0
- package/dist/chunks/NcGuestContent-vbt8h0nE.cjs +17 -0
- package/dist/chunks/NcGuestContent-vbt8h0nE.cjs.map +1 -0
- package/dist/chunks/NcHeaderMenu-Eo6rZDeL.cjs +216 -0
- package/dist/chunks/NcHeaderMenu-Eo6rZDeL.cjs.map +1 -0
- package/dist/chunks/NcHeaderMenu-yJJ4FWin.mjs +223 -0
- package/dist/chunks/NcHeaderMenu-yJJ4FWin.mjs.map +1 -0
- package/dist/chunks/NcHighlight-cBMxLCnf.cjs +136 -0
- package/dist/chunks/NcHighlight-cBMxLCnf.cjs.map +1 -0
- package/dist/chunks/NcHighlight-kWLldgWB.mjs +137 -0
- package/dist/chunks/NcHighlight-kWLldgWB.mjs.map +1 -0
- package/dist/chunks/NcIconSvgWrapper-gQnsseD2.mjs +82 -0
- package/dist/chunks/NcIconSvgWrapper-gQnsseD2.mjs.map +1 -0
- package/dist/chunks/NcIconSvgWrapper-rDMSblV4.cjs +77 -0
- package/dist/chunks/NcIconSvgWrapper-rDMSblV4.cjs.map +1 -0
- package/dist/chunks/NcInputConfirmCancel-3c-uWUuw.cjs +105 -0
- package/dist/chunks/NcInputConfirmCancel-3c-uWUuw.cjs.map +1 -0
- package/dist/chunks/NcInputConfirmCancel-cDJ5_L-Z.mjs +112 -0
- package/dist/chunks/NcInputConfirmCancel-cDJ5_L-Z.mjs.map +1 -0
- package/dist/chunks/NcInputField-9PAE2ONE.mjs +291 -0
- package/dist/chunks/NcInputField-9PAE2ONE.mjs.map +1 -0
- package/dist/chunks/NcInputField-dP-QARJo.cjs +283 -0
- package/dist/chunks/NcInputField-dP-QARJo.cjs.map +1 -0
- package/dist/chunks/NcListItem-gdczIybY.mjs +344 -0
- package/dist/chunks/NcListItem-gdczIybY.mjs.map +1 -0
- package/dist/chunks/NcListItem-iWTR4IZZ.cjs +337 -0
- package/dist/chunks/NcListItem-iWTR4IZZ.cjs.map +1 -0
- package/dist/chunks/NcListItemIcon-FeNwaJy4.cjs +188 -0
- package/dist/chunks/NcListItemIcon-FeNwaJy4.cjs.map +1 -0
- package/dist/chunks/NcListItemIcon-XsKTtITp.mjs +192 -0
- package/dist/chunks/NcListItemIcon-XsKTtITp.mjs.map +1 -0
- package/dist/chunks/NcLoadingIcon-DnhhU7Z8.mjs +68 -0
- package/dist/chunks/NcLoadingIcon-DnhhU7Z8.mjs.map +1 -0
- package/dist/chunks/NcLoadingIcon-Fwid-wWE.cjs +64 -0
- package/dist/chunks/NcLoadingIcon-Fwid-wWE.cjs.map +1 -0
- package/dist/chunks/NcNoteCard-IAgTi5HW.cjs +224 -0
- package/dist/chunks/NcNoteCard-IAgTi5HW.cjs.map +1 -0
- package/dist/chunks/NcNoteCard-joOYqjyF.mjs +228 -0
- package/dist/chunks/NcNoteCard-joOYqjyF.mjs.map +1 -0
- package/dist/chunks/NcPasswordField-8NI5u7lk.mjs +265 -0
- package/dist/chunks/NcPasswordField-8NI5u7lk.mjs.map +1 -0
- package/dist/chunks/NcPasswordField-QA6kIMu2.cjs +255 -0
- package/dist/chunks/NcPasswordField-QA6kIMu2.cjs.map +1 -0
- package/dist/chunks/NcPopover-HwP68PjO.mjs +224 -0
- package/dist/chunks/NcPopover-HwP68PjO.mjs.map +1 -0
- package/dist/chunks/NcPopover-sVfBFdPh.cjs +217 -0
- package/dist/chunks/NcPopover-sVfBFdPh.cjs.map +1 -0
- package/dist/chunks/NcProgressBar-3p3Phbcw.cjs +123 -0
- package/dist/chunks/NcProgressBar-3p3Phbcw.cjs.map +1 -0
- package/dist/chunks/NcProgressBar-KvtCwl-0.mjs +127 -0
- package/dist/chunks/NcProgressBar-KvtCwl-0.mjs.map +1 -0
- package/dist/chunks/NcRelatedResourcesPanel--UoHihRf.mjs +216 -0
- package/dist/chunks/NcRelatedResourcesPanel--UoHihRf.mjs.map +1 -0
- package/dist/chunks/NcRelatedResourcesPanel-oTY2g2gt.cjs +209 -0
- package/dist/chunks/NcRelatedResourcesPanel-oTY2g2gt.cjs.map +1 -0
- package/dist/chunks/NcRichContenteditable-0x4AmYZf.cjs +528 -0
- package/dist/chunks/NcRichContenteditable-0x4AmYZf.cjs.map +1 -0
- package/dist/chunks/NcRichContenteditable-rSquEMs2.mjs +540 -0
- package/dist/chunks/NcRichContenteditable-rSquEMs2.mjs.map +1 -0
- package/dist/chunks/NcRichText-S8FLpGCe.cjs +319 -0
- package/dist/chunks/NcRichText-S8FLpGCe.cjs.map +1 -0
- package/dist/chunks/NcRichText-_MNRVaQB.mjs +336 -0
- package/dist/chunks/NcRichText-_MNRVaQB.mjs.map +1 -0
- package/dist/chunks/NcSavingIndicatorIcon-IpOVvSwW.cjs +71 -0
- package/dist/chunks/NcSavingIndicatorIcon-IpOVvSwW.cjs.map +1 -0
- package/dist/chunks/NcSavingIndicatorIcon-QRgqeOd3.mjs +74 -0
- package/dist/chunks/NcSavingIndicatorIcon-QRgqeOd3.mjs.map +1 -0
- package/dist/chunks/NcSelect-9cM-OGdn.cjs +498 -0
- package/dist/chunks/NcSelect-9cM-OGdn.cjs.map +1 -0
- package/dist/chunks/NcSelect-w_Gt1U72.mjs +510 -0
- package/dist/chunks/NcSelect-w_Gt1U72.mjs.map +1 -0
- package/dist/chunks/NcSelectTags-6F9oTRUw.mjs +272 -0
- package/dist/chunks/NcSelectTags-6F9oTRUw.mjs.map +1 -0
- package/dist/chunks/NcSelectTags-vm5Fx2H5.cjs +265 -0
- package/dist/chunks/NcSelectTags-vm5Fx2H5.cjs.map +1 -0
- package/dist/chunks/NcSettingsInputText-KTYvd9zc.mjs +113 -0
- package/dist/chunks/NcSettingsInputText-KTYvd9zc.mjs.map +1 -0
- package/dist/chunks/NcSettingsInputText-wY_R_c6S.cjs +108 -0
- package/dist/chunks/NcSettingsInputText-wY_R_c6S.cjs.map +1 -0
- package/dist/chunks/NcSettingsSection-2TP0NQPH.cjs +114 -0
- package/dist/chunks/NcSettingsSection-2TP0NQPH.cjs.map +1 -0
- package/dist/chunks/NcSettingsSection-dEPaFL2w.mjs +118 -0
- package/dist/chunks/NcSettingsSection-dEPaFL2w.mjs.map +1 -0
- package/dist/chunks/NcSettingsSelectGroup-JfvkEnNr.mjs +208 -0
- package/dist/chunks/NcSettingsSelectGroup-JfvkEnNr.mjs.map +1 -0
- package/dist/chunks/NcSettingsSelectGroup-p8cgn6pv.cjs +199 -0
- package/dist/chunks/NcSettingsSelectGroup-p8cgn6pv.cjs.map +1 -0
- package/dist/chunks/NcTextArea-dRgNOiSU.mjs +203 -0
- package/dist/chunks/NcTextArea-dRgNOiSU.mjs.map +1 -0
- package/dist/chunks/NcTextArea-hNPj4rEs.cjs +196 -0
- package/dist/chunks/NcTextArea-hNPj4rEs.cjs.map +1 -0
- package/dist/chunks/NcTextField-avDV7Ry_.mjs +165 -0
- package/dist/chunks/NcTextField-avDV7Ry_.mjs.map +1 -0
- package/dist/chunks/NcTextField-bz_keSKF.cjs +158 -0
- package/dist/chunks/NcTextField-bz_keSKF.cjs.map +1 -0
- package/dist/chunks/NcTimezonePicker-YNWJXRnl.cjs +7202 -0
- package/dist/chunks/NcTimezonePicker-YNWJXRnl.cjs.map +1 -0
- package/dist/chunks/NcTimezonePicker-wLjOcbbU.mjs +7209 -0
- package/dist/chunks/NcTimezonePicker-wLjOcbbU.mjs.map +1 -0
- package/dist/chunks/NcUserBubble-epl-RDQa.cjs +198 -0
- package/dist/chunks/NcUserBubble-epl-RDQa.cjs.map +1 -0
- package/dist/chunks/NcUserBubble-fA1TQtnx.mjs +204 -0
- package/dist/chunks/NcUserBubble-fA1TQtnx.mjs.map +1 -0
- package/dist/chunks/NcUserStatusIcon--z2VUZIt.mjs +171 -0
- package/dist/chunks/NcUserStatusIcon--z2VUZIt.mjs.map +1 -0
- package/dist/chunks/NcUserStatusIcon-swCHU0tl.cjs +163 -0
- package/dist/chunks/NcUserStatusIcon-swCHU0tl.cjs.map +1 -0
- package/dist/chunks/ScopeComponent-4ppIHwI4.cjs +26 -0
- package/dist/chunks/ScopeComponent-4ppIHwI4.cjs.map +1 -0
- package/dist/chunks/ScopeComponent-KbEZrKGJ.mjs +27 -0
- package/dist/chunks/ScopeComponent-KbEZrKGJ.mjs.map +1 -0
- package/dist/chunks/_l10n-JmazR_zZ.mjs +66 -0
- package/dist/chunks/_l10n-JmazR_zZ.mjs.map +1 -0
- package/dist/chunks/_l10n-wK0o0jNS.cjs +64 -0
- package/dist/chunks/_l10n-wK0o0jNS.cjs.map +1 -0
- package/dist/chunks/_plugin-vue_export-helper-hUChTQA_.mjs +9 -0
- package/dist/chunks/_plugin-vue_export-helper-hUChTQA_.mjs.map +1 -0
- package/dist/chunks/_plugin-vue_export-helper-xG2iG1wl.cjs +8 -0
- package/dist/chunks/_plugin-vue_export-helper-xG2iG1wl.cjs.map +1 -0
- package/dist/chunks/actionGlobal-1onxXJwM.mjs +46 -0
- package/dist/chunks/actionGlobal-1onxXJwM.mjs.map +1 -0
- package/dist/chunks/actionGlobal-kyAHPMcH.cjs +45 -0
- package/dist/chunks/actionGlobal-kyAHPMcH.cjs.map +1 -0
- package/dist/chunks/actionText-IqPIFk1D.mjs +127 -0
- package/dist/chunks/actionText-IqPIFk1D.mjs.map +1 -0
- package/dist/chunks/actionText-WQ07UNmt.cjs +126 -0
- package/dist/chunks/actionText-WQ07UNmt.cjs.map +1 -0
- package/dist/chunks/index-NP8hZQhr.cjs +161 -0
- package/dist/chunks/index-NP8hZQhr.cjs.map +1 -0
- package/dist/chunks/index-hX7KRzaJ.mjs +167 -0
- package/dist/chunks/index-hX7KRzaJ.mjs.map +1 -0
- package/dist/chunks/referencePickerModal-9sd4Ftja.mjs +1114 -0
- package/dist/chunks/referencePickerModal-9sd4Ftja.mjs.map +1 -0
- package/dist/chunks/referencePickerModal-gCkuVbeM.cjs +1096 -0
- package/dist/chunks/referencePickerModal-gCkuVbeM.cjs.map +1 -0
- package/dist/chunks/usernameToColor--FE9Dq8h.cjs +39 -0
- package/dist/chunks/usernameToColor--FE9Dq8h.cjs.map +1 -0
- package/dist/chunks/usernameToColor-t95If_mB.mjs +41 -0
- package/dist/chunks/usernameToColor-t95If_mB.mjs.map +1 -0
- package/dist/cypress/component/NcButton.cy.d.ts +1 -0
- package/dist/cypress/component/NcSelect.cy.d.ts +1 -0
- package/dist/cypress/component/modal.cy.d.ts +1 -0
- package/dist/cypress/component/richtext.cy.d.ts +1 -0
- package/dist/cypress/support/commands.d.ts +1 -0
- package/dist/cypress/support/component.d.ts +8 -0
- package/dist/cypress/visual/AppNavigationItem.cy.d.ts +1 -0
- package/dist/cypress.config.d.ts +3 -0
- package/dist/index.cjs +142 -167
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +179 -205
- package/dist/index.mjs.map +1 -1
- package/dist/src/components/NcActionButton/NcActionButton.vue.d.ts +202 -0
- package/dist/src/components/NcActionButtonGroup/NcActionButtonGroup.vue.d.ts +26 -0
- package/dist/src/components/NcActionCaption/NcActionCaption.vue.d.ts +18 -0
- package/dist/src/components/NcActionCheckbox/NcActionCheckbox.vue.d.ts +99 -0
- package/dist/src/components/NcActionInput/NcActionInput.vue.d.ts +261 -0
- package/dist/src/components/NcActionLink/NcActionLink.vue.d.ts +2 -0
- package/dist/src/components/NcActionRadio/NcActionRadio.vue.d.ts +115 -0
- package/dist/src/components/NcActionRouter/NcActionRouter.vue.d.ts +68 -0
- package/dist/src/components/NcActionSeparator/NcActionSeparator.vue.d.ts +2 -0
- package/dist/src/components/NcActionText/NcActionText.vue.d.ts +48 -0
- package/dist/src/components/NcActionTextEditable/NcActionTextEditable.vue.d.ts +113 -0
- package/dist/src/components/NcActions/NcActions.vue.d.ts +321 -0
- package/dist/src/components/NcAppContent/NcAppContent.vue.d.ts +162 -0
- package/dist/src/components/NcAppContent/NcAppDetailsToggle.vue.d.ts +6 -0
- package/dist/src/components/NcAppContentDetails/NcAppContentDetails.vue.d.ts +2 -0
- package/dist/src/components/NcAppContentList/NcAppContentList.vue.d.ts +23 -0
- package/dist/src/components/NcAppNavigation/NcAppNavigation.vue.d.ts +55 -0
- package/dist/src/components/NcAppNavigationCaption/NcAppNavigationCaption.vue.d.ts +20 -0
- package/dist/src/components/NcAppNavigationIconBullet/NcAppNavigationIconBullet.vue.d.ts +20 -0
- package/dist/src/components/NcAppNavigationItem/NcAppNavigationIconCollapsible.vue.d.ts +20 -0
- package/dist/src/components/NcAppNavigationItem/NcAppNavigationItem.vue.d.ts +413 -0
- package/dist/src/components/NcAppNavigationItem/NcInputConfirmCancel.vue.d.ts +54 -0
- package/dist/src/components/NcAppNavigationNew/NcAppNavigationNew.vue.d.ts +48 -0
- package/dist/src/components/NcAppNavigationNewItem/NcAppNavigationNewItem.vue.d.ts +92 -0
- package/dist/src/components/NcAppNavigationSettings/NcAppNavigationSettings.vue.d.ts +37 -0
- package/dist/src/components/NcAppNavigationSpacer/NcAppNavigationSpacer.vue.d.ts +2 -0
- package/dist/src/components/NcAppNavigationToggle/NcAppNavigationToggle.vue.d.ts +18 -0
- package/dist/src/components/NcAppSettingsSection/NcAppSettingsSection.vue.d.ts +24 -0
- package/dist/src/components/NcAppSidebar/NcAppSidebar.vue.d.ts +287 -0
- package/dist/src/components/NcAppSidebar/NcAppSidebarTabs.vue.d.ts +91 -0
- package/dist/src/components/NcAppSidebarTab/NcAppSidebarTab.vue.d.ts +75 -0
- package/dist/src/components/NcAvatar/NcAvatar.vue.d.ts +348 -0
- package/dist/src/components/NcBreadcrumb/NcBreadcrumb.vue.d.ts +197 -0
- package/dist/src/components/NcBreadcrumbs/NcBreadcrumbs.vue.d.ts +145 -0
- package/dist/src/components/NcButton/NcButton.vue.d.ts +236 -0
- package/dist/src/components/NcButton/index.d.ts +22 -0
- package/dist/src/components/NcCheckboxRadioSwitch/NcCheckboxContent.vue.d.ts +6 -0
- package/dist/src/components/NcCheckboxRadioSwitch/NcCheckboxRadioSwitch.vue.d.ts +2 -0
- package/dist/src/components/NcColorPicker/NcColorPicker.vue.d.ts +2 -0
- package/dist/src/components/NcContent/NcContent.vue.d.ts +23 -0
- package/dist/src/components/NcCounterBubble/NcCounterBubble.vue.d.ts +41 -0
- package/dist/src/components/NcDashboardWidget/NcDashboardWidget.vue.d.ts +142 -0
- package/dist/src/components/NcDashboardWidgetItem/NcDashboardWidgetItem.vue.d.ts +170 -0
- package/dist/src/components/NcDateTime/NcDateTime.vue.d.ts +2 -0
- package/dist/src/components/NcDateTimePicker/NcDateTimePicker.vue.d.ts +2 -0
- package/dist/src/components/NcDateTimePickerNative/NcDateTimePickerNative.vue.d.ts +2 -0
- package/dist/src/components/NcDialog/NcDialog.vue.d.ts +2 -0
- package/dist/src/components/NcDialogButton/NcDialogButton.vue.d.ts +2 -0
- package/dist/src/components/NcEllipsisedOption/NcEllipsisedOption.vue.d.ts +48 -0
- package/dist/src/components/NcEmojiPicker/NcEmojiPicker.vue.d.ts +184 -0
- package/dist/src/components/NcEmptyContent/NcEmptyContent.vue.d.ts +39 -0
- package/dist/src/components/NcGuestContent/NcGuestContent.vue.d.ts +2 -0
- package/dist/src/components/NcHeaderMenu/NcHeaderMenu.vue.d.ts +147 -0
- package/dist/src/components/NcHighlight/NcHighlight.vue.d.ts +65 -0
- package/dist/src/components/NcIconSvgWrapper/NcIconSvgWrapper.vue.d.ts +83 -0
- package/dist/src/components/NcInputField/NcInputField.vue.d.ts +278 -0
- package/dist/src/components/NcListItem/NcListItem.vue.d.ts +259 -0
- package/dist/src/components/NcListItemIcon/NcListItemIcon.vue.d.ts +207 -0
- package/dist/src/components/NcLoadingIcon/NcLoadingIcon.vue.d.ts +58 -0
- package/dist/src/components/NcModal/NcModal.vue.d.ts +2 -0
- package/dist/src/components/NcNoteCard/NcNoteCard.vue.d.ts +44 -0
- package/dist/src/components/NcPopover/NcPopover.vue.d.ts +2 -0
- package/dist/src/components/NcPopover/NcPopoverTriggerProvider.vue.d.ts +25 -0
- package/dist/src/components/NcProgressBar/NcProgressBar.vue.d.ts +2 -0
- package/dist/src/components/NcRelatedResourcesPanel/NcRelatedResourcesPanel.vue.d.ts +140 -0
- package/dist/src/components/NcRelatedResourcesPanel/NcResource.vue.d.ts +32 -0
- package/dist/src/components/NcRichContenteditable/NcAutoCompleteResult.vue.d.ts +69 -0
- package/dist/src/components/NcRichContenteditable/NcMentionBubble.vue.d.ts +2 -0
- package/dist/src/components/NcRichContenteditable/NcRichContenteditable.vue.d.ts +342 -0
- package/dist/src/components/NcRichText/NcReferenceList.vue.d.ts +63 -0
- package/dist/src/components/NcRichText/NcReferencePicker/NcCustomPickerElement.vue.d.ts +28 -0
- package/dist/src/components/NcRichText/NcReferencePicker/NcProviderList.vue.d.ts +16 -0
- package/dist/src/components/NcRichText/NcReferencePicker/NcRawLinkInput.vue.d.ts +34 -0
- package/dist/src/components/NcRichText/NcReferencePicker/NcReferencePicker.vue.d.ts +84 -0
- package/dist/src/components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue.d.ts +72 -0
- package/dist/src/components/NcRichText/NcReferencePicker/NcSearch.vue.d.ts +69 -0
- package/dist/src/components/NcRichText/NcReferencePicker/NcSearchResult.vue.d.ts +34 -0
- package/dist/src/components/NcRichText/NcReferenceWidget.vue.d.ts +29 -0
- package/dist/src/components/NcRichText/NcRichText.vue.d.ts +140 -0
- package/dist/src/components/NcSavingIndicatorIcon/NcSavingIndicatorIcon.vue.d.ts +73 -0
- package/dist/src/components/NcSelect/NcSelect.vue.d.ts +14 -0
- package/dist/src/components/NcSelectTags/NcSelectTags.vue.d.ts +23 -0
- package/dist/src/components/NcSettingsInputText/NcSettingsInputText.vue.d.ts +97 -0
- package/dist/src/components/NcSettingsSection/NcSettingsSection.vue.d.ts +57 -0
- package/dist/src/components/NcSettingsSelectGroup/NcSettingsSelectGroup.vue.d.ts +144 -0
- package/dist/src/components/NcTextArea/NcTextArea.vue.d.ts +205 -0
- package/dist/src/components/NcTextField/NcTextField.vue.d.ts +20 -0
- package/dist/src/components/NcTimezonePicker/NcTimezonePicker.vue.d.ts +78 -0
- package/dist/src/components/NcUserBubble/NcUserBubble.vue.d.ts +180 -0
- package/dist/src/components/NcUserBubble/NcUserBubbleDiv.vue.d.ts +2 -0
- package/dist/src/components/NcUserStatusIcon/NcUserStatusIcon.vue.d.ts +2 -0
- package/dist/src/components/NcVNodes/NcVNodes.vue.d.ts +20 -0
- package/dist/src/components/index.d.ts +91 -0
- package/dist/src/directives/index.d.ts +24 -0
- package/dist/src/index.d.ts +27 -0
- package/dist/src/plugin.d.ts +16 -0
- package/dist/src/utils/isSlotPopulated.d.ts +29 -0
- package/dist/tests/unit/components/NcActions/NcActionButton.spec.d.ts +22 -0
- package/dist/tests/unit/components/NcActions/NcActions.spec.d.ts +23 -0
- package/dist/tests/unit/components/NcAppSettingsDialog/NcAppSettingsDialog.spec.d.ts +22 -0
- package/dist/tests/unit/components/NcAvatar/NcAvatar.spec.d.ts +22 -0
- package/dist/tests/unit/components/NcInputField/NcInputField.spec.d.ts +1 -0
- package/dist/tests/unit/components/NcListItemIcon/list-item-icon.spec.d.ts +22 -0
- package/dist/tests/unit/components/NcRichContenteditable/NcRichContenteditable.spec.d.ts +1 -0
- package/dist/tests/unit/plugin.spec.d.ts +22 -0
- package/dist/tests/unit/testing-utils.d.ts +6 -0
- package/dist/tests/unit/utils/isSlotPopulated.spec.d.ts +1 -0
- package/dist/vite.config.d.ts +3 -0
- package/dist/vitest.config.d.ts +3 -0
- package/package.json +35 -40
- package/dist/Mixins/isFullscreen.cjs +0 -35
- package/dist/Mixins/isFullscreen.cjs.map +0 -1
- package/dist/Mixins/isFullscreen.mjs +0 -36
- package/dist/Mixins/isFullscreen.mjs.map +0 -1
- package/dist/Mixins/isMobile.cjs +0 -35
- package/dist/Mixins/isMobile.cjs.map +0 -1
- package/dist/Mixins/isMobile.mjs +0 -36
- package/dist/Mixins/isMobile.mjs.map +0 -1
- package/dist/assets/NcActionButton-YVkNHN_x.css +0 -134
- package/dist/assets/NcActionCheckbox-6Pvlr1E7.css +0 -106
- package/dist/assets/NcActionInput-4zSvDkWm.css +0 -243
- package/dist/assets/NcActionRadio-eOr9Sp-D.css +0 -106
- package/dist/assets/NcActionRouter-MFTD6tYI.css +0 -133
- package/dist/assets/NcActionTextEditable-JrYuWEDd.css +0 -259
- package/dist/assets/NcActions-nAi2TA1m.css +0 -84
- package/dist/assets/NcAppContent-SZz3PTd8.css +0 -115
- package/dist/assets/NcAppNavigation-vjqOL-kR.css +0 -92
- package/dist/assets/NcAppNavigationCaption-l5yRGXZx.css +0 -52
- package/dist/assets/NcAppNavigationItem-n-wauJE7.css +0 -206
- package/dist/assets/NcAppNavigationNew-joyd78FM.css +0 -36
- package/dist/assets/NcAppNavigationSettings-Jx_6RpSn.css +0 -88
- package/dist/assets/NcAppNavigationToggle-upUgYNtL.css +0 -38
- package/dist/assets/NcAppSettingsDialog-8K8FduDk.css +0 -87
- package/dist/assets/NcAppSettingsSection-ahfdhix_.css +0 -41
- package/dist/assets/NcAppSidebar-iU8Zp4Qk.css +0 -318
- package/dist/assets/NcAppSidebarTab-Phau6edJ.css +0 -45
- package/dist/assets/NcAvatar-Vg6Mi1TD.css +0 -144
- package/dist/assets/NcBreadcrumb-M3hqCbqS.css +0 -80
- package/dist/assets/NcBreadcrumbs-KBV0Jccv.css +0 -49
- package/dist/assets/NcButton-DTnreNJ5.css +0 -204
- package/dist/assets/NcCheckboxRadioSwitch-IKpLtz9k.css +0 -199
- package/dist/assets/NcColorPicker-CNX9fj56.css +0 -131
- package/dist/assets/NcContent-LWR23l9i.css +0 -84
- package/dist/assets/NcDashboardWidget-01deRW9Z.css +0 -83
- package/dist/assets/NcDateTimePicker-J_kGHwdu.css +0 -884
- package/dist/assets/NcDateTimePickerNative-2pQS5L0H.css +0 -46
- package/dist/assets/NcDialog-2V180xdm.css +0 -115
- package/dist/assets/NcEmojiPicker-lBXbC6Jd.css +0 -550
- package/dist/assets/NcEmptyContent-pSz7F6Oe.css +0 -75
- package/dist/assets/NcGuestContent-mGGTzI2_.css +0 -51
- package/dist/assets/NcHeaderMenu-P0OkK9WN.css +0 -92
- package/dist/assets/NcIconSvgWrapper-arqrq5Bj.css +0 -44
- package/dist/assets/NcInputConfirmCancel-ks8z8dIn.css +0 -51
- package/dist/assets/NcInputField-Y-Qp3D_b.css +0 -193
- package/dist/assets/NcListItem-xcW2PRrk.css +0 -165
- package/dist/assets/NcListItemIcon-PQ2s6ZqX.css +0 -80
- package/dist/assets/NcModal-QzDLeQrW.css +0 -295
- package/dist/assets/NcRelatedResourcesPanel-m3uf_nvH.css +0 -76
- package/dist/assets/NcRichContenteditable-xiQ4y2Z6.css +0 -267
- package/dist/assets/NcSettingsInputText-MPi6a3Yy.css +0 -46
- package/dist/assets/NcSettingsSelectGroup-_Jpb8yE3.css +0 -34
- package/dist/assets/NcTextArea-K-KVPiMp.css +0 -138
- package/dist/assets/NcUserBubble-jjzI5imn.css +0 -59
- package/dist/assets/NcUserStatusIcon-62u43_6P.css +0 -41
- package/dist/assets/referencePickerModal-VxSowpb5.css +0 -509
- package/dist/chunks/AlertCircleOutline-VgVvRWpm.cjs +0 -35
- package/dist/chunks/AlertCircleOutline-VgVvRWpm.cjs.map +0 -1
- package/dist/chunks/AlertCircleOutline-lwSRucNO.mjs +0 -37
- package/dist/chunks/AlertCircleOutline-lwSRucNO.mjs.map +0 -1
- package/dist/chunks/ArrowLeft-3KC2k3tR.cjs +0 -35
- package/dist/chunks/ArrowLeft-3KC2k3tR.cjs.map +0 -1
- package/dist/chunks/ArrowLeft-buaCjhfr.mjs +0 -37
- package/dist/chunks/ArrowLeft-buaCjhfr.mjs.map +0 -1
- package/dist/chunks/ArrowRight-4p6gv-9o.mjs +0 -37
- package/dist/chunks/ArrowRight-4p6gv-9o.mjs.map +0 -1
- package/dist/chunks/ArrowRight-uEMed4kl.cjs +0 -35
- package/dist/chunks/ArrowRight-uEMed4kl.cjs.map +0 -1
- package/dist/chunks/Check-5uKO4aXx.cjs +0 -35
- package/dist/chunks/Check-5uKO4aXx.cjs.map +0 -1
- package/dist/chunks/Check-FObi_cEO.mjs +0 -37
- package/dist/chunks/Check-FObi_cEO.mjs.map +0 -1
- package/dist/chunks/ChevronDown-TbRvziNU.mjs +0 -37
- package/dist/chunks/ChevronDown-TbRvziNU.mjs.map +0 -1
- package/dist/chunks/ChevronDown-rdCNNu7u.cjs +0 -35
- package/dist/chunks/ChevronDown-rdCNNu7u.cjs.map +0 -1
- package/dist/chunks/ChevronRight-XOmSMmxA.mjs +0 -37
- package/dist/chunks/ChevronRight-XOmSMmxA.mjs.map +0 -1
- package/dist/chunks/ChevronRight-bp7fT1r7.cjs +0 -35
- package/dist/chunks/ChevronRight-bp7fT1r7.cjs.map +0 -1
- package/dist/chunks/Close-5Hzp7J3v.mjs +0 -37
- package/dist/chunks/Close-5Hzp7J3v.mjs.map +0 -1
- package/dist/chunks/Close-QFLrdRdG.cjs +0 -35
- package/dist/chunks/Close-QFLrdRdG.cjs.map +0 -1
- package/dist/chunks/DotsHorizontal-NssXDZGM.mjs +0 -37
- package/dist/chunks/DotsHorizontal-NssXDZGM.mjs.map +0 -1
- package/dist/chunks/DotsHorizontal-dlN1WvqM.cjs +0 -35
- package/dist/chunks/DotsHorizontal-dlN1WvqM.cjs.map +0 -1
- package/dist/chunks/GenColors-6mrcK1J2.cjs +0 -141
- package/dist/chunks/GenColors-6mrcK1J2.cjs.map +0 -1
- package/dist/chunks/GenColors-ZwEj275X.mjs +0 -142
- package/dist/chunks/GenColors-ZwEj275X.mjs.map +0 -1
- package/dist/chunks/NcActionButtonGroup-3W6tc8gZ.mjs +0 -50
- package/dist/chunks/NcActionButtonGroup-3W6tc8gZ.mjs.map +0 -1
- package/dist/chunks/NcActionButtonGroup-IEaXhYp3.cjs +0 -45
- package/dist/chunks/NcActionButtonGroup-IEaXhYp3.cjs.map +0 -1
- package/dist/chunks/NcActionInput-bLRYLx45.cjs +0 -234
- package/dist/chunks/NcActionInput-bLRYLx45.cjs.map +0 -1
- package/dist/chunks/NcActionInput-v8cC8WD4.mjs +0 -244
- package/dist/chunks/NcActionInput-v8cC8WD4.mjs.map +0 -1
- package/dist/chunks/NcActions-7ytNFRBJ.cjs +0 -493
- package/dist/chunks/NcActions-7ytNFRBJ.cjs.map +0 -1
- package/dist/chunks/NcActions-CNDgnRLf.mjs +0 -501
- package/dist/chunks/NcActions-CNDgnRLf.mjs.map +0 -1
- package/dist/chunks/NcAppContent-XBosilQH.mjs +0 -231
- package/dist/chunks/NcAppContent-XBosilQH.mjs.map +0 -1
- package/dist/chunks/NcAppContent-f3dNUfhO.cjs +0 -221
- package/dist/chunks/NcAppContent-f3dNUfhO.cjs.map +0 -1
- package/dist/chunks/NcAppNavigation-oke9RxP6.cjs +0 -113
- package/dist/chunks/NcAppNavigation-oke9RxP6.cjs.map +0 -1
- package/dist/chunks/NcAppNavigation-qUXaV47L.mjs +0 -122
- package/dist/chunks/NcAppNavigation-qUXaV47L.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationCaption-M-KZKijE.mjs +0 -47
- package/dist/chunks/NcAppNavigationCaption-M-KZKijE.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationCaption-hVmjPz-2.cjs +0 -43
- package/dist/chunks/NcAppNavigationCaption-hVmjPz-2.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationItem-GNnDmUq5.mjs +0 -508
- package/dist/chunks/NcAppNavigationItem-GNnDmUq5.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationItem-YYoh37Ky.cjs +0 -496
- package/dist/chunks/NcAppNavigationItem-YYoh37Ky.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationNewItem-3l4mRRsI.cjs +0 -86
- package/dist/chunks/NcAppNavigationNewItem-3l4mRRsI.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationNewItem-pBHgj8Es.mjs +0 -91
- package/dist/chunks/NcAppNavigationNewItem-pBHgj8Es.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationSettings-IkF_z_xt.cjs +0 -102
- package/dist/chunks/NcAppNavigationSettings-IkF_z_xt.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationSettings-c_S9UbSU.mjs +0 -105
- package/dist/chunks/NcAppNavigationSettings-c_S9UbSU.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-S4YTmnky.mjs +0 -113
- package/dist/chunks/NcAppNavigationToggle-S4YTmnky.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-Tvz9copM.cjs +0 -109
- package/dist/chunks/NcAppNavigationToggle-Tvz9copM.cjs.map +0 -1
- package/dist/chunks/NcAppSettingsDialog-CQtmRXyZ.mjs +0 -184
- package/dist/chunks/NcAppSettingsDialog-CQtmRXyZ.mjs.map +0 -1
- package/dist/chunks/NcAppSettingsDialog-L6IvAL_I.cjs +0 -176
- package/dist/chunks/NcAppSettingsDialog-L6IvAL_I.cjs.map +0 -1
- package/dist/chunks/NcAppSidebar-GCbKi7Tk.cjs +0 -547
- package/dist/chunks/NcAppSidebar-GCbKi7Tk.cjs.map +0 -1
- package/dist/chunks/NcAppSidebar-nHbqU8Wl.mjs +0 -565
- package/dist/chunks/NcAppSidebar-nHbqU8Wl.mjs.map +0 -1
- package/dist/chunks/NcAvatar-1gX-bnpd.mjs +0 -467
- package/dist/chunks/NcAvatar-1gX-bnpd.mjs.map +0 -1
- package/dist/chunks/NcAvatar-8NgbtiTN.cjs +0 -453
- package/dist/chunks/NcAvatar-8NgbtiTN.cjs.map +0 -1
- package/dist/chunks/NcBreadcrumb-3vNer4Fs.cjs +0 -172
- package/dist/chunks/NcBreadcrumb-3vNer4Fs.cjs.map +0 -1
- package/dist/chunks/NcBreadcrumb-VlYks8Vu.mjs +0 -179
- package/dist/chunks/NcBreadcrumb-VlYks8Vu.mjs.map +0 -1
- package/dist/chunks/NcBreadcrumbs-GhYBmcix.cjs +0 -407
- package/dist/chunks/NcBreadcrumbs-GhYBmcix.cjs.map +0 -1
- package/dist/chunks/NcBreadcrumbs-UCJPNjZg.mjs +0 -418
- package/dist/chunks/NcBreadcrumbs-UCJPNjZg.mjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch-3sa_9DpY.mjs +0 -607
- package/dist/chunks/NcCheckboxRadioSwitch-3sa_9DpY.mjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch-s5C7ZGB_.cjs +0 -603
- package/dist/chunks/NcCheckboxRadioSwitch-s5C7ZGB_.cjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_835b7036_lang-2l55YbP4.cjs +0 -3
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_835b7036_lang-2l55YbP4.cjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_835b7036_lang-4V3NxICZ.mjs +0 -3
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_835b7036_lang-4V3NxICZ.mjs.map +0 -1
- package/dist/chunks/NcColorPicker-4qA0UWdA.cjs +0 -161
- package/dist/chunks/NcColorPicker-4qA0UWdA.cjs.map +0 -1
- package/dist/chunks/NcColorPicker-aNJDKf-I.mjs +0 -172
- package/dist/chunks/NcColorPicker-aNJDKf-I.mjs.map +0 -1
- package/dist/chunks/NcContent-V1PRVhsU.mjs +0 -131
- package/dist/chunks/NcContent-V1PRVhsU.mjs.map +0 -1
- package/dist/chunks/NcContent-x5KPSopo.cjs +0 -123
- package/dist/chunks/NcContent-x5KPSopo.cjs.map +0 -1
- package/dist/chunks/NcDashboardWidget-pzCvVb_0.mjs +0 -141
- package/dist/chunks/NcDashboardWidget-pzCvVb_0.mjs.map +0 -1
- package/dist/chunks/NcDashboardWidget-w15LYpmC.cjs +0 -134
- package/dist/chunks/NcDashboardWidget-w15LYpmC.cjs.map +0 -1
- package/dist/chunks/NcDashboardWidgetItem-FNmPTAuj.mjs +0 -143
- package/dist/chunks/NcDashboardWidgetItem-FNmPTAuj.mjs.map +0 -1
- package/dist/chunks/NcDashboardWidgetItem-YJerQyu5.cjs +0 -137
- package/dist/chunks/NcDashboardWidgetItem-YJerQyu5.cjs.map +0 -1
- package/dist/chunks/NcDateTime-22ULCxg8.mjs +0 -146
- package/dist/chunks/NcDateTime-22ULCxg8.mjs.map +0 -1
- package/dist/chunks/NcDateTime-eHTrKYG4.cjs +0 -142
- package/dist/chunks/NcDateTime-eHTrKYG4.cjs.map +0 -1
- package/dist/chunks/NcDialog-KlvRL7k1.cjs +0 -209
- package/dist/chunks/NcDialog-KlvRL7k1.cjs.map +0 -1
- package/dist/chunks/NcDialog-b2LjzZB8.mjs +0 -217
- package/dist/chunks/NcDialog-b2LjzZB8.mjs.map +0 -1
- package/dist/chunks/NcDialogButton-37xKCh_l.cjs +0 -68
- package/dist/chunks/NcDialogButton-37xKCh_l.cjs.map +0 -1
- package/dist/chunks/NcDialogButton-O4JZ53Dj.mjs +0 -73
- package/dist/chunks/NcDialogButton-O4JZ53Dj.mjs.map +0 -1
- package/dist/chunks/NcEmojiPicker-H_YmCt4L.mjs +0 -249
- package/dist/chunks/NcEmojiPicker-H_YmCt4L.mjs.map +0 -1
- package/dist/chunks/NcEmojiPicker-o1VRXxQO.cjs +0 -238
- package/dist/chunks/NcEmojiPicker-o1VRXxQO.cjs.map +0 -1
- package/dist/chunks/NcHeaderMenu-CIYGCufy.cjs +0 -183
- package/dist/chunks/NcHeaderMenu-CIYGCufy.cjs.map +0 -1
- package/dist/chunks/NcHeaderMenu-CfEUQ0JV.mjs +0 -190
- package/dist/chunks/NcHeaderMenu-CfEUQ0JV.mjs.map +0 -1
- package/dist/chunks/NcIconSvgWrapper-P-GkSjTH.mjs +0 -85
- package/dist/chunks/NcIconSvgWrapper-P-GkSjTH.mjs.map +0 -1
- package/dist/chunks/NcIconSvgWrapper-_lgitSfS.cjs +0 -80
- package/dist/chunks/NcIconSvgWrapper-_lgitSfS.cjs.map +0 -1
- package/dist/chunks/NcInputConfirmCancel-YzEcukdc.cjs +0 -91
- package/dist/chunks/NcInputConfirmCancel-YzEcukdc.cjs.map +0 -1
- package/dist/chunks/NcInputConfirmCancel-lUDtoN2O.mjs +0 -97
- package/dist/chunks/NcInputConfirmCancel-lUDtoN2O.mjs.map +0 -1
- package/dist/chunks/NcListItem-AZpInn_s.mjs +0 -248
- package/dist/chunks/NcListItem-AZpInn_s.mjs.map +0 -1
- package/dist/chunks/NcListItem-bBx6_yWw.cjs +0 -242
- package/dist/chunks/NcListItem-bBx6_yWw.cjs.map +0 -1
- package/dist/chunks/NcListItemIcon-1ZcwsrMT.mjs +0 -164
- package/dist/chunks/NcListItemIcon-1ZcwsrMT.mjs.map +0 -1
- package/dist/chunks/NcListItemIcon-uPc7p1KY.cjs +0 -160
- package/dist/chunks/NcListItemIcon-uPc7p1KY.cjs.map +0 -1
- package/dist/chunks/NcPasswordField-YvUbX2WS.cjs +0 -229
- package/dist/chunks/NcPasswordField-YvUbX2WS.cjs.map +0 -1
- package/dist/chunks/NcPasswordField-fNiTJMmG.mjs +0 -238
- package/dist/chunks/NcPasswordField-fNiTJMmG.mjs.map +0 -1
- package/dist/chunks/NcPopover-EXxv8Pzw.cjs +0 -218
- package/dist/chunks/NcPopover-EXxv8Pzw.cjs.map +0 -1
- package/dist/chunks/NcPopover-NyUZ2r7V.mjs +0 -225
- package/dist/chunks/NcPopover-NyUZ2r7V.mjs.map +0 -1
- package/dist/chunks/NcProgressBar-hQCFE5H3.mjs +0 -99
- package/dist/chunks/NcProgressBar-hQCFE5H3.mjs.map +0 -1
- package/dist/chunks/NcProgressBar-yrdD1jxU.cjs +0 -95
- package/dist/chunks/NcProgressBar-yrdD1jxU.cjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-DCqlPqZc.cjs +0 -199
- package/dist/chunks/NcRelatedResourcesPanel-DCqlPqZc.cjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-H2imJgxi.mjs +0 -205
- package/dist/chunks/NcRelatedResourcesPanel-H2imJgxi.mjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-EZp-vrCT.mjs +0 -515
- package/dist/chunks/NcRichContenteditable-EZp-vrCT.mjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-lPa8fqWG.cjs +0 -504
- package/dist/chunks/NcRichContenteditable-lPa8fqWG.cjs.map +0 -1
- package/dist/chunks/NcRichText-7CHftQ4Z.mjs +0 -346
- package/dist/chunks/NcRichText-7CHftQ4Z.mjs.map +0 -1
- package/dist/chunks/NcRichText-SPiEkcnt.cjs +0 -330
- package/dist/chunks/NcRichText-SPiEkcnt.cjs.map +0 -1
- package/dist/chunks/NcSavingIndicatorIcon-IqoMFcDK.mjs +0 -62
- package/dist/chunks/NcSavingIndicatorIcon-IqoMFcDK.mjs.map +0 -1
- package/dist/chunks/NcSavingIndicatorIcon-wcQ0mBIL.cjs +0 -59
- package/dist/chunks/NcSavingIndicatorIcon-wcQ0mBIL.cjs.map +0 -1
- package/dist/chunks/NcSelect-c9-eF29z.cjs +0 -462
- package/dist/chunks/NcSelect-c9-eF29z.cjs.map +0 -1
- package/dist/chunks/NcSelect-zx9IspDS.mjs +0 -474
- package/dist/chunks/NcSelect-zx9IspDS.mjs.map +0 -1
- package/dist/chunks/NcSelectTags-WGdCwmRr.mjs +0 -267
- package/dist/chunks/NcSelectTags-WGdCwmRr.mjs.map +0 -1
- package/dist/chunks/NcSelectTags-doFIXNxC.cjs +0 -261
- package/dist/chunks/NcSelectTags-doFIXNxC.cjs.map +0 -1
- package/dist/chunks/NcSettingsInputText-YMRo6B3V.mjs +0 -95
- package/dist/chunks/NcSettingsInputText-YMRo6B3V.mjs.map +0 -1
- package/dist/chunks/NcSettingsInputText-sJarpoq-.cjs +0 -91
- package/dist/chunks/NcSettingsInputText-sJarpoq-.cjs.map +0 -1
- package/dist/chunks/NcSettingsSection-R_JKZdJk.cjs +0 -95
- package/dist/chunks/NcSettingsSection-R_JKZdJk.cjs.map +0 -1
- package/dist/chunks/NcSettingsSection-zdWzOqxk.mjs +0 -98
- package/dist/chunks/NcSettingsSection-zdWzOqxk.mjs.map +0 -1
- package/dist/chunks/NcSettingsSelectGroup-Ghgl6Y_d.mjs +0 -192
- package/dist/chunks/NcSettingsSelectGroup-Ghgl6Y_d.mjs.map +0 -1
- package/dist/chunks/NcSettingsSelectGroup-NhJyFPsw.cjs +0 -184
- package/dist/chunks/NcSettingsSelectGroup-NhJyFPsw.cjs.map +0 -1
- package/dist/chunks/NcTextField-8ap5MAGr.cjs +0 -140
- package/dist/chunks/NcTextField-8ap5MAGr.cjs.map +0 -1
- package/dist/chunks/NcTextField-tIJ3fJ37.mjs +0 -146
- package/dist/chunks/NcTextField-tIJ3fJ37.mjs.map +0 -1
- package/dist/chunks/NcTimezonePicker-Ue_mc4jo.mjs +0 -7205
- package/dist/chunks/NcTimezonePicker-Ue_mc4jo.mjs.map +0 -1
- package/dist/chunks/NcTimezonePicker-ag-krDDP.cjs +0 -7199
- package/dist/chunks/NcTimezonePicker-ag-krDDP.cjs.map +0 -1
- package/dist/chunks/NcUserBubble-hfgJXqk2.cjs +0 -191
- package/dist/chunks/NcUserBubble-hfgJXqk2.cjs.map +0 -1
- package/dist/chunks/NcUserBubble-s30BQXdv.mjs +0 -197
- package/dist/chunks/NcUserBubble-s30BQXdv.mjs.map +0 -1
- package/dist/chunks/NcUserStatusIcon-H5b_e8YL.mjs +0 -174
- package/dist/chunks/NcUserStatusIcon-H5b_e8YL.mjs.map +0 -1
- package/dist/chunks/NcUserStatusIcon-PevYJx6w.cjs +0 -166
- package/dist/chunks/NcUserStatusIcon-PevYJx6w.cjs.map +0 -1
- package/dist/chunks/ScopeComponent-9XNLQCuu.mjs +0 -29
- package/dist/chunks/ScopeComponent-9XNLQCuu.mjs.map +0 -1
- package/dist/chunks/ScopeComponent-_Cg8ogL-.cjs +0 -28
- package/dist/chunks/ScopeComponent-_Cg8ogL-.cjs.map +0 -1
- package/dist/chunks/_l10n-juAR1Sua.cjs +0 -64
- package/dist/chunks/_l10n-juAR1Sua.cjs.map +0 -1
- package/dist/chunks/_l10n-tZEKUJRj.mjs +0 -66
- package/dist/chunks/_l10n-tZEKUJRj.mjs.map +0 -1
- package/dist/chunks/_plugin-vue2_normalizer-DCfUPqga.cjs +0 -31
- package/dist/chunks/_plugin-vue2_normalizer-DCfUPqga.cjs.map +0 -1
- package/dist/chunks/_plugin-vue2_normalizer-u6G_3nkj.mjs +0 -32
- package/dist/chunks/_plugin-vue2_normalizer-u6G_3nkj.mjs.map +0 -1
- package/dist/chunks/actionGlobal-_f-PhW84.cjs +0 -45
- package/dist/chunks/actionGlobal-_f-PhW84.cjs.map +0 -1
- package/dist/chunks/actionGlobal-ejpd0zqm.mjs +0 -46
- package/dist/chunks/actionGlobal-ejpd0zqm.mjs.map +0 -1
- package/dist/chunks/actionText-AoAs4kqP.mjs +0 -127
- package/dist/chunks/actionText-AoAs4kqP.mjs.map +0 -1
- package/dist/chunks/actionText-pGrMQtZ3.cjs +0 -126
- package/dist/chunks/actionText-pGrMQtZ3.cjs.map +0 -1
- package/dist/chunks/index-2phCrsSH.mjs +0 -149
- package/dist/chunks/index-2phCrsSH.mjs.map +0 -1
- package/dist/chunks/index-AX_b-FPF.cjs +0 -150
- package/dist/chunks/index-AX_b-FPF.cjs.map +0 -1
- package/dist/chunks/index-FO4BaGaF.cjs +0 -148
- package/dist/chunks/index-FO4BaGaF.cjs.map +0 -1
- package/dist/chunks/index-KrMGGc7j.mjs +0 -156
- package/dist/chunks/index-KrMGGc7j.mjs.map +0 -1
- package/dist/chunks/referencePickerModal-jbqYHMmd.mjs +0 -897
- package/dist/chunks/referencePickerModal-jbqYHMmd.mjs.map +0 -1
- package/dist/chunks/referencePickerModal-rHOAeK-a.cjs +0 -879
- package/dist/chunks/referencePickerModal-rHOAeK-a.cjs.map +0 -1
- package/dist/chunks/usernameToColor-fJ1S8Q2S.cjs +0 -39
- package/dist/chunks/usernameToColor-fJ1S8Q2S.cjs.map +0 -1
- package/dist/chunks/usernameToColor-pYptUj7i.mjs +0 -41
- package/dist/chunks/usernameToColor-pYptUj7i.mjs.map +0 -1
- package/dist/plugin.d.ts +0 -17
- /package/dist/{functions → src/functions}/a11y/index.d.ts +0 -0
- /package/dist/{functions → src/functions}/emoji/emoji.d.ts +0 -0
- /package/dist/{functions → src/functions}/emoji/index.d.ts +0 -0
- /package/dist/{utils → src/utils}/UserStatus.d.ts +0 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
var N = require("../assets/NcHeaderMenu-j8h_puZT.css");
|
|
2
|
+
const a = require("@vueuse/components"), d = require("focus-trap"), s = require("./GenRandomId-ULxaMkkr.cjs"), u = require("../Mixins/clickOutsideOptions.cjs");
|
|
3
|
+
require("@nextcloud/router");
|
|
4
|
+
const e = require("vue");
|
|
5
|
+
;/* empty css */
|
|
6
|
+
const l = require("./_plugin-vue_export-helper-xG2iG1wl.cjs");
|
|
7
|
+
require("linkify-string");
|
|
8
|
+
require("escape-html");
|
|
9
|
+
require("striptags");
|
|
10
|
+
require("@nextcloud/auth");
|
|
11
|
+
require("@nextcloud/axios");
|
|
12
|
+
require("@nextcloud/capabilities");
|
|
13
|
+
const p = require("./focusTrap-n3H52LOw.cjs"), h = require("./NcButton-Uxh-oARg.cjs"), f = {
|
|
14
|
+
name: "NcHeaderMenu",
|
|
15
|
+
components: {
|
|
16
|
+
NcButton: h.NcButton
|
|
17
|
+
},
|
|
18
|
+
directives: {
|
|
19
|
+
ClickOutside: a.vOnClickOutside
|
|
20
|
+
},
|
|
21
|
+
mixins: [
|
|
22
|
+
u
|
|
23
|
+
],
|
|
24
|
+
props: {
|
|
25
|
+
/**
|
|
26
|
+
* Unique id for this menu
|
|
27
|
+
*/
|
|
28
|
+
id: {
|
|
29
|
+
type: String,
|
|
30
|
+
required: !0
|
|
31
|
+
},
|
|
32
|
+
/**
|
|
33
|
+
* aria-label attribute of the menu open button
|
|
34
|
+
*/
|
|
35
|
+
ariaLabel: {
|
|
36
|
+
type: String,
|
|
37
|
+
default: ""
|
|
38
|
+
},
|
|
39
|
+
/**
|
|
40
|
+
* Current menu open state
|
|
41
|
+
*/
|
|
42
|
+
open: {
|
|
43
|
+
type: Boolean,
|
|
44
|
+
default: !1
|
|
45
|
+
},
|
|
46
|
+
/**
|
|
47
|
+
* Pass `true` if the header menu is used for website navigation
|
|
48
|
+
*
|
|
49
|
+
* The wrapper tag will be set to `nav` and its `aria-labelledby`
|
|
50
|
+
* will be associated with the menu open button
|
|
51
|
+
*/
|
|
52
|
+
isNav: {
|
|
53
|
+
type: Boolean,
|
|
54
|
+
default: !1
|
|
55
|
+
},
|
|
56
|
+
/**
|
|
57
|
+
* Additional visually hidden description text for the menu
|
|
58
|
+
* open button
|
|
59
|
+
*/
|
|
60
|
+
description: {
|
|
61
|
+
type: String,
|
|
62
|
+
default: null
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
emits: [
|
|
66
|
+
"close",
|
|
67
|
+
"closed",
|
|
68
|
+
"open",
|
|
69
|
+
"opened",
|
|
70
|
+
"update:open",
|
|
71
|
+
"cancel"
|
|
72
|
+
],
|
|
73
|
+
data() {
|
|
74
|
+
return {
|
|
75
|
+
focusTrap: null,
|
|
76
|
+
opened: this.open,
|
|
77
|
+
shortcutsDisabled: window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),
|
|
78
|
+
triggerId: s.GenRandomId(),
|
|
79
|
+
descriptionId: s.GenRandomId()
|
|
80
|
+
};
|
|
81
|
+
},
|
|
82
|
+
computed: {
|
|
83
|
+
wrapperTag() {
|
|
84
|
+
return this.isNav ? "nav" : "div";
|
|
85
|
+
},
|
|
86
|
+
clickOutsideConfig() {
|
|
87
|
+
return [
|
|
88
|
+
this.closeMenu,
|
|
89
|
+
this.clickOutsideOptions
|
|
90
|
+
];
|
|
91
|
+
},
|
|
92
|
+
listeners() {
|
|
93
|
+
return this.isNav ? {
|
|
94
|
+
focusout: this.onFocusOut
|
|
95
|
+
} : null;
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
watch: {
|
|
99
|
+
open(t) {
|
|
100
|
+
t ? this.openMenu() : this.closeMenu();
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
mounted() {
|
|
104
|
+
document.addEventListener("keydown", this.onKeyDown);
|
|
105
|
+
},
|
|
106
|
+
beforeUnmount() {
|
|
107
|
+
document.removeEventListener("keydown", this.onKeyDown);
|
|
108
|
+
},
|
|
109
|
+
methods: {
|
|
110
|
+
/**
|
|
111
|
+
* Toggle the current menu open state
|
|
112
|
+
*/
|
|
113
|
+
toggleMenu() {
|
|
114
|
+
this.opened ? this.closeMenu() : this.openMenu();
|
|
115
|
+
},
|
|
116
|
+
/**
|
|
117
|
+
* Close the current menu
|
|
118
|
+
*
|
|
119
|
+
* @param {boolean} cancelled emit a cancel event instead of close
|
|
120
|
+
*/
|
|
121
|
+
closeMenu(t = !1) {
|
|
122
|
+
this.opened = !1, this.$emit(t ? "cancel" : "close"), this.$emit("update:open", !1), this.clearFocusTrap(), this.$nextTick(() => {
|
|
123
|
+
this.$emit("closed");
|
|
124
|
+
});
|
|
125
|
+
},
|
|
126
|
+
/**
|
|
127
|
+
* Open the current menu
|
|
128
|
+
*/
|
|
129
|
+
openMenu() {
|
|
130
|
+
this.opened = !0, this.$emit("open"), this.$emit("update:open", !0), this.$nextTick(() => {
|
|
131
|
+
this.useFocusTrap(), this.$emit("opened");
|
|
132
|
+
});
|
|
133
|
+
},
|
|
134
|
+
onKeyDown(t) {
|
|
135
|
+
this.shortcutsDisabled || !this.opened || t.key === "Escape" && (t.preventDefault(), this.closeMenu(!0));
|
|
136
|
+
},
|
|
137
|
+
/**
|
|
138
|
+
* @param {FocusEvent} event The focus event
|
|
139
|
+
*/
|
|
140
|
+
onFocusOut(t) {
|
|
141
|
+
this.$refs.headerMenu.contains(t.relatedTarget) || this.closeMenu();
|
|
142
|
+
},
|
|
143
|
+
/**
|
|
144
|
+
* Add focus trap for accessibility.
|
|
145
|
+
* Shall only be used when all children are mounted
|
|
146
|
+
* and available in the DOM. We use $nextTick for that.
|
|
147
|
+
*/
|
|
148
|
+
async useFocusTrap() {
|
|
149
|
+
if (this.isNav || this.focusTrap)
|
|
150
|
+
return;
|
|
151
|
+
const t = this.$refs.content;
|
|
152
|
+
this.focusTrap = d.createFocusTrap(t, {
|
|
153
|
+
allowOutsideClick: !0,
|
|
154
|
+
trapStack: p.getTrapStack(),
|
|
155
|
+
fallbackFocus: this.$refs.trigger
|
|
156
|
+
}), this.focusTrap.activate();
|
|
157
|
+
},
|
|
158
|
+
clearFocusTrap() {
|
|
159
|
+
this.focusTrap?.deactivate(), this.focusTrap = null;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}, m = ["id"], _ = { class: "header-menu__carret" }, g = ["id"], v = {
|
|
163
|
+
ref: "content",
|
|
164
|
+
class: "header-menu__content"
|
|
165
|
+
};
|
|
166
|
+
function k(t, b, i, w, n, r) {
|
|
167
|
+
const o = e.resolveComponent("NcButton"), c = e.resolveDirective("click-outside");
|
|
168
|
+
return e.withDirectives((e.openBlock(), e.createBlock(e.resolveDynamicComponent(r.wrapperTag), e.mergeProps({
|
|
169
|
+
id: i.id,
|
|
170
|
+
ref: "headerMenu",
|
|
171
|
+
"aria-labelledby": i.isNav ? n.triggerId : null,
|
|
172
|
+
class: [{ "header-menu--opened": n.opened }, "header-menu"]
|
|
173
|
+
}, e.toHandlers(r.listeners)), {
|
|
174
|
+
default: e.withCtx(() => [
|
|
175
|
+
e.createVNode(o, {
|
|
176
|
+
id: i.isNav ? n.triggerId : null,
|
|
177
|
+
ref: "trigger",
|
|
178
|
+
type: "tertiary-no-background",
|
|
179
|
+
class: "header-menu__trigger",
|
|
180
|
+
"aria-label": i.ariaLabel,
|
|
181
|
+
"aria-describedby": i.description ? n.descriptionId : null,
|
|
182
|
+
"aria-controls": `header-menu-${i.id}`,
|
|
183
|
+
"aria-expanded": n.opened.toString(),
|
|
184
|
+
onClick: e.withModifiers(r.toggleMenu, ["prevent"])
|
|
185
|
+
}, {
|
|
186
|
+
icon: e.withCtx(() => [
|
|
187
|
+
e.renderSlot(t.$slots, "trigger", {}, void 0, !0)
|
|
188
|
+
]),
|
|
189
|
+
_: 3
|
|
190
|
+
}, 8, ["id", "aria-label", "aria-describedby", "aria-controls", "aria-expanded", "onClick"]),
|
|
191
|
+
i.description ? (e.openBlock(), e.createElementBlock("span", {
|
|
192
|
+
key: 0,
|
|
193
|
+
id: n.descriptionId,
|
|
194
|
+
class: "header-menu__description hidden-visually"
|
|
195
|
+
}, e.toDisplayString(i.description), 9, m)) : e.createCommentVNode("", !0),
|
|
196
|
+
e.withDirectives(e.createElementVNode("div", _, null, 512), [
|
|
197
|
+
[e.vShow, n.opened]
|
|
198
|
+
]),
|
|
199
|
+
e.withDirectives(e.createElementVNode("div", {
|
|
200
|
+
id: `header-menu-${i.id}`,
|
|
201
|
+
class: "header-menu__wrapper"
|
|
202
|
+
}, [
|
|
203
|
+
e.createElementVNode("div", v, [
|
|
204
|
+
e.renderSlot(t.$slots, "default", {}, void 0, !0)
|
|
205
|
+
], 512)
|
|
206
|
+
], 8, g), [
|
|
207
|
+
[e.vShow, n.opened]
|
|
208
|
+
])
|
|
209
|
+
]),
|
|
210
|
+
_: 3
|
|
211
|
+
}, 16, ["id", "aria-labelledby", "class"])), [
|
|
212
|
+
[c, r.clickOutsideConfig]
|
|
213
|
+
]);
|
|
214
|
+
}
|
|
215
|
+
const y = /* @__PURE__ */ l._export_sfc(f, [["render", k], ["__scopeId", "data-v-89b55d8b"]]);
|
|
216
|
+
exports.NcHeaderMenu = y;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcHeaderMenu-Eo6rZDeL.cjs","sources":["../../src/components/NcHeaderMenu/NcHeaderMenu.vue"],"sourcesContent":[" <!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\nThis component is made to be used in the Nextcloud top header.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderMenu id=\"search\"\n\t\t\taria-label=\"Search\">\n\t\t\t<template #trigger>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t\t<div>\n\t\t\t\t<input placeholder=\"Search for files, comments, contacts...\" type=\"search\" style=\"width: 99%;\" />\n\t\t\t\t<NcEmptyContent\n\t\t\t\t\tname=\"Search\"\n\t\t\t\t\tdescription=\"Start typing to search\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Magnify />\n\t\t\t\t\t</template>\n\t\t\t\t</NcEmptyContent>\n\t\t\t</div>\n\t\t</NcHeaderMenu>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n}\n</style>\n```\n</docs>\n\n<template>\n\t<component :is=\"wrapperTag\"\n\t\t:id=\"id\"\n\t\tref=\"headerMenu\"\n\t\tv-click-outside=\"clickOutsideConfig\"\n\t\t:aria-labelledby=\"isNav ? triggerId : null\"\n\t\t:class=\"{ 'header-menu--opened': opened }\"\n\t\tclass=\"header-menu\"\n\t\tv-on=\"listeners\">\n\t\t<!-- Trigger -->\n\t\t<NcButton :id=\"isNav ? triggerId : null\"\n\t\t\tref=\"trigger\"\n\t\t\ttype=\"tertiary-no-background\"\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-describedby=\"description ? descriptionId : null\"\n\t\t\t:aria-controls=\"`header-menu-${id}`\"\n\t\t\t:aria-expanded=\"opened.toString()\"\n\t\t\t@click.prevent=\"toggleMenu\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"trigger\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span v-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\n\t\t<!-- Visual triangle -->\n\t\t<div v-show=\"opened\" class=\"header-menu__carret\" />\n\n\t\t<!-- Menu opened content -->\n\t\t<div v-show=\"opened\"\n\t\t\t:id=\"`header-menu-${id}`\"\n\t\t\tclass=\"header-menu__wrapper\">\n\t\t\t<div ref=\"content\" class=\"header-menu__content\">\n\t\t\t\t<!-- @slot Main content -->\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</div>\n\t</component>\n</template>\n\n<script>\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\nimport { createFocusTrap } from 'focus-trap'\n\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport { getTrapStack } from '../../utils/focusTrap.js'\n\nimport NcButton from '../NcButton/index.ts'\n\nexport default {\n\tname: 'NcHeaderMenu',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tmixins: [\n\t\tclickOutsideOptions,\n\t],\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * aria-label attribute of the menu open button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Current menu open state\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 * Pass `true` if the header menu is used for website navigation\n\t\t *\n\t\t * The wrapper tag will be set to `nav` and its `aria-labelledby`\n\t\t * will be associated with the menu open button\n\t\t */\n\t\tisNav: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the menu\n\t\t * open button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'close',\n\t\t'closed',\n\t\t'open',\n\t\t'opened',\n\t\t'update:open',\n\t\t'cancel',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tfocusTrap: null,\n\t\t\topened: this.open,\n\t\t\tshortcutsDisabled: window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),\n\t\t\ttriggerId: GenRandomId(),\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\twrapperTag() {\n\t\t\treturn this.isNav ? 'nav' : 'div'\n\t\t},\n\n\t\tclickOutsideConfig() {\n\t\t\treturn [\n\t\t\t\tthis.closeMenu,\n\t\t\t\tthis.clickOutsideOptions,\n\t\t\t]\n\t\t},\n\n\t\tlisteners() {\n\t\t\tif (this.isNav) {\n\t\t\t\treturn {\n\t\t\t\t\tfocusout: this.onFocusOut,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t},\n\n\twatch: {\n\t\topen(open) {\n\t\t\tif (open) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\t},\n\n\tmounted() {\n\t\tdocument.addEventListener('keydown', this.onKeyDown)\n\t},\n\tbeforeUnmount() {\n\t\tdocument.removeEventListener('keydown', this.onKeyDown)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Toggle the current menu open state\n\t\t */\n\t\ttoggleMenu() {\n\t\t\t// Toggling current state\n\t\t\tif (!this.opened) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Close the current menu\n\t\t *\n\t\t * @param {boolean} cancelled emit a cancel event instead of close\n\t\t */\n\t\tcloseMenu(cancelled = false) {\n\t\t\t// Close the menu\n\t\t\tthis.opened = false\n\t\t\tthis.$emit(cancelled ? 'cancel' : 'close')\n\t\t\tthis.$emit('update:open', false)\n\n\t\t\t// Kill focus trap\n\t\t\tthis.clearFocusTrap()\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$emit('closed')\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Open the current menu\n\t\t */\n\t\topenMenu() {\n\t\t\t// Open the menu\n\t\t\tthis.opened = true\n\t\t\tthis.$emit('open')\n\t\t\tthis.$emit('update:open', true)\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.useFocusTrap()\n\t\t\t\tthis.$emit('opened')\n\t\t\t})\n\t\t},\n\n\t\tonKeyDown(event) {\n\t\t\tif (this.shortcutsDisabled || !this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If escape have been pressed, we close\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tevent.preventDefault()\n\n\t\t\t\t/** User cancelled the menu by pressing escape */\n\t\t\t\tthis.closeMenu(true)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @param {FocusEvent} event The focus event\n\t\t */\n\t\tonFocusOut(event) {\n\t\t\tif (!this.$refs.headerMenu.contains(event.relatedTarget)) {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add focus trap for accessibility.\n\t\t * Shall only be used when all children are mounted\n\t\t * and available in the DOM. We use $nextTick for that.\n\t\t */\n\t\tasync useFocusTrap() {\n\t\t\tif (this.isNav || this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Init focus trap\n\t\t\tconst contentContainer = this.$refs.content\n\t\t\tthis.focusTrap = createFocusTrap(contentContainer, {\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\ttrapStack: getTrapStack(),\n\t\t\t\tfallbackFocus: this.$refs.trigger,\n\t\t\t})\n\t\t\tthis.focusTrap.activate()\n\t\t},\n\t\tclearFocusTrap() {\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\" scoped>\n// content inner and outer margin\n// Also used for menu top-right positioning\n$externalMargin: 8px;\n\n.header-menu {\n\tposition: relative;\n\twidth: var(--header-height);\n\theight: var(--header-height);\n\n\t&__trigger {\n\t\twidth: var(--header-height);\n\t\theight: var(--header-height);\n\t\topacity: .85;\n\n\t\t// header is filled with primary or image background\n\t\tfilter: none !important;\n\t\tcolor: var(--color-primary-text) !important;\n\t}\n\n\t&--opened &__trigger,\n\t&__trigger:hover,\n\t&__trigger:focus,\n\t&__trigger:active {\n\t\topacity: 1;\n\t}\n\n\t#{&}__trigger:focus-visible {\n\t\toutline: none !important;\n\t\tbox-shadow: none !important;\n\t}\n\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: 50px;\n\t\tinset-inline-end: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tpadding: 8px;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\n\t\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\n\t}\n\n\t&__carret {\n\t\tposition: absolute;\n\t\tz-index: 2001; // Because __wrapper is 2000.\n\t\tbottom: 0;\n\t\tinset-inline-start: calc(50% - 10px);\n\t\twidth: 0;\n\t\theight: 0;\n\t\tcontent: ' ';\n\t\tpointer-events: none;\n\t\tborder: 10px solid transparent;\n\t\tborder-bottom-color: var(--color-main-background);\n\t}\n\n\t&__content {\n\t\toverflow: auto;\n\t\twidth: 350px;\n\t\tmax-width: calc(100vw - 2 * $externalMargin);\n\t\tmin-height: calc(44px * 1.5);\n\t\tmax-height: calc(100vh - 50px * 2);\n\t\t:deep(.empty-content) {\n\t\t\tmargin: 12vh 10px;\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: $breakpoint-small-mobile) {\n\t.header-menu {\n\t\twidth: $clickable-area;\n\n\t\t&__trigger {\n\t\t\twidth: $clickable-area;\n\t\t}\n\t}\n}\n</style>\n"],"names":["_sfc_main","NcButton","Mixins_clickOutsideOptions","open","cancelled","event","contentContainer","_hoisted_1","_hoisted_2","_hoisted_3","vue","$options","$props","$data","_hoisted_4"],"mappings":";;;;;;;;;;;;uFA0HAA,IAAA;AAAA,EACC,MAAA;AAAA;IAGC,UAAAC,EAAA;AAAA;;;;EAOD,QAAA;AAAA,IACCC;AAAA;EAGD,OAAA;AAAA;AAAA;AAAA;AAAA,IAIC,IAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;IA2BA,OAAA;AAAA;;;;;;;;;;;;EAeD,OAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;IAEA;AAAA;EAGD,OAAA;AACC,WAAA;AAAA,MACC,WAAA;AAAA,MACA,QAAA,KAAA;AAAA,MACA,mBAAA,OAAA,KAAA,eAAA,2BAAA;AAAA;;IAGD;AAAA;EAGD,UAAA;AAAA;;;IAKC,qBAAA;AACC,aAAA;AAAA,QACC,KAAA;AAAA;MAED;AAAA;;AAIA,aAAA,KAAA,QACC;AAAA;MAEA,IAED;AAAA;;EAIF,OAAA;AAAA;AAEE,MAAAC,IACC,KAAA,SAAA,IAEA,KAAA,UAAA;AAAA;;EAKH,UAAA;;;EAGA,gBAAA;;;EAIA,SAAA;AAAA;AAAA;AAAA;AAAA;AAME,MAAA,KAAA,SAGC,KAAA,UAAA,IAFA,KAAA,SAAA;AAAA;;;;;;;AAaD,WAAA,SAAA,IACA,KAAA,MAAAC,IAAA,WAAA,OAAA,GACA,KAAA,MAAA,eAAA,EAAA,GAGA,KAAA,eAAA,GAGA,KAAA,UAAA,MAAA;AACC,aAAA,MAAA,QAAA;AAAA;;;;;;AASD,WAAA,SAAA,IACA,KAAA,MAAA,MAAA,kCAIA,KAAA,UAAA,MAAA;AACC,aAAA,aAAA,GACA,KAAA,MAAA,QAAA;AAAA;;IAIF,UAAAC,GAAA;AACC,MAAA,KAAA,qBAAA,CAAA,KAAA,iCAMCA,EAAA,eAAA,GAGA,KAAA,UAAA,EAAA;AAAA;;;;IAOF,WAAAA,GAAA;yDAEE,KAAA,UAAA;AAAA;;;;;;IASF,MAAA,eAAA;AACC,UAAA,KAAA,SAAA,KAAA;;AAIA,YAAAC,IAAA,KAAA,MAAA;;;;QAIC,eAAA,KAAA,MAAA;AAAA;;IAIF,iBAAA;oCAEC,KAAA,YAAA;AAAA;;AAGH,GAhVAC,IAAA,CAAA,IAAA,GAkGuBC,IAAA,EAAA,OAAA,sBAAA,GAlGvBC,IAAA,CAAA,IAAA;EAwGQ,KAAA;AAAA,EAAc,OAAA;;;;AAtCrB,SAAAC,EAAA,gBAAAA,EAAA,UAAA,GAAAA,EAAA,YAAAA,EAAA,wBAAAC,EAAA,UAAA,GAAAD,EAAA,WAAA;AAAA,IACE,IAAAE,EAAA;AAAA,IACD,KAAA;AAAA;;EAKA,GAAAF,EAAA,WAAAC,EAAA,SAAA,CAAA,GAAA;AAAA,IAzEF,SAAAD,EAAA,QAAA,MAAA;AAAA;;QA4EG,KAAA;AAAA,QACA,MAAA;AAAA,QACA,OAAA;AAAA,QACC,cAAAE,EAAA;AAAA;QAEA,iBAAA,eAAAA,EAAA,EAAA;AAAA;;;QAGU,MAAAF,EAAA,QAAA,MAAA;AAAA;;;;;;QAQV,IAAAG,EAAA;AAAA,QACD,OAAA;AAAA,MACG,GAAAH,EAAA,gBAAAE,EAAA,WAAA,GAAA,GAAAL,CAAA,KA9FNG,EAAA,mBAAA,IAAA,EAAA;AAAA,MAkGEA,EAAA,eAAAA,EAAA,mBAAA,OAAAF,GAAA,MAAA,GAAA,GAAA;AAAA;;;QAIE,IAAA,eAAAI,EAAA,EAAA;AAAA,QACD,OAAA;AAAA;QACAF,EAAA,mBAAA,OAAAI,GAAA;AAAA;;MAxGH,GAAA,GAAAL,CAAA,GAAA;AAAA;;;;;;;;;;"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import "../assets/NcHeaderMenu-j8h_puZT.css";
|
|
2
|
+
import { vOnClickOutside as h } from "@vueuse/components";
|
|
3
|
+
import { createFocusTrap as m } from "focus-trap";
|
|
4
|
+
import { G as s } from "./GenRandomId-VodkdWbp.mjs";
|
|
5
|
+
import f from "../Mixins/clickOutsideOptions.mjs";
|
|
6
|
+
import "@nextcloud/router";
|
|
7
|
+
import { resolveComponent as _, resolveDirective as g, withDirectives as r, openBlock as a, createBlock as v, resolveDynamicComponent as k, mergeProps as y, toHandlers as b, withCtx as c, createVNode as T, withModifiers as w, renderSlot as d, createElementBlock as M, toDisplayString as N, createCommentVNode as C, createElementVNode as o, vShow as l } from "vue";
|
|
8
|
+
/* empty css */
|
|
9
|
+
import { _ as O } from "./_plugin-vue_export-helper-hUChTQA_.mjs";
|
|
10
|
+
import "linkify-string";
|
|
11
|
+
import "escape-html";
|
|
12
|
+
import "striptags";
|
|
13
|
+
import "@nextcloud/auth";
|
|
14
|
+
import "@nextcloud/axios";
|
|
15
|
+
import "@nextcloud/capabilities";
|
|
16
|
+
import { g as D } from "./focusTrap-Py2bQ9-r.mjs";
|
|
17
|
+
import { N as S } from "./NcButton-nCkJxwsi.mjs";
|
|
18
|
+
const B = {
|
|
19
|
+
name: "NcHeaderMenu",
|
|
20
|
+
components: {
|
|
21
|
+
NcButton: S
|
|
22
|
+
},
|
|
23
|
+
directives: {
|
|
24
|
+
ClickOutside: h
|
|
25
|
+
},
|
|
26
|
+
mixins: [
|
|
27
|
+
f
|
|
28
|
+
],
|
|
29
|
+
props: {
|
|
30
|
+
/**
|
|
31
|
+
* Unique id for this menu
|
|
32
|
+
*/
|
|
33
|
+
id: {
|
|
34
|
+
type: String,
|
|
35
|
+
required: !0
|
|
36
|
+
},
|
|
37
|
+
/**
|
|
38
|
+
* aria-label attribute of the menu open button
|
|
39
|
+
*/
|
|
40
|
+
ariaLabel: {
|
|
41
|
+
type: String,
|
|
42
|
+
default: ""
|
|
43
|
+
},
|
|
44
|
+
/**
|
|
45
|
+
* Current menu open state
|
|
46
|
+
*/
|
|
47
|
+
open: {
|
|
48
|
+
type: Boolean,
|
|
49
|
+
default: !1
|
|
50
|
+
},
|
|
51
|
+
/**
|
|
52
|
+
* Pass `true` if the header menu is used for website navigation
|
|
53
|
+
*
|
|
54
|
+
* The wrapper tag will be set to `nav` and its `aria-labelledby`
|
|
55
|
+
* will be associated with the menu open button
|
|
56
|
+
*/
|
|
57
|
+
isNav: {
|
|
58
|
+
type: Boolean,
|
|
59
|
+
default: !1
|
|
60
|
+
},
|
|
61
|
+
/**
|
|
62
|
+
* Additional visually hidden description text for the menu
|
|
63
|
+
* open button
|
|
64
|
+
*/
|
|
65
|
+
description: {
|
|
66
|
+
type: String,
|
|
67
|
+
default: null
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
emits: [
|
|
71
|
+
"close",
|
|
72
|
+
"closed",
|
|
73
|
+
"open",
|
|
74
|
+
"opened",
|
|
75
|
+
"update:open",
|
|
76
|
+
"cancel"
|
|
77
|
+
],
|
|
78
|
+
data() {
|
|
79
|
+
return {
|
|
80
|
+
focusTrap: null,
|
|
81
|
+
opened: this.open,
|
|
82
|
+
shortcutsDisabled: window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),
|
|
83
|
+
triggerId: s(),
|
|
84
|
+
descriptionId: s()
|
|
85
|
+
};
|
|
86
|
+
},
|
|
87
|
+
computed: {
|
|
88
|
+
wrapperTag() {
|
|
89
|
+
return this.isNav ? "nav" : "div";
|
|
90
|
+
},
|
|
91
|
+
clickOutsideConfig() {
|
|
92
|
+
return [
|
|
93
|
+
this.closeMenu,
|
|
94
|
+
this.clickOutsideOptions
|
|
95
|
+
];
|
|
96
|
+
},
|
|
97
|
+
listeners() {
|
|
98
|
+
return this.isNav ? {
|
|
99
|
+
focusout: this.onFocusOut
|
|
100
|
+
} : null;
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
watch: {
|
|
104
|
+
open(e) {
|
|
105
|
+
e ? this.openMenu() : this.closeMenu();
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
mounted() {
|
|
109
|
+
document.addEventListener("keydown", this.onKeyDown);
|
|
110
|
+
},
|
|
111
|
+
beforeUnmount() {
|
|
112
|
+
document.removeEventListener("keydown", this.onKeyDown);
|
|
113
|
+
},
|
|
114
|
+
methods: {
|
|
115
|
+
/**
|
|
116
|
+
* Toggle the current menu open state
|
|
117
|
+
*/
|
|
118
|
+
toggleMenu() {
|
|
119
|
+
this.opened ? this.closeMenu() : this.openMenu();
|
|
120
|
+
},
|
|
121
|
+
/**
|
|
122
|
+
* Close the current menu
|
|
123
|
+
*
|
|
124
|
+
* @param {boolean} cancelled emit a cancel event instead of close
|
|
125
|
+
*/
|
|
126
|
+
closeMenu(e = !1) {
|
|
127
|
+
this.opened = !1, this.$emit(e ? "cancel" : "close"), this.$emit("update:open", !1), this.clearFocusTrap(), this.$nextTick(() => {
|
|
128
|
+
this.$emit("closed");
|
|
129
|
+
});
|
|
130
|
+
},
|
|
131
|
+
/**
|
|
132
|
+
* Open the current menu
|
|
133
|
+
*/
|
|
134
|
+
openMenu() {
|
|
135
|
+
this.opened = !0, this.$emit("open"), this.$emit("update:open", !0), this.$nextTick(() => {
|
|
136
|
+
this.useFocusTrap(), this.$emit("opened");
|
|
137
|
+
});
|
|
138
|
+
},
|
|
139
|
+
onKeyDown(e) {
|
|
140
|
+
this.shortcutsDisabled || !this.opened || e.key === "Escape" && (e.preventDefault(), this.closeMenu(!0));
|
|
141
|
+
},
|
|
142
|
+
/**
|
|
143
|
+
* @param {FocusEvent} event The focus event
|
|
144
|
+
*/
|
|
145
|
+
onFocusOut(e) {
|
|
146
|
+
this.$refs.headerMenu.contains(e.relatedTarget) || this.closeMenu();
|
|
147
|
+
},
|
|
148
|
+
/**
|
|
149
|
+
* Add focus trap for accessibility.
|
|
150
|
+
* Shall only be used when all children are mounted
|
|
151
|
+
* and available in the DOM. We use $nextTick for that.
|
|
152
|
+
*/
|
|
153
|
+
async useFocusTrap() {
|
|
154
|
+
if (this.isNav || this.focusTrap)
|
|
155
|
+
return;
|
|
156
|
+
const e = this.$refs.content;
|
|
157
|
+
this.focusTrap = m(e, {
|
|
158
|
+
allowOutsideClick: !0,
|
|
159
|
+
trapStack: D(),
|
|
160
|
+
fallbackFocus: this.$refs.trigger
|
|
161
|
+
}), this.focusTrap.activate();
|
|
162
|
+
},
|
|
163
|
+
clearFocusTrap() {
|
|
164
|
+
this.focusTrap?.deactivate(), this.focusTrap = null;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}, F = ["id"], I = { class: "header-menu__carret" }, x = ["id"], E = {
|
|
168
|
+
ref: "content",
|
|
169
|
+
class: "header-menu__content"
|
|
170
|
+
};
|
|
171
|
+
function K(e, L, t, H, i, n) {
|
|
172
|
+
const u = _("NcButton"), p = g("click-outside");
|
|
173
|
+
return r((a(), v(k(n.wrapperTag), y({
|
|
174
|
+
id: t.id,
|
|
175
|
+
ref: "headerMenu",
|
|
176
|
+
"aria-labelledby": t.isNav ? i.triggerId : null,
|
|
177
|
+
class: [{ "header-menu--opened": i.opened }, "header-menu"]
|
|
178
|
+
}, b(n.listeners)), {
|
|
179
|
+
default: c(() => [
|
|
180
|
+
T(u, {
|
|
181
|
+
id: t.isNav ? i.triggerId : null,
|
|
182
|
+
ref: "trigger",
|
|
183
|
+
type: "tertiary-no-background",
|
|
184
|
+
class: "header-menu__trigger",
|
|
185
|
+
"aria-label": t.ariaLabel,
|
|
186
|
+
"aria-describedby": t.description ? i.descriptionId : null,
|
|
187
|
+
"aria-controls": `header-menu-${t.id}`,
|
|
188
|
+
"aria-expanded": i.opened.toString(),
|
|
189
|
+
onClick: w(n.toggleMenu, ["prevent"])
|
|
190
|
+
}, {
|
|
191
|
+
icon: c(() => [
|
|
192
|
+
d(e.$slots, "trigger", {}, void 0, !0)
|
|
193
|
+
]),
|
|
194
|
+
_: 3
|
|
195
|
+
}, 8, ["id", "aria-label", "aria-describedby", "aria-controls", "aria-expanded", "onClick"]),
|
|
196
|
+
t.description ? (a(), M("span", {
|
|
197
|
+
key: 0,
|
|
198
|
+
id: i.descriptionId,
|
|
199
|
+
class: "header-menu__description hidden-visually"
|
|
200
|
+
}, N(t.description), 9, F)) : C("", !0),
|
|
201
|
+
r(o("div", I, null, 512), [
|
|
202
|
+
[l, i.opened]
|
|
203
|
+
]),
|
|
204
|
+
r(o("div", {
|
|
205
|
+
id: `header-menu-${t.id}`,
|
|
206
|
+
class: "header-menu__wrapper"
|
|
207
|
+
}, [
|
|
208
|
+
o("div", E, [
|
|
209
|
+
d(e.$slots, "default", {}, void 0, !0)
|
|
210
|
+
], 512)
|
|
211
|
+
], 8, x), [
|
|
212
|
+
[l, i.opened]
|
|
213
|
+
])
|
|
214
|
+
]),
|
|
215
|
+
_: 3
|
|
216
|
+
}, 16, ["id", "aria-labelledby", "class"])), [
|
|
217
|
+
[p, n.clickOutsideConfig]
|
|
218
|
+
]);
|
|
219
|
+
}
|
|
220
|
+
const te = /* @__PURE__ */ O(B, [["render", K], ["__scopeId", "data-v-89b55d8b"]]);
|
|
221
|
+
export {
|
|
222
|
+
te as N
|
|
223
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcHeaderMenu-yJJ4FWin.mjs","sources":["../../src/components/NcHeaderMenu/NcHeaderMenu.vue"],"sourcesContent":[" <!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\nThis component is made to be used in the Nextcloud top header.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderMenu id=\"search\"\n\t\t\taria-label=\"Search\">\n\t\t\t<template #trigger>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t\t<div>\n\t\t\t\t<input placeholder=\"Search for files, comments, contacts...\" type=\"search\" style=\"width: 99%;\" />\n\t\t\t\t<NcEmptyContent\n\t\t\t\t\tname=\"Search\"\n\t\t\t\t\tdescription=\"Start typing to search\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Magnify />\n\t\t\t\t\t</template>\n\t\t\t\t</NcEmptyContent>\n\t\t\t</div>\n\t\t</NcHeaderMenu>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n}\n</style>\n```\n</docs>\n\n<template>\n\t<component :is=\"wrapperTag\"\n\t\t:id=\"id\"\n\t\tref=\"headerMenu\"\n\t\tv-click-outside=\"clickOutsideConfig\"\n\t\t:aria-labelledby=\"isNav ? triggerId : null\"\n\t\t:class=\"{ 'header-menu--opened': opened }\"\n\t\tclass=\"header-menu\"\n\t\tv-on=\"listeners\">\n\t\t<!-- Trigger -->\n\t\t<NcButton :id=\"isNav ? triggerId : null\"\n\t\t\tref=\"trigger\"\n\t\t\ttype=\"tertiary-no-background\"\n\t\t\tclass=\"header-menu__trigger\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-describedby=\"description ? descriptionId : null\"\n\t\t\t:aria-controls=\"`header-menu-${id}`\"\n\t\t\t:aria-expanded=\"opened.toString()\"\n\t\t\t@click.prevent=\"toggleMenu\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"trigger\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span v-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\n\t\t<!-- Visual triangle -->\n\t\t<div v-show=\"opened\" class=\"header-menu__carret\" />\n\n\t\t<!-- Menu opened content -->\n\t\t<div v-show=\"opened\"\n\t\t\t:id=\"`header-menu-${id}`\"\n\t\t\tclass=\"header-menu__wrapper\">\n\t\t\t<div ref=\"content\" class=\"header-menu__content\">\n\t\t\t\t<!-- @slot Main content -->\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</div>\n\t</component>\n</template>\n\n<script>\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\nimport { createFocusTrap } from 'focus-trap'\n\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { clickOutsideOptions } from '../../mixins/index.js'\nimport { getTrapStack } from '../../utils/focusTrap.js'\n\nimport NcButton from '../NcButton/index.ts'\n\nexport default {\n\tname: 'NcHeaderMenu',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tmixins: [\n\t\tclickOutsideOptions,\n\t],\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * aria-label attribute of the menu open button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Current menu open state\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 * Pass `true` if the header menu is used for website navigation\n\t\t *\n\t\t * The wrapper tag will be set to `nav` and its `aria-labelledby`\n\t\t * will be associated with the menu open button\n\t\t */\n\t\tisNav: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the menu\n\t\t * open button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'close',\n\t\t'closed',\n\t\t'open',\n\t\t'opened',\n\t\t'update:open',\n\t\t'cancel',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tfocusTrap: null,\n\t\t\topened: this.open,\n\t\t\tshortcutsDisabled: window.OCP?.Accessibility?.disableKeyboardShortcuts?.(),\n\t\t\ttriggerId: GenRandomId(),\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\twrapperTag() {\n\t\t\treturn this.isNav ? 'nav' : 'div'\n\t\t},\n\n\t\tclickOutsideConfig() {\n\t\t\treturn [\n\t\t\t\tthis.closeMenu,\n\t\t\t\tthis.clickOutsideOptions,\n\t\t\t]\n\t\t},\n\n\t\tlisteners() {\n\t\t\tif (this.isNav) {\n\t\t\t\treturn {\n\t\t\t\t\tfocusout: this.onFocusOut,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t},\n\n\twatch: {\n\t\topen(open) {\n\t\t\tif (open) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\t},\n\n\tmounted() {\n\t\tdocument.addEventListener('keydown', this.onKeyDown)\n\t},\n\tbeforeUnmount() {\n\t\tdocument.removeEventListener('keydown', this.onKeyDown)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Toggle the current menu open state\n\t\t */\n\t\ttoggleMenu() {\n\t\t\t// Toggling current state\n\t\t\tif (!this.opened) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Close the current menu\n\t\t *\n\t\t * @param {boolean} cancelled emit a cancel event instead of close\n\t\t */\n\t\tcloseMenu(cancelled = false) {\n\t\t\t// Close the menu\n\t\t\tthis.opened = false\n\t\t\tthis.$emit(cancelled ? 'cancel' : 'close')\n\t\t\tthis.$emit('update:open', false)\n\n\t\t\t// Kill focus trap\n\t\t\tthis.clearFocusTrap()\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$emit('closed')\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Open the current menu\n\t\t */\n\t\topenMenu() {\n\t\t\t// Open the menu\n\t\t\tthis.opened = true\n\t\t\tthis.$emit('open')\n\t\t\tthis.$emit('update:open', true)\n\n\t\t\t// Wait for component to finish rendering\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.useFocusTrap()\n\t\t\t\tthis.$emit('opened')\n\t\t\t})\n\t\t},\n\n\t\tonKeyDown(event) {\n\t\t\tif (this.shortcutsDisabled || !this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If escape have been pressed, we close\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tevent.preventDefault()\n\n\t\t\t\t/** User cancelled the menu by pressing escape */\n\t\t\t\tthis.closeMenu(true)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @param {FocusEvent} event The focus event\n\t\t */\n\t\tonFocusOut(event) {\n\t\t\tif (!this.$refs.headerMenu.contains(event.relatedTarget)) {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add focus trap for accessibility.\n\t\t * Shall only be used when all children are mounted\n\t\t * and available in the DOM. We use $nextTick for that.\n\t\t */\n\t\tasync useFocusTrap() {\n\t\t\tif (this.isNav || this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// Init focus trap\n\t\t\tconst contentContainer = this.$refs.content\n\t\t\tthis.focusTrap = createFocusTrap(contentContainer, {\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\ttrapStack: getTrapStack(),\n\t\t\t\tfallbackFocus: this.$refs.trigger,\n\t\t\t})\n\t\t\tthis.focusTrap.activate()\n\t\t},\n\t\tclearFocusTrap() {\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\" scoped>\n// content inner and outer margin\n// Also used for menu top-right positioning\n$externalMargin: 8px;\n\n.header-menu {\n\tposition: relative;\n\twidth: var(--header-height);\n\theight: var(--header-height);\n\n\t&__trigger {\n\t\twidth: var(--header-height);\n\t\theight: var(--header-height);\n\t\topacity: .85;\n\n\t\t// header is filled with primary or image background\n\t\tfilter: none !important;\n\t\tcolor: var(--color-primary-text) !important;\n\t}\n\n\t&--opened &__trigger,\n\t&__trigger:hover,\n\t&__trigger:focus,\n\t&__trigger:active {\n\t\topacity: 1;\n\t}\n\n\t#{&}__trigger:focus-visible {\n\t\toutline: none !important;\n\t\tbox-shadow: none !important;\n\t}\n\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: 50px;\n\t\tinset-inline-end: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tpadding: 8px;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\n\t\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\n\t}\n\n\t&__carret {\n\t\tposition: absolute;\n\t\tz-index: 2001; // Because __wrapper is 2000.\n\t\tbottom: 0;\n\t\tinset-inline-start: calc(50% - 10px);\n\t\twidth: 0;\n\t\theight: 0;\n\t\tcontent: ' ';\n\t\tpointer-events: none;\n\t\tborder: 10px solid transparent;\n\t\tborder-bottom-color: var(--color-main-background);\n\t}\n\n\t&__content {\n\t\toverflow: auto;\n\t\twidth: 350px;\n\t\tmax-width: calc(100vw - 2 * $externalMargin);\n\t\tmin-height: calc(44px * 1.5);\n\t\tmax-height: calc(100vh - 50px * 2);\n\t\t:deep(.empty-content) {\n\t\t\tmargin: 12vh 10px;\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: $breakpoint-small-mobile) {\n\t.header-menu {\n\t\twidth: $clickable-area;\n\n\t\t&__trigger {\n\t\t\twidth: $clickable-area;\n\t\t}\n\t}\n}\n</style>\n"],"names":["_sfc_main","NcButton","clickOutsideOptions","open","cancelled","event","contentContainer","_hoisted_1","_hoisted_2","_hoisted_3","withDirectives","openBlock","createBlock","resolveDynamicComponent","$options","mergeProps","$props","toHandlers","withCtx","$data","toDisplayString","createCommentVNode","createElementVNode","_hoisted_4"],"mappings":";;;;;;;;;;;;;;;;;AA0HA,MAAAA,IAAA;AAAA,EACC,MAAA;AAAA;IAGC,UAAAC;AAAA;;;;EAOD,QAAA;AAAA,IACCC;AAAA;EAGD,OAAA;AAAA;AAAA;AAAA;AAAA,IAIC,IAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;IA2BA,OAAA;AAAA;;;;;;;;;;;;EAeD,OAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;IAEA;AAAA;EAGD,OAAA;AACC,WAAA;AAAA,MACC,WAAA;AAAA,MACA,QAAA,KAAA;AAAA,MACA,mBAAA,OAAA,KAAA,eAAA,2BAAA;AAAA;;IAGD;AAAA;EAGD,UAAA;AAAA;;;IAKC,qBAAA;AACC,aAAA;AAAA,QACC,KAAA;AAAA;MAED;AAAA;;AAIA,aAAA,KAAA,QACC;AAAA;MAEA,IAED;AAAA;;EAIF,OAAA;AAAA;AAEE,MAAAC,IACC,KAAA,SAAA,IAEA,KAAA,UAAA;AAAA;;EAKH,UAAA;;;EAGA,gBAAA;;;EAIA,SAAA;AAAA;AAAA;AAAA;AAAA;AAME,MAAA,KAAA,SAGC,KAAA,UAAA,IAFA,KAAA,SAAA;AAAA;;;;;;;AAaD,WAAA,SAAA,IACA,KAAA,MAAAC,IAAA,WAAA,OAAA,GACA,KAAA,MAAA,eAAA,EAAA,GAGA,KAAA,eAAA,GAGA,KAAA,UAAA,MAAA;AACC,aAAA,MAAA,QAAA;AAAA;;;;;;AASD,WAAA,SAAA,IACA,KAAA,MAAA,MAAA,kCAIA,KAAA,UAAA,MAAA;AACC,aAAA,aAAA,GACA,KAAA,MAAA,QAAA;AAAA;;IAIF,UAAAC,GAAA;AACC,MAAA,KAAA,qBAAA,CAAA,KAAA,iCAMCA,EAAA,eAAA,GAGA,KAAA,UAAA,EAAA;AAAA;;;;IAOF,WAAAA,GAAA;yDAEE,KAAA,UAAA;AAAA;;;;;;IASF,MAAA,eAAA;AACC,UAAA,KAAA,SAAA,KAAA;;AAIA,YAAAC,IAAA,KAAA,MAAA;;;;QAIC,eAAA,KAAA,MAAA;AAAA;;IAIF,iBAAA;oCAEC,KAAA,YAAA;AAAA;;AAGH,GAhVAC,IAAA,CAAA,IAAA,GAkGuBC,IAAA,EAAA,OAAA,sBAAA,GAlGvBC,IAAA,CAAA,IAAA;EAwGQ,KAAA;AAAA,EAAc,OAAA;;;;AAtCrB,SAAAC,GAAAC,EAAA,GAAAC,EAAAC,EAAAC,EAAA,UAAA,GAAAC,EAAA;AAAA,IACE,IAAAC,EAAA;AAAA,IACD,KAAA;AAAA;;EAKA,GAAAC,EAAAH,EAAA,SAAA,CAAA,GAAA;AAAA,IAzEF,SAAAI,EAAA,MAAA;AAAA;;QA4EG,KAAA;AAAA,QACA,MAAA;AAAA,QACA,OAAA;AAAA,QACC,cAAAF,EAAA;AAAA;QAEA,iBAAA,eAAAA,EAAA,EAAA;AAAA;;;QAGU,MAAAE,EAAA,MAAA;AAAA;;;;;;QAQV,IAAAC,EAAA;AAAA,QACD,OAAA;AAAA,MACG,GAAAC,EAAAJ,EAAA,WAAA,GAAA,GAAAT,CAAA,KA9FNc,EAAA,IAAA,EAAA;AAAA,MAkGEX,EAAAY,EAAA,OAAAd,GAAA,MAAA,GAAA,GAAA;AAAA;;;QAIE,IAAA,eAAAQ,EAAA,EAAA;AAAA,QACD,OAAA;AAAA;QACAM,EAAA,OAAAC,GAAA;AAAA;;MAxGH,GAAA,GAAAd,CAAA,GAAA;AAAA;;;;;;;;;"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const n = require("vue");
|
|
3
|
+
/**
|
|
4
|
+
* @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>
|
|
5
|
+
*
|
|
6
|
+
* @author Raimund Schlüßler <raimund.schluessler@mailbox.org>
|
|
7
|
+
*
|
|
8
|
+
* @license AGPL-3.0-or-later
|
|
9
|
+
*
|
|
10
|
+
* This program is free software: you can redistribute it and/or modify
|
|
11
|
+
* it under the terms of the GNU Affero General Public License as
|
|
12
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
13
|
+
* License, or (at your option) any later version.
|
|
14
|
+
*
|
|
15
|
+
* This program is distributed in the hope that it will be useful,
|
|
16
|
+
* but WITHOUT ANY WARRANTY without even the implied warranty of
|
|
17
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
18
|
+
* GNU Affero General Public License for more details.
|
|
19
|
+
*
|
|
20
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
21
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
24
|
+
const l = (e, t) => {
|
|
25
|
+
const h = [];
|
|
26
|
+
let s = 0, i = e.toLowerCase().indexOf(t.toLowerCase(), s), r = 0;
|
|
27
|
+
for (; i > -1 && r < e.length; )
|
|
28
|
+
s = i + t.length, h.push({ start: i, end: s }), i = e.toLowerCase().indexOf(t.toLowerCase(), s), r++;
|
|
29
|
+
return h;
|
|
30
|
+
}, u = {
|
|
31
|
+
name: "NcHighlight",
|
|
32
|
+
props: {
|
|
33
|
+
/**
|
|
34
|
+
* The string to display
|
|
35
|
+
*/
|
|
36
|
+
text: {
|
|
37
|
+
type: String,
|
|
38
|
+
default: ""
|
|
39
|
+
},
|
|
40
|
+
/**
|
|
41
|
+
* The string to match and highlight
|
|
42
|
+
*/
|
|
43
|
+
search: {
|
|
44
|
+
type: String,
|
|
45
|
+
default: ""
|
|
46
|
+
},
|
|
47
|
+
/**
|
|
48
|
+
* The ranges to highlight, takes precedence over the search prop.
|
|
49
|
+
*/
|
|
50
|
+
highlight: {
|
|
51
|
+
type: Array,
|
|
52
|
+
default: () => []
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
computed: {
|
|
56
|
+
/**
|
|
57
|
+
* The indice ranges which should be highlighted.
|
|
58
|
+
* If an array with ranges is provided, we use it. Otherwise
|
|
59
|
+
* we calculate it based on the provided substring to highlight.
|
|
60
|
+
*
|
|
61
|
+
* @return {Array} The array of ranges to highlight
|
|
62
|
+
*/
|
|
63
|
+
ranges() {
|
|
64
|
+
let e = [];
|
|
65
|
+
return !this.search && this.highlight.length === 0 || (this.highlight.length > 0 ? e = this.highlight : e = l(this.text, this.search), e.forEach((t, h) => {
|
|
66
|
+
t.end < t.start && (e[h] = {
|
|
67
|
+
start: t.end,
|
|
68
|
+
end: t.start
|
|
69
|
+
});
|
|
70
|
+
}), e = e.reduce((t, h) => (h.start < this.text.length && h.end > 0 && t.push({
|
|
71
|
+
start: h.start < 0 ? 0 : h.start,
|
|
72
|
+
end: h.end > this.text.length ? this.text.length : h.end
|
|
73
|
+
}), t), []), e.sort((t, h) => t.start - h.start), e = e.reduce((t, h) => {
|
|
74
|
+
if (!t.length)
|
|
75
|
+
t.push(h);
|
|
76
|
+
else {
|
|
77
|
+
const s = t.length - 1;
|
|
78
|
+
t[s].end >= h.start ? t[s] = {
|
|
79
|
+
start: t[s].start,
|
|
80
|
+
end: Math.max(t[s].end, h.end)
|
|
81
|
+
} : t.push(h);
|
|
82
|
+
}
|
|
83
|
+
return t;
|
|
84
|
+
}, [])), e;
|
|
85
|
+
},
|
|
86
|
+
/**
|
|
87
|
+
* Calculate the different chunks to show based on the ranges to highlight.
|
|
88
|
+
*
|
|
89
|
+
* @return {Array} The chunks
|
|
90
|
+
*/
|
|
91
|
+
chunks() {
|
|
92
|
+
if (this.ranges.length === 0)
|
|
93
|
+
return [{
|
|
94
|
+
start: 0,
|
|
95
|
+
end: this.text.length,
|
|
96
|
+
highlight: !1,
|
|
97
|
+
text: this.text
|
|
98
|
+
}];
|
|
99
|
+
const e = [];
|
|
100
|
+
let t = 0, h = 0;
|
|
101
|
+
for (; t < this.text.length; ) {
|
|
102
|
+
const s = this.ranges[h];
|
|
103
|
+
if (s.start === t) {
|
|
104
|
+
e.push({
|
|
105
|
+
...s,
|
|
106
|
+
highlight: !0,
|
|
107
|
+
text: this.text.slice(s.start, s.end)
|
|
108
|
+
}), h++, t = s.end, h >= this.ranges.length && t < this.text.length && (e.push({
|
|
109
|
+
start: t,
|
|
110
|
+
end: this.text.length,
|
|
111
|
+
highlight: !1,
|
|
112
|
+
text: this.text.slice(t)
|
|
113
|
+
}), t = this.text.length);
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
e.push({
|
|
117
|
+
start: t,
|
|
118
|
+
end: s.start,
|
|
119
|
+
highlight: !1,
|
|
120
|
+
text: this.text.slice(t, s.start)
|
|
121
|
+
}), t = s.start;
|
|
122
|
+
}
|
|
123
|
+
return e;
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
/**
|
|
127
|
+
* The render function to display the component
|
|
128
|
+
*
|
|
129
|
+
* @return {object} The created VNode
|
|
130
|
+
*/
|
|
131
|
+
render() {
|
|
132
|
+
return this.ranges.length ? n.h("span", {}, this.chunks.map((e) => e.highlight ? n.h("strong", {}, e.text) : e.text)) : n.h("span", {}, this.text);
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
exports.FindRanges = l;
|
|
136
|
+
exports._sfc_main = u;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcHighlight-cBMxLCnf.cjs","sources":["../../src/utils/FindRanges.js","../../src/components/NcHighlight/NcHighlight.vue"],"sourcesContent":["/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license 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\n/**\n * Find the ranges of a substr in a given string\n *\n * @param {string} text The text to search in\n * @param {string} search The text to search for\n * @return {Array} The array of ranges to highlight\n */\nconst FindRanges = (text, search) => {\n\tconst ranges = []\n\tlet currentIndex = 0\n\tlet index = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex)\n\t// Variable to track that we don't iterate more often than the length of the text.\n\t// Shouldn't happen anyway, but just to be sure to not hang the browser for some reason.\n\tlet i = 0\n\twhile (index > -1 && i < text.length) {\n\t\tcurrentIndex = index + search.length\n\t\tranges.push({ start: index, end: currentIndex })\n\n\t\tindex = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex)\n\t\ti++\n\t}\n\treturn ranges\n}\n\nexport default FindRanges\n","<!--\n - @copyright Copyright (c) 2021 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n\n### General description\n\nHighlight a string with html <strong>. Accepts a substring to highlight or an array with ranges.\n\n### Usage\n\n```vue\n<template>\n\t<div>\n\t\t<NcHighlight text=\"Highlight me please!\" search=\"me\" />\n\t\t<br />\n\t\t<NcHighlight text=\"Highlight me please!\" :highlight=\"[{ start: 4, end: 12 }]\" />\n\t</div>\n</template>\n```\n</docs>\n\n<script>\nimport FindRanges from '../../utils/FindRanges.js'\n\nimport { h } from 'vue'\n\nexport default {\n\tname: 'NcHighlight',\n\tprops: {\n\t\t/**\n\t\t * The string to display\n\t\t */\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The string to match and highlight\n\t\t */\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The ranges to highlight, takes precedence over the search prop.\n\t\t */\n\t\thighlight: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tcomputed: {\n\t\t/**\n\t\t * The indice ranges which should be highlighted.\n\t\t * If an array with ranges is provided, we use it. Otherwise\n\t\t * we calculate it based on the provided substring to highlight.\n\t\t *\n\t\t * @return {Array} The array of ranges to highlight\n\t\t */\n\t\tranges() {\n\t\t\tlet ranges = []\n\t\t\t// If the search term and the highlight array is empty, return early with empty array\n\t\t\tif (!this.search && this.highlight.length === 0) {\n\t\t\t\treturn ranges\n\t\t\t}\n\n\t\t\t// If there are ranges to highlight provided, we use this array.\n\t\t\tif (this.highlight.length > 0) {\n\t\t\t\tranges = this.highlight\n\t\t\t// Otherwise we check the text to highlight for matches of the search term.\n\t\t\t} else {\n\t\t\t\tranges = FindRanges(this.text, this.search)\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Ensure that the start of each range is equal to or smaller than the end\n\t\t\t */\n\t\t\tranges.forEach((range, i) => {\n\t\t\t\tif (range.end < range.start) {\n\t\t\t\t\tranges[i] = {\n\t\t\t\t\t\tstart: range.end,\n\t\t\t\t\t\tend: range.start,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * Validate the ranges array to be within the string length\n\t\t\t * and discard ranges which are completely out of bonds.\n\t\t\t */\n\t\t\tranges = ranges.reduce((validRanges, range) => {\n\t\t\t\tif (range.start < this.text.length && range.end > 0) {\n\t\t\t\t\tvalidRanges.push({\n\t\t\t\t\t\tstart: (range.start < 0) ? 0 : range.start,\n\t\t\t\t\t\tend: (range.end > this.text.length) ? this.text.length : range.end,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn validRanges\n\t\t\t}, [])\n\n\t\t\t/**\n\t\t\t * Sort ranges ascendingly (necessary for next step)\n\t\t\t */\n\t\t\tranges.sort((a, b) => {\n\t\t\t\treturn a.start - b.start\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * Merge overlapping or adjacent ranges\n\t\t\t */\n\t\t\tranges = ranges.reduce((mergedRanges, range) => {\n\t\t\t\t// If there are no ranges, just add the range\n\t\t\t\tif (!mergedRanges.length) {\n\t\t\t\t\tmergedRanges.push(range)\n\t\t\t\t} else {\n\t\t\t\t\t// If the range overlaps the last range, merge them\n\t\t\t\t\tconst idx = mergedRanges.length - 1\n\t\t\t\t\tif (mergedRanges[idx].end >= range.start) {\n\t\t\t\t\t\tmergedRanges[idx] = {\n\t\t\t\t\t\t\tstart: mergedRanges[idx].start,\n\t\t\t\t\t\t\tend: Math.max(mergedRanges[idx].end, range.end),\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmergedRanges.push(range)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn mergedRanges\n\t\t\t}, [])\n\n\t\t\treturn ranges\n\t\t},\n\t\t/**\n\t\t * Calculate the different chunks to show based on the ranges to highlight.\n\t\t *\n\t\t * @return {Array} The chunks\n\t\t */\n\t\tchunks() {\n\t\t\t// If the ranges array is empty, show only one chunk with all text\n\t\t\tif (this.ranges.length === 0) {\n\t\t\t\treturn [{\n\t\t\t\t\tstart: 0,\n\t\t\t\t\tend: this.text.length,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttext: this.text,\n\t\t\t\t}]\n\t\t\t}\n\t\t\t// Calculate the chunks\n\t\t\tconst chunks = []\n\t\t\tlet currentIndex = 0\n\t\t\tlet currentRange = 0\n\t\t\t// Iterate over all characters in the text\n\t\t\twhile (currentIndex < this.text.length) {\n\t\t\t\t// Get the first range to highlight\n\t\t\t\tconst range = this.ranges[currentRange]\n\t\t\t\t// If the range starts at the current index, construct a chunk to highlight,\n\t\t\t\t// set the next range and continue with the next iteration.\n\t\t\t\tif (range.start === currentIndex) {\n\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t...range,\n\t\t\t\t\t\thighlight: true,\n\t\t\t\t\t\ttext: this.text.slice(range.start, range.end),\n\t\t\t\t\t})\n\t\t\t\t\tcurrentRange++\n\t\t\t\t\tcurrentIndex = range.end\n\t\t\t\t\t// If this was the last range to highlight and we haven't reached the end of the text,\n\t\t\t\t\t// add the rest of the text without highlighting.\n\t\t\t\t\tif (currentRange >= this.ranges.length && currentIndex < this.text.length) {\n\t\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t\tstart: currentIndex,\n\t\t\t\t\t\t\tend: this.text.length,\n\t\t\t\t\t\t\thighlight: false,\n\t\t\t\t\t\t\ttext: this.text.slice(currentIndex),\n\t\t\t\t\t\t})\n\t\t\t\t\t\t// Set the current index so the while loop ends.\n\t\t\t\t\t\tcurrentIndex = this.text.length\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t// If the current range does start after the current index, construct a chunk without\n\t\t\t\t// highlighting and set the current index to the start of the current range.\n\t\t\t\tchunks.push({\n\t\t\t\t\tstart: currentIndex,\n\t\t\t\t\tend: range.start,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttext: this.text.slice(currentIndex, range.start),\n\t\t\t\t})\n\t\t\t\tcurrentIndex = range.start\n\t\t\t}\n\t\t\treturn chunks\n\t\t},\n\t},\n\t/**\n\t * The render function to display the component\n\t *\n\t * @return {object} The created VNode\n\t */\n\trender() {\n\t\tif (!this.ranges.length) {\n\t\t\treturn h('span', {}, this.text)\n\t\t}\n\n\t\treturn h('span', {}, this.chunks.map(chunk => {\n\t\t\treturn chunk.highlight ? h('strong', {}, chunk.text) : chunk.text\n\t\t}))\n\t},\n}\n</script>\n"],"names":["FindRanges","text","search","ranges","currentIndex","index","i","_sfc_main","range","validRanges","a","b","mergedRanges","idx","chunks","currentRange","h","chunk"],"mappings":";;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BK,MAACA,IAAa,CAACC,GAAMC,MAAW;AACpC,QAAMC,IAAS,CAAE;AACjB,MAAIC,IAAe,GACfC,IAAQJ,EAAK,YAAa,EAAC,QAAQC,EAAO,YAAa,GAAEE,CAAY,GAGrEE,IAAI;AACR,SAAOD,IAAQ,MAAMC,IAAIL,EAAK;AAC7B,IAAAG,IAAeC,IAAQH,EAAO,QAC9BC,EAAO,KAAK,EAAE,OAAOE,GAAO,KAAKD,GAAc,GAE/CC,IAAQJ,EAAK,YAAa,EAAC,QAAQC,EAAO,YAAa,GAAEE,CAAY,GACrEE;AAED,SAAOH;AACR,GCEKI,IAAU;AAAA,EACd,MAAM;AAAA,EACN,OAAO;AAAA;AAAA;AAAA;AAAA,IAIN,MAAM;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAID,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAID,WAAW;AAAA,MACV,MAAM;AAAA,MACN,SAAS,MAAM,CAAE;AAAA,IACjB;AAAA,EACD;AAAA,EACD,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQT,SAAS;AACR,UAAIJ,IAAS,CAAC;AAEd,aAAI,CAAC,KAAK,UAAU,KAAK,UAAU,WAAW,MAK1C,KAAK,UAAU,SAAS,IAC3BA,IAAS,KAAK,YAGdA,IAASH,EAAW,KAAK,MAAM,KAAK,MAAM,GAM3CG,EAAO,QAAQ,CAACK,GAAOF,MAAM;AAC5B,QAAIE,EAAM,MAAMA,EAAM,UACrBL,EAAOG,CAAC,IAAI;AAAA,UACX,OAAOE,EAAM;AAAA,UACb,KAAKA,EAAM;AAAA,QACZ;AAAA,OAED,GAMDL,IAASA,EAAO,OAAO,CAACM,GAAaD,OAChCA,EAAM,QAAQ,KAAK,KAAK,UAAUA,EAAM,MAAM,KACjDC,EAAY,KAAK;AAAA,QAChB,OAAQD,EAAM,QAAQ,IAAK,IAAIA,EAAM;AAAA,QACrC,KAAMA,EAAM,MAAM,KAAK,KAAK,SAAU,KAAK,KAAK,SAASA,EAAM;AAAA,OAC/D,GAEKC,IACL,EAAE,GAKLN,EAAO,KAAK,CAACO,GAAGC,MACRD,EAAE,QAAQC,EAAE,KACnB,GAKDR,IAASA,EAAO,OAAO,CAACS,GAAcJ,MAAU;AAE/C,YAAI,CAACI,EAAa;AACjB,UAAAA,EAAa,KAAKJ,CAAK;AAAA,aACjB;AAEN,gBAAMK,IAAMD,EAAa,SAAS;AAClC,UAAIA,EAAaC,CAAG,EAAE,OAAOL,EAAM,QAClCI,EAAaC,CAAG,IAAI;AAAA,YACnB,OAAOD,EAAaC,CAAG,EAAE;AAAA,YACzB,KAAK,KAAK,IAAID,EAAaC,CAAG,EAAE,KAAKL,EAAM,GAAG;AAAA,UAC/C,IAEAI,EAAa,KAAKJ,CAAK;AAAA,QAEzB;AACA,eAAOI;AAAA,MACP,GAAE,EAAE,IAEET;AAAA,IACP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,SAAS;AAER,UAAI,KAAK,OAAO,WAAW;AAC1B,eAAO,CAAC;AAAA,UACP,OAAO;AAAA,UACP,KAAK,KAAK,KAAK;AAAA,UACf,WAAW;AAAA,UACX,MAAM,KAAK;AAAA,SACX;AAGF,YAAMW,IAAS,CAAC;AAChB,UAAIV,IAAe,GACfW,IAAe;AAEnB,aAAOX,IAAe,KAAK,KAAK,UAAQ;AAEvC,cAAMI,IAAQ,KAAK,OAAOO,CAAY;AAGtC,YAAIP,EAAM,UAAUJ,GAAc;AACjC,UAAAU,EAAO,KAAK;AAAA,YACX,GAAGN;AAAA,YACH,WAAW;AAAA,YACX,MAAM,KAAK,KAAK,MAAMA,EAAM,OAAOA,EAAM,GAAG;AAAA,WAC5C,GACDO,KACAX,IAAeI,EAAM,KAGjBO,KAAgB,KAAK,OAAO,UAAUX,IAAe,KAAK,KAAK,WAClEU,EAAO,KAAK;AAAA,YACX,OAAOV;AAAA,YACP,KAAK,KAAK,KAAK;AAAA,YACf,WAAW;AAAA,YACX,MAAM,KAAK,KAAK,MAAMA,CAAY;AAAA,WAClC,GAEDA,IAAe,KAAK,KAAK;AAE1B;AAAA,QACD;AAGA,QAAAU,EAAO,KAAK;AAAA,UACX,OAAOV;AAAA,UACP,KAAKI,EAAM;AAAA,UACX,WAAW;AAAA,UACX,MAAM,KAAK,KAAK,MAAMJ,GAAcI,EAAM,KAAK;AAAA,SAC/C,GACDJ,IAAeI,EAAM;AAAA,MACtB;AACA,aAAOM;AAAA,IACP;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMD,SAAS;AACR,WAAK,KAAK,OAAO,SAIVE,EAAAA,EAAE,QAAQ,CAAE,GAAE,KAAK,OAAO,IAAI,CAAAC,MAC7BA,EAAM,YAAYD,EAAAA,EAAE,UAAU,CAAE,GAAEC,EAAM,IAAI,IAAIA,EAAM,IAC7D,CAAC,IALMD,EAAC,EAAC,QAAQ,IAAI,KAAK,IAAI;AAAA,EAM/B;AACF;;;"}
|