@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,198 @@
|
|
|
1
|
+
import '../assets/NcMentionBubble-DmzU72Mw.css';
|
|
2
|
+
import { g as getAvatarUrl } from "./getAvatarUrl-BBvqBOJD.mjs";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { n as normalizeComponent } from "./_plugin-vue2_normalizer-D637Qkok.mjs";
|
|
5
|
+
import { L as Linkify } from "./Linkify-BBPJHBma.mjs";
|
|
6
|
+
import escapeHtml from "escape-html";
|
|
7
|
+
import stripTags from "striptags";
|
|
8
|
+
import Vue from "vue";
|
|
9
|
+
const _sfc_main = {
|
|
10
|
+
name: "NcMentionBubble",
|
|
11
|
+
props: {
|
|
12
|
+
id: {
|
|
13
|
+
type: String,
|
|
14
|
+
required: true
|
|
15
|
+
},
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated Use `label` instead
|
|
18
|
+
*/
|
|
19
|
+
title: {
|
|
20
|
+
type: String,
|
|
21
|
+
required: false,
|
|
22
|
+
default: null
|
|
23
|
+
},
|
|
24
|
+
label: {
|
|
25
|
+
type: String,
|
|
26
|
+
required: false,
|
|
27
|
+
default: null
|
|
28
|
+
},
|
|
29
|
+
icon: {
|
|
30
|
+
type: String,
|
|
31
|
+
required: true
|
|
32
|
+
},
|
|
33
|
+
iconUrl: {
|
|
34
|
+
type: [String, null],
|
|
35
|
+
default: null
|
|
36
|
+
},
|
|
37
|
+
source: {
|
|
38
|
+
type: String,
|
|
39
|
+
required: true
|
|
40
|
+
},
|
|
41
|
+
primary: {
|
|
42
|
+
type: Boolean,
|
|
43
|
+
default: false
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
computed: {
|
|
47
|
+
avatarUrl() {
|
|
48
|
+
if (this.iconUrl) {
|
|
49
|
+
return this.iconUrl;
|
|
50
|
+
}
|
|
51
|
+
return this.id && this.source === "users" ? this.getAvatarUrl(this.id, 44) : null;
|
|
52
|
+
},
|
|
53
|
+
mentionText() {
|
|
54
|
+
return !this.id.includes(" ") && !this.id.includes("/") ? "@".concat(this.id) : '@"'.concat(this.id, '"');
|
|
55
|
+
},
|
|
56
|
+
// Fallback to title for compatibility
|
|
57
|
+
labelWithFallback() {
|
|
58
|
+
return this.label || this.title;
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
methods: {
|
|
62
|
+
getAvatarUrl
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
var _sfc_render = function render() {
|
|
66
|
+
var _vm = this, _c = _vm._self._c;
|
|
67
|
+
return _c("span", { staticClass: "mention-bubble", class: { "mention-bubble--primary": _vm.primary }, attrs: { "contenteditable": "false" } }, [_c("span", { staticClass: "mention-bubble__wrapper" }, [_c("span", { staticClass: "mention-bubble__content" }, [_c("span", { staticClass: "mention-bubble__icon", class: [_vm.icon, "mention-bubble__icon--".concat(_vm.avatarUrl ? "with-avatar" : "")], style: _vm.avatarUrl ? { backgroundImage: "url(".concat(_vm.avatarUrl, ")") } : null }), _c("span", { staticClass: "mention-bubble__title", attrs: { "role": "heading", "title": _vm.labelWithFallback } })]), _c("span", { staticClass: "mention-bubble__select", attrs: { "role": "none" } }, [_vm._v(_vm._s(_vm.mentionText))])])]);
|
|
68
|
+
};
|
|
69
|
+
var _sfc_staticRenderFns = [];
|
|
70
|
+
var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
71
|
+
_sfc_main,
|
|
72
|
+
_sfc_render,
|
|
73
|
+
_sfc_staticRenderFns,
|
|
74
|
+
false,
|
|
75
|
+
null,
|
|
76
|
+
"791c3b28",
|
|
77
|
+
null,
|
|
78
|
+
null
|
|
79
|
+
);
|
|
80
|
+
const NcMentionBubble = __component__.exports;
|
|
81
|
+
/**
|
|
82
|
+
* @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>
|
|
83
|
+
*
|
|
84
|
+
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
85
|
+
*
|
|
86
|
+
* @license AGPL-3.0-or-later
|
|
87
|
+
*
|
|
88
|
+
* This program is free software: you can redistribute it and/or modify
|
|
89
|
+
* it under the terms of the GNU Affero General Public License as
|
|
90
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
91
|
+
* License, or (at your option) any later version.
|
|
92
|
+
*
|
|
93
|
+
* This program is distributed in the hope that it will be useful,
|
|
94
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
95
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
96
|
+
* GNU Affero General Public License for more details.
|
|
97
|
+
*
|
|
98
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
99
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
100
|
+
*
|
|
101
|
+
*/
|
|
102
|
+
const MENTION_START = new RegExp("\\B(?<![^a-z0-9_\\-@.'\\s])").source;
|
|
103
|
+
const MENTION_SIMPLE = /(@[a-z0-9_\-@.']+)/.source;
|
|
104
|
+
const MENTION_GUEST = /@"guest\/[a-f0-9]+"/.source;
|
|
105
|
+
const MENTION_PREFIXED = /@"(?:federated_)?(?:group|team|user){1}\/[a-z0-9_\-@.' /:]+"/.source;
|
|
106
|
+
const MENTION_WITH_SPACE = /@"[a-z0-9_\-@.' ]+"/.source;
|
|
107
|
+
const MENTION_COMPLEX = "(".concat(MENTION_GUEST, "|").concat(MENTION_PREFIXED, "|").concat(MENTION_WITH_SPACE, ")");
|
|
108
|
+
const USERID_REGEX = new RegExp("".concat(MENTION_START).concat(MENTION_SIMPLE), "gi");
|
|
109
|
+
const USERID_REGEX_WITH_SPACE = new RegExp("".concat(MENTION_START).concat(MENTION_COMPLEX), "gi");
|
|
110
|
+
const richEditor = {
|
|
111
|
+
props: {
|
|
112
|
+
userData: {
|
|
113
|
+
type: Object,
|
|
114
|
+
default: () => ({})
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
methods: {
|
|
118
|
+
/**
|
|
119
|
+
* Convert the value string to html for the inner content
|
|
120
|
+
*
|
|
121
|
+
* @param {string} value the content without html
|
|
122
|
+
* @return {string} rendered html
|
|
123
|
+
*/
|
|
124
|
+
renderContent(value) {
|
|
125
|
+
const sanitizedValue = escapeHtml(value);
|
|
126
|
+
const splitValue = sanitizedValue.split(USERID_REGEX).map((part) => part.split(USERID_REGEX_WITH_SPACE)).flat();
|
|
127
|
+
return splitValue.map((part) => {
|
|
128
|
+
if (!part.startsWith("@")) {
|
|
129
|
+
return Linkify(part);
|
|
130
|
+
}
|
|
131
|
+
const id = part.slice(1).replace(/"/gi, "");
|
|
132
|
+
return this.genSelectTemplate(id);
|
|
133
|
+
}).join("").replace(/\n/gmi, "<br>").replace(/&/gmi, "&");
|
|
134
|
+
},
|
|
135
|
+
/**
|
|
136
|
+
* Convert the innerHtml content to a string with mentions as text
|
|
137
|
+
*
|
|
138
|
+
* @param {string} content the content without html
|
|
139
|
+
* @return {string}
|
|
140
|
+
*/
|
|
141
|
+
parseContent(content) {
|
|
142
|
+
let text = content;
|
|
143
|
+
text = text.replace(/>\s+</g, "><");
|
|
144
|
+
text = text.replace(/<br>/gmi, "\n");
|
|
145
|
+
text = text.replace(/ /gmi, " ");
|
|
146
|
+
text = text.replace(/&/gmi, "&");
|
|
147
|
+
text = text.replace(/<\/div>/gmi, "\n");
|
|
148
|
+
text = stripTags(text, "<div>");
|
|
149
|
+
text = stripTags(text);
|
|
150
|
+
return text;
|
|
151
|
+
},
|
|
152
|
+
/**
|
|
153
|
+
* Generate an autocompletion popup entry template
|
|
154
|
+
*
|
|
155
|
+
* @param {string} value the value to match against the userData
|
|
156
|
+
* @return {string}
|
|
157
|
+
*/
|
|
158
|
+
genSelectTemplate(value) {
|
|
159
|
+
if (typeof value === "undefined") {
|
|
160
|
+
return "".concat(this.autocompleteTribute.current.collection.trigger).concat(this.autocompleteTribute.current.mentionText);
|
|
161
|
+
}
|
|
162
|
+
const data = this.userData[value];
|
|
163
|
+
if (!data) {
|
|
164
|
+
return [" ", "/", ":"].every((char) => !value.includes(char)) ? "@".concat(value) : '@"'.concat(value, '"');
|
|
165
|
+
}
|
|
166
|
+
return this.renderComponentHtml(data, NcMentionBubble).replace(/[\n\t]/gmi, "");
|
|
167
|
+
},
|
|
168
|
+
/**
|
|
169
|
+
* Render a component and return its html content
|
|
170
|
+
*
|
|
171
|
+
* @param {object} propsData the props to pass to the component
|
|
172
|
+
* @param {object} component the component to render
|
|
173
|
+
* @return {string} the rendered html
|
|
174
|
+
*/
|
|
175
|
+
renderComponentHtml(propsData, component) {
|
|
176
|
+
const View = Vue.extend(component);
|
|
177
|
+
const Item = new View({
|
|
178
|
+
propsData
|
|
179
|
+
});
|
|
180
|
+
const wrapper = document.createElement("div");
|
|
181
|
+
const mount = document.createElement("div");
|
|
182
|
+
wrapper.style.display = "none";
|
|
183
|
+
wrapper.appendChild(mount);
|
|
184
|
+
document.body.appendChild(wrapper);
|
|
185
|
+
Item.$mount(mount);
|
|
186
|
+
const renderedHtml = wrapper.innerHTML;
|
|
187
|
+
Item.$destroy();
|
|
188
|
+
wrapper.remove();
|
|
189
|
+
return renderedHtml;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
export {
|
|
194
|
+
NcMentionBubble as N,
|
|
195
|
+
USERID_REGEX as U,
|
|
196
|
+
USERID_REGEX_WITH_SPACE as a,
|
|
197
|
+
richEditor as r
|
|
198
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-uiNhPYvS.mjs","sources":["../../src/components/NcRichContenteditable/NcMentionBubble.vue","../../src/mixins/richEditor/index.js"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<template>\n\t<span :class=\"{'mention-bubble--primary': primary}\"\n\t\tclass=\"mention-bubble\"\n\t\tcontenteditable=\"false\">\n\t\t<span class=\"mention-bubble__wrapper\">\n\t\t\t<span class=\"mention-bubble__content\">\n\t\t\t\t<!-- Avatar or icon -->\n\t\t\t\t<span :class=\"[icon, `mention-bubble__icon--${avatarUrl ? 'with-avatar' : ''}`]\"\n\t\t\t\t\t:style=\"avatarUrl ? { backgroundImage: `url(${avatarUrl})` } : null\"\n\t\t\t\t\tclass=\"mention-bubble__icon\" />\n\n\t\t\t\t<!-- Title -->\n\t\t\t\t<span role=\"heading\" class=\"mention-bubble__title\" :title=\"labelWithFallback\" />\n\t\t\t</span>\n\n\t\t\t<!-- Selectable text for copy/paste -->\n\t\t\t<span role=\"none\" class=\"mention-bubble__select\">{{ mentionText }}</span>\n\t\t</span>\n\t</span>\n</template>\n\n<script>\nimport { getAvatarUrl } from '../../utils/getAvatarUrl.ts'\n\nexport default {\n\tname: 'NcMentionBubble',\n\n\tprops: {\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\t/**\n\t\t * @deprecated Use `label` instead\n\t\t */\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t},\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ticonUrl: {\n\t\t\ttype: [String, null],\n\t\t\tdefault: null,\n\t\t},\n\t\tsource: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tcomputed: {\n\t\tavatarUrl() {\n\t\t\tif (this.iconUrl) {\n\t\t\t\treturn this.iconUrl\n\t\t\t}\n\n\t\t\treturn this.id && this.source === 'users'\n\t\t\t\t? this.getAvatarUrl(this.id, 44)\n\t\t\t\t: null\n\t\t},\n\t\tmentionText() {\n\t\t\treturn !this.id.includes(' ') && !this.id.includes('/')\n\t\t\t\t? `@${this.id}`\n\t\t\t\t: `@\"${this.id}\"`\n\t\t},\n\t\t// Fallback to title for compatibility\n\t\tlabelWithFallback() {\n\t\t\treturn this.label || this.title\n\t\t},\n\t},\n\n\tmethods: {\n\t\tgetAvatarUrl,\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$bubble-height: 20px;\n$bubble-max-width: 150px;\n$bubble-padding: 2px;\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\n\n.mention-bubble {\n\t&--primary &__content {\n\t\tcolor: var(--color-primary-element-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t&__wrapper {\n\t\tmax-width: $bubble-max-width;\n\t\t// Align with text\n\t\theight: $bubble-height - $bubble-padding;\n\t\tvertical-align: text-bottom;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tmax-width: 100%;\n\t\theight: $bubble-height ;\n\t\t-webkit-user-select: none;\n\t\tuser-select: none;\n\t\tpadding-right: $bubble-padding * 3;\n\t\tpadding-left: $bubble-padding;\n\t\tborder-radius: math.div($bubble-height, 2);\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\twidth: $bubble-avatar-size;\n\t\theight: $bubble-avatar-size;\n\t\tborder-radius: math.div($bubble-avatar-size, 2);\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\n\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tmargin-left: $bubble-padding;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Put title in ::before so it is not selectable\n\t\t&::before {\n\t\t\tcontent: attr(title);\n\t\t}\n\t}\n\n\t// Hide the mention id so it is selectable\n\t&__select {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\tleft: -1000px;\n\t}\n}\n\n</style>\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport NcMentionBubble from '../../components/NcRichContenteditable/NcMentionBubble.vue'\nimport Linkify from '../../utils/Linkify.js'\n\nimport escapeHtml from 'escape-html'\nimport stripTags from 'striptags'\nimport Vue from 'vue'\n\n// Referenced from public function getMentions(): https://github.com/nextcloud/server/blob/master/lib/private/Comments/Comment.php\n// Beginning or whitespace. Non-capturing group within word boundary\nconst MENTION_START = /\\B(?<![^a-z0-9_\\-@.'\\s])/.source\n// Capturing groups like: @user-id, @\"guest/abc16def\", @\"federated_user/user-id\", @\"user-id with space\"\nconst MENTION_SIMPLE = /(@[a-z0-9_\\-@.']+)/.source\nconst MENTION_GUEST = /@"guest\\/[a-f0-9]+"/.source\nconst MENTION_PREFIXED = /@"(?:federated_)?(?:group|team|user){1}\\/[a-z0-9_\\-@.' /:]+"/.source\nconst MENTION_WITH_SPACE = /@"[a-z0-9_\\-@.' ]+"/.source\nconst MENTION_COMPLEX = `(${MENTION_GUEST}|${MENTION_PREFIXED}|${MENTION_WITH_SPACE})`\n// Concatenated regular expressions\nexport const USERID_REGEX = new RegExp(`${MENTION_START}${MENTION_SIMPLE}`, 'gi')\nexport const USERID_REGEX_WITH_SPACE = new RegExp(`${MENTION_START}${MENTION_COMPLEX}`, 'gi')\n\nexport default {\n\tprops: {\n\t\tuserData: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Convert the value string to html for the inner content\n\t\t *\n\t\t * @param {string} value the content without html\n\t\t * @return {string} rendered html\n\t\t */\n\t\trenderContent(value) {\n\t\t\t// Sanitize the value prop\n\t\t\tconst sanitizedValue = escapeHtml(value)\n\n\t\t\t// Extract all the userIds\n\t\t\tconst splitValue = sanitizedValue.split(USERID_REGEX)\n\t\t\t\t.map(part => part.split(USERID_REGEX_WITH_SPACE)).flat()\n\n\t\t\t// Replace userIds by html\n\t\t\treturn splitValue\n\t\t\t\t.map(part => {\n\t\t\t\t\t// When splitting, the string is always putting the userIds\n\t\t\t\t\t// on the uneven indexes. We only want to generate the mentions html\n\t\t\t\t\tif (!part.startsWith('@')) {\n\t\t\t\t\t\t// This part doesn't contain a mention, let's make sure links are parsed\n\t\t\t\t\t\treturn Linkify(part)\n\t\t\t\t\t}\n\n\t\t\t\t\t// Extracting the id, nuking the leading @ and all \"\n\t\t\t\t\tconst id = part.slice(1).replace(/"/gi, '')\n\t\t\t\t\t// Compiling template and prepend with the space we removed during the split\n\t\t\t\t\treturn this.genSelectTemplate(id)\n\t\t\t\t})\n\t\t\t\t.join('')\n\t\t\t\t.replace(/\\n/gmi, '<br>')\n\t\t\t\t.replace(/&/gmi, '&')\n\t\t},\n\n\t\t/**\n\t\t * Convert the innerHtml content to a string with mentions as text\n\t\t *\n\t\t * @param {string} content the content without html\n\t\t * @return {string}\n\t\t */\n\t\tparseContent(content) {\n\t\t\tlet text = content\n\t\t\t// Consecutive spaces in HTML tags should collapse\n\t\t\ttext = text.replace(/>\\s+</g, '><')\n\t\t\t// Replace break lines with new lines\n\t\t\ttext = text.replace(/<br>/gmi, '\\n')\n\t\t\t// Replace some html special characters\n\t\t\ttext = text.replace(/ /gmi, ' ')\n\t\t\ttext = text.replace(/&/gmi, '&')\n\n\t\t\t// Convert the mentions to text only\n\t\t\t// first we replace divs with new lines\n\t\t\ttext = text.replace(/<\\/div>/gmi, '\\n')\n\t\t\t// then we remove all leftover html\n\t\t\ttext = stripTags(text, '<div>')\n\t\t\ttext = stripTags(text)\n\n\t\t\treturn text\n\t\t},\n\n\t\t/**\n\t\t * Generate an autocompletion popup entry template\n\t\t *\n\t\t * @param {string} value the value to match against the userData\n\t\t * @return {string}\n\t\t */\n\t\tgenSelectTemplate(value) {\n\t\t\t// The value returned by this function will replace the trigger '@'\n\t\t\t// and the search text, so when there is no match we simply return\n\t\t\t// '@' and the text.\n\t\t\tif (typeof value === 'undefined') {\n\t\t\t\treturn `${this.autocompleteTribute.current.collection.trigger}${this.autocompleteTribute.current.mentionText}`\n\t\t\t}\n\n\t\t\tconst data = this.userData[value]\n\n\t\t\t// Fallback to @mention in case no data matches\n\t\t\tif (!data) {\n\t\t\t\t// return @value if matches MENTION_SIMPLE, @\"value\" otherwise\n\t\t\t\treturn [' ', '/', ':'].every(char => !value.includes(char))\n\t\t\t\t\t? `@${value}`\n\t\t\t\t\t: `@\"${value}\"`\n\t\t\t}\n\n\t\t\t// Return template and make sure we strip of new lines and tabs\n\t\t\treturn this.renderComponentHtml(data, NcMentionBubble).replace(/[\\n\\t]/gmi, '')\n\t\t},\n\n\t\t/**\n\t\t * Render a component and return its html content\n\t\t *\n\t\t * @param {object} propsData the props to pass to the component\n\t\t * @param {object} component the component to render\n\t\t * @return {string} the rendered html\n\t\t */\n\t\trenderComponentHtml(propsData, component) {\n\t\t\tconst View = Vue.extend(component)\n\t\t\tconst Item = new View({\n\t\t\t\tpropsData,\n\t\t\t})\n\n\t\t\t// Prepare mountpoint\n\t\t\tconst wrapper = document.createElement('div')\n\t\t\tconst mount = document.createElement('div')\n\t\t\twrapper.style.display = 'none'\n\t\t\twrapper.appendChild(mount)\n\t\t\tdocument.body.appendChild(wrapper)\n\n\t\t\t// Mount and get raw html\n\t\t\tItem.$mount(mount)\n\t\t\tconst renderedHtml = wrapper.innerHTML\n\n\t\t\t// Destroy\n\t\t\tItem.$destroy()\n\t\t\twrapper.remove()\n\n\t\t\treturn renderedHtml\n\t\t},\n\t},\n}\n"],"names":["_sfc_main","getAvatarUrl","MENTION_START","MENTION_SIMPLE","MENTION_GUEST","MENTION_PREFIXED","MENTION_WITH_SPACE","MENTION_COMPLEX","USERID_REGEX","USERID_REGEX_WITH_SPACE","richEditor","value","escapeHtml","part","Linkify","id","content","text","stripTags","data","NcMentionBubble","char","propsData","component","View","Vue","Item","wrapper","mount","renderedHtml"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-BRQQ9NaL.mjs","sources":["../../src/components/NcRichContenteditable/NcMentionBubble.vue","../../src/mixins/richEditor/index.js"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<template>\n\t<span :class=\"{'mention-bubble--primary': primary}\"\n\t\tclass=\"mention-bubble\"\n\t\tcontenteditable=\"false\">\n\t\t<span class=\"mention-bubble__wrapper\">\n\t\t\t<span class=\"mention-bubble__content\">\n\t\t\t\t<!-- Avatar or icon -->\n\t\t\t\t<span :class=\"[icon, `mention-bubble__icon--${avatarUrl ? 'with-avatar' : ''}`]\"\n\t\t\t\t\t:style=\"avatarUrl ? { backgroundImage: `url(${avatarUrl})` } : null\"\n\t\t\t\t\tclass=\"mention-bubble__icon\" />\n\n\t\t\t\t<!-- Title -->\n\t\t\t\t<span role=\"heading\" class=\"mention-bubble__title\" :title=\"labelWithFallback\" />\n\t\t\t</span>\n\n\t\t\t<!-- Selectable text for copy/paste -->\n\t\t\t<span role=\"none\" class=\"mention-bubble__select\">{{ mentionText }}</span>\n\t\t</span>\n\t</span>\n</template>\n\n<script>\nimport { getAvatarUrl } from '../../utils/getAvatarUrl.ts'\n\nexport default {\n\tname: 'NcMentionBubble',\n\n\tprops: {\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\t/**\n\t\t * @deprecated Use `label` instead\n\t\t */\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t},\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ticonUrl: {\n\t\t\ttype: [String, null],\n\t\t\tdefault: null,\n\t\t},\n\t\tsource: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tcomputed: {\n\t\tavatarUrl() {\n\t\t\tif (this.iconUrl) {\n\t\t\t\treturn this.iconUrl\n\t\t\t}\n\n\t\t\treturn this.id && this.source === 'users'\n\t\t\t\t? this.getAvatarUrl(this.id, 44)\n\t\t\t\t: null\n\t\t},\n\t\tmentionText() {\n\t\t\treturn !this.id.includes(' ') && !this.id.includes('/')\n\t\t\t\t? `@${this.id}`\n\t\t\t\t: `@\"${this.id}\"`\n\t\t},\n\t\t// Fallback to title for compatibility\n\t\tlabelWithFallback() {\n\t\t\treturn this.label || this.title\n\t\t},\n\t},\n\n\tmethods: {\n\t\tgetAvatarUrl,\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$bubble-height: 20px;\n$bubble-max-width: 150px;\n$bubble-padding: 2px;\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\n\n.mention-bubble {\n\t&--primary &__content {\n\t\tcolor: var(--color-primary-element-text);\n\t\tbackground-color: var(--color-primary-element);\n\t}\n\n\t&__wrapper {\n\t\tmax-width: $bubble-max-width;\n\t\t// Align with text\n\t\theight: $bubble-height - $bubble-padding;\n\t\tvertical-align: text-bottom;\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\toverflow: hidden;\n\t\talign-items: center;\n\t\tmax-width: 100%;\n\t\theight: $bubble-height ;\n\t\t-webkit-user-select: none;\n\t\tuser-select: none;\n\t\tpadding-right: $bubble-padding * 3;\n\t\tpadding-left: $bubble-padding;\n\t\tborder-radius: math.div($bubble-height, 2);\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__icon {\n\t\tposition: relative;\n\t\twidth: $bubble-avatar-size;\n\t\theight: $bubble-avatar-size;\n\t\tborder-radius: math.div($bubble-avatar-size, 2);\n\t\tbackground-color: var(--color-background-darker);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\n\n\t\t&--with-avatar {\n\t\t\tcolor: inherit;\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\tmargin-left: $bubble-padding;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Put title in ::before so it is not selectable\n\t\t&::before {\n\t\t\tcontent: attr(title);\n\t\t}\n\t}\n\n\t// Hide the mention id so it is selectable\n\t&__select {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\tleft: -1000px;\n\t}\n}\n\n</style>\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport NcMentionBubble from '../../components/NcRichContenteditable/NcMentionBubble.vue'\nimport Linkify from '../../utils/Linkify.js'\n\nimport escapeHtml from 'escape-html'\nimport stripTags from 'striptags'\nimport Vue from 'vue'\n\n// Referenced from public function getMentions(): https://github.com/nextcloud/server/blob/master/lib/private/Comments/Comment.php\n// Beginning or whitespace. Non-capturing group within word boundary\nconst MENTION_START = /\\B(?<![^a-z0-9_\\-@.'\\s])/.source\n// Capturing groups like: @user-id, @\"guest/abc16def\", @\"federated_user/user-id\", @\"user-id with space\"\nconst MENTION_SIMPLE = /(@[a-z0-9_\\-@.']+)/.source\nconst MENTION_GUEST = /@"guest\\/[a-f0-9]+"/.source\nconst MENTION_PREFIXED = /@"(?:federated_)?(?:group|team|user){1}\\/[a-z0-9_\\-@.' /:]+"/.source\nconst MENTION_WITH_SPACE = /@"[a-z0-9_\\-@.' ]+"/.source\nconst MENTION_COMPLEX = `(${MENTION_GUEST}|${MENTION_PREFIXED}|${MENTION_WITH_SPACE})`\n// Concatenated regular expressions\nexport const USERID_REGEX = new RegExp(`${MENTION_START}${MENTION_SIMPLE}`, 'gi')\nexport const USERID_REGEX_WITH_SPACE = new RegExp(`${MENTION_START}${MENTION_COMPLEX}`, 'gi')\n\nexport default {\n\tprops: {\n\t\tuserData: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Convert the value string to html for the inner content\n\t\t *\n\t\t * @param {string} value the content without html\n\t\t * @return {string} rendered html\n\t\t */\n\t\trenderContent(value) {\n\t\t\t// Sanitize the value prop\n\t\t\tconst sanitizedValue = escapeHtml(value)\n\n\t\t\t// Extract all the userIds\n\t\t\tconst splitValue = sanitizedValue.split(USERID_REGEX)\n\t\t\t\t.map(part => part.split(USERID_REGEX_WITH_SPACE)).flat()\n\n\t\t\t// Replace userIds by html\n\t\t\treturn splitValue\n\t\t\t\t.map(part => {\n\t\t\t\t\t// When splitting, the string is always putting the userIds\n\t\t\t\t\t// on the uneven indexes. We only want to generate the mentions html\n\t\t\t\t\tif (!part.startsWith('@')) {\n\t\t\t\t\t\t// This part doesn't contain a mention, let's make sure links are parsed\n\t\t\t\t\t\treturn Linkify(part)\n\t\t\t\t\t}\n\n\t\t\t\t\t// Extracting the id, nuking the leading @ and all \"\n\t\t\t\t\tconst id = part.slice(1).replace(/"/gi, '')\n\t\t\t\t\t// Compiling template and prepend with the space we removed during the split\n\t\t\t\t\treturn this.genSelectTemplate(id)\n\t\t\t\t})\n\t\t\t\t.join('')\n\t\t\t\t.replace(/\\n/gmi, '<br>')\n\t\t\t\t.replace(/&/gmi, '&')\n\t\t},\n\n\t\t/**\n\t\t * Convert the innerHtml content to a string with mentions as text\n\t\t *\n\t\t * @param {string} content the content without html\n\t\t * @return {string}\n\t\t */\n\t\tparseContent(content) {\n\t\t\tlet text = content\n\t\t\t// Consecutive spaces in HTML tags should collapse\n\t\t\ttext = text.replace(/>\\s+</g, '><')\n\t\t\t// Replace break lines with new lines\n\t\t\ttext = text.replace(/<br>/gmi, '\\n')\n\t\t\t// Replace some html special characters\n\t\t\ttext = text.replace(/ /gmi, ' ')\n\t\t\ttext = text.replace(/&/gmi, '&')\n\n\t\t\t// Convert the mentions to text only\n\t\t\t// first we replace divs with new lines\n\t\t\ttext = text.replace(/<\\/div>/gmi, '\\n')\n\t\t\t// then we remove all leftover html\n\t\t\ttext = stripTags(text, '<div>')\n\t\t\ttext = stripTags(text)\n\n\t\t\treturn text\n\t\t},\n\n\t\t/**\n\t\t * Generate an autocompletion popup entry template\n\t\t *\n\t\t * @param {string} value the value to match against the userData\n\t\t * @return {string}\n\t\t */\n\t\tgenSelectTemplate(value) {\n\t\t\t// The value returned by this function will replace the trigger '@'\n\t\t\t// and the search text, so when there is no match we simply return\n\t\t\t// '@' and the text.\n\t\t\tif (typeof value === 'undefined') {\n\t\t\t\treturn `${this.autocompleteTribute.current.collection.trigger}${this.autocompleteTribute.current.mentionText}`\n\t\t\t}\n\n\t\t\tconst data = this.userData[value]\n\n\t\t\t// Fallback to @mention in case no data matches\n\t\t\tif (!data) {\n\t\t\t\t// return @value if matches MENTION_SIMPLE, @\"value\" otherwise\n\t\t\t\treturn [' ', '/', ':'].every(char => !value.includes(char))\n\t\t\t\t\t? `@${value}`\n\t\t\t\t\t: `@\"${value}\"`\n\t\t\t}\n\n\t\t\t// Return template and make sure we strip of new lines and tabs\n\t\t\treturn this.renderComponentHtml(data, NcMentionBubble).replace(/[\\n\\t]/gmi, '')\n\t\t},\n\n\t\t/**\n\t\t * Render a component and return its html content\n\t\t *\n\t\t * @param {object} propsData the props to pass to the component\n\t\t * @param {object} component the component to render\n\t\t * @return {string} the rendered html\n\t\t */\n\t\trenderComponentHtml(propsData, component) {\n\t\t\tconst View = Vue.extend(component)\n\t\t\tconst Item = new View({\n\t\t\t\tpropsData,\n\t\t\t})\n\n\t\t\t// Prepare mountpoint\n\t\t\tconst wrapper = document.createElement('div')\n\t\t\tconst mount = document.createElement('div')\n\t\t\twrapper.style.display = 'none'\n\t\t\twrapper.appendChild(mount)\n\t\t\tdocument.body.appendChild(wrapper)\n\n\t\t\t// Mount and get raw html\n\t\t\tItem.$mount(mount)\n\t\t\tconst renderedHtml = wrapper.innerHTML\n\n\t\t\t// Destroy\n\t\t\tItem.$destroy()\n\t\t\twrapper.remove()\n\n\t\t\treturn renderedHtml\n\t\t},\n\t},\n}\n"],"names":[],"mappings":";;;;;;;AA6CA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA,IACA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,IACA,SAAA;AAAA,MACA,MAAA,CAAA,QAAA,IAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,IACA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,UAAA;AAAA,IACA,YAAA;AACA,UAAA,KAAA,SAAA;AACA,eAAA,KAAA;AAAA,MACA;AAEA,aAAA,KAAA,MAAA,KAAA,WAAA,UACA,KAAA,aAAA,KAAA,IAAA,EAAA,IACA;AAAA,IACA;AAAA,IACA,cAAA;AACA,aAAA,CAAA,KAAA,GAAA,SAAA,GAAA,KAAA,CAAA,KAAA,GAAA,SAAA,GAAA,IACA,IAAA,YAAA,MACA,KAAA,YAAA,IAAA;AAAA,IACA;AAAA;AAAA,IAEA,oBAAA;AACA,aAAA,KAAA,SAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;AC3GA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BA,MAAM,gBAAgB,WAA0B,6BAAA,EAAC;AAEjD,MAAM,iBAAiB,qBAAqB;AAC5C,MAAM,gBAAgB,gCAAgC;AACtD,MAAM,mBAAmB,yEAAyE;AAClG,MAAM,qBAAqB,gCAAgC;AAC3D,MAAM,kBAAkB,IAAI,sBAAa,KAAI,yBAAgB,KAAI,2BAAkB;AAEvE,MAAC,eAAe,IAAI,OAAO,GAAG,sBAAgB,wBAAkB,IAAI;AACpE,MAAC,0BAA0B,IAAI,OAAO,GAAG,sBAAgB,yBAAmB,IAAI;AAE5F,MAAe,aAAA;AAAA,EACd,OAAO;AAAA,IACN,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAChB;AAAA,EACD;AAAA,EACD,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOR,cAAc,OAAO;AAEpB,YAAM,iBAAiB,WAAW,KAAK;AAGvC,YAAM,aAAa,eAAe,MAAM,YAAY,EAClD,IAAI,UAAQ,KAAK,MAAM,uBAAuB,CAAC,EAAE,KAAM;AAGzD,aAAO,WACL,IAAI,UAAQ;AAGZ,YAAI,CAAC,KAAK,WAAW,GAAG,GAAG;AAE1B,iBAAO,QAAQ,IAAI;AAAA,QACnB;AAGD,cAAM,KAAK,KAAK,MAAM,CAAC,EAAE,QAAQ,YAAY,EAAE;AAE/C,eAAO,KAAK,kBAAkB,EAAE;AAAA,MACrC,CAAK,EACA,KAAK,EAAE,EACP,QAAQ,SAAS,MAAM,EACvB,QAAQ,YAAY,GAAG;AAAA,IACzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQD,aAAa,SAAS;AACrB,UAAI,OAAO;AAEX,aAAO,KAAK,QAAQ,UAAU,IAAI;AAElC,aAAO,KAAK,QAAQ,WAAW,IAAI;AAEnC,aAAO,KAAK,QAAQ,aAAa,GAAG;AACpC,aAAO,KAAK,QAAQ,YAAY,GAAG;AAInC,aAAO,KAAK,QAAQ,cAAc,IAAI;AAEtC,aAAO,UAAU,MAAM,OAAO;AAC9B,aAAO,UAAU,IAAI;AAErB,aAAO;AAAA,IACP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQD,kBAAkB,OAAO;AAIxB,UAAI,OAAO,UAAU,aAAa;AACjC,eAAO,GAAG,YAAK,oBAAoB,QAAQ,WAAW,SAAU,YAAK,oBAAoB,QAAQ;AAAA,MACjG;AAED,YAAM,OAAO,KAAK,SAAS,KAAK;AAGhC,UAAI,CAAC,MAAM;AAEV,eAAO,CAAC,KAAK,KAAK,GAAG,EAAE,MAAM,UAAQ,CAAC,MAAM,SAAS,IAAI,CAAC,IACvD,IAAI,gBACJ,KAAK,cAAK;AAAA,MACb;AAGD,aAAO,KAAK,oBAAoB,MAAM,eAAe,EAAE,QAAQ,aAAa,EAAE;AAAA,IAC9E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASD,oBAAoB,WAAW,WAAW;AACzC,YAAM,OAAO,IAAI,OAAO,SAAS;AACjC,YAAM,OAAO,IAAI,KAAK;AAAA,QACrB;AAAA,MACJ,CAAI;AAGD,YAAM,UAAU,SAAS,cAAc,KAAK;AAC5C,YAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,cAAQ,MAAM,UAAU;AACxB,cAAQ,YAAY,KAAK;AACzB,eAAS,KAAK,YAAY,OAAO;AAGjC,WAAK,OAAO,KAAK;AACjB,YAAM,eAAe,QAAQ;AAG7B,WAAK,SAAU;AACf,cAAQ,OAAQ;AAEhB,aAAO;AAAA,IACP;AAAA,EACD;AACF;"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
if (!window._vue_richtext_widgets) {
|
|
2
|
+
window._vue_richtext_widgets = {};
|
|
3
|
+
}
|
|
4
|
+
const isWidgetRegistered = (id) => {
|
|
5
|
+
return !!window._vue_richtext_widgets[id];
|
|
6
|
+
};
|
|
7
|
+
const hasInteractiveView = (id) => {
|
|
8
|
+
var _a;
|
|
9
|
+
return !!((_a = window._vue_richtext_widgets[id]) == null ? void 0 : _a.hasInteractiveView);
|
|
10
|
+
};
|
|
11
|
+
const hasFullWidth = (id) => {
|
|
12
|
+
var _a;
|
|
13
|
+
return !!((_a = window._vue_richtext_widgets[id]) == null ? void 0 : _a.fullWidth);
|
|
14
|
+
};
|
|
15
|
+
const registerWidget = (id, callback, onDestroy = (el) => {
|
|
16
|
+
}, props) => {
|
|
17
|
+
const propsWithDefaults = {
|
|
18
|
+
hasInteractiveView: true,
|
|
19
|
+
fullWidth: false,
|
|
20
|
+
...props
|
|
21
|
+
};
|
|
22
|
+
if (window._vue_richtext_widgets[id]) {
|
|
23
|
+
console.error("Widget for id " + id + " already registered");
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
window._vue_richtext_widgets[id] = {
|
|
27
|
+
id,
|
|
28
|
+
callback,
|
|
29
|
+
onDestroy,
|
|
30
|
+
...propsWithDefaults
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
const renderWidget = (el, { richObjectType, richObject, accessible, interactive }) => {
|
|
34
|
+
if (richObjectType === "open-graph") {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (!window._vue_richtext_widgets[richObjectType]) {
|
|
38
|
+
console.error("Widget for rich object type " + richObjectType + " not registered");
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
window._vue_richtext_widgets[richObjectType].callback(el, { richObjectType, richObject, accessible, interactive });
|
|
42
|
+
};
|
|
43
|
+
const destroyWidget = (richObjectType, el) => {
|
|
44
|
+
if (richObjectType === "open-graph") {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (!window._vue_richtext_widgets[richObjectType]) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
window._vue_richtext_widgets[richObjectType].onDestroy(el);
|
|
51
|
+
};
|
|
52
|
+
window._registerWidget = (id, callback, onDestroy, props) => {
|
|
53
|
+
registerWidget(id, callback, onDestroy, props);
|
|
54
|
+
};
|
|
55
|
+
if (!window._vue_richtext_custom_picker_elements) {
|
|
56
|
+
window._vue_richtext_custom_picker_elements = {};
|
|
57
|
+
}
|
|
58
|
+
class NcCustomPickerRenderResult {
|
|
59
|
+
/**
|
|
60
|
+
* @param {HTMLElement} element The HTML element
|
|
61
|
+
* @param {object} object The object
|
|
62
|
+
*/
|
|
63
|
+
constructor(element, object) {
|
|
64
|
+
this.element = element;
|
|
65
|
+
this.object = object;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const isCustomPickerElementRegistered = (id) => {
|
|
69
|
+
return !!window._vue_richtext_custom_picker_elements[id];
|
|
70
|
+
};
|
|
71
|
+
const getCustomPickerElementSize = (id) => {
|
|
72
|
+
var _a;
|
|
73
|
+
const size = (_a = window._vue_richtext_custom_picker_elements[id]) == null ? void 0 : _a.size;
|
|
74
|
+
if (["small", "normal", "large", "full"].includes(size)) {
|
|
75
|
+
return size;
|
|
76
|
+
}
|
|
77
|
+
return null;
|
|
78
|
+
};
|
|
79
|
+
const registerCustomPickerElement = (id, callback, onDestroy = (el) => {
|
|
80
|
+
}, size = "large") => {
|
|
81
|
+
if (window._vue_richtext_custom_picker_elements[id]) {
|
|
82
|
+
console.error("Custom reference picker element for id " + id + " already registered");
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
window._vue_richtext_custom_picker_elements[id] = {
|
|
86
|
+
id,
|
|
87
|
+
callback,
|
|
88
|
+
onDestroy,
|
|
89
|
+
size
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
const renderCustomPickerElement = (el, { providerId, accessible }) => {
|
|
93
|
+
if (!window._vue_richtext_custom_picker_elements[providerId]) {
|
|
94
|
+
console.error("Custom reference picker element for reference provider ID " + providerId + " not registered");
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
return window._vue_richtext_custom_picker_elements[providerId].callback(el, { providerId, accessible });
|
|
98
|
+
};
|
|
99
|
+
const destroyCustomPickerElement = (providerId, el, renderResult) => {
|
|
100
|
+
if (!window._vue_richtext_custom_picker_elements[providerId]) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
window._vue_richtext_custom_picker_elements[providerId].onDestroy(el, renderResult);
|
|
104
|
+
};
|
|
105
|
+
window._registerCustomPickerElement = registerCustomPickerElement;
|
|
106
|
+
export {
|
|
107
|
+
NcCustomPickerRenderResult as N,
|
|
108
|
+
renderWidget as a,
|
|
109
|
+
registerCustomPickerElement as b,
|
|
110
|
+
renderCustomPickerElement as c,
|
|
111
|
+
isCustomPickerElementRegistered as d,
|
|
112
|
+
hasFullWidth as e,
|
|
113
|
+
destroyWidget as f,
|
|
114
|
+
destroyCustomPickerElement as g,
|
|
115
|
+
hasInteractiveView as h,
|
|
116
|
+
isWidgetRegistered as i,
|
|
117
|
+
getCustomPickerElementSize as j,
|
|
118
|
+
registerWidget as r
|
|
119
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BwyQ2N-M.mjs","sources":["../../src/functions/reference/widgets.ts","../../src/functions/reference/customPickerElements.js"],"sourcesContent":["interface WidgetRenderProperties {\n\trichObjectType: string;\n\trichObject: object;\n\taccessible: boolean;\n\tinteractive: boolean;\n}\n\ntype widgetRenderCallback = (el: HTMLElement, properties: WidgetRenderProperties) => void;\ntype widgetDestroyCallback = (el: HTMLElement) => void;\n\ninterface WidgetProps {\n\tid: string;\n\thasInteractiveView: boolean;\n\tfullWidth: boolean;\n\tcallback: widgetRenderCallback;\n\tonDestroy: widgetDestroyCallback;\n}\n\ninterface WidgetPropsOptional {\n\thasInteractiveView?: boolean;\n\tfullWidth?: boolean;\n}\n\ndeclare global {\n\tinterface Window {\n\t\t_vue_richtext_widgets: Record<string, WidgetProps>;\n\t\t_registerWidget: (id: string, callback: widgetRenderCallback, onDestroy: widgetDestroyCallback, props: WidgetPropsOptional) => void;\n\t}\n}\n\nif (!window._vue_richtext_widgets) {\n\twindow._vue_richtext_widgets = {}\n}\n\nconst isWidgetRegistered = (id: string) => {\n\treturn !!window._vue_richtext_widgets[id]\n}\n\nconst hasInteractiveView = (id: string) => {\n\treturn !!window._vue_richtext_widgets[id]?.hasInteractiveView\n}\n\nexport const hasFullWidth = (id: string) => {\n\treturn !!window._vue_richtext_widgets[id]?.fullWidth\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst registerWidget = (id: string, callback: widgetRenderCallback, onDestroy = (el: HTMLElement) => {}, props: WidgetPropsOptional) => {\n\tconst propsWithDefaults = {\n\t\thasInteractiveView: true,\n\t\tfullWidth: false,\n\t\t...props,\n\t}\n\n\tif (window._vue_richtext_widgets[id]) {\n\t\tconsole.error('Widget for id ' + id + ' already registered')\n\t\treturn\n\t}\n\n\twindow._vue_richtext_widgets[id] = {\n\t\tid,\n\t\tcallback,\n\t\tonDestroy,\n\t\t...propsWithDefaults,\n\t}\n}\n\nconst renderWidget = (el: HTMLElement, { richObjectType, richObject, accessible, interactive }) => {\n\tif (richObjectType === 'open-graph') {\n\t\treturn\n\t}\n\n\tif (!window._vue_richtext_widgets[richObjectType]) {\n\t\tconsole.error('Widget for rich object type ' + richObjectType + ' not registered')\n\t\treturn\n\t}\n\n\twindow._vue_richtext_widgets[richObjectType].callback(el, { richObjectType, richObject, accessible, interactive })\n}\n\nconst destroyWidget = (richObjectType: string, el: HTMLElement) => {\n\tif (richObjectType === 'open-graph') {\n\t\treturn\n\t}\n\n\tif (!window._vue_richtext_widgets[richObjectType]) {\n\t\treturn\n\t}\n\n\twindow._vue_richtext_widgets[richObjectType].onDestroy(el)\n}\n\nwindow._registerWidget = (id: string, callback: widgetRenderCallback, onDestroy: widgetDestroyCallback, props: WidgetPropsOptional) => {\n\tregisterWidget(id, callback, onDestroy, props)\n}\n\nexport {\n\tregisterWidget,\n\trenderWidget,\n\tdestroyWidget,\n\tisWidgetRegistered,\n\thasInteractiveView,\n}\n","if (!window._vue_richtext_custom_picker_elements) {\n\twindow._vue_richtext_custom_picker_elements = {}\n}\n\n/**\n * Representation of the render callback result\n * It contains a dom element and an object (Vue instance or other fancy things)\n */\nclass NcCustomPickerRenderResult {\n\n\t/**\n\t * @param {HTMLElement} element The HTML element\n\t * @param {object} object The object\n\t */\n\tconstructor(element, object) {\n\t\tthis.element = element\n\t\tthis.object = object\n\t}\n\n}\n\nconst isCustomPickerElementRegistered = (id) => {\n\treturn !!window._vue_richtext_custom_picker_elements[id]\n}\n\nconst getCustomPickerElementSize = (id) => {\n\tconst size = window._vue_richtext_custom_picker_elements[id]?.size\n\tif (['small', 'normal', 'large', 'full'].includes(size)) {\n\t\treturn size\n\t}\n\treturn null\n}\n\nconst registerCustomPickerElement = (id, callback, onDestroy = (el) => {}, size = 'large') => {\n\tif (window._vue_richtext_custom_picker_elements[id]) {\n\t\tconsole.error('Custom reference picker element for id ' + id + ' already registered')\n\t\treturn\n\t}\n\n\twindow._vue_richtext_custom_picker_elements[id] = {\n\t\tid,\n\t\tcallback,\n\t\tonDestroy,\n\t\tsize,\n\t}\n}\n\nconst renderCustomPickerElement = (el, { providerId, accessible }) => {\n\tif (!window._vue_richtext_custom_picker_elements[providerId]) {\n\t\tconsole.error('Custom reference picker element for reference provider ID ' + providerId + ' not registered')\n\t\treturn\n\t}\n\n\treturn window._vue_richtext_custom_picker_elements[providerId].callback(el, { providerId, accessible })\n}\n\nconst destroyCustomPickerElement = (providerId, el, renderResult) => {\n\tif (!window._vue_richtext_custom_picker_elements[providerId]) {\n\t\treturn\n\t}\n\n\twindow._vue_richtext_custom_picker_elements[providerId].onDestroy(el, renderResult)\n}\n\nwindow._registerCustomPickerElement = registerCustomPickerElement\n\nexport {\n\tNcCustomPickerRenderResult,\n\tregisterCustomPickerElement,\n\trenderCustomPickerElement,\n\tdestroyCustomPickerElement,\n\tisCustomPickerElementRegistered,\n\tgetCustomPickerElementSize,\n}\n"],"names":[],"mappings":"AA8BA,IAAI,CAAC,OAAO,uBAAuB;AAClC,SAAO,wBAAwB;AAChC;AAEM,MAAA,qBAAqB,CAAC,OAAe;AAC1C,SAAO,CAAC,CAAC,OAAO,sBAAsB,EAAE;AACzC;AAEM,MAAA,qBAAqB,CAAC,OAAe;AAtC3C,MAAA;AAuCC,SAAO,CAAC,GAAC,KAAA,OAAO,sBAAsB,EAAE,MAA/B,OAAkC,SAAA,GAAA;AAC5C;AAEa,MAAA,eAAe,CAAC,OAAe;AA1C5C,MAAA;AA2CC,SAAO,CAAC,GAAC,KAAA,OAAO,sBAAsB,EAAE,MAA/B,OAAkC,SAAA,GAAA;AAC5C;AAGA,MAAM,iBAAiB,CAAC,IAAY,UAAgC,YAAY,CAAC,OAAoB;AAAC,GAAG,UAA+B;AACvI,QAAM,oBAAoB;AAAA,IACzB,oBAAoB;AAAA,IACpB,WAAW;AAAA,IACX,GAAG;AAAA,EAAA;AAGA,MAAA,OAAO,sBAAsB,EAAE,GAAG;AAC7B,YAAA,MAAM,mBAAmB,KAAK,qBAAqB;AAC3D;AAAA,EACD;AAEO,SAAA,sBAAsB,EAAE,IAAI;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA;AAEL;AAEM,MAAA,eAAe,CAAC,IAAiB,EAAE,gBAAgB,YAAY,YAAY,kBAAkB;AAClG,MAAI,mBAAmB,cAAc;AACpC;AAAA,EACD;AAEA,MAAI,CAAC,OAAO,sBAAsB,cAAc,GAAG;AAC1C,YAAA,MAAM,iCAAiC,iBAAiB,iBAAiB;AACjF;AAAA,EACD;AAEO,SAAA,sBAAsB,cAAc,EAAE,SAAS,IAAI,EAAE,gBAAgB,YAAY,YAAY,YAAa,CAAA;AAClH;AAEM,MAAA,gBAAgB,CAAC,gBAAwB,OAAoB;AAClE,MAAI,mBAAmB,cAAc;AACpC;AAAA,EACD;AAEA,MAAI,CAAC,OAAO,sBAAsB,cAAc,GAAG;AAClD;AAAA,EACD;AAEA,SAAO,sBAAsB,cAAc,EAAE,UAAU,EAAE;AAC1D;AAEA,OAAO,kBAAkB,CAAC,IAAY,UAAgC,WAAkC,UAA+B;AACvH,iBAAA,IAAI,UAAU,WAAW,KAAK;AAC9C;AC9FA,IAAI,CAAC,OAAO,sCAAsC;AACjD,SAAO,uCAAuC,CAAE;AACjD;AAMA,MAAM,2BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhC,YAAY,SAAS,QAAQ;AAC5B,SAAK,UAAU;AACf,SAAK,SAAS;AAAA,EACd;AAEF;AAEK,MAAC,kCAAkC,CAAC,OAAO;AAC/C,SAAO,CAAC,CAAC,OAAO,qCAAqC,EAAE;AACxD;AAEK,MAAC,6BAA6B,CAAC,OAAO;ADK3C;ACJC,QAAM,QAAO,YAAO,qCAAqC,EAAE,MAA9C,mBAAiD;AAC9D,MAAI,CAAC,SAAS,UAAU,SAAS,MAAM,EAAE,SAAS,IAAI,GAAG;AACxD,WAAO;AAAA,EACP;AACD,SAAO;AACR;AAEK,MAAC,8BAA8B,CAAC,IAAI,UAAU,YAAY,CAAC,OAAO;AAAA,GAAI,OAAO,YAAY;AAC7F,MAAI,OAAO,qCAAqC,EAAE,GAAG;AACpD,YAAQ,MAAM,4CAA4C,KAAK,qBAAqB;AACpF;AAAA,EACA;AAED,SAAO,qCAAqC,EAAE,IAAI;AAAA,IACjD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AACF;AAEK,MAAC,4BAA4B,CAAC,IAAI,EAAE,YAAY,WAAU,MAAO;AACrE,MAAI,CAAC,OAAO,qCAAqC,UAAU,GAAG;AAC7D,YAAQ,MAAM,+DAA+D,aAAa,iBAAiB;AAC3G;AAAA,EACA;AAED,SAAO,OAAO,qCAAqC,UAAU,EAAE,SAAS,IAAI,EAAE,YAAY,YAAY;AACvG;AAEK,MAAC,6BAA6B,CAAC,YAAY,IAAI,iBAAiB;AACpE,MAAI,CAAC,OAAO,qCAAqC,UAAU,GAAG;AAC7D;AAAA,EACA;AAED,SAAO,qCAAqC,UAAU,EAAE,UAAU,IAAI,YAAY;AACnF;AAEA,OAAO,+BAA+B;"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
require('../assets/NcMentionBubble-DmzU72Mw.css');
|
|
2
|
+
"use strict";
|
|
3
|
+
const getAvatarUrl = require("./getAvatarUrl-C40xfr4C.cjs");
|
|
4
|
+
;/* empty css */
|
|
5
|
+
const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-DbFIE4_M.cjs");
|
|
6
|
+
const Linkify = require("./Linkify-CIO279AG.cjs");
|
|
7
|
+
const escapeHtml = require("escape-html");
|
|
8
|
+
const stripTags = require("striptags");
|
|
9
|
+
const Vue = require("vue");
|
|
10
|
+
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
11
|
+
const escapeHtml__default = /* @__PURE__ */ _interopDefault(escapeHtml);
|
|
12
|
+
const stripTags__default = /* @__PURE__ */ _interopDefault(stripTags);
|
|
13
|
+
const Vue__default = /* @__PURE__ */ _interopDefault(Vue);
|
|
14
|
+
const _sfc_main = {
|
|
15
|
+
name: "NcMentionBubble",
|
|
16
|
+
props: {
|
|
17
|
+
id: {
|
|
18
|
+
type: String,
|
|
19
|
+
required: true
|
|
20
|
+
},
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated Use `label` instead
|
|
23
|
+
*/
|
|
24
|
+
title: {
|
|
25
|
+
type: String,
|
|
26
|
+
required: false,
|
|
27
|
+
default: null
|
|
28
|
+
},
|
|
29
|
+
label: {
|
|
30
|
+
type: String,
|
|
31
|
+
required: false,
|
|
32
|
+
default: null
|
|
33
|
+
},
|
|
34
|
+
icon: {
|
|
35
|
+
type: String,
|
|
36
|
+
required: true
|
|
37
|
+
},
|
|
38
|
+
iconUrl: {
|
|
39
|
+
type: [String, null],
|
|
40
|
+
default: null
|
|
41
|
+
},
|
|
42
|
+
source: {
|
|
43
|
+
type: String,
|
|
44
|
+
required: true
|
|
45
|
+
},
|
|
46
|
+
primary: {
|
|
47
|
+
type: Boolean,
|
|
48
|
+
default: false
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
computed: {
|
|
52
|
+
avatarUrl() {
|
|
53
|
+
if (this.iconUrl) {
|
|
54
|
+
return this.iconUrl;
|
|
55
|
+
}
|
|
56
|
+
return this.id && this.source === "users" ? this.getAvatarUrl(this.id, 44) : null;
|
|
57
|
+
},
|
|
58
|
+
mentionText() {
|
|
59
|
+
return !this.id.includes(" ") && !this.id.includes("/") ? "@".concat(this.id) : '@"'.concat(this.id, '"');
|
|
60
|
+
},
|
|
61
|
+
// Fallback to title for compatibility
|
|
62
|
+
labelWithFallback() {
|
|
63
|
+
return this.label || this.title;
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
methods: {
|
|
67
|
+
getAvatarUrl: getAvatarUrl.getAvatarUrl
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
var _sfc_render = function render() {
|
|
71
|
+
var _vm = this, _c = _vm._self._c;
|
|
72
|
+
return _c("span", { staticClass: "mention-bubble", class: { "mention-bubble--primary": _vm.primary }, attrs: { "contenteditable": "false" } }, [_c("span", { staticClass: "mention-bubble__wrapper" }, [_c("span", { staticClass: "mention-bubble__content" }, [_c("span", { staticClass: "mention-bubble__icon", class: [_vm.icon, "mention-bubble__icon--".concat(_vm.avatarUrl ? "with-avatar" : "")], style: _vm.avatarUrl ? { backgroundImage: "url(".concat(_vm.avatarUrl, ")") } : null }), _c("span", { staticClass: "mention-bubble__title", attrs: { "role": "heading", "title": _vm.labelWithFallback } })]), _c("span", { staticClass: "mention-bubble__select", attrs: { "role": "none" } }, [_vm._v(_vm._s(_vm.mentionText))])])]);
|
|
73
|
+
};
|
|
74
|
+
var _sfc_staticRenderFns = [];
|
|
75
|
+
var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
76
|
+
_sfc_main,
|
|
77
|
+
_sfc_render,
|
|
78
|
+
_sfc_staticRenderFns,
|
|
79
|
+
false,
|
|
80
|
+
null,
|
|
81
|
+
"791c3b28",
|
|
82
|
+
null,
|
|
83
|
+
null
|
|
84
|
+
);
|
|
85
|
+
const NcMentionBubble = __component__.exports;
|
|
86
|
+
/**
|
|
87
|
+
* @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>
|
|
88
|
+
*
|
|
89
|
+
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
|
90
|
+
*
|
|
91
|
+
* @license AGPL-3.0-or-later
|
|
92
|
+
*
|
|
93
|
+
* This program is free software: you can redistribute it and/or modify
|
|
94
|
+
* it under the terms of the GNU Affero General Public License as
|
|
95
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
96
|
+
* License, or (at your option) any later version.
|
|
97
|
+
*
|
|
98
|
+
* This program is distributed in the hope that it will be useful,
|
|
99
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
100
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
101
|
+
* GNU Affero General Public License for more details.
|
|
102
|
+
*
|
|
103
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
104
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
105
|
+
*
|
|
106
|
+
*/
|
|
107
|
+
const MENTION_START = new RegExp("\\B(?<![^a-z0-9_\\-@.'\\s])").source;
|
|
108
|
+
const MENTION_SIMPLE = /(@[a-z0-9_\-@.']+)/.source;
|
|
109
|
+
const MENTION_GUEST = /@"guest\/[a-f0-9]+"/.source;
|
|
110
|
+
const MENTION_PREFIXED = /@"(?:federated_)?(?:group|team|user){1}\/[a-z0-9_\-@.' /:]+"/.source;
|
|
111
|
+
const MENTION_WITH_SPACE = /@"[a-z0-9_\-@.' ]+"/.source;
|
|
112
|
+
const MENTION_COMPLEX = "(".concat(MENTION_GUEST, "|").concat(MENTION_PREFIXED, "|").concat(MENTION_WITH_SPACE, ")");
|
|
113
|
+
const USERID_REGEX = new RegExp("".concat(MENTION_START).concat(MENTION_SIMPLE), "gi");
|
|
114
|
+
const USERID_REGEX_WITH_SPACE = new RegExp("".concat(MENTION_START).concat(MENTION_COMPLEX), "gi");
|
|
115
|
+
const richEditor = {
|
|
116
|
+
props: {
|
|
117
|
+
userData: {
|
|
118
|
+
type: Object,
|
|
119
|
+
default: () => ({})
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
methods: {
|
|
123
|
+
/**
|
|
124
|
+
* Convert the value string to html for the inner content
|
|
125
|
+
*
|
|
126
|
+
* @param {string} value the content without html
|
|
127
|
+
* @return {string} rendered html
|
|
128
|
+
*/
|
|
129
|
+
renderContent(value) {
|
|
130
|
+
const sanitizedValue = escapeHtml__default.default(value);
|
|
131
|
+
const splitValue = sanitizedValue.split(USERID_REGEX).map((part) => part.split(USERID_REGEX_WITH_SPACE)).flat();
|
|
132
|
+
return splitValue.map((part) => {
|
|
133
|
+
if (!part.startsWith("@")) {
|
|
134
|
+
return Linkify.Linkify(part);
|
|
135
|
+
}
|
|
136
|
+
const id = part.slice(1).replace(/"/gi, "");
|
|
137
|
+
return this.genSelectTemplate(id);
|
|
138
|
+
}).join("").replace(/\n/gmi, "<br>").replace(/&/gmi, "&");
|
|
139
|
+
},
|
|
140
|
+
/**
|
|
141
|
+
* Convert the innerHtml content to a string with mentions as text
|
|
142
|
+
*
|
|
143
|
+
* @param {string} content the content without html
|
|
144
|
+
* @return {string}
|
|
145
|
+
*/
|
|
146
|
+
parseContent(content) {
|
|
147
|
+
let text = content;
|
|
148
|
+
text = text.replace(/>\s+</g, "><");
|
|
149
|
+
text = text.replace(/<br>/gmi, "\n");
|
|
150
|
+
text = text.replace(/ /gmi, " ");
|
|
151
|
+
text = text.replace(/&/gmi, "&");
|
|
152
|
+
text = text.replace(/<\/div>/gmi, "\n");
|
|
153
|
+
text = stripTags__default.default(text, "<div>");
|
|
154
|
+
text = stripTags__default.default(text);
|
|
155
|
+
return text;
|
|
156
|
+
},
|
|
157
|
+
/**
|
|
158
|
+
* Generate an autocompletion popup entry template
|
|
159
|
+
*
|
|
160
|
+
* @param {string} value the value to match against the userData
|
|
161
|
+
* @return {string}
|
|
162
|
+
*/
|
|
163
|
+
genSelectTemplate(value) {
|
|
164
|
+
if (typeof value === "undefined") {
|
|
165
|
+
return "".concat(this.autocompleteTribute.current.collection.trigger).concat(this.autocompleteTribute.current.mentionText);
|
|
166
|
+
}
|
|
167
|
+
const data = this.userData[value];
|
|
168
|
+
if (!data) {
|
|
169
|
+
return [" ", "/", ":"].every((char) => !value.includes(char)) ? "@".concat(value) : '@"'.concat(value, '"');
|
|
170
|
+
}
|
|
171
|
+
return this.renderComponentHtml(data, NcMentionBubble).replace(/[\n\t]/gmi, "");
|
|
172
|
+
},
|
|
173
|
+
/**
|
|
174
|
+
* Render a component and return its html content
|
|
175
|
+
*
|
|
176
|
+
* @param {object} propsData the props to pass to the component
|
|
177
|
+
* @param {object} component the component to render
|
|
178
|
+
* @return {string} the rendered html
|
|
179
|
+
*/
|
|
180
|
+
renderComponentHtml(propsData, component) {
|
|
181
|
+
const View = Vue__default.default.extend(component);
|
|
182
|
+
const Item = new View({
|
|
183
|
+
propsData
|
|
184
|
+
});
|
|
185
|
+
const wrapper = document.createElement("div");
|
|
186
|
+
const mount = document.createElement("div");
|
|
187
|
+
wrapper.style.display = "none";
|
|
188
|
+
wrapper.appendChild(mount);
|
|
189
|
+
document.body.appendChild(wrapper);
|
|
190
|
+
Item.$mount(mount);
|
|
191
|
+
const renderedHtml = wrapper.innerHTML;
|
|
192
|
+
Item.$destroy();
|
|
193
|
+
wrapper.remove();
|
|
194
|
+
return renderedHtml;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
exports.NcMentionBubble = NcMentionBubble;
|
|
199
|
+
exports.USERID_REGEX = USERID_REGEX;
|
|
200
|
+
exports.USERID_REGEX_WITH_SPACE = USERID_REGEX_WITH_SPACE;
|
|
201
|
+
exports.richEditor = richEditor;
|