@nextcloud/vue 8.11.1 → 8.11.3
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 +43 -0
- package/dist/Components/NcActionButton.cjs +67 -30
- package/dist/Components/NcActionButton.cjs.map +1 -1
- package/dist/Components/NcActionButton.mjs +67 -34
- package/dist/Components/NcActionButton.mjs.map +1 -1
- package/dist/Components/NcActionButtonGroup.cjs +2 -2
- package/dist/Components/NcActionButtonGroup.mjs +2 -2
- package/dist/Components/NcActionCaption.cjs +17 -14
- package/dist/Components/NcActionCaption.cjs.map +1 -1
- package/dist/Components/NcActionCaption.mjs +17 -15
- package/dist/Components/NcActionCaption.mjs.map +1 -1
- package/dist/Components/NcActionCheckbox.cjs +42 -24
- package/dist/Components/NcActionCheckbox.cjs.map +1 -1
- package/dist/Components/NcActionCheckbox.mjs +42 -27
- package/dist/Components/NcActionCheckbox.mjs.map +1 -1
- package/dist/Components/NcActionInput.cjs +2 -2
- package/dist/Components/NcActionInput.mjs +2 -2
- package/dist/Components/NcActionLink.cjs +28 -22
- package/dist/Components/NcActionLink.cjs.map +1 -1
- package/dist/Components/NcActionLink.mjs +28 -24
- package/dist/Components/NcActionLink.mjs.map +1 -1
- package/dist/Components/NcActionRadio.cjs +38 -25
- package/dist/Components/NcActionRadio.cjs.map +1 -1
- package/dist/Components/NcActionRadio.mjs +38 -28
- package/dist/Components/NcActionRadio.mjs.map +1 -1
- package/dist/Components/NcActionRouter.cjs +24 -20
- package/dist/Components/NcActionRouter.cjs.map +1 -1
- package/dist/Components/NcActionRouter.mjs +24 -22
- package/dist/Components/NcActionRouter.mjs.map +1 -1
- package/dist/Components/NcActionSeparator.cjs +15 -12
- package/dist/Components/NcActionSeparator.cjs.map +1 -1
- package/dist/Components/NcActionSeparator.mjs +15 -13
- package/dist/Components/NcActionSeparator.mjs.map +1 -1
- package/dist/Components/NcActionText.cjs +20 -16
- package/dist/Components/NcActionText.cjs.map +1 -1
- package/dist/Components/NcActionText.mjs +20 -18
- package/dist/Components/NcActionText.mjs.map +1 -1
- package/dist/Components/NcActionTextEditable.cjs +40 -29
- package/dist/Components/NcActionTextEditable.cjs.map +1 -1
- package/dist/Components/NcActionTextEditable.mjs +40 -33
- package/dist/Components/NcActionTextEditable.mjs.map +1 -1
- package/dist/Components/NcActions.cjs +2 -2
- package/dist/Components/NcActions.mjs +2 -2
- package/dist/Components/NcAppContent.cjs +2 -2
- package/dist/Components/NcAppContent.mjs +2 -2
- package/dist/Components/NcAppContentDetails.cjs +14 -11
- package/dist/Components/NcAppContentDetails.cjs.map +1 -1
- package/dist/Components/NcAppContentDetails.mjs +14 -12
- package/dist/Components/NcAppContentDetails.mjs.map +1 -1
- package/dist/Components/NcAppContentList.cjs +16 -13
- package/dist/Components/NcAppContentList.cjs.map +1 -1
- package/dist/Components/NcAppContentList.mjs +16 -14
- package/dist/Components/NcAppContentList.mjs.map +1 -1
- package/dist/Components/NcAppNavigation.cjs +2 -2
- package/dist/Components/NcAppNavigation.mjs +2 -2
- package/dist/Components/NcAppNavigationCaption.cjs +2 -2
- package/dist/Components/NcAppNavigationCaption.mjs +2 -2
- package/dist/Components/NcAppNavigationIconBullet.cjs +24 -18
- package/dist/Components/NcAppNavigationIconBullet.cjs.map +1 -1
- package/dist/Components/NcAppNavigationIconBullet.mjs +24 -19
- package/dist/Components/NcAppNavigationIconBullet.mjs.map +1 -1
- package/dist/Components/NcAppNavigationItem.cjs +2 -2
- package/dist/Components/NcAppNavigationItem.mjs +2 -2
- package/dist/Components/NcAppNavigationList.cjs +15 -12
- package/dist/Components/NcAppNavigationList.cjs.map +1 -1
- package/dist/Components/NcAppNavigationList.mjs +15 -13
- package/dist/Components/NcAppNavigationList.mjs.map +1 -1
- package/dist/Components/NcAppNavigationNew.cjs +27 -23
- package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
- package/dist/Components/NcAppNavigationNew.mjs +27 -25
- package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
- package/dist/Components/NcAppNavigationNewItem.cjs +2 -2
- package/dist/Components/NcAppNavigationNewItem.mjs +2 -2
- package/dist/Components/NcAppNavigationSettings.cjs +2 -2
- package/dist/Components/NcAppNavigationSettings.mjs +2 -2
- package/dist/Components/NcAppNavigationSpacer.cjs +15 -12
- package/dist/Components/NcAppNavigationSpacer.cjs.map +1 -1
- package/dist/Components/NcAppNavigationSpacer.mjs +15 -13
- package/dist/Components/NcAppNavigationSpacer.mjs.map +1 -1
- package/dist/Components/NcAppNavigationToggle.cjs +4 -4
- package/dist/Components/NcAppNavigationToggle.mjs +3 -3
- package/dist/Components/NcAppSettingsDialog.cjs +2 -2
- package/dist/Components/NcAppSettingsDialog.mjs +2 -2
- package/dist/Components/NcAppSettingsSection.cjs +29 -24
- package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
- package/dist/Components/NcAppSettingsSection.mjs +29 -25
- package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
- package/dist/Components/NcAppSidebar.cjs +2 -2
- package/dist/Components/NcAppSidebar.mjs +2 -2
- package/dist/Components/NcAppSidebarTab.cjs +24 -18
- package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
- package/dist/Components/NcAppSidebarTab.mjs +24 -19
- package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
- package/dist/Components/NcAvatar.cjs +2 -2
- package/dist/Components/NcAvatar.mjs +2 -2
- package/dist/Components/NcBreadcrumb.cjs +2 -2
- package/dist/Components/NcBreadcrumb.mjs +2 -2
- package/dist/Components/NcBreadcrumbs.cjs +2 -2
- package/dist/Components/NcBreadcrumbs.mjs +2 -2
- package/dist/Components/NcButton.cjs +79 -58
- package/dist/Components/NcButton.cjs.map +1 -1
- package/dist/Components/NcButton.mjs +79 -59
- package/dist/Components/NcButton.mjs.map +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.cjs +2 -2
- package/dist/Components/NcCheckboxRadioSwitch.mjs +2 -2
- package/dist/Components/NcColorPicker.cjs +2 -2
- package/dist/Components/NcColorPicker.mjs +2 -2
- package/dist/Components/NcContent.cjs +2 -2
- package/dist/Components/NcContent.mjs +2 -2
- package/dist/Components/NcCounterBubble.cjs +18 -15
- package/dist/Components/NcCounterBubble.cjs.map +1 -1
- package/dist/Components/NcCounterBubble.mjs +18 -16
- package/dist/Components/NcCounterBubble.mjs.map +1 -1
- package/dist/Components/NcDashboardWidget.cjs +2 -2
- package/dist/Components/NcDashboardWidget.mjs +2 -2
- package/dist/Components/NcDashboardWidgetItem.cjs +2 -2
- package/dist/Components/NcDashboardWidgetItem.mjs +2 -2
- package/dist/Components/NcDateTime.cjs +2 -2
- package/dist/Components/NcDateTime.mjs +2 -2
- package/dist/Components/NcDateTimePicker.cjs +142 -101
- package/dist/Components/NcDateTimePicker.cjs.map +1 -1
- package/dist/Components/NcDateTimePicker.mjs +140 -108
- package/dist/Components/NcDateTimePicker.mjs.map +1 -1
- package/dist/Components/NcDateTimePickerNative.cjs +72 -52
- package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
- package/dist/Components/NcDateTimePickerNative.mjs +72 -54
- package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
- package/dist/Components/NcDialog.cjs +2 -2
- package/dist/Components/NcDialog.mjs +2 -2
- package/dist/Components/NcDialogButton.cjs +2 -2
- package/dist/Components/NcDialogButton.mjs +2 -2
- package/dist/Components/NcEllipsisedOption.cjs +35 -20
- package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
- package/dist/Components/NcEllipsisedOption.mjs +35 -22
- package/dist/Components/NcEllipsisedOption.mjs.map +1 -1
- package/dist/Components/NcEmojiPicker.cjs +2 -2
- package/dist/Components/NcEmojiPicker.mjs +2 -2
- package/dist/Components/NcEmptyContent.cjs +21 -18
- package/dist/Components/NcEmptyContent.cjs.map +1 -1
- package/dist/Components/NcEmptyContent.mjs +21 -19
- package/dist/Components/NcEmptyContent.mjs.map +1 -1
- package/dist/Components/NcGuestContent.cjs +15 -12
- package/dist/Components/NcGuestContent.cjs.map +1 -1
- package/dist/Components/NcGuestContent.mjs +15 -13
- package/dist/Components/NcGuestContent.mjs.map +1 -1
- package/dist/Components/NcHeaderMenu.cjs +2 -2
- package/dist/Components/NcHeaderMenu.mjs +2 -2
- package/dist/Components/NcHighlight.cjs +2 -2
- package/dist/Components/NcHighlight.mjs +2 -2
- package/dist/Components/NcIconSvgWrapper.cjs +2 -2
- package/dist/Components/NcIconSvgWrapper.mjs +2 -2
- package/dist/Components/NcInputField.cjs +68 -52
- package/dist/Components/NcInputField.cjs.map +1 -1
- package/dist/Components/NcInputField.mjs +68 -57
- package/dist/Components/NcInputField.mjs.map +1 -1
- package/dist/Components/NcListItem.cjs +2 -2
- package/dist/Components/NcListItem.mjs +2 -2
- package/dist/Components/NcListItemIcon.cjs +2 -2
- package/dist/Components/NcListItemIcon.mjs +2 -2
- package/dist/Components/NcLoadingIcon.cjs +24 -16
- package/dist/Components/NcLoadingIcon.cjs.map +1 -1
- package/dist/Components/NcLoadingIcon.mjs +24 -17
- package/dist/Components/NcLoadingIcon.mjs.map +1 -1
- package/dist/Components/NcModal.cjs +257 -146
- package/dist/Components/NcModal.cjs.map +1 -1
- package/dist/Components/NcModal.mjs +257 -156
- package/dist/Components/NcModal.mjs.map +1 -1
- package/dist/Components/NcNoteCard.cjs +80 -65
- package/dist/Components/NcNoteCard.cjs.map +1 -1
- package/dist/Components/NcNoteCard.mjs +80 -66
- package/dist/Components/NcNoteCard.mjs.map +1 -1
- package/dist/Components/NcPasswordField.cjs +2 -2
- package/dist/Components/NcPasswordField.mjs +2 -2
- package/dist/Components/NcPopover.cjs +2 -2
- package/dist/Components/NcPopover.mjs +2 -2
- package/dist/Components/NcProgressBar.cjs +2 -2
- package/dist/Components/NcProgressBar.mjs +2 -2
- package/dist/Components/NcRelatedResourcesPanel.cjs +2 -2
- package/dist/Components/NcRelatedResourcesPanel.mjs +2 -2
- package/dist/Components/NcRichContenteditable.cjs +6 -5
- package/dist/Components/NcRichContenteditable.cjs.map +1 -1
- package/dist/Components/NcRichContenteditable.mjs +5 -5
- package/dist/Components/NcRichText.cjs +24 -22
- package/dist/Components/NcRichText.cjs.map +1 -1
- package/dist/Components/NcRichText.mjs +24 -24
- package/dist/Components/NcSavingIndicatorIcon.cjs +2 -2
- package/dist/Components/NcSavingIndicatorIcon.mjs +2 -2
- package/dist/Components/NcSelect.cjs +2 -2
- package/dist/Components/NcSelect.mjs +2 -2
- package/dist/Components/NcSelectTags.cjs +2 -2
- package/dist/Components/NcSelectTags.mjs +2 -2
- package/dist/Components/NcSettingsInputText.cjs +2 -2
- package/dist/Components/NcSettingsInputText.mjs +2 -2
- package/dist/Components/NcSettingsSection.cjs +2 -2
- package/dist/Components/NcSettingsSection.mjs +2 -2
- package/dist/Components/NcSettingsSelectGroup.cjs +4 -4
- package/dist/Components/NcSettingsSelectGroup.mjs +3 -3
- package/dist/Components/NcTextArea.cjs +51 -36
- package/dist/Components/NcTextArea.cjs.map +1 -1
- package/dist/Components/NcTextArea.mjs +51 -40
- package/dist/Components/NcTextArea.mjs.map +1 -1
- package/dist/Components/NcTextField.cjs +2 -2
- package/dist/Components/NcTextField.mjs +2 -2
- package/dist/Components/NcTimezonePicker.cjs +2 -2
- package/dist/Components/NcTimezonePicker.mjs +2 -2
- package/dist/Components/NcUserBubble.cjs +2 -2
- package/dist/Components/NcUserBubble.mjs +2 -2
- package/dist/Components/NcUserStatusIcon.cjs +2 -2
- package/dist/Components/NcUserStatusIcon.mjs +2 -2
- package/dist/Components/NcVNodes.cjs +15 -12
- package/dist/Components/NcVNodes.cjs.map +1 -1
- package/dist/Components/NcVNodes.mjs +15 -13
- package/dist/Components/NcVNodes.mjs.map +1 -1
- package/dist/Composables/useIsFullscreen.cjs +9 -8
- package/dist/Composables/useIsFullscreen.cjs.map +1 -1
- package/dist/Composables/useIsFullscreen.mjs +9 -8
- package/dist/Composables/useIsFullscreen.mjs.map +1 -1
- package/dist/Composables/useIsMobile.cjs +19 -14
- package/dist/Composables/useIsMobile.cjs.map +1 -1
- package/dist/Composables/useIsMobile.mjs +19 -14
- package/dist/Composables/useIsMobile.mjs.map +1 -1
- package/dist/Directives/Focus.cjs +6 -6
- package/dist/Directives/Focus.cjs.map +1 -1
- package/dist/Directives/Focus.mjs +5 -5
- package/dist/Directives/Focus.mjs.map +1 -1
- package/dist/Directives/Linkify.cjs +9 -6
- package/dist/Directives/Linkify.cjs.map +1 -1
- package/dist/Directives/Linkify.mjs +8 -6
- package/dist/Directives/Linkify.mjs.map +1 -1
- package/dist/Directives/Tooltip.cjs +11 -11
- package/dist/Directives/Tooltip.cjs.map +1 -1
- package/dist/Directives/Tooltip.mjs +9 -9
- package/dist/Directives/Tooltip.mjs.map +1 -1
- package/dist/Functions/a11y.cjs +33 -0
- package/dist/Functions/a11y.cjs.map +1 -0
- package/dist/Functions/a11y.mjs +33 -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/reference.cjs +16 -15
- package/dist/Functions/reference.cjs.map +1 -1
- package/dist/Functions/reference.mjs +16 -16
- package/dist/Functions/registerReference.cjs +11 -11
- package/dist/Functions/registerReference.mjs +10 -10
- package/dist/Functions/usernameToColor.cjs +2 -2
- package/dist/Functions/usernameToColor.mjs +2 -2
- package/dist/Mixins/clickOutsideOptions.cjs +4 -3
- package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
- package/dist/Mixins/clickOutsideOptions.mjs +4 -3
- package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
- package/dist/Mixins/isFullscreen.cjs +4 -4
- package/dist/Mixins/isFullscreen.cjs.map +1 -1
- package/dist/Mixins/isFullscreen.mjs +4 -4
- package/dist/Mixins/isFullscreen.mjs.map +1 -1
- package/dist/Mixins/isMobile.cjs +4 -4
- package/dist/Mixins/isMobile.cjs.map +1 -1
- package/dist/Mixins/isMobile.mjs +4 -4
- package/dist/Mixins/isMobile.mjs.map +1 -1
- package/dist/Mixins/richEditor.cjs +6 -6
- package/dist/Mixins/richEditor.mjs +5 -5
- package/dist/assets/{NcActionButton-Cs5kVVAD.css → NcActionButton-CkChpLnH.css} +16 -11
- package/dist/assets/{NcActionButtonGroup-ChehtUip.css → NcActionButtonGroup-CvloX35s.css} +5 -4
- package/dist/assets/{NcActionCaption-Bp8mrIk7.css → NcActionCaption-sfcjBZnu.css} +4 -2
- package/dist/assets/{NcActionCheckbox-Do--WvUT.css → NcActionCheckbox-DTlI7y7p.css} +13 -9
- package/dist/assets/{NcActionInput-8F2WF3yH.css → NcActionInput-B8l22cnm.css} +44 -16
- package/dist/assets/{NcActionLink-DN3NCDC0.css → NcActionLink-C-NDmERH.css} +9 -6
- package/dist/assets/{NcActionRadio-B46v1Kn4.css → NcActionRadio-syUIsm9B.css} +13 -9
- package/dist/assets/{NcActionRouter-wVMPq1gi.css → NcActionRouter-BbTCI4sn.css} +12 -10
- package/dist/assets/{NcActionSeparator-CX3zFZuI.css → NcActionSeparator-CB59y4di.css} +4 -1
- package/dist/assets/{NcActionText-YljCzD9Q.css → NcActionText-Ceh88fy8.css} +12 -10
- package/dist/assets/{NcActionTextEditable-mti5YQN1.css → NcActionTextEditable-BoxziChR.css} +52 -24
- package/dist/assets/{NcActions-DL7ZZIjx.css → NcActions-9_rnkpG4.css} +40 -13
- package/dist/assets/{NcAppContent-aWiDWWeq.css → NcAppContent-C08OMmgh.css} +42 -17
- package/dist/assets/{NcAppNavigation-wkQJnaLW.css → NcAppNavigation-ClImKhvx.css} +31 -3
- package/dist/assets/{NcAppNavigationCaption-jV1y8HQ1.css → NcAppNavigationCaption-BbwgabsF.css} +5 -2
- package/dist/assets/{NcAppNavigationIconBullet-1_cBEwu8.css → NcAppNavigationIconBullet-B8q3pUL5.css} +5 -2
- package/dist/assets/{NcAppNavigationItem-BxoyzD83.css → NcAppNavigationItem-Dy9C3jxc.css} +70 -48
- package/dist/assets/{NcAppNavigationList-CUnaMQQD.css → NcAppNavigationList-DnIxrbVX.css} +4 -1
- package/dist/assets/{NcAppNavigationNew-COjJ3vwU.css → NcAppNavigationNew-BPZ1O8Xm.css} +6 -1
- package/dist/assets/{NcAppNavigationNewItem-C574fgtB.css → NcAppNavigationNewItem-DF3nldsK.css} +26 -28
- package/dist/assets/{NcAppNavigationSettings-nH_pGlKc.css → NcAppNavigationSettings-BCkvRAy8.css} +11 -6
- package/dist/assets/{NcAppNavigationSpacer-C5p-33VT.css → NcAppNavigationSpacer-Cb4q1zb5.css} +4 -2
- package/dist/assets/{NcAppNavigationToggle-De8wq0JA.css → NcAppNavigationToggle-0yhQ9xse.css} +4 -1
- package/dist/assets/{NcAppSettingsDialog-DR46jcRG.css → NcAppSettingsDialog-CajWZJNV.css} +7 -5
- package/dist/assets/{NcAppSettingsSection-BqF92GLH.css → NcAppSettingsSection-BDvzWKkd.css} +5 -2
- package/dist/assets/{NcAppSidebar-BJPR-mTB.css → NcAppSidebar-Bi22qfW1.css} +105 -53
- package/dist/assets/{NcAppSidebarTab-XLBsrGqg.css → NcAppSidebarTab-CBFET-hQ.css} +5 -2
- package/dist/assets/{NcAvatar-CR4U9eTm.css → NcAvatar-DaftSb4x.css} +30 -31
- package/dist/assets/{NcBreadcrumb-eyloXKCC.css → NcBreadcrumb-AES5eSWo.css} +8 -6
- package/dist/assets/{NcBreadcrumbs-oFXQlxy-.css → NcBreadcrumbs-tYrp1DVs.css} +10 -8
- package/dist/assets/{NcButton-DhaPcomf.css → NcButton-D4HxnscK.css} +13 -13
- package/dist/assets/{NcCheckboxRadioSwitch-CaAqi0Jt.css → NcCheckboxRadioSwitch-DArK1Q95.css} +76 -53
- package/dist/assets/{NcColorPicker-CNboc7FY.css → NcColorPicker-CzKZjMxY.css} +38 -33
- package/dist/assets/{NcContent-tZHbeX2L.css → NcContent-Cuv2HvFH.css} +29 -3
- package/dist/assets/{NcCounterBubble-CuCSao3j.css → NcCounterBubble-CWi_P1Tb.css} +6 -3
- package/dist/assets/{NcDashboardWidget-DTV15Fb1.css → NcDashboardWidget-CGOA8X60.css} +7 -3
- package/dist/assets/{NcDashboardWidgetItem-4v77FH89.css → NcDashboardWidgetItem-BevETFRF.css} +18 -3
- package/dist/assets/{NcDateTimePicker-qKgAO9KO.css → NcDateTimePicker-D1jwoP61.css} +144 -163
- package/dist/assets/{NcDateTimePickerNative-DnLJu29_.css → NcDateTimePickerNative-CV_VuzvQ.css} +7 -4
- package/dist/assets/{NcDialog-M36tj7nk.css → NcDialog-DFMxsFp5.css} +55 -21
- package/dist/assets/{NcEllipsisedOption-B6gjXSS9.css → NcEllipsisedOption-ClDzkIX6.css} +7 -6
- package/dist/assets/{NcEmojiPicker-B-4WNYcx.css → NcEmojiPicker-XL3oUsqE.css} +79 -50
- package/dist/assets/{NcEmptyContent-ClLPsXo5.css → NcEmptyContent--xKgddPn.css} +7 -3
- package/dist/assets/{NcGuestContent-CYYZPMjb.css → NcGuestContent-CeRLfUEi.css} +28 -1
- package/dist/assets/{NcHeaderMenu-BKufmJd0.css → NcHeaderMenu-N5y8yFGd.css} +7 -7
- package/dist/assets/{NcIconSvgWrapper-oui2KPBT.css → NcIconSvgWrapper-C5vV6-c0.css} +4 -1
- package/dist/assets/{NcInputConfirmCancel-CSzzPx0i.css → NcInputConfirmCancel-UcHrm0al.css} +7 -5
- package/dist/assets/{NcInputField-vYuV3-IY.css → NcInputField-CXoTqF9T.css} +16 -33
- package/dist/assets/{NcListItem-BIFTbr17.css → NcListItem-DMYcn1cc.css} +11 -21
- package/dist/assets/{NcListItemIcon-9Dazpmpd.css → NcListItemIcon-B9UQBQSa.css} +9 -11
- package/dist/assets/{NcLoadingIcon-CFmftMkz.css → NcLoadingIcon-gxK0ujO0.css} +5 -2
- package/dist/assets/{NcMentionBubble-7PQ8wEko.css → NcMentionBubble-DmzU72Mw.css} +5 -2
- package/dist/assets/{NcModal-CwgrmxSg.css → NcModal-Cof88czY.css} +42 -38
- package/dist/assets/{NcNoteCard-B_Q1mnCM.css → NcNoteCard-e7-Bxio8.css} +10 -6
- package/dist/assets/{NcPopover-wrgZy49g.css → NcPopover-BwI1hPzy.css} +4 -1
- package/dist/assets/{NcProgressBar-DDj4bmBB.css → NcProgressBar-D5VftcJm.css} +4 -1
- package/dist/assets/{NcRelatedResourcesPanel-D6K7OQFJ.css → NcRelatedResourcesPanel-BrXxbjgR.css} +60 -8
- package/dist/assets/{NcRichContenteditable-BQ2-fqnd.css → NcRichContenteditable-C-eZyVQM.css} +60 -22
- package/dist/assets/NcRichText-Cdp_2wEm.css +240 -0
- package/dist/assets/{NcSelect-4aBmXHhA.css → NcSelect-Fmyu7qyl.css} +34 -13
- package/dist/assets/{NcSettingsInputText-w-LprdjK.css → NcSettingsInputText-CU65Coab.css} +4 -1
- package/dist/assets/{NcSettingsSection-8RabR54v.css → NcSettingsSection-e9XGyBq8.css} +9 -7
- package/dist/assets/{NcSettingsSelectGroup-D8mlvzIT.css → NcSettingsSelectGroup-CPauLI-o.css} +4 -1
- package/dist/assets/{NcTextArea-DitXCroY.css → NcTextArea-XCi8a16Y.css} +13 -28
- package/dist/assets/{NcUserBubble-COPMjmKa.css → NcUserBubble-D5ieZC-f.css} +7 -4
- package/dist/assets/{NcUserStatusIcon-Dra7jf_o.css → NcUserStatusIcon-BcLArDqV.css} +4 -1
- package/dist/assets/{Tooltip-DA4si7PR.css → Tooltip-jHgt4m-W.css} +19 -3
- package/dist/assets/referencePickerModal-C0ibN2gO.css +539 -0
- package/dist/chunks/AlertCircleOutline-BzttElgq.mjs +39 -0
- package/dist/chunks/{AlertCircleOutline-DHFN4OkX.cjs.map → AlertCircleOutline-BzttElgq.mjs.map} +1 -1
- package/dist/chunks/AlertCircleOutline-Cb0gAiDw.cjs +38 -0
- package/dist/chunks/{AlertCircleOutline-U_bhL30C.mjs.map → AlertCircleOutline-Cb0gAiDw.cjs.map} +1 -1
- package/dist/chunks/ArrowLeft-B9iGweTd.mjs +39 -0
- package/dist/chunks/{ArrowLeft-CjNnGIlF.cjs.map → ArrowLeft-B9iGweTd.mjs.map} +1 -1
- package/dist/chunks/ArrowLeft-BhNmMdMz.cjs +38 -0
- package/dist/chunks/{ArrowLeft-kklNBL9z.mjs.map → ArrowLeft-BhNmMdMz.cjs.map} +1 -1
- package/dist/chunks/ArrowRight-Clf455e1.mjs +39 -0
- package/dist/chunks/{ArrowRight-CxzzJJQ6.cjs.map → ArrowRight-Clf455e1.mjs.map} +1 -1
- package/dist/chunks/ArrowRight-DaYrccVG.cjs +38 -0
- package/dist/chunks/{ArrowRight-C3BxTDjF.mjs.map → ArrowRight-DaYrccVG.cjs.map} +1 -1
- package/dist/chunks/Check-DZc7keoa.cjs +38 -0
- package/dist/chunks/{Check-CVn5nytg.cjs.map → Check-DZc7keoa.cjs.map} +1 -1
- package/dist/chunks/Check-PawIlCwa.mjs +39 -0
- package/dist/chunks/{Check-CRLmJNGG.mjs.map → Check-PawIlCwa.mjs.map} +1 -1
- package/dist/chunks/ChevronDown-CF9m1o8_.cjs +38 -0
- package/dist/chunks/{ChevronDown-DQPox_nl.cjs.map → ChevronDown-CF9m1o8_.cjs.map} +1 -1
- package/dist/chunks/ChevronDown-PedEroXo.mjs +39 -0
- package/dist/chunks/{ChevronDown-HHJdUMN4.mjs.map → ChevronDown-PedEroXo.mjs.map} +1 -1
- package/dist/chunks/ChevronRight-BNa7yMja.mjs +39 -0
- package/dist/chunks/{ChevronRight-BAJhNawb.cjs.map → ChevronRight-BNa7yMja.mjs.map} +1 -1
- package/dist/chunks/ChevronRight-DVw6mR11.cjs +38 -0
- package/dist/chunks/{ChevronRight-DL3e8bjj.mjs.map → ChevronRight-DVw6mR11.cjs.map} +1 -1
- package/dist/chunks/ChevronUp-CTOKWYlC.cjs +38 -0
- package/dist/chunks/{ChevronUp-kmHRpe7H.cjs.map → ChevronUp-CTOKWYlC.cjs.map} +1 -1
- package/dist/chunks/ChevronUp-DGLTg_nO.mjs +39 -0
- package/dist/chunks/{ChevronUp-B6TIgl1a.mjs.map → ChevronUp-DGLTg_nO.mjs.map} +1 -1
- package/dist/chunks/Close-1V1F2F-M.mjs +39 -0
- package/dist/chunks/{Close-DBfrdXMw.cjs.map → Close-1V1F2F-M.mjs.map} +1 -1
- package/dist/chunks/Close-C2VrgKj3.cjs +38 -0
- package/dist/chunks/{Close-BtO5TPBO.mjs.map → Close-C2VrgKj3.cjs.map} +1 -1
- package/dist/chunks/DotsHorizontal-C0STD_HU.mjs +39 -0
- package/dist/chunks/{DotsHorizontal-B8kTqpHe.cjs.map → DotsHorizontal-C0STD_HU.mjs.map} +1 -1
- package/dist/chunks/DotsHorizontal-Cjw3-45t.cjs +38 -0
- package/dist/chunks/{DotsHorizontal-DfVgEXgz.mjs.map → DotsHorizontal-Cjw3-45t.cjs.map} +1 -1
- package/dist/chunks/GenColors-B1GUK4zF.cjs +160 -0
- package/dist/chunks/{GenColors-D0bH59Rv.mjs.map → GenColors-B1GUK4zF.cjs.map} +1 -1
- package/dist/chunks/{GenColors-D0bH59Rv.mjs → GenColors-DjFwlIhX.mjs} +69 -50
- package/dist/chunks/{GenColors-Du2-qv6X.cjs.map → GenColors-DjFwlIhX.mjs.map} +1 -1
- package/dist/chunks/{GenRandomId-BW3iYFf9.mjs → GenRandomId-CXkjMlAT.mjs} +4 -2
- package/dist/chunks/{GenRandomId-BW3iYFf9.mjs.map → GenRandomId-CXkjMlAT.mjs.map} +1 -1
- package/dist/chunks/{GenRandomId-B2O1GMbH.cjs → GenRandomId-kBCcgMJd.cjs} +4 -2
- package/dist/chunks/{GenRandomId-B2O1GMbH.cjs.map → GenRandomId-kBCcgMJd.cjs.map} +1 -1
- package/dist/chunks/{Linkify-BaDLLFxP.mjs → Linkify-BBPJHBma.mjs} +12 -10
- package/dist/chunks/{Linkify-Dola0NBa.cjs.map → Linkify-BBPJHBma.mjs.map} +1 -1
- package/dist/chunks/{Linkify-Dola0NBa.cjs → Linkify-CIO279AG.cjs} +14 -10
- package/dist/chunks/{Linkify-BaDLLFxP.mjs.map → Linkify-CIO279AG.cjs.map} +1 -1
- package/dist/chunks/NcActionButtonGroup-BISuGifY.mjs +53 -0
- package/dist/chunks/{NcActionButtonGroup-jODsi2kz.mjs.map → NcActionButtonGroup-BISuGifY.mjs.map} +1 -1
- package/dist/chunks/NcActionButtonGroup-iKUlQ6Sg.cjs +52 -0
- package/dist/chunks/{NcActionButtonGroup-Cawk1Q5J.cjs.map → NcActionButtonGroup-iKUlQ6Sg.cjs.map} +1 -1
- package/dist/chunks/NcActionInput-CU4Ycto_.cjs +253 -0
- package/dist/chunks/{NcActionInput-NL0c8XAX.cjs.map → NcActionInput-CU4Ycto_.cjs.map} +1 -1
- package/dist/chunks/NcActionInput-GJBTX1-r.mjs +254 -0
- package/dist/chunks/{NcActionInput-BJSgHPYh.mjs.map → NcActionInput-GJBTX1-r.mjs.map} +1 -1
- package/dist/chunks/NcActions-CZe78ai2.mjs +845 -0
- package/dist/chunks/{NcActions-B1Ue3gj8.mjs.map → NcActions-CZe78ai2.mjs.map} +1 -1
- package/dist/chunks/NcActions-ePQTvWyX.cjs +846 -0
- package/dist/chunks/{NcActions-X10TnO-4.cjs.map → NcActions-ePQTvWyX.cjs.map} +1 -1
- package/dist/chunks/NcAppContent-BCShRsQU.cjs +303 -0
- package/dist/chunks/{NcAppContent-BkVLz0T8.mjs.map → NcAppContent-BCShRsQU.cjs.map} +1 -1
- package/dist/chunks/NcAppContent-gyRkh2hd.mjs +304 -0
- package/dist/chunks/{NcAppContent-CxdfMOVw.cjs.map → NcAppContent-gyRkh2hd.mjs.map} +1 -1
- package/dist/chunks/NcAppNavigation-DjlepJn1.mjs +142 -0
- package/dist/chunks/{NcAppNavigation-BxaQQTmk.mjs.map → NcAppNavigation-DjlepJn1.mjs.map} +1 -1
- package/dist/chunks/NcAppNavigation-NMvbfe_y.cjs +143 -0
- package/dist/chunks/{NcAppNavigation-CmBNq0sh.cjs.map → NcAppNavigation-NMvbfe_y.cjs.map} +1 -1
- package/dist/chunks/NcAppNavigationCaption-B-flkujS.cjs +62 -0
- package/dist/chunks/{NcAppNavigationCaption-BQsUUBUS.mjs.map → NcAppNavigationCaption-B-flkujS.cjs.map} +1 -1
- package/dist/chunks/NcAppNavigationCaption-PZDKx81g.mjs +63 -0
- package/dist/chunks/{NcAppNavigationCaption-CUJSIO54.cjs.map → NcAppNavigationCaption-PZDKx81g.mjs.map} +1 -1
- package/dist/chunks/NcAppNavigationItem-CFyEP8wP.mjs +522 -0
- package/dist/chunks/{NcAppNavigationItem-Cheox0NI.mjs.map → NcAppNavigationItem-CFyEP8wP.mjs.map} +1 -1
- package/dist/chunks/NcAppNavigationItem-D-j_j_i5.cjs +521 -0
- package/dist/chunks/{NcAppNavigationItem-DdfXf1p_.cjs.map → NcAppNavigationItem-D-j_j_i5.cjs.map} +1 -1
- package/dist/chunks/NcAppNavigationNewItem-0C1S6gig.mjs +98 -0
- package/dist/chunks/{NcAppNavigationNewItem-Dmb8qw0g.mjs.map → NcAppNavigationNewItem-0C1S6gig.mjs.map} +1 -1
- package/dist/chunks/NcAppNavigationNewItem-DU1Va5Qs.cjs +97 -0
- package/dist/chunks/{NcAppNavigationNewItem-BkyKxjL8.cjs.map → NcAppNavigationNewItem-DU1Va5Qs.cjs.map} +1 -1
- package/dist/chunks/NcAppNavigationSettings-BVYD-_ON.mjs +111 -0
- package/dist/chunks/{NcAppNavigationSettings-CCjTkNf3.cjs.map → NcAppNavigationSettings-BVYD-_ON.mjs.map} +1 -1
- package/dist/chunks/NcAppNavigationSettings-CnuxB4p7.cjs +110 -0
- package/dist/chunks/{NcAppNavigationSettings-_O0oYU8k.mjs.map → NcAppNavigationSettings-CnuxB4p7.cjs.map} +1 -1
- package/dist/chunks/NcAppNavigationToggle--6uvG5sY.cjs +129 -0
- package/dist/chunks/{NcAppNavigationToggle-VDwkZ4nu.mjs.map → NcAppNavigationToggle--6uvG5sY.cjs.map} +1 -1
- package/dist/chunks/NcAppNavigationToggle-xOyRbwls.mjs +130 -0
- package/dist/chunks/{NcAppNavigationToggle-nnE6CrRb.cjs.map → NcAppNavigationToggle-xOyRbwls.mjs.map} +1 -1
- package/dist/chunks/NcAppSettingsDialog-CAYJSfm3.cjs +232 -0
- package/dist/chunks/{NcAppSettingsDialog-CECnsnfv.mjs.map → NcAppSettingsDialog-CAYJSfm3.cjs.map} +1 -1
- package/dist/chunks/NcAppSettingsDialog-CMknLVAP.mjs +230 -0
- package/dist/chunks/{NcAppSettingsDialog-wqDewrRQ.cjs.map → NcAppSettingsDialog-CMknLVAP.mjs.map} +1 -1
- package/dist/chunks/NcAppSidebar-D4v3Msgl.cjs +723 -0
- package/dist/chunks/NcAppSidebar-D4v3Msgl.cjs.map +1 -0
- package/dist/chunks/NcAppSidebar-DWb4MNeo.mjs +724 -0
- package/dist/chunks/NcAppSidebar-DWb4MNeo.mjs.map +1 -0
- package/dist/chunks/NcAvatar-BYvbqQP3.mjs +594 -0
- package/dist/chunks/NcAvatar-BYvbqQP3.mjs.map +1 -0
- package/dist/chunks/NcAvatar-DvV77AjU.cjs +595 -0
- package/dist/chunks/NcAvatar-DvV77AjU.cjs.map +1 -0
- package/dist/chunks/NcBreadcrumb-CccFNtmn.mjs +206 -0
- package/dist/chunks/{NcBreadcrumb-BerOYeSO.mjs.map → NcBreadcrumb-CccFNtmn.mjs.map} +1 -1
- package/dist/chunks/NcBreadcrumb-D_B838UO.cjs +205 -0
- package/dist/chunks/{NcBreadcrumb-BBZofeFG.cjs.map → NcBreadcrumb-D_B838UO.cjs.map} +1 -1
- package/dist/chunks/NcBreadcrumbs-BhBkulau.mjs +525 -0
- package/dist/chunks/{NcBreadcrumbs-BypDKcgj.mjs.map → NcBreadcrumbs-BhBkulau.mjs.map} +1 -1
- package/dist/chunks/NcBreadcrumbs-CaLzYM5s.cjs +527 -0
- package/dist/chunks/{NcBreadcrumbs-D0aoSiDN.cjs.map → NcBreadcrumbs-CaLzYM5s.cjs.map} +1 -1
- package/dist/chunks/NcCheckboxRadioSwitch-0kVQhCVw.cjs +685 -0
- package/dist/chunks/NcCheckboxRadioSwitch-0kVQhCVw.cjs.map +1 -0
- package/dist/chunks/NcCheckboxRadioSwitch-ByOy5xz5.mjs +686 -0
- package/dist/chunks/NcCheckboxRadioSwitch-ByOy5xz5.mjs.map +1 -0
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-BhTGXTuA.mjs +3 -0
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-BhTGXTuA.mjs.map +1 -0
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-CrbKZag1.cjs +4 -0
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-CrbKZag1.cjs.map +1 -0
- package/dist/chunks/NcColorPicker-BZ8w5NOJ.mjs +191 -0
- package/dist/chunks/NcColorPicker-BZ8w5NOJ.mjs.map +1 -0
- package/dist/chunks/NcColorPicker-BhdOJcFp.cjs +190 -0
- package/dist/chunks/NcColorPicker-BhdOJcFp.cjs.map +1 -0
- package/dist/chunks/NcContent-DW28aXMb.mjs +104 -0
- package/dist/chunks/{NcContent-CQk_EERB.mjs.map → NcContent-DW28aXMb.mjs.map} +1 -1
- package/dist/chunks/NcContent-JMqroMPc.cjs +103 -0
- package/dist/chunks/{NcContent-D-F_hXQE.cjs.map → NcContent-JMqroMPc.cjs.map} +1 -1
- package/dist/chunks/NcDashboardWidget-Bt_AiMLT.cjs +147 -0
- package/dist/chunks/{NcDashboardWidget-B5kIIXjc.mjs.map → NcDashboardWidget-Bt_AiMLT.cjs.map} +1 -1
- package/dist/chunks/NcDashboardWidget-hoZw8Qfz.mjs +148 -0
- package/dist/chunks/{NcDashboardWidget-DLTh61Jk.cjs.map → NcDashboardWidget-hoZw8Qfz.mjs.map} +1 -1
- package/dist/chunks/NcDashboardWidgetItem-C-Wa9TNk.mjs +151 -0
- package/dist/chunks/{NcDashboardWidgetItem-xj-DfJjn.mjs.map → NcDashboardWidgetItem-C-Wa9TNk.mjs.map} +1 -1
- package/dist/chunks/NcDashboardWidgetItem-DjSXMVgm.cjs +150 -0
- package/dist/chunks/{NcDashboardWidgetItem-BKhL4kyY.cjs.map → NcDashboardWidgetItem-DjSXMVgm.cjs.map} +1 -1
- package/dist/chunks/NcDateTime-iW-kErE1.mjs +181 -0
- package/dist/chunks/NcDateTime-iW-kErE1.mjs.map +1 -0
- package/dist/chunks/NcDateTime-kvWumSJA.cjs +180 -0
- package/dist/chunks/NcDateTime-kvWumSJA.cjs.map +1 -0
- package/dist/chunks/NcDialog-1TWFrsjf.mjs +235 -0
- package/dist/chunks/{NcDialog-C6nYgBDF.cjs.map → NcDialog-1TWFrsjf.mjs.map} +1 -1
- package/dist/chunks/NcDialog-G7XA1Z88.cjs +234 -0
- package/dist/chunks/{NcDialog-D6YSjidf.mjs.map → NcDialog-G7XA1Z88.cjs.map} +1 -1
- package/dist/chunks/NcDialogButton-NiGZGBjq.cjs +78 -0
- package/dist/chunks/{NcDialogButton-DQFoaN7q.mjs.map → NcDialogButton-NiGZGBjq.cjs.map} +1 -1
- package/dist/chunks/NcDialogButton-jh2GOQ_7.mjs +79 -0
- package/dist/chunks/{NcDialogButton-D7ibBxsQ.cjs.map → NcDialogButton-jh2GOQ_7.mjs.map} +1 -1
- package/dist/chunks/NcEmojiPicker-Drc9tYzl.mjs +284 -0
- package/dist/chunks/{NcEmojiPicker-028V7lKH.mjs.map → NcEmojiPicker-Drc9tYzl.mjs.map} +1 -1
- package/dist/chunks/NcEmojiPicker-Ju0ogVxs.cjs +285 -0
- package/dist/chunks/{NcEmojiPicker-BDRuuzNw.cjs.map → NcEmojiPicker-Ju0ogVxs.cjs.map} +1 -1
- package/dist/chunks/NcHeaderMenu-2n5GDt37.mjs +226 -0
- package/dist/chunks/{NcHeaderMenu-DOGXti7v.mjs.map → NcHeaderMenu-2n5GDt37.mjs.map} +1 -1
- package/dist/chunks/NcHeaderMenu-830tFszI.cjs +225 -0
- package/dist/chunks/{NcHeaderMenu-58OTmM-5.cjs.map → NcHeaderMenu-830tFszI.cjs.map} +1 -1
- package/dist/chunks/NcIconSvgWrapper-5v5HBSpx.mjs +109 -0
- package/dist/chunks/{NcIconSvgWrapper-kIn1eQyv.cjs.map → NcIconSvgWrapper-5v5HBSpx.mjs.map} +1 -1
- package/dist/chunks/NcIconSvgWrapper-D4GEZPIc.cjs +111 -0
- package/dist/chunks/{NcIconSvgWrapper-BTdzvQGV.mjs.map → NcIconSvgWrapper-D4GEZPIc.cjs.map} +1 -1
- package/dist/chunks/NcInputConfirmCancel-_SvdghX9.cjs +112 -0
- package/dist/chunks/{NcInputConfirmCancel-unF2X_Ax.cjs.map → NcInputConfirmCancel-_SvdghX9.cjs.map} +1 -1
- package/dist/chunks/NcInputConfirmCancel-uSZodQXZ.mjs +113 -0
- package/dist/chunks/{NcInputConfirmCancel-D5GYt1Th.mjs.map → NcInputConfirmCancel-uSZodQXZ.mjs.map} +1 -1
- package/dist/chunks/NcListItem-DwXB_QT2.cjs +275 -0
- package/dist/chunks/{NcListItem-DUrmhUuv.mjs.map → NcListItem-DwXB_QT2.cjs.map} +1 -1
- package/dist/chunks/NcListItem-R4rlqTZ-.mjs +276 -0
- package/dist/chunks/{NcListItem-BnsP7HQy.cjs.map → NcListItem-R4rlqTZ-.mjs.map} +1 -1
- package/dist/chunks/NcListItemIcon-DKSzgujO.cjs +175 -0
- package/dist/chunks/{NcListItemIcon-9um1JI9_.mjs.map → NcListItemIcon-DKSzgujO.cjs.map} +1 -1
- package/dist/chunks/NcListItemIcon-DONcrnT_.mjs +176 -0
- package/dist/chunks/{NcListItemIcon-Dd_ykGiP.cjs.map → NcListItemIcon-DONcrnT_.mjs.map} +1 -1
- package/dist/chunks/NcPasswordField-CGhVkWI2.cjs +256 -0
- package/dist/chunks/{NcPasswordField-BE4xwMjQ.mjs.map → NcPasswordField-CGhVkWI2.cjs.map} +1 -1
- package/dist/chunks/NcPasswordField-Vyt7Pk2z.mjs +254 -0
- package/dist/chunks/{NcPasswordField-ghqpLn7G.cjs.map → NcPasswordField-Vyt7Pk2z.mjs.map} +1 -1
- package/dist/chunks/NcPopover-BS1bBSkg.cjs +268 -0
- package/dist/chunks/{NcPopover--V3R3EKV.mjs.map → NcPopover-BS1bBSkg.cjs.map} +1 -1
- package/dist/chunks/NcPopover-foxJPAfG.mjs +267 -0
- package/dist/chunks/{NcPopover-h-t7Dnjk.cjs.map → NcPopover-foxJPAfG.mjs.map} +1 -1
- package/dist/chunks/NcProgressBar-BafFcKiu.mjs +117 -0
- package/dist/chunks/{NcProgressBar-BYk5hfPI.cjs.map → NcProgressBar-BafFcKiu.mjs.map} +1 -1
- package/dist/chunks/NcProgressBar-mFqoqB4L.cjs +116 -0
- package/dist/chunks/{NcProgressBar-DDAeXyp8.mjs.map → NcProgressBar-mFqoqB4L.cjs.map} +1 -1
- package/dist/chunks/NcRelatedResourcesPanel-BY8X00Zd.mjs +438 -0
- package/dist/chunks/{NcRelatedResourcesPanel-_r1K7ZaY.cjs.map → NcRelatedResourcesPanel-BY8X00Zd.mjs.map} +1 -1
- package/dist/chunks/NcRelatedResourcesPanel-Ci31S2dU.cjs +439 -0
- package/dist/chunks/{NcRelatedResourcesPanel-CuvKC8Is.mjs.map → NcRelatedResourcesPanel-Ci31S2dU.cjs.map} +1 -1
- package/dist/chunks/NcRichContenteditable-BpHLlt5A.mjs +797 -0
- package/dist/chunks/{NcRichContenteditable-Bo4te1z-.mjs.map → NcRichContenteditable-BpHLlt5A.mjs.map} +1 -1
- package/dist/chunks/NcRichContenteditable-DnukwC1y.cjs +800 -0
- package/dist/chunks/{NcRichContenteditable-Bm4NjGuD.cjs.map → NcRichContenteditable-DnukwC1y.cjs.map} +1 -1
- package/dist/chunks/NcRichText-Ba2D7EQq.mjs +412 -0
- package/dist/chunks/NcRichText-Ba2D7EQq.mjs.map +1 -0
- package/dist/chunks/NcRichText-U0Ral4-y.cjs +419 -0
- package/dist/chunks/NcRichText-U0Ral4-y.cjs.map +1 -0
- package/dist/chunks/NcSavingIndicatorIcon-Bhy7wcoT.mjs +65 -0
- package/dist/chunks/{NcSavingIndicatorIcon-Bf0SEmgS.mjs.map → NcSavingIndicatorIcon-Bhy7wcoT.mjs.map} +1 -1
- package/dist/chunks/NcSavingIndicatorIcon-BzKAIkhk.cjs +64 -0
- package/dist/chunks/{NcSavingIndicatorIcon-BTvUkUn-.cjs.map → NcSavingIndicatorIcon-BzKAIkhk.cjs.map} +1 -1
- package/dist/chunks/{NcSelect-DRVEZt73.mjs → NcSelect-EnQUx7gf.mjs} +159 -121
- package/dist/chunks/{NcSelect-C58Mm9lZ.cjs.map → NcSelect-EnQUx7gf.mjs.map} +1 -1
- package/dist/chunks/{NcSelect-C58Mm9lZ.cjs → NcSelect-uODI-lly.cjs} +161 -111
- package/dist/chunks/{NcSelect-DRVEZt73.mjs.map → NcSelect-uODI-lly.cjs.map} +1 -1
- package/dist/chunks/NcSelectTags-BzQxtK0g.cjs +303 -0
- package/dist/chunks/{NcSelectTags-Cleij1YB.cjs.map → NcSelectTags-BzQxtK0g.cjs.map} +1 -1
- package/dist/chunks/NcSelectTags-tEADv0cv.mjs +302 -0
- package/dist/chunks/{NcSelectTags-35nlauoq.mjs.map → NcSelectTags-tEADv0cv.mjs.map} +1 -1
- package/dist/chunks/NcSettingsInputText-BdjyNei5.mjs +102 -0
- package/dist/chunks/{NcSettingsInputText-BxsnpVjM.mjs.map → NcSettingsInputText-BdjyNei5.mjs.map} +1 -1
- package/dist/chunks/NcSettingsInputText-Bg_VDGoS.cjs +101 -0
- package/dist/chunks/{NcSettingsInputText-Cy7Umyq4.cjs.map → NcSettingsInputText-Bg_VDGoS.cjs.map} +1 -1
- package/dist/chunks/NcSettingsSection-CWQHnXy4.cjs +102 -0
- package/dist/chunks/{NcSettingsSection-BntYMcIt.mjs.map → NcSettingsSection-CWQHnXy4.cjs.map} +1 -1
- package/dist/chunks/NcSettingsSection-CWUIg3WZ.mjs +103 -0
- package/dist/chunks/{NcSettingsSection-fWPqQmzZ.cjs.map → NcSettingsSection-CWUIg3WZ.mjs.map} +1 -1
- package/dist/chunks/NcSettingsSelectGroup-DyQfy9P5.cjs +213 -0
- package/dist/chunks/{NcSettingsSelectGroup-CehQI4oG.mjs.map → NcSettingsSelectGroup-DyQfy9P5.cjs.map} +1 -1
- package/dist/chunks/NcSettingsSelectGroup-I_qUQ6nA.mjs +211 -0
- package/dist/chunks/{NcSettingsSelectGroup-68kJocD5.cjs.map → NcSettingsSelectGroup-I_qUQ6nA.mjs.map} +1 -1
- package/dist/chunks/NcTextField-Bu1cvjSc.mjs +151 -0
- package/dist/chunks/{NcTextField-BAKyJTQ0.mjs.map → NcTextField-Bu1cvjSc.mjs.map} +1 -1
- package/dist/chunks/NcTextField-CO0wnb8n.cjs +150 -0
- package/dist/chunks/{NcTextField-DKppZoIo.cjs.map → NcTextField-CO0wnb8n.cjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-8juQvyGU.mjs → NcTimezonePicker-BA3AYCBm.mjs} +131 -84
- package/dist/chunks/{NcTimezonePicker-8juQvyGU.mjs.map → NcTimezonePicker-BA3AYCBm.mjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-D6psCKlf.cjs → NcTimezonePicker-D1jVCuUh.cjs} +131 -79
- package/dist/chunks/{NcTimezonePicker-D6psCKlf.cjs.map → NcTimezonePicker-D1jVCuUh.cjs.map} +1 -1
- package/dist/chunks/NcUserBubble-CSAU8jCM.cjs +212 -0
- package/dist/chunks/{NcUserBubble-6o5fw3gB.mjs.map → NcUserBubble-CSAU8jCM.cjs.map} +1 -1
- package/dist/chunks/NcUserBubble-h9Zo3CCT.mjs +211 -0
- package/dist/chunks/{NcUserBubble-J_kbLTpc.cjs.map → NcUserBubble-h9Zo3CCT.mjs.map} +1 -1
- package/dist/chunks/NcUserStatusIcon-BC9qDAzb.mjs +168 -0
- package/dist/chunks/{NcUserStatusIcon-Bqtgf32T.cjs.map → NcUserStatusIcon-BC9qDAzb.mjs.map} +1 -1
- package/dist/chunks/NcUserStatusIcon-BpLvFq3p.cjs +170 -0
- package/dist/chunks/{NcUserStatusIcon-D_ItGF5U.mjs.map → NcUserStatusIcon-BpLvFq3p.cjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-BZYPT7rR.mjs → ScopeComponent-B9RptB1A.mjs} +9 -4
- package/dist/chunks/{ScopeComponent-BZYPT7rR.mjs.map → ScopeComponent-B9RptB1A.mjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-C0EJf0Ag.cjs → ScopeComponent-Cmn9OSZb.cjs} +9 -4
- package/dist/chunks/{ScopeComponent-C0EJf0Ag.cjs.map → ScopeComponent-Cmn9OSZb.cjs.map} +1 -1
- package/dist/chunks/_l10n-DwEsZ6zb.mjs +122 -0
- package/dist/chunks/_l10n-DwEsZ6zb.mjs.map +1 -0
- package/dist/chunks/_l10n-ftziezFF.cjs +121 -0
- package/dist/chunks/_l10n-ftziezFF.cjs.map +1 -0
- package/dist/chunks/_plugin-vue2_normalizer-D637Qkok.mjs +59 -0
- package/dist/chunks/_plugin-vue2_normalizer-D637Qkok.mjs.map +1 -0
- package/dist/chunks/_plugin-vue2_normalizer-DbFIE4_M.cjs +58 -0
- package/dist/chunks/_plugin-vue2_normalizer-DbFIE4_M.cjs.map +1 -0
- package/dist/chunks/{actionGlobal-DL1VaQzF.cjs → actionGlobal-BfK-CImU.cjs} +2 -2
- package/dist/chunks/{actionGlobal-D49NL940.mjs.map → actionGlobal-BfK-CImU.cjs.map} +1 -1
- package/dist/chunks/{actionGlobal-D49NL940.mjs → actionGlobal-DV5ZiuS0.mjs} +2 -2
- package/dist/chunks/{actionGlobal-DL1VaQzF.cjs.map → actionGlobal-DV5ZiuS0.mjs.map} +1 -1
- package/dist/chunks/{actionText-jLsEBszD.mjs → actionText-BaGktsVf.mjs} +21 -17
- package/dist/chunks/{actionText-jLsEBszD.mjs.map → actionText-BaGktsVf.mjs.map} +1 -1
- package/dist/chunks/{actionText-iWNpvZuI.cjs → actionText-BnA6RS9I.cjs} +21 -17
- package/dist/chunks/{actionText-iWNpvZuI.cjs.map → actionText-BnA6RS9I.cjs.map} +1 -1
- package/dist/chunks/autolink-Bgjz08wN.cjs +125 -0
- package/dist/chunks/autolink-Bgjz08wN.cjs.map +1 -0
- package/dist/chunks/autolink-DA7VzS8Y.mjs +126 -0
- package/dist/chunks/autolink-DA7VzS8Y.mjs.map +1 -0
- package/dist/chunks/emoji-CWr00EYY.cjs +87 -0
- package/dist/chunks/emoji-CWr00EYY.cjs.map +1 -0
- package/dist/chunks/emoji-CbOkKZx5.mjs +86 -0
- package/dist/chunks/emoji-CbOkKZx5.mjs.map +1 -0
- package/dist/chunks/{focusTrap-xauhLvvr.cjs → focusTrap-Dsmd28wG.cjs} +4 -3
- package/dist/chunks/{focusTrap-Be9GEB5C.mjs.map → focusTrap-Dsmd28wG.cjs.map} +1 -1
- package/dist/chunks/{focusTrap-Be9GEB5C.mjs → focusTrap-hWDNhn4t.mjs} +4 -3
- package/dist/chunks/{focusTrap-xauhLvvr.cjs.map → focusTrap-hWDNhn4t.mjs.map} +1 -1
- package/dist/chunks/{getAvatarUrl-BHpn8LgJ.mjs → getAvatarUrl-BBvqBOJD.mjs} +7 -7
- package/dist/chunks/{getAvatarUrl-BHpn8LgJ.mjs.map → getAvatarUrl-BBvqBOJD.mjs.map} +1 -1
- package/dist/chunks/{getAvatarUrl-CjIpoO6I.cjs → getAvatarUrl-C40xfr4C.cjs} +7 -7
- package/dist/chunks/{getAvatarUrl-CjIpoO6I.cjs.map → getAvatarUrl-C40xfr4C.cjs.map} +1 -1
- package/dist/chunks/index-BRQQ9NaL.mjs +198 -0
- package/dist/chunks/{index-uiNhPYvS.mjs.map → index-BRQQ9NaL.mjs.map} +1 -1
- package/dist/chunks/index-BwyQ2N-M.mjs +119 -0
- package/dist/chunks/index-BwyQ2N-M.mjs.map +1 -0
- package/dist/chunks/index-D0euettC.cjs +201 -0
- package/dist/chunks/{index-CMnR5Pf6.cjs.map → index-D0euettC.cjs.map} +1 -1
- package/dist/chunks/index-DYccGIvD.mjs +197 -0
- package/dist/chunks/{index-CnpswYi6.mjs.map → index-DYccGIvD.mjs.map} +1 -1
- package/dist/chunks/index-Dl-SBuhJ.cjs +196 -0
- package/dist/chunks/{index-Cke9rKBg.cjs.map → index-Dl-SBuhJ.cjs.map} +1 -1
- package/dist/chunks/index-Dsgv-f-l.cjs +118 -0
- package/dist/chunks/index-Dsgv-f-l.cjs.map +1 -0
- package/dist/chunks/{logger-D9RRY4er.cjs → logger-BcZGm6Un.cjs} +3 -3
- package/dist/chunks/{logger-C7qcfVW8.mjs.map → logger-BcZGm6Un.cjs.map} +1 -1
- package/dist/chunks/{logger-C7qcfVW8.mjs → logger-C7ZZ6zFQ.mjs} +3 -3
- package/dist/chunks/{logger-D9RRY4er.cjs.map → logger-C7ZZ6zFQ.mjs.map} +1 -1
- package/dist/chunks/referencePickerModal-DBIqS1ep.mjs +3474 -0
- package/dist/chunks/referencePickerModal-DBIqS1ep.mjs.map +1 -0
- package/dist/chunks/referencePickerModal-XXILzgbd.cjs +3476 -0
- package/dist/chunks/referencePickerModal-XXILzgbd.cjs.map +1 -0
- package/dist/chunks/{usernameToColor-CgqbKJ4t.mjs → usernameToColor-3O2cQhM4.mjs} +22 -16
- package/dist/chunks/{usernameToColor-CgqbKJ4t.mjs.map → usernameToColor-3O2cQhM4.mjs.map} +1 -1
- package/dist/chunks/usernameToColor-DiRnOvlG.cjs +48 -0
- package/dist/chunks/{usernameToColor-B7GSjspk.cjs.map → usernameToColor-DiRnOvlG.cjs.map} +1 -1
- package/dist/composables/useFormatDateTime.d.ts +57 -0
- package/dist/index.cjs +284 -224
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +287 -306
- package/dist/index.mjs.map +1 -1
- package/dist/plugin.d.ts +2 -1
- package/package.json +7 -6
- package/dist/assets/NcRichText-D2BBsB-_.css +0 -218
- package/dist/assets/referencePickerModal-DWB2ghBg.css +0 -336
- package/dist/chunks/AlertCircleOutline-DHFN4OkX.cjs +0 -35
- package/dist/chunks/AlertCircleOutline-U_bhL30C.mjs +0 -37
- package/dist/chunks/ArrowLeft-CjNnGIlF.cjs +0 -35
- package/dist/chunks/ArrowLeft-kklNBL9z.mjs +0 -37
- package/dist/chunks/ArrowRight-C3BxTDjF.mjs +0 -37
- package/dist/chunks/ArrowRight-CxzzJJQ6.cjs +0 -35
- package/dist/chunks/Check-CRLmJNGG.mjs +0 -37
- package/dist/chunks/Check-CVn5nytg.cjs +0 -35
- package/dist/chunks/ChevronDown-DQPox_nl.cjs +0 -35
- package/dist/chunks/ChevronDown-HHJdUMN4.mjs +0 -37
- package/dist/chunks/ChevronRight-BAJhNawb.cjs +0 -35
- package/dist/chunks/ChevronRight-DL3e8bjj.mjs +0 -37
- package/dist/chunks/ChevronUp-B6TIgl1a.mjs +0 -37
- package/dist/chunks/ChevronUp-kmHRpe7H.cjs +0 -35
- package/dist/chunks/Close-BtO5TPBO.mjs +0 -37
- package/dist/chunks/Close-DBfrdXMw.cjs +0 -35
- package/dist/chunks/DotsHorizontal-B8kTqpHe.cjs +0 -35
- package/dist/chunks/DotsHorizontal-DfVgEXgz.mjs +0 -37
- package/dist/chunks/GenColors-Du2-qv6X.cjs +0 -141
- package/dist/chunks/NcActionButtonGroup-Cawk1Q5J.cjs +0 -46
- package/dist/chunks/NcActionButtonGroup-jODsi2kz.mjs +0 -50
- package/dist/chunks/NcActionInput-BJSgHPYh.mjs +0 -244
- package/dist/chunks/NcActionInput-NL0c8XAX.cjs +0 -235
- package/dist/chunks/NcActions-B1Ue3gj8.mjs +0 -676
- package/dist/chunks/NcActions-X10TnO-4.cjs +0 -668
- package/dist/chunks/NcAppContent-BkVLz0T8.mjs +0 -265
- package/dist/chunks/NcAppContent-CxdfMOVw.cjs +0 -256
- package/dist/chunks/NcAppNavigation-BxaQQTmk.mjs +0 -124
- package/dist/chunks/NcAppNavigation-CmBNq0sh.cjs +0 -115
- package/dist/chunks/NcAppNavigationCaption-BQsUUBUS.mjs +0 -61
- package/dist/chunks/NcAppNavigationCaption-CUJSIO54.cjs +0 -58
- package/dist/chunks/NcAppNavigationItem-Cheox0NI.mjs +0 -477
- package/dist/chunks/NcAppNavigationItem-DdfXf1p_.cjs +0 -465
- package/dist/chunks/NcAppNavigationNewItem-BkyKxjL8.cjs +0 -87
- package/dist/chunks/NcAppNavigationNewItem-Dmb8qw0g.mjs +0 -91
- package/dist/chunks/NcAppNavigationSettings-CCjTkNf3.cjs +0 -104
- package/dist/chunks/NcAppNavigationSettings-_O0oYU8k.mjs +0 -106
- package/dist/chunks/NcAppNavigationToggle-VDwkZ4nu.mjs +0 -122
- package/dist/chunks/NcAppNavigationToggle-nnE6CrRb.cjs +0 -119
- package/dist/chunks/NcAppSettingsDialog-CECnsnfv.mjs +0 -191
- package/dist/chunks/NcAppSettingsDialog-wqDewrRQ.cjs +0 -184
- package/dist/chunks/NcAppSidebar-9W8ytMkj.mjs +0 -600
- package/dist/chunks/NcAppSidebar-9W8ytMkj.mjs.map +0 -1
- package/dist/chunks/NcAppSidebar-DkDtOUbu.cjs +0 -582
- package/dist/chunks/NcAppSidebar-DkDtOUbu.cjs.map +0 -1
- package/dist/chunks/NcAvatar-CO9waN_L.cjs +0 -458
- package/dist/chunks/NcAvatar-CO9waN_L.cjs.map +0 -1
- package/dist/chunks/NcAvatar-GULQurjA.mjs +0 -474
- package/dist/chunks/NcAvatar-GULQurjA.mjs.map +0 -1
- package/dist/chunks/NcBreadcrumb-BBZofeFG.cjs +0 -180
- package/dist/chunks/NcBreadcrumb-BerOYeSO.mjs +0 -186
- package/dist/chunks/NcBreadcrumbs-BypDKcgj.mjs +0 -422
- package/dist/chunks/NcBreadcrumbs-D0aoSiDN.cjs +0 -412
- package/dist/chunks/NcCheckboxRadioSwitch-BcwXUfkk.mjs +0 -607
- package/dist/chunks/NcCheckboxRadioSwitch-BcwXUfkk.mjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch-UnycoV8I.cjs +0 -603
- package/dist/chunks/NcCheckboxRadioSwitch-UnycoV8I.cjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-Dfig4O2O.cjs +0 -4
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-Dfig4O2O.cjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-Zn4mWlPY.mjs +0 -3
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-Zn4mWlPY.mjs.map +0 -1
- package/dist/chunks/NcColorPicker-BUsEYIj3.cjs +0 -168
- package/dist/chunks/NcColorPicker-BUsEYIj3.cjs.map +0 -1
- package/dist/chunks/NcColorPicker-C29EJ5Gw.mjs +0 -178
- package/dist/chunks/NcColorPicker-C29EJ5Gw.mjs.map +0 -1
- package/dist/chunks/NcContent-CQk_EERB.mjs +0 -87
- package/dist/chunks/NcContent-D-F_hXQE.cjs +0 -80
- package/dist/chunks/NcDashboardWidget-B5kIIXjc.mjs +0 -141
- package/dist/chunks/NcDashboardWidget-DLTh61Jk.cjs +0 -135
- package/dist/chunks/NcDashboardWidgetItem-BKhL4kyY.cjs +0 -138
- package/dist/chunks/NcDashboardWidgetItem-xj-DfJjn.mjs +0 -143
- package/dist/chunks/NcDateTime-BeI2IjH3.mjs +0 -146
- package/dist/chunks/NcDateTime-BeI2IjH3.mjs.map +0 -1
- package/dist/chunks/NcDateTime-DuS_515z.cjs +0 -142
- package/dist/chunks/NcDateTime-DuS_515z.cjs.map +0 -1
- package/dist/chunks/NcDialog-C6nYgBDF.cjs +0 -207
- package/dist/chunks/NcDialog-D6YSjidf.mjs +0 -214
- package/dist/chunks/NcDialogButton-D7ibBxsQ.cjs +0 -69
- package/dist/chunks/NcDialogButton-DQFoaN7q.mjs +0 -74
- package/dist/chunks/NcEmojiPicker-028V7lKH.mjs +0 -251
- package/dist/chunks/NcEmojiPicker-BDRuuzNw.cjs +0 -241
- package/dist/chunks/NcHeaderMenu-58OTmM-5.cjs +0 -187
- package/dist/chunks/NcHeaderMenu-DOGXti7v.mjs +0 -193
- package/dist/chunks/NcIconSvgWrapper-BTdzvQGV.mjs +0 -93
- package/dist/chunks/NcIconSvgWrapper-kIn1eQyv.cjs +0 -89
- package/dist/chunks/NcInputConfirmCancel-D5GYt1Th.mjs +0 -97
- package/dist/chunks/NcInputConfirmCancel-unF2X_Ax.cjs +0 -92
- package/dist/chunks/NcListItem-BnsP7HQy.cjs +0 -233
- package/dist/chunks/NcListItem-DUrmhUuv.mjs +0 -238
- package/dist/chunks/NcListItemIcon-9um1JI9_.mjs +0 -166
- package/dist/chunks/NcListItemIcon-Dd_ykGiP.cjs +0 -163
- package/dist/chunks/NcPasswordField-BE4xwMjQ.mjs +0 -238
- package/dist/chunks/NcPasswordField-ghqpLn7G.cjs +0 -229
- package/dist/chunks/NcPopover--V3R3EKV.mjs +0 -239
- package/dist/chunks/NcPopover-h-t7Dnjk.cjs +0 -233
- package/dist/chunks/NcProgressBar-BYk5hfPI.cjs +0 -96
- package/dist/chunks/NcProgressBar-DDAeXyp8.mjs +0 -99
- package/dist/chunks/NcRelatedResourcesPanel-CuvKC8Is.mjs +0 -381
- package/dist/chunks/NcRelatedResourcesPanel-_r1K7ZaY.cjs +0 -371
- package/dist/chunks/NcRichContenteditable-Bm4NjGuD.cjs +0 -640
- package/dist/chunks/NcRichContenteditable-Bo4te1z-.mjs +0 -649
- package/dist/chunks/NcRichText-BP7ht7d4.cjs +0 -329
- package/dist/chunks/NcRichText-BP7ht7d4.cjs.map +0 -1
- package/dist/chunks/NcRichText-DUCudV4J.mjs +0 -345
- package/dist/chunks/NcRichText-DUCudV4J.mjs.map +0 -1
- package/dist/chunks/NcSavingIndicatorIcon-BTvUkUn-.cjs +0 -59
- package/dist/chunks/NcSavingIndicatorIcon-Bf0SEmgS.mjs +0 -62
- package/dist/chunks/NcSelectTags-35nlauoq.mjs +0 -258
- package/dist/chunks/NcSelectTags-Cleij1YB.cjs +0 -252
- package/dist/chunks/NcSettingsInputText-BxsnpVjM.mjs +0 -95
- package/dist/chunks/NcSettingsInputText-Cy7Umyq4.cjs +0 -92
- package/dist/chunks/NcSettingsSection-BntYMcIt.mjs +0 -98
- package/dist/chunks/NcSettingsSection-fWPqQmzZ.cjs +0 -96
- package/dist/chunks/NcSettingsSelectGroup-68kJocD5.cjs +0 -185
- package/dist/chunks/NcSettingsSelectGroup-CehQI4oG.mjs +0 -192
- package/dist/chunks/NcTextField-BAKyJTQ0.mjs +0 -146
- package/dist/chunks/NcTextField-DKppZoIo.cjs +0 -140
- package/dist/chunks/NcUserBubble-6o5fw3gB.mjs +0 -198
- package/dist/chunks/NcUserBubble-J_kbLTpc.cjs +0 -193
- package/dist/chunks/NcUserStatusIcon-Bqtgf32T.cjs +0 -150
- package/dist/chunks/NcUserStatusIcon-D_ItGF5U.mjs +0 -157
- package/dist/chunks/_l10n-BVVVUgGU.cjs +0 -66
- package/dist/chunks/_l10n-BVVVUgGU.cjs.map +0 -1
- package/dist/chunks/_l10n-BZu8wI2q.mjs +0 -68
- package/dist/chunks/_l10n-BZu8wI2q.mjs.map +0 -1
- package/dist/chunks/_plugin-vue2_normalizer-Bj5bLKV4.mjs +0 -32
- package/dist/chunks/_plugin-vue2_normalizer-Bj5bLKV4.mjs.map +0 -1
- package/dist/chunks/_plugin-vue2_normalizer-GXKvuwrq.cjs +0 -31
- package/dist/chunks/_plugin-vue2_normalizer-GXKvuwrq.cjs.map +0 -1
- package/dist/chunks/autolink-BtgUDDdk.mjs +0 -59
- package/dist/chunks/autolink-BtgUDDdk.mjs.map +0 -1
- package/dist/chunks/autolink-D0rLUkqm.cjs +0 -55
- package/dist/chunks/autolink-D0rLUkqm.cjs.map +0 -1
- package/dist/chunks/emoji-DEH9dtOa.cjs +0 -59
- package/dist/chunks/emoji-DEH9dtOa.cjs.map +0 -1
- package/dist/chunks/emoji-k4gWHxrE.mjs +0 -62
- package/dist/chunks/emoji-k4gWHxrE.mjs.map +0 -1
- package/dist/chunks/index-Bh9FEWbr.cjs +0 -87
- package/dist/chunks/index-Bh9FEWbr.cjs.map +0 -1
- package/dist/chunks/index-CMnR5Pf6.cjs +0 -157
- package/dist/chunks/index-CU14QsCg.mjs +0 -88
- package/dist/chunks/index-CU14QsCg.mjs.map +0 -1
- package/dist/chunks/index-Cke9rKBg.cjs +0 -148
- package/dist/chunks/index-CnpswYi6.mjs +0 -149
- package/dist/chunks/index-uiNhPYvS.mjs +0 -163
- package/dist/chunks/referencePickerModal-CoaOqLOw.cjs +0 -2408
- package/dist/chunks/referencePickerModal-CoaOqLOw.cjs.map +0 -1
- package/dist/chunks/referencePickerModal-DJNSkODj.mjs +0 -2428
- package/dist/chunks/referencePickerModal-DJNSkODj.mjs.map +0 -1
- package/dist/chunks/usernameToColor-B7GSjspk.cjs +0 -39
|
@@ -0,0 +1,594 @@
|
|
|
1
|
+
import '../assets/NcMentionBubble-DmzU72Mw.css';
|
|
2
|
+
import '../assets/NcAvatar-DaftSb4x.css';
|
|
3
|
+
import { N as NcActions } from "./NcActions-CZe78ai2.mjs";
|
|
4
|
+
import NcActionLink from "../Components/NcActionLink.mjs";
|
|
5
|
+
import NcActionRouter from "../Components/NcActionRouter.mjs";
|
|
6
|
+
import NcActionText from "../Components/NcActionText.mjs";
|
|
7
|
+
import NcButton from "../Components/NcButton.mjs";
|
|
8
|
+
import { N as NcIconSvgWrapper } from "./NcIconSvgWrapper-5v5HBSpx.mjs";
|
|
9
|
+
import NcLoadingIcon from "../Components/NcLoadingIcon.mjs";
|
|
10
|
+
import { N as NcUserStatusIcon, g as getUserStatusText } from "./NcUserStatusIcon-BC9qDAzb.mjs";
|
|
11
|
+
import { u as usernameToColor } from "./usernameToColor-3O2cQhM4.mjs";
|
|
12
|
+
import { g as getAvatarUrl } from "./getAvatarUrl-BBvqBOJD.mjs";
|
|
13
|
+
import "../Composables/useIsFullscreen.mjs";
|
|
14
|
+
import "../Composables/useIsMobile.mjs";
|
|
15
|
+
/* empty css */
|
|
16
|
+
import { n as normalizeComponent } from "./_plugin-vue2_normalizer-D637Qkok.mjs";
|
|
17
|
+
import "linkify-string";
|
|
18
|
+
import "escape-html";
|
|
19
|
+
import "striptags";
|
|
20
|
+
import "vue";
|
|
21
|
+
import { getCurrentUser } from "@nextcloud/auth";
|
|
22
|
+
import axios from "@nextcloud/axios";
|
|
23
|
+
import { getCapabilities } from "@nextcloud/capabilities";
|
|
24
|
+
import { generateOcsUrl, generateUrl } from "@nextcloud/router";
|
|
25
|
+
import { r as register, n as t9, a as t } from "./_l10n-DwEsZ6zb.mjs";
|
|
26
|
+
import { g as getRoute } from "./autolink-DA7VzS8Y.mjs";
|
|
27
|
+
import { D as DotsHorizontal } from "./DotsHorizontal-C0STD_HU.mjs";
|
|
28
|
+
import { subscribe, unsubscribe } from "@nextcloud/event-bus";
|
|
29
|
+
import { getBuilder } from "@nextcloud/browser-storage";
|
|
30
|
+
import { vOnClickOutside } from "@vueuse/components";
|
|
31
|
+
/**
|
|
32
|
+
* @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>
|
|
33
|
+
*
|
|
34
|
+
* @author Georg Ehrke <georg-nextcloud@ehrke.email>
|
|
35
|
+
*
|
|
36
|
+
* @license AGPL-3.0-or-later
|
|
37
|
+
*
|
|
38
|
+
* This program is free software: you can redistribute it and/or modify
|
|
39
|
+
* it under the terms of the GNU Affero General Public License as
|
|
40
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
41
|
+
* License, or (at your option) any later version.
|
|
42
|
+
*
|
|
43
|
+
* This program is distributed in the hope that it will be useful,
|
|
44
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
45
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
46
|
+
* GNU Affero General Public License for more details.
|
|
47
|
+
*
|
|
48
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
49
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
50
|
+
*
|
|
51
|
+
*/
|
|
52
|
+
const userStatus = {
|
|
53
|
+
data() {
|
|
54
|
+
return {
|
|
55
|
+
hasStatus: false,
|
|
56
|
+
userStatus: {
|
|
57
|
+
status: null,
|
|
58
|
+
message: null,
|
|
59
|
+
icon: null
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
},
|
|
63
|
+
methods: {
|
|
64
|
+
/**
|
|
65
|
+
* Fetches the user-status from the server
|
|
66
|
+
*
|
|
67
|
+
* @param {string} userId UserId of the user to fetch the status for
|
|
68
|
+
*
|
|
69
|
+
* @return {Promise<void>}
|
|
70
|
+
*/
|
|
71
|
+
async fetchUserStatus(userId) {
|
|
72
|
+
var _a, _b;
|
|
73
|
+
if (!userId) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const capabilities = getCapabilities();
|
|
77
|
+
if (!Object.prototype.hasOwnProperty.call(capabilities, "user_status") || !capabilities.user_status.enabled) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
if (!getCurrentUser()) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
const { data } = await axios.get(generateOcsUrl("apps/user_status/api/v1/statuses/{userId}", { userId }));
|
|
85
|
+
const {
|
|
86
|
+
status,
|
|
87
|
+
message,
|
|
88
|
+
icon
|
|
89
|
+
} = data.ocs.data;
|
|
90
|
+
this.userStatus.status = status;
|
|
91
|
+
this.userStatus.message = message || "";
|
|
92
|
+
this.userStatus.icon = icon || "";
|
|
93
|
+
this.hasStatus = true;
|
|
94
|
+
} catch (e) {
|
|
95
|
+
if (e.response.status === 404 && ((_b = (_a = e.response.data.ocs) == null ? void 0 : _a.data) == null ? void 0 : _b.length) === 0) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
console.error(e);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
register(t9);
|
|
104
|
+
const browserStorage = getBuilder("nextcloud").persist().build();
|
|
105
|
+
function getUserHasAvatar(userId) {
|
|
106
|
+
const flag = browserStorage.getItem("user-has-avatar." + userId);
|
|
107
|
+
if (typeof flag === "string") {
|
|
108
|
+
return Boolean(flag);
|
|
109
|
+
}
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
function setUserHasAvatar(userId, flag) {
|
|
113
|
+
if (userId) {
|
|
114
|
+
browserStorage.setItem("user-has-avatar." + userId, flag);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
const _sfc_main = {
|
|
118
|
+
name: "NcAvatar",
|
|
119
|
+
directives: {
|
|
120
|
+
ClickOutside: vOnClickOutside
|
|
121
|
+
},
|
|
122
|
+
components: {
|
|
123
|
+
DotsHorizontal,
|
|
124
|
+
NcActions,
|
|
125
|
+
NcButton,
|
|
126
|
+
NcIconSvgWrapper,
|
|
127
|
+
NcLoadingIcon,
|
|
128
|
+
NcUserStatusIcon
|
|
129
|
+
},
|
|
130
|
+
mixins: [userStatus],
|
|
131
|
+
props: {
|
|
132
|
+
/**
|
|
133
|
+
* Set a custom url to the avatar image
|
|
134
|
+
* either the url, user or displayName property must be defined
|
|
135
|
+
*/
|
|
136
|
+
url: {
|
|
137
|
+
type: String,
|
|
138
|
+
default: void 0
|
|
139
|
+
},
|
|
140
|
+
/**
|
|
141
|
+
* Set a css icon-class for an icon to be used instead of the avatar.
|
|
142
|
+
*/
|
|
143
|
+
iconClass: {
|
|
144
|
+
type: String,
|
|
145
|
+
default: void 0
|
|
146
|
+
},
|
|
147
|
+
/**
|
|
148
|
+
* Set the user id to fetch the avatar
|
|
149
|
+
* either the url, user or displayName property must be defined
|
|
150
|
+
*/
|
|
151
|
+
user: {
|
|
152
|
+
type: String,
|
|
153
|
+
default: void 0
|
|
154
|
+
},
|
|
155
|
+
/**
|
|
156
|
+
* Whether or not to display the user-status
|
|
157
|
+
*/
|
|
158
|
+
showUserStatus: {
|
|
159
|
+
type: Boolean,
|
|
160
|
+
default: true
|
|
161
|
+
},
|
|
162
|
+
/**
|
|
163
|
+
* Whether or not to the status-icon should be used instead of online/away
|
|
164
|
+
*/
|
|
165
|
+
showUserStatusCompact: {
|
|
166
|
+
type: Boolean,
|
|
167
|
+
default: true
|
|
168
|
+
},
|
|
169
|
+
/**
|
|
170
|
+
* When the user status was preloaded via another source it can be handed in with this property to save the request.
|
|
171
|
+
* If this property is not set the status will be fetched automatically.
|
|
172
|
+
* If a preloaded no-status is available provide this object with properties "status", "icon" and "message" set to null.
|
|
173
|
+
*/
|
|
174
|
+
preloadedUserStatus: {
|
|
175
|
+
type: Object,
|
|
176
|
+
default: void 0
|
|
177
|
+
},
|
|
178
|
+
/**
|
|
179
|
+
* Is the user a guest user (then we have to user a different endpoint)
|
|
180
|
+
*/
|
|
181
|
+
isGuest: {
|
|
182
|
+
type: Boolean,
|
|
183
|
+
default: false
|
|
184
|
+
},
|
|
185
|
+
/**
|
|
186
|
+
* Set a display name that will be rendered as a tooltip
|
|
187
|
+
* either the url, user or displayName property must be defined
|
|
188
|
+
* specify just the displayname to generate a placeholder avatar without
|
|
189
|
+
* trying to fetch the avatar based on the user id
|
|
190
|
+
*/
|
|
191
|
+
displayName: {
|
|
192
|
+
type: String,
|
|
193
|
+
default: void 0
|
|
194
|
+
},
|
|
195
|
+
/**
|
|
196
|
+
* Set a size in px for the rendered avatar
|
|
197
|
+
*/
|
|
198
|
+
size: {
|
|
199
|
+
type: Number,
|
|
200
|
+
default: 32
|
|
201
|
+
},
|
|
202
|
+
/**
|
|
203
|
+
* Placeholder avatars will be automatically generated when this is set to true
|
|
204
|
+
*/
|
|
205
|
+
allowPlaceholder: {
|
|
206
|
+
type: Boolean,
|
|
207
|
+
default: true
|
|
208
|
+
},
|
|
209
|
+
/**
|
|
210
|
+
* Disable the tooltip
|
|
211
|
+
*/
|
|
212
|
+
disableTooltip: {
|
|
213
|
+
type: Boolean,
|
|
214
|
+
default: false
|
|
215
|
+
},
|
|
216
|
+
/**
|
|
217
|
+
* Disable the menu
|
|
218
|
+
*/
|
|
219
|
+
disableMenu: {
|
|
220
|
+
type: Boolean,
|
|
221
|
+
default: false
|
|
222
|
+
},
|
|
223
|
+
/**
|
|
224
|
+
* Declares a custom tooltip when not null
|
|
225
|
+
* Fallback will be the displayName
|
|
226
|
+
*
|
|
227
|
+
* requires disableTooltip not to be set to true
|
|
228
|
+
*/
|
|
229
|
+
tooltipMessage: {
|
|
230
|
+
type: String,
|
|
231
|
+
default: null
|
|
232
|
+
},
|
|
233
|
+
/**
|
|
234
|
+
* Declares username is not a user's name, when true.
|
|
235
|
+
* Prevents loading user's avatar from server and forces generating colored initials,
|
|
236
|
+
* i.e. if the user is a group
|
|
237
|
+
*/
|
|
238
|
+
isNoUser: {
|
|
239
|
+
type: Boolean,
|
|
240
|
+
default: false
|
|
241
|
+
},
|
|
242
|
+
/**
|
|
243
|
+
* Selector for the popover menu container
|
|
244
|
+
*/
|
|
245
|
+
menuContainer: {
|
|
246
|
+
type: [String, Object, Element, Boolean],
|
|
247
|
+
default: "body"
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
data() {
|
|
251
|
+
return {
|
|
252
|
+
avatarUrlLoaded: null,
|
|
253
|
+
avatarSrcSetLoaded: null,
|
|
254
|
+
userDoesNotExist: false,
|
|
255
|
+
isAvatarLoaded: false,
|
|
256
|
+
isMenuLoaded: false,
|
|
257
|
+
contactsMenuLoading: false,
|
|
258
|
+
contactsMenuActions: [],
|
|
259
|
+
contactsMenuOpenState: false
|
|
260
|
+
};
|
|
261
|
+
},
|
|
262
|
+
computed: {
|
|
263
|
+
avatarAriaLabel() {
|
|
264
|
+
var _a, _b;
|
|
265
|
+
if (!this.hasMenu) {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
if (this.canDisplayUserStatus || this.showUserStatusIconOnAvatar) {
|
|
269
|
+
return t("Avatar of {displayName}, {status}", { displayName: (_a = this.displayName) != null ? _a : this.user, status: getUserStatusText(this.userStatus.status) });
|
|
270
|
+
}
|
|
271
|
+
return t("Avatar of {displayName}", { displayName: (_b = this.displayName) != null ? _b : this.user });
|
|
272
|
+
},
|
|
273
|
+
canDisplayUserStatus() {
|
|
274
|
+
return this.showUserStatus && this.hasStatus && ["online", "away", "busy", "dnd"].includes(this.userStatus.status);
|
|
275
|
+
},
|
|
276
|
+
showUserStatusIconOnAvatar() {
|
|
277
|
+
return this.showUserStatus && this.showUserStatusCompact && this.hasStatus && this.userStatus.status !== "dnd" && this.userStatus.icon;
|
|
278
|
+
},
|
|
279
|
+
/**
|
|
280
|
+
* The user identifier, either the display name if set or the user property
|
|
281
|
+
* If both properties are not set an empty string is returned
|
|
282
|
+
*/
|
|
283
|
+
userIdentifier() {
|
|
284
|
+
if (this.isDisplayNameDefined) {
|
|
285
|
+
return this.displayName;
|
|
286
|
+
}
|
|
287
|
+
if (this.isUserDefined) {
|
|
288
|
+
return this.user;
|
|
289
|
+
}
|
|
290
|
+
return "";
|
|
291
|
+
},
|
|
292
|
+
isUserDefined() {
|
|
293
|
+
return typeof this.user !== "undefined";
|
|
294
|
+
},
|
|
295
|
+
isDisplayNameDefined() {
|
|
296
|
+
return typeof this.displayName !== "undefined";
|
|
297
|
+
},
|
|
298
|
+
isUrlDefined() {
|
|
299
|
+
return typeof this.url !== "undefined";
|
|
300
|
+
},
|
|
301
|
+
hasMenu() {
|
|
302
|
+
var _a;
|
|
303
|
+
if (this.disableMenu) {
|
|
304
|
+
return false;
|
|
305
|
+
}
|
|
306
|
+
if (this.isMenuLoaded) {
|
|
307
|
+
return this.menu.length > 0;
|
|
308
|
+
}
|
|
309
|
+
return !(this.user === ((_a = getCurrentUser()) == null ? void 0 : _a.uid) || this.userDoesNotExist || this.url);
|
|
310
|
+
},
|
|
311
|
+
/**
|
|
312
|
+
* True if initials should be shown as the user icon fallback
|
|
313
|
+
*/
|
|
314
|
+
showInitials() {
|
|
315
|
+
return this.allowPlaceholder && this.userDoesNotExist && !(this.iconClass || this.$slots.icon);
|
|
316
|
+
},
|
|
317
|
+
avatarStyle() {
|
|
318
|
+
const style = {
|
|
319
|
+
"--size": this.size + "px",
|
|
320
|
+
lineHeight: this.size + "px",
|
|
321
|
+
fontSize: Math.round(this.size * 0.45) + "px"
|
|
322
|
+
};
|
|
323
|
+
return style;
|
|
324
|
+
},
|
|
325
|
+
initialsWrapperStyle() {
|
|
326
|
+
const { r, g, b } = usernameToColor(this.userIdentifier);
|
|
327
|
+
return {
|
|
328
|
+
backgroundColor: "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", 0.1)")
|
|
329
|
+
};
|
|
330
|
+
},
|
|
331
|
+
initialsStyle() {
|
|
332
|
+
const { r, g, b } = usernameToColor(this.userIdentifier);
|
|
333
|
+
return {
|
|
334
|
+
color: "rgb(".concat(r, ", ").concat(g, ", ").concat(b, ")")
|
|
335
|
+
};
|
|
336
|
+
},
|
|
337
|
+
tooltip() {
|
|
338
|
+
if (this.disableTooltip) {
|
|
339
|
+
return false;
|
|
340
|
+
}
|
|
341
|
+
if (this.tooltipMessage) {
|
|
342
|
+
return this.tooltipMessage;
|
|
343
|
+
}
|
|
344
|
+
return this.displayName;
|
|
345
|
+
},
|
|
346
|
+
/**
|
|
347
|
+
* Get the (max. two) initials of the user as uppcase string
|
|
348
|
+
*/
|
|
349
|
+
initials() {
|
|
350
|
+
let initials = "?";
|
|
351
|
+
if (this.showInitials) {
|
|
352
|
+
const user = this.userIdentifier.trim();
|
|
353
|
+
if (user === "") {
|
|
354
|
+
return initials;
|
|
355
|
+
}
|
|
356
|
+
const filteredChars = user.match(/[\p{L}\p{N}\s]/gu);
|
|
357
|
+
if (filteredChars == null) {
|
|
358
|
+
return initials;
|
|
359
|
+
}
|
|
360
|
+
const filtered = filteredChars.join("");
|
|
361
|
+
const idx = filtered.lastIndexOf(" ");
|
|
362
|
+
initials = String.fromCodePoint(filtered.codePointAt(0));
|
|
363
|
+
if (idx !== -1) {
|
|
364
|
+
initials = initials.concat(String.fromCodePoint(filtered.codePointAt(idx + 1)));
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
return initials.toLocaleUpperCase();
|
|
368
|
+
},
|
|
369
|
+
menu() {
|
|
370
|
+
const actions = this.contactsMenuActions.map((item) => {
|
|
371
|
+
const route = getRoute(this.$router, item.hyperlink);
|
|
372
|
+
return {
|
|
373
|
+
ncActionComponent: route ? NcActionRouter : NcActionLink,
|
|
374
|
+
ncActionComponentProps: route ? {
|
|
375
|
+
to: route,
|
|
376
|
+
icon: item.icon
|
|
377
|
+
} : {
|
|
378
|
+
href: item.hyperlink,
|
|
379
|
+
icon: item.icon
|
|
380
|
+
},
|
|
381
|
+
text: item.title
|
|
382
|
+
};
|
|
383
|
+
});
|
|
384
|
+
function escape(html) {
|
|
385
|
+
const text = document.createTextNode(html);
|
|
386
|
+
const p = document.createElement("p");
|
|
387
|
+
p.appendChild(text);
|
|
388
|
+
return p.innerHTML;
|
|
389
|
+
}
|
|
390
|
+
if (this.showUserStatus && (this.userStatus.icon || this.userStatus.message)) {
|
|
391
|
+
const emojiIcon = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">\n <text x="50%" y="50%" text-anchor="middle" style="dominant-baseline: central; font-size: 85%">'.concat(escape(this.userStatus.icon), "</text>\n </svg>");
|
|
392
|
+
return [{
|
|
393
|
+
ncActionComponent: NcActionText,
|
|
394
|
+
ncActionComponentProps: {},
|
|
395
|
+
iconSvg: this.userStatus.icon ? emojiIcon : void 0,
|
|
396
|
+
text: "".concat(this.userStatus.message)
|
|
397
|
+
}].concat(actions);
|
|
398
|
+
}
|
|
399
|
+
return actions;
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
watch: {
|
|
403
|
+
url() {
|
|
404
|
+
this.userDoesNotExist = false;
|
|
405
|
+
this.loadAvatarUrl();
|
|
406
|
+
},
|
|
407
|
+
user() {
|
|
408
|
+
this.userDoesNotExist = false;
|
|
409
|
+
this.isMenuLoaded = false;
|
|
410
|
+
this.loadAvatarUrl();
|
|
411
|
+
}
|
|
412
|
+
},
|
|
413
|
+
mounted() {
|
|
414
|
+
this.loadAvatarUrl();
|
|
415
|
+
subscribe("settings:avatar:updated", this.loadAvatarUrl);
|
|
416
|
+
subscribe("settings:display-name:updated", this.loadAvatarUrl);
|
|
417
|
+
if (this.showUserStatus && this.user && !this.isNoUser) {
|
|
418
|
+
if (!this.preloadedUserStatus) {
|
|
419
|
+
this.fetchUserStatus(this.user);
|
|
420
|
+
} else {
|
|
421
|
+
this.userStatus.status = this.preloadedUserStatus.status || "";
|
|
422
|
+
this.userStatus.message = this.preloadedUserStatus.message || "";
|
|
423
|
+
this.userStatus.icon = this.preloadedUserStatus.icon || "";
|
|
424
|
+
this.hasStatus = this.preloadedUserStatus.status !== null;
|
|
425
|
+
}
|
|
426
|
+
subscribe("user_status:status.updated", this.handleUserStatusUpdated);
|
|
427
|
+
}
|
|
428
|
+
},
|
|
429
|
+
beforeDestroy() {
|
|
430
|
+
unsubscribe("settings:avatar:updated", this.loadAvatarUrl);
|
|
431
|
+
unsubscribe("settings:display-name:updated", this.loadAvatarUrl);
|
|
432
|
+
if (this.showUserStatus && this.user && !this.isNoUser) {
|
|
433
|
+
unsubscribe("user_status:status.updated", this.handleUserStatusUpdated);
|
|
434
|
+
}
|
|
435
|
+
},
|
|
436
|
+
methods: {
|
|
437
|
+
t,
|
|
438
|
+
handleUserStatusUpdated(state) {
|
|
439
|
+
if (this.user === state.userId) {
|
|
440
|
+
this.userStatus = {
|
|
441
|
+
status: state.status,
|
|
442
|
+
icon: state.icon,
|
|
443
|
+
message: state.message
|
|
444
|
+
};
|
|
445
|
+
}
|
|
446
|
+
},
|
|
447
|
+
/**
|
|
448
|
+
* Toggle the popover menu on click or enter
|
|
449
|
+
* @param {KeyboardEvent|MouseEvent} event the UI event
|
|
450
|
+
*/
|
|
451
|
+
async toggleMenu(event) {
|
|
452
|
+
if (event.type === "keydown" && event.key !== "Enter") {
|
|
453
|
+
return;
|
|
454
|
+
}
|
|
455
|
+
if (!this.contactsMenuOpenState) {
|
|
456
|
+
await this.fetchContactsMenu();
|
|
457
|
+
}
|
|
458
|
+
this.contactsMenuOpenState = !this.contactsMenuOpenState;
|
|
459
|
+
},
|
|
460
|
+
closeMenu() {
|
|
461
|
+
this.contactsMenuOpenState = false;
|
|
462
|
+
},
|
|
463
|
+
async fetchContactsMenu() {
|
|
464
|
+
this.contactsMenuLoading = true;
|
|
465
|
+
try {
|
|
466
|
+
const user = encodeURIComponent(this.user);
|
|
467
|
+
const { data } = await axios.post(generateUrl("contactsmenu/findOne"), "shareType=0&shareWith=".concat(user));
|
|
468
|
+
this.contactsMenuActions = data.topAction ? [data.topAction].concat(data.actions) : data.actions;
|
|
469
|
+
} catch (e) {
|
|
470
|
+
this.contactsMenuOpenState = false;
|
|
471
|
+
}
|
|
472
|
+
this.contactsMenuLoading = false;
|
|
473
|
+
this.isMenuLoaded = true;
|
|
474
|
+
},
|
|
475
|
+
/**
|
|
476
|
+
* Handle avatar loading if user or url defined
|
|
477
|
+
*/
|
|
478
|
+
loadAvatarUrl() {
|
|
479
|
+
this.isAvatarLoaded = false;
|
|
480
|
+
if (!this.isUrlDefined && (!this.isUserDefined || this.isNoUser)) {
|
|
481
|
+
this.isAvatarLoaded = true;
|
|
482
|
+
this.userDoesNotExist = true;
|
|
483
|
+
return;
|
|
484
|
+
}
|
|
485
|
+
if (this.isUrlDefined) {
|
|
486
|
+
this.updateImageIfValid(this.url);
|
|
487
|
+
return;
|
|
488
|
+
}
|
|
489
|
+
if (this.size <= 64) {
|
|
490
|
+
const avatarUrl = this.avatarUrlGenerator(this.user, 64);
|
|
491
|
+
const srcset = [
|
|
492
|
+
avatarUrl + " 1x",
|
|
493
|
+
this.avatarUrlGenerator(this.user, 512) + " 8x"
|
|
494
|
+
].join(", ");
|
|
495
|
+
this.updateImageIfValid(avatarUrl, srcset);
|
|
496
|
+
} else {
|
|
497
|
+
const avatarUrl = this.avatarUrlGenerator(this.user, 512);
|
|
498
|
+
this.updateImageIfValid(avatarUrl);
|
|
499
|
+
}
|
|
500
|
+
},
|
|
501
|
+
/**
|
|
502
|
+
* Generate an avatar url from the server's avatar endpoint
|
|
503
|
+
*
|
|
504
|
+
* @param {string} user the user id
|
|
505
|
+
* @param {number} size the desired size
|
|
506
|
+
* @return {string}
|
|
507
|
+
*/
|
|
508
|
+
avatarUrlGenerator(user, size) {
|
|
509
|
+
var _a;
|
|
510
|
+
let avatarUrl = getAvatarUrl(user, size, this.isGuest);
|
|
511
|
+
if (user === ((_a = getCurrentUser()) == null ? void 0 : _a.uid) && typeof oc_userconfig !== "undefined") {
|
|
512
|
+
avatarUrl += "?v=" + oc_userconfig.avatar.version;
|
|
513
|
+
}
|
|
514
|
+
return avatarUrl;
|
|
515
|
+
},
|
|
516
|
+
/**
|
|
517
|
+
* Check if the provided url is valid and update Avatar if so
|
|
518
|
+
*
|
|
519
|
+
* @param {string} url the avatar url
|
|
520
|
+
* @param {Array} srcset the avatar srcset
|
|
521
|
+
*/
|
|
522
|
+
updateImageIfValid(url, srcset = null) {
|
|
523
|
+
const userHasAvatar = getUserHasAvatar(this.user);
|
|
524
|
+
if (this.isUserDefined && typeof userHasAvatar === "boolean") {
|
|
525
|
+
this.isAvatarLoaded = true;
|
|
526
|
+
this.avatarUrlLoaded = url;
|
|
527
|
+
if (srcset) {
|
|
528
|
+
this.avatarSrcSetLoaded = srcset;
|
|
529
|
+
}
|
|
530
|
+
if (userHasAvatar === false) {
|
|
531
|
+
this.userDoesNotExist = true;
|
|
532
|
+
}
|
|
533
|
+
return;
|
|
534
|
+
}
|
|
535
|
+
const img = new Image();
|
|
536
|
+
img.onload = () => {
|
|
537
|
+
this.avatarUrlLoaded = url;
|
|
538
|
+
if (srcset) {
|
|
539
|
+
this.avatarSrcSetLoaded = srcset;
|
|
540
|
+
}
|
|
541
|
+
this.isAvatarLoaded = true;
|
|
542
|
+
setUserHasAvatar(this.user, true);
|
|
543
|
+
};
|
|
544
|
+
img.onerror = () => {
|
|
545
|
+
console.debug("Invalid avatar url", url);
|
|
546
|
+
this.avatarUrlLoaded = null;
|
|
547
|
+
this.avatarSrcSetLoaded = null;
|
|
548
|
+
this.userDoesNotExist = true;
|
|
549
|
+
this.isAvatarLoaded = false;
|
|
550
|
+
setUserHasAvatar(this.user, false);
|
|
551
|
+
};
|
|
552
|
+
if (srcset) {
|
|
553
|
+
img.srcset = srcset;
|
|
554
|
+
}
|
|
555
|
+
img.src = url;
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
};
|
|
559
|
+
var _sfc_render = function render() {
|
|
560
|
+
var _vm = this, _c = _vm._self._c;
|
|
561
|
+
return _c("span", { directives: [{ name: "click-outside", rawName: "v-click-outside", value: _vm.closeMenu, expression: "closeMenu" }], ref: "main", staticClass: "avatardiv popovermenu-wrapper", class: {
|
|
562
|
+
"avatardiv--unknown": _vm.userDoesNotExist,
|
|
563
|
+
"avatardiv--with-menu": _vm.hasMenu,
|
|
564
|
+
"avatardiv--with-menu-loading": _vm.contactsMenuLoading
|
|
565
|
+
}, style: _vm.avatarStyle }, [_vm._t("icon", function() {
|
|
566
|
+
return [_vm.iconClass ? _c("span", { staticClass: "avatar-class-icon", class: _vm.iconClass }) : _vm.isAvatarLoaded && !_vm.userDoesNotExist ? _c("img", { attrs: { "src": _vm.avatarUrlLoaded, "srcset": _vm.avatarSrcSetLoaded, "alt": "" } }) : _vm._e()];
|
|
567
|
+
}), _vm.hasMenu && _vm.menu.length === 0 ? _c("NcButton", { staticClass: "action-item action-item__menutoggle", attrs: { "type": "tertiary-no-background", "aria-label": _vm.avatarAriaLabel, "title": _vm.tooltip }, on: { "click": _vm.toggleMenu }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
|
|
568
|
+
return [_vm.contactsMenuLoading ? _c("NcLoadingIcon") : _c("DotsHorizontal", { attrs: { "size": 20 } })];
|
|
569
|
+
}, proxy: true }], null, false, 2617833509) }) : _vm.hasMenu ? _c("NcActions", { attrs: { "force-menu": "", "manual-open": "", "type": "tertiary-no-background", "container": _vm.menuContainer, "open": _vm.contactsMenuOpenState, "aria-label": _vm.avatarAriaLabel, "title": _vm.tooltip }, on: { "update:open": function($event) {
|
|
570
|
+
_vm.contactsMenuOpenState = $event;
|
|
571
|
+
}, "click": _vm.toggleMenu }, scopedSlots: _vm._u([_vm.contactsMenuLoading ? { key: "icon", fn: function() {
|
|
572
|
+
return [_c("NcLoadingIcon")];
|
|
573
|
+
}, proxy: true } : null], null, true) }, _vm._l(_vm.menu, function(item, key) {
|
|
574
|
+
return _c(item.ncActionComponent, _vm._b({ key, tag: "component", scopedSlots: _vm._u([item.iconSvg ? { key: "icon", fn: function() {
|
|
575
|
+
return [_c("NcIconSvgWrapper", { attrs: { "svg": item.iconSvg } })];
|
|
576
|
+
}, proxy: true } : null], null, true) }, "component", item.ncActionComponentProps, false), [_vm._v(" " + _vm._s(item.text) + " ")]);
|
|
577
|
+
}), 1) : _vm._e(), _vm.showUserStatusIconOnAvatar ? _c("span", { staticClass: "avatardiv__user-status avatardiv__user-status--icon" }, [_vm._v(" " + _vm._s(_vm.userStatus.icon) + " ")]) : _vm.canDisplayUserStatus ? _c("NcUserStatusIcon", { staticClass: "avatardiv__user-status", attrs: { "status": _vm.userStatus.status, "aria-hidden": String(_vm.hasMenu) } }) : _vm._e(), _vm.showInitials ? _c("span", { staticClass: "avatardiv__initials-wrapper", style: _vm.initialsWrapperStyle }, [_c("span", { staticClass: "avatardiv__initials", style: _vm.initialsStyle }, [_vm._v(" " + _vm._s(_vm.initials) + " ")])]) : _vm._e()], 2);
|
|
578
|
+
};
|
|
579
|
+
var _sfc_staticRenderFns = [];
|
|
580
|
+
var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
581
|
+
_sfc_main,
|
|
582
|
+
_sfc_render,
|
|
583
|
+
_sfc_staticRenderFns,
|
|
584
|
+
false,
|
|
585
|
+
null,
|
|
586
|
+
"7aacfcf3",
|
|
587
|
+
null,
|
|
588
|
+
null
|
|
589
|
+
);
|
|
590
|
+
const NcAvatar = __component__.exports;
|
|
591
|
+
export {
|
|
592
|
+
NcAvatar as N,
|
|
593
|
+
userStatus as u
|
|
594
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcAvatar-BYvbqQP3.mjs","sources":["../../src/mixins/userStatus.js","../../src/components/NcAvatar/NcAvatar.vue"],"sourcesContent":["/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\thasStatus: false,\n\t\t\tuserStatus: {\n\t\t\t\tstatus: null,\n\t\t\t\tmessage: null,\n\t\t\t\ticon: null,\n\t\t\t},\n\t\t}\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Fetches the user-status from the server\n\t\t *\n\t\t * @param {string} userId UserId of the user to fetch the status for\n\t\t *\n\t\t * @return {Promise<void>}\n\t\t */\n\t\tasync fetchUserStatus(userId) {\n\t\t\tif (!userId) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst capabilities = getCapabilities()\n\t\t\tif (!Object.prototype.hasOwnProperty.call(capabilities, 'user_status') || !capabilities.user_status.enabled) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// User status endpoint is not available for guests.\n\t\t\tif (!getCurrentUser()) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst { data } = await axios.get(generateOcsUrl('apps/user_status/api/v1/statuses/{userId}', { userId }))\n\t\t\t\tconst {\n\t\t\t\t\tstatus,\n\t\t\t\t\tmessage,\n\t\t\t\t\ticon,\n\t\t\t\t} = data.ocs.data\n\t\t\t\tthis.userStatus.status = status\n\t\t\t\tthis.userStatus.message = message || ''\n\t\t\t\tthis.userStatus.icon = icon || ''\n\t\t\t\tthis.hasStatus = true\n\t\t\t} catch (e) {\n\t\t\t\tif (e.response.status === 404 && e.response.data.ocs?.data?.length === 0) {\n\t\t\t\t\t// User just has no status set, so don't log it\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tconsole.error(e)\n\t\t\t}\n\t\t},\n\t},\n}\n","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n\n### Basic user avatar\n\n```vue\n\t<NcAvatar user=\"willywonka\" display-name=\"Willy Wonka\" />\n```\n\n### Avatar with image\n\n```vue\n\t<NcAvatar url=\"https://nextcloud.com/wp-content/themes/next/assets/img/common/nextcloud-square-logo.png\" />\n```\n\n### Avatar with material design icon\n\n```\n <template>\n\t<NcAvatar>\n\t\t<template #icon>\n\t\t\t<AccountMultiple :size=\"20\" />\n\t\t</template>\n\t</NcAvatar>\n</template>\n<script>\nimport AccountMultiple from 'vue-material-design-icons/AccountMultiple'\n\nexport default {\n\tcomponents: {\n\t\tAccountMultiple,\n\t},\n }\n </script>\n```\n\n### Avatar with preloaded status\n```\n <template>\n\t<NcAvatar user=\"janedoe\"\n\t\tdisplay-name=\"Jane Doe\"\n\t\t:preloaded-user-status=\"status\">\n\t</NcAvatar>\n</template>\n<script>\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tstatus: {\n\t\t\t\ticon: '',\n\t\t\t\tstatus: 'dnd',\n\t\t\t\tmessage: 'Not busy',\n\t\t\t},\n\t\t}\n\t},\n }\n </script>\n```\n\n### Avatar for non-users\n\n```vue\n\t<NcAvatar display-name=\"Robbie Hyeon-Jeong\" :is-no-user=\"true\" />\n```\n\n### Avatar on complex background\n\n```\n<template>\n\t<div class=\"avatar-background\">\n\t\t<NcAvatar class=\"avatar\" :is-no-user=\"true\" display-name=\"Cecilia Rohese\" />\n\t</div>\n</template>\n<style scoped>\n.avatar-background {\n\twidth: 80px;\n\theight: 60px;\n\tbackground: linear-gradient(to bottom, #0057b8 0%, #0057b8 49.99%, #ffd700 50%, #ffd700 100%);\n}\n\n.avatar {\n\tmargin: 15px 25px;\n}\n</style>\n```\n\n</docs>\n<template>\n\t<span ref=\"main\"\n\t\tv-click-outside=\"closeMenu\"\n\t\t:class=\"{\n\t\t\t'avatardiv--unknown': userDoesNotExist,\n\t\t\t'avatardiv--with-menu': hasMenu,\n\t\t\t'avatardiv--with-menu-loading': contactsMenuLoading\n\t\t}\"\n\t\t:style=\"avatarStyle\"\n\t\tclass=\"avatardiv popovermenu-wrapper\">\n\t\t<!-- @slot Icon slot -->\n\t\t<slot name=\"icon\">\n\t\t\t<!-- Avatar icon or image -->\n\t\t\t<span v-if=\"iconClass\" :class=\"iconClass\" class=\"avatar-class-icon\" />\n\t\t\t<img v-else-if=\"isAvatarLoaded && !userDoesNotExist\"\n\t\t\t\t:src=\"avatarUrlLoaded\"\n\t\t\t\t:srcset=\"avatarSrcSetLoaded\"\n\t\t\t\talt=\"\">\n\t\t</slot>\n\n\t\t<!-- Contact menu -->\n\t\t<!-- We show a button if the menu is not loaded yet. -->\n\t\t<NcButton v-if=\"hasMenu && menu.length === 0\"\n\t\t\ttype=\"tertiary-no-background\"\n\t\t\tclass=\"action-item action-item__menutoggle\"\n\t\t\t:aria-label=\"avatarAriaLabel\"\n\t\t\t:title=\"tooltip\"\n\t\t\t@click=\"toggleMenu\">\n\t\t\t<template #icon>\n\t\t\t\t<NcLoadingIcon v-if=\"contactsMenuLoading\" />\n\t\t\t\t<DotsHorizontal v-else :size=\"20\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t\t<NcActions v-else-if=\"hasMenu\"\n\t\t\tforce-menu\n\t\t\tmanual-open\n\t\t\ttype=\"tertiary-no-background\"\n\t\t\t:container=\"menuContainer\"\n\t\t\t:open.sync=\"contactsMenuOpenState\"\n\t\t\t:aria-label=\"avatarAriaLabel\"\n\t\t\t:title=\"tooltip\"\n\t\t\t@click=\"toggleMenu\">\n\t\t\t<component :is=\"item.ncActionComponent\"\n\t\t\t\tv-for=\"(item, key) in menu\"\n\t\t\t\t:key=\"key\"\n\t\t\t\tv-bind=\"item.ncActionComponentProps\">\n\t\t\t\t<template v-if=\"item.iconSvg\" #icon>\n\t\t\t\t\t<NcIconSvgWrapper :svg=\"item.iconSvg\" />\n\t\t\t\t</template>\n\t\t\t\t{{ item.text }}\n\t\t\t</component>\n\t\t\t<template v-if=\"contactsMenuLoading\" #icon>\n\t\t\t\t<NcLoadingIcon />\n\t\t\t</template>\n\t\t</NcActions>\n\n\t\t<!-- Avatar status -->\n\t\t<span v-if=\"showUserStatusIconOnAvatar\" class=\"avatardiv__user-status avatardiv__user-status--icon\">\n\t\t\t{{ userStatus.icon }}\n\t\t</span>\n\t\t<NcUserStatusIcon v-else-if=\"canDisplayUserStatus\"\n\t\t\tclass=\"avatardiv__user-status\"\n\t\t\t:status=\"userStatus.status\"\n\t\t\t:aria-hidden=\"String(hasMenu)\" />\n\n\t\t<!-- Show the letter if no avatar nor icon class -->\n\t\t<span v-if=\"showInitials\"\n\t\t\t:style=\"initialsWrapperStyle\"\n\t\t\tclass=\"avatardiv__initials-wrapper\">\n\t\t\t<span :style=\"initialsStyle\" class=\"avatardiv__initials\">\n\t\t\t\t{{ initials }}\n\t\t\t</span>\n\t\t</span>\n\t</span>\n</template>\n\n<script>\nimport NcActions from '../NcActions/index.js'\nimport NcActionLink from '../NcActionLink/index.js'\nimport NcActionRouter from '../NcActionRouter/index.js'\nimport NcActionText from '../NcActionText/index.js'\nimport NcButton from '../NcButton/index.js'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/index.js'\nimport NcLoadingIcon from '../NcLoadingIcon/index.js'\nimport NcUserStatusIcon from '../NcUserStatusIcon/index.js'\nimport usernameToColor from '../../functions/usernameToColor/index.js'\nimport { getAvatarUrl } from '../../utils/getAvatarUrl.ts'\nimport { getUserStatusText } from '../../utils/UserStatus.ts'\nimport { userStatus } from '../../mixins/index.js'\nimport { t } from '../../l10n.js'\nimport { getRoute } from '../../components/NcRichText/autolink.js'\n\nimport axios from '@nextcloud/axios'\nimport DotsHorizontal from 'vue-material-design-icons/DotsHorizontal.vue'\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { generateUrl } from '@nextcloud/router'\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\n\nconst browserStorage = getBuilder('nextcloud').persist().build()\n\n/**\n * @param {string} userId The id of the user\n */\nfunction getUserHasAvatar(userId) {\n\tconst flag = browserStorage.getItem('user-has-avatar.' + userId)\n\tif (typeof flag === 'string') {\n\t\treturn Boolean(flag)\n\t}\n\treturn null\n}\n\n/**\n * @param {string} userId The id of the user\n * @param {boolean} flag Has the user an avatar\n */\nfunction setUserHasAvatar(userId, flag) {\n\tif (userId) {\n\t\tbrowserStorage.setItem('user-has-avatar.' + userId, flag)\n\t}\n}\n\nexport default {\n\tname: 'NcAvatar',\n\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\tcomponents: {\n\t\tDotsHorizontal,\n\t\tNcActions,\n\t\tNcButton,\n\t\tNcIconSvgWrapper,\n\t\tNcLoadingIcon,\n\t\tNcUserStatusIcon,\n\t},\n\tmixins: [userStatus],\n\tprops: {\n\t\t/**\n\t\t * Set a custom url to the avatar image\n\t\t * either the url, user or displayName property must be defined\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set a css icon-class for an icon to be used instead of the avatar.\n\t\t */\n\t\ticonClass: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set the user id to fetch the avatar\n\t\t * either the url, user or displayName property must be defined\n\t\t */\n\t\tuser: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Whether or not to display the user-status\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Whether or not to the status-icon should be used instead of online/away\n\t\t */\n\t\tshowUserStatusCompact: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * When the user status was preloaded via another source it can be handed in with this property to save the request.\n\t\t * If this property is not set the status will be fetched automatically.\n\t\t * If a preloaded no-status is available provide this object with properties \"status\", \"icon\" and \"message\" set to null.\n\t\t */\n\t\tpreloadedUserStatus: {\n\t\t\ttype: Object,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Is the user a guest user (then we have to user a different endpoint)\n\t\t */\n\t\tisGuest: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Set a display name that will be rendered as a tooltip\n\t\t * either the url, user or displayName property must be defined\n\t\t * specify just the displayname to generate a placeholder avatar without\n\t\t * trying to fetch the avatar based on the user id\n\t\t */\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set a size in px for the rendered avatar\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 32,\n\t\t},\n\t\t/**\n\t\t * Placeholder avatars will be automatically generated when this is set to true\n\t\t */\n\t\tallowPlaceholder: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Disable the tooltip\n\t\t */\n\t\tdisableTooltip: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Disable the menu\n\t\t */\n\t\tdisableMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Declares a custom tooltip when not null\n\t\t * Fallback will be the displayName\n\t\t *\n\t\t * requires disableTooltip not to be set to true\n\t\t */\n\t\ttooltipMessage: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Declares username is not a user's name, when true.\n\t\t * Prevents loading user's avatar from server and forces generating colored initials,\n\t\t * i.e. if the user is a group\n\t\t */\n\t\tisNoUser: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Selector for the popover menu container\n\t\t */\n\t\tmenuContainer: {\n\t\t\ttype: [String, Object, Element, Boolean],\n\t\t\tdefault: 'body',\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tavatarUrlLoaded: null,\n\t\t\tavatarSrcSetLoaded: null,\n\t\t\tuserDoesNotExist: false,\n\t\t\tisAvatarLoaded: false,\n\t\t\tisMenuLoaded: false,\n\t\t\tcontactsMenuLoading: false,\n\t\t\tcontactsMenuActions: [],\n\t\t\tcontactsMenuOpenState: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tavatarAriaLabel() {\n\t\t\t// aria-label is only allowed on interactive elements\n\t\t\tif (!this.hasMenu) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (this.canDisplayUserStatus || this.showUserStatusIconOnAvatar) {\n\t\t\t\treturn t('Avatar of {displayName}, {status}', { displayName: this.displayName ?? this.user, status: getUserStatusText(this.userStatus.status) })\n\t\t\t}\n\t\t\treturn t('Avatar of {displayName}', { displayName: this.displayName ?? this.user })\n\t\t},\n\t\tcanDisplayUserStatus() {\n\t\t\treturn this.showUserStatus\n\t\t\t\t&& this.hasStatus\n\t\t\t\t&& ['online', 'away', 'busy', 'dnd'].includes(this.userStatus.status)\n\t\t},\n\t\tshowUserStatusIconOnAvatar() {\n\t\t\treturn this.showUserStatus\n\t\t\t\t&& this.showUserStatusCompact\n\t\t\t\t&& this.hasStatus\n\t\t\t\t&& this.userStatus.status !== 'dnd'\n\t\t\t\t&& this.userStatus.icon\n\t\t},\n\t\t/**\n\t\t * The user identifier, either the display name if set or the user property\n\t\t * If both properties are not set an empty string is returned\n\t\t */\n\t\tuserIdentifier() {\n\t\t\tif (this.isDisplayNameDefined) {\n\t\t\t\treturn this.displayName\n\t\t\t}\n\t\t\tif (this.isUserDefined) {\n\t\t\t\treturn this.user\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\tisUserDefined() {\n\t\t\treturn typeof this.user !== 'undefined'\n\t\t},\n\t\tisDisplayNameDefined() {\n\t\t\treturn typeof this.displayName !== 'undefined'\n\t\t},\n\t\tisUrlDefined() {\n\t\t\treturn typeof this.url !== 'undefined'\n\t\t},\n\t\thasMenu() {\n\t\t\tif (this.disableMenu) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.isMenuLoaded) {\n\t\t\t\treturn this.menu.length > 0\n\t\t\t}\n\t\t\treturn !(this.user === getCurrentUser()?.uid || this.userDoesNotExist || this.url)\n\t\t},\n\n\t\t/**\n\t\t * True if initials should be shown as the user icon fallback\n\t\t */\n\t\tshowInitials() {\n\t\t\treturn this.allowPlaceholder && this.userDoesNotExist && !(this.iconClass || this.$slots.icon)\n\t\t},\n\n\t\tavatarStyle() {\n\t\t\tconst style = {\n\t\t\t\t'--size': this.size + 'px',\n\t\t\t\tlineHeight: this.size + 'px',\n\t\t\t\tfontSize: Math.round(this.size * 0.45) + 'px',\n\t\t\t}\n\t\t\treturn style\n\t\t},\n\t\tinitialsWrapperStyle() {\n\t\t\tconst { r, g, b } = usernameToColor(this.userIdentifier)\n\t\t\treturn {\n\t\t\t\tbackgroundColor: `rgba(${r}, ${g}, ${b}, 0.1)`,\n\t\t\t}\n\t\t},\n\t\tinitialsStyle() {\n\t\t\tconst { r, g, b } = usernameToColor(this.userIdentifier)\n\t\t\treturn {\n\t\t\t\tcolor: `rgb(${r}, ${g}, ${b})`,\n\t\t\t}\n\t\t},\n\t\ttooltip() {\n\t\t\tif (this.disableTooltip) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.tooltipMessage) {\n\t\t\t\treturn this.tooltipMessage\n\t\t\t}\n\n\t\t\treturn this.displayName\n\t\t},\n\n\t\t/**\n\t\t * Get the (max. two) initials of the user as uppcase string\n\t\t */\n\t\tinitials() {\n\t\t\tlet initials = '?'\n\t\t\tif (this.showInitials) {\n\t\t\t\tconst user = this.userIdentifier.trim()\n\t\t\t\tif (user === '') {\n\t\t\t\t\treturn initials\n\t\t\t\t}\n\n\t\t\t\t/**\n\t\t\t\t * Filtered user name, without special characters so only letters and numbers are allowed (prevent e.g. '(' as an initial)\n\t\t\t\t * \\p{L}: Letters of all languages\n\t\t\t\t * \\p{N}: Numbers of all languages\n\t\t\t\t * \\s: White space for breaking the string\n\t\t\t\t * @type {string}\n\t\t\t\t */\n\t\t\t\tconst filteredChars = user.match(/[\\p{L}\\p{N}\\s]/gu)\n\t\t\t\tif (filteredChars == null) {\n\t\t\t\t\treturn initials\n\t\t\t\t}\n\n\t\t\t\tconst filtered = filteredChars.join('')\n\t\t\t\tconst idx = filtered.lastIndexOf(' ')\n\t\t\t\tinitials = String.fromCodePoint(filtered.codePointAt(0))\n\t\t\t\tif (idx !== -1) {\n\t\t\t\t\tinitials = initials.concat(String.fromCodePoint(filtered.codePointAt(idx + 1)))\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn initials.toLocaleUpperCase()\n\t\t},\n\t\tmenu() {\n\t\t\tconst actions = this.contactsMenuActions.map((item) => {\n\t\t\t\tconst route = getRoute(this.$router, item.hyperlink)\n\t\t\t\treturn {\n\t\t\t\t\tncActionComponent: route ? NcActionRouter : NcActionLink,\n\t\t\t\t\tncActionComponentProps: route\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\tto: route,\n\t\t\t\t\t\t\ticon: item.icon,\n\t\t\t\t\t\t}\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\thref: item.hyperlink,\n\t\t\t\t\t\t\ticon: item.icon,\n\t\t\t\t\t\t},\n\t\t\t\t\ttext: item.title,\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t/**\n\t\t\t * @param {string} html The HTML to escape\n\t\t\t */\n\t\t\tfunction escape(html) {\n\t\t\t\tconst text = document.createTextNode(html)\n\t\t\t\tconst p = document.createElement('p')\n\t\t\t\tp.appendChild(text)\n\t\t\t\treturn p.innerHTML\n\t\t\t}\n\n\t\t\tif (this.showUserStatus && (this.userStatus.icon || this.userStatus.message)) {\n\t\t\t\t// NcAction's URL icons are inverted in dark mode, so we need to pass SVG image in the icon slot\n\t\t\t\tconst emojiIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n\t\t\t\t\t<text x=\"50%\" y=\"50%\" text-anchor=\"middle\" style=\"dominant-baseline: central; font-size: 85%\">${escape(this.userStatus.icon)}</text>\n\t\t\t\t</svg>`\n\t\t\t\treturn [{\n\t\t\t\t\tncActionComponent: NcActionText,\n\t\t\t\t\tncActionComponentProps: {},\n\t\t\t\t\ticonSvg: this.userStatus.icon ? emojiIcon : undefined,\n\t\t\t\t\ttext: `${this.userStatus.message}`,\n\t\t\t\t}].concat(actions)\n\t\t\t}\n\n\t\t\treturn actions\n\t\t},\n\t},\n\n\twatch: {\n\t\turl() {\n\t\t\tthis.userDoesNotExist = false\n\t\t\tthis.loadAvatarUrl()\n\t\t},\n\t\tuser() {\n\t\t\tthis.userDoesNotExist = false\n\t\t\tthis.isMenuLoaded = false\n\t\t\tthis.loadAvatarUrl()\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.loadAvatarUrl()\n\t\tsubscribe('settings:avatar:updated', this.loadAvatarUrl)\n\t\tsubscribe('settings:display-name:updated', this.loadAvatarUrl)\n\t\tif (this.showUserStatus && this.user && !this.isNoUser) {\n\t\t\tif (!this.preloadedUserStatus) {\n\t\t\t\tthis.fetchUserStatus(this.user)\n\t\t\t} else {\n\t\t\t\tthis.userStatus.status = this.preloadedUserStatus.status || ''\n\t\t\t\tthis.userStatus.message = this.preloadedUserStatus.message || ''\n\t\t\t\tthis.userStatus.icon = this.preloadedUserStatus.icon || ''\n\t\t\t\tthis.hasStatus = this.preloadedUserStatus.status !== null\n\t\t\t}\n\t\t\tsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t\t}\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:avatar:updated', this.loadAvatarUrl)\n\t\tunsubscribe('settings:display-name:updated', this.loadAvatarUrl)\n\t\tif (this.showUserStatus && this.user && !this.isNoUser) {\n\t\t\tunsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t\t}\n\t},\n\n\tmethods: {\n\t\tt,\n\t\thandleUserStatusUpdated(state) {\n\t\t\tif (this.user === state.userId) {\n\t\t\t\tthis.userStatus = {\n\t\t\t\t\tstatus: state.status,\n\t\t\t\t\ticon: state.icon,\n\t\t\t\t\tmessage: state.message,\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Toggle the popover menu on click or enter\n\t\t * @param {KeyboardEvent|MouseEvent} event the UI event\n\t\t */\n\t\tasync toggleMenu(event) {\n\t\t\tif (event.type === 'keydown' && event.key !== 'Enter') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (!this.contactsMenuOpenState) {\n\t\t\t\tawait this.fetchContactsMenu()\n\t\t\t}\n\t\t\tthis.contactsMenuOpenState = !this.contactsMenuOpenState\n\t\t},\n\t\tcloseMenu() {\n\t\t\tthis.contactsMenuOpenState = false\n\t\t},\n\t\tasync fetchContactsMenu() {\n\t\t\tthis.contactsMenuLoading = true\n\t\t\ttry {\n\t\t\t\tconst user = encodeURIComponent(this.user)\n\t\t\t\tconst { data } = await axios.post(generateUrl('contactsmenu/findOne'), `shareType=0&shareWith=${user}`)\n\t\t\t\tthis.contactsMenuActions = data.topAction ? [data.topAction].concat(data.actions) : data.actions\n\t\t\t} catch (e) {\n\t\t\t\tthis.contactsMenuOpenState = false\n\t\t\t}\n\t\t\tthis.contactsMenuLoading = false\n\t\t\tthis.isMenuLoaded = true\n\t\t},\n\n\t\t/**\n\t\t * Handle avatar loading if user or url defined\n\t\t */\n\t\tloadAvatarUrl() {\n\t\t\tthis.isAvatarLoaded = false\n\n\t\t\t/** Only run avatar image loading if either user or url property is defined */\n\t\t\tif (!this.isUrlDefined && (!this.isUserDefined || this.isNoUser)) {\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Directly use the url if defined\n\t\t\tif (this.isUrlDefined) {\n\t\t\t\tthis.updateImageIfValid(this.url)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.size <= 64) {\n\t\t\t\tconst avatarUrl = this.avatarUrlGenerator(this.user, 64)\n\t\t\t\tconst srcset = [\n\t\t\t\t\tavatarUrl + ' 1x',\n\t\t\t\t\tthis.avatarUrlGenerator(this.user, 512) + ' 8x',\n\t\t\t\t].join(', ')\n\n\t\t\t\tthis.updateImageIfValid(avatarUrl, srcset)\n\t\t\t} else {\n\t\t\t\tconst avatarUrl = this.avatarUrlGenerator(this.user, 512)\n\t\t\t\tthis.updateImageIfValid(avatarUrl)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Generate an avatar url from the server's avatar endpoint\n\t\t *\n\t\t * @param {string} user the user id\n\t\t * @param {number} size the desired size\n\t\t * @return {string}\n\t\t */\n\t\tavatarUrlGenerator(user, size) {\n\t\t\tlet avatarUrl = getAvatarUrl(user, size, this.isGuest)\n\n\t\t\t// eslint-disable-next-line camelcase\n\t\t\tif (user === getCurrentUser()?.uid && typeof oc_userconfig !== 'undefined') {\n\t\t\t\tavatarUrl += '?v=' + oc_userconfig.avatar.version\n\t\t\t}\n\n\t\t\treturn avatarUrl\n\t\t},\n\n\t\t/**\n\t\t * Check if the provided url is valid and update Avatar if so\n\t\t *\n\t\t * @param {string} url the avatar url\n\t\t * @param {Array} srcset the avatar srcset\n\t\t */\n\t\tupdateImageIfValid(url, srcset = null) {\n\t\t\t// skip loading\n\t\t\tconst userHasAvatar = getUserHasAvatar(this.user)\n\t\t\tif (this.isUserDefined && typeof userHasAvatar === 'boolean') {\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\tthis.avatarUrlLoaded = url\n\t\t\t\tif (srcset) {\n\t\t\t\t\tthis.avatarSrcSetLoaded = srcset\n\t\t\t\t}\n\t\t\t\tif (userHasAvatar === false) {\n\t\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst img = new Image()\n\t\t\timg.onload = () => {\n\t\t\t\tthis.avatarUrlLoaded = url\n\t\t\t\tif (srcset) {\n\t\t\t\t\tthis.avatarSrcSetLoaded = srcset\n\t\t\t\t}\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\t// re-get to avoid concurrent access\n\t\t\t\tsetUserHasAvatar(this.user, true)\n\t\t\t}\n\t\t\timg.onerror = () => {\n\t\t\t\tconsole.debug('Invalid avatar url', url)\n\t\t\t\t// Avatar is invalid, reset\n\t\t\t\tthis.avatarUrlLoaded = null\n\t\t\t\tthis.avatarSrcSetLoaded = null\n\n\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\tthis.isAvatarLoaded = false\n\t\t\t\tsetUserHasAvatar(this.user, false)\n\t\t\t}\n\n\t\t\tif (srcset) {\n\t\t\t\timg.srcset = srcset\n\t\t\t}\n\t\t\timg.src = url\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.avatardiv {\n\tposition: relative;\n\tdisplay: inline-block;\n\twidth: var(--size);\n\theight: var(--size);\n\n\t&--unknown {\n\t\tposition: relative;\n\t\tbackground-color: var(--color-main-background);\n\t\twhite-space: normal;\n\t}\n\n\t&:not(&--unknown) {\n\t\t// White/black background for avatars with transparency\n\t\tbackground-color: var(--color-main-background) !important;\n\t\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\n\t}\n\n\t&--with-menu {\n\t\tcursor: pointer;\n\t\t.action-item {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t}\n\t\t:deep(.action-item__menutoggle) {\n\t\t\tcursor: pointer;\n\t\t\topacity: 0;\n\t\t}\n\t\t&:focus-within,\n\t\t&:hover,\n\t\t&#{&}-loading {\n\t\t\t:deep(.action-item__menutoggle) {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\timg {\n\t\t\t\topacity: 0.3;\n\t\t\t}\n\t\t}\n\t\t:deep(.action-item__menutoggle),\n\t\timg {\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t}\n\t\t:deep() {\n\t\t\t.button-vue,\n\t\t\t.button-vue__icon {\n\t\t\t\theight: var(--size);\n\t\t\t\tmin-height: var(--size);\n\t\t\t\twidth: var(--size) !important;\n\t\t\t\tmin-width: var(--size);\n\t\t\t}\n\t\t}\n\t}\n\n\t.avatardiv__initials-wrapper {\n\t\tdisplay: block;\n\t\theight: var(--size);\n\t\twidth: var(--size);\n\t\tbackground-color: var(--color-main-background);\n\t\tborder-radius: 50%;\n\n\t\t.avatardiv__initials {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t\ttext-align: center;\n\t\t\tfont-weight: normal;\n\t\t}\n\t}\n\n\timg {\n\t\t// Cover entire area\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\t// Keep ratio\n\t\tobject-fit: cover;\n\t}\n\n\t.material-design-icon {\n\t\twidth: var(--size);\n\t\theight: var(--size);\n\t}\n\n\t.avatardiv__user-status {\n\t\tbox-sizing: border-box;\n\t\tposition: absolute;\n\t\tright: -4px;\n\t\tbottom: -4px;\n\t\tmin-height: 18px;\n\t\tmin-width: 18px;\n\t\tmax-height: 18px;\n\t\tmax-width: 18px;\n\t\theight: 40%;\n\t\twidth: 40%;\n\t\tline-height: 15px;\n\t\tfont-size: var(--default-font-size);\n\t\tborder: 2px solid var(--color-main-background);\n\t\tbackground-color: var(--color-main-background);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: 16px;\n\t\tbackground-position: center;\n\t\tborder-radius: 50%;\n\n\t\t.acli:hover & {\n\t\t\tborder-color: var(--color-background-hover);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t\t.acli.active & {\n\t\t\tborder-color: var(--color-primary-element-light);\n\t\t\tbackground-color: var(--color-primary-element-light);\n\t\t}\n\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t.popovermenu-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n}\n\n.avatar-class-icon {\n\tdisplay: block;\n\tborder-radius: 50%;\n\tbackground-color: var(--color-background-darker);\n\theight: 100%;\n}\n\n</style>\n"],"names":["ClickOutside"],"mappings":"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"}
|