@nextcloud/vue 8.0.0-beta.7 → 8.0.0-beta.9
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 +36 -0
- package/dist/Components/NcActionButton.cjs +49 -1
- package/dist/Components/NcActionButton.cjs.map +1 -1
- package/dist/Components/NcActionButton.mjs +49 -13
- package/dist/Components/NcActionButton.mjs.map +1 -1
- package/dist/Components/NcActionButtonGroup.cjs +30 -1
- package/dist/Components/NcActionButtonGroup.cjs.map +1 -1
- package/dist/Components/NcActionButtonGroup.mjs +30 -9
- package/dist/Components/NcActionButtonGroup.mjs.map +1 -1
- package/dist/Components/NcActionCaption.cjs +29 -1
- package/dist/Components/NcActionCaption.cjs.map +1 -1
- package/dist/Components/NcActionCaption.mjs +29 -9
- package/dist/Components/NcActionCaption.mjs.map +1 -1
- package/dist/Components/NcActionCheckbox.cjs +78 -1
- package/dist/Components/NcActionCheckbox.cjs.map +1 -1
- package/dist/Components/NcActionCheckbox.mjs +80 -19
- package/dist/Components/NcActionCheckbox.mjs.map +1 -1
- package/dist/Components/NcActionInput.cjs +231 -1
- package/dist/Components/NcActionInput.cjs.map +1 -1
- package/dist/Components/NcActionInput.mjs +235 -70
- package/dist/Components/NcActionInput.mjs.map +1 -1
- package/dist/Components/NcActionLink.cjs +69 -1
- package/dist/Components/NcActionLink.cjs.map +1 -1
- package/dist/Components/NcActionLink.mjs +66 -14
- package/dist/Components/NcActionLink.mjs.map +1 -1
- package/dist/Components/NcActionRadio.cjs +85 -1
- package/dist/Components/NcActionRadio.cjs.map +1 -1
- package/dist/Components/NcActionRadio.mjs +87 -19
- package/dist/Components/NcActionRadio.mjs.map +1 -1
- package/dist/Components/NcActionRouter.cjs +42 -1
- package/dist/Components/NcActionRouter.cjs.map +1 -1
- package/dist/Components/NcActionRouter.mjs +41 -12
- package/dist/Components/NcActionRouter.mjs.map +1 -1
- package/dist/Components/NcActionSeparator.cjs +20 -1
- package/dist/Components/NcActionSeparator.cjs.map +1 -1
- package/dist/Components/NcActionSeparator.mjs +20 -9
- package/dist/Components/NcActionSeparator.mjs.map +1 -1
- package/dist/Components/NcActionText.cjs +23 -1
- package/dist/Components/NcActionText.cjs.map +1 -1
- package/dist/Components/NcActionText.mjs +21 -9
- package/dist/Components/NcActionText.mjs.map +1 -1
- package/dist/Components/NcActionTextEditable.cjs +81 -1
- package/dist/Components/NcActionTextEditable.cjs.map +1 -1
- package/dist/Components/NcActionTextEditable.mjs +79 -22
- package/dist/Components/NcActionTextEditable.mjs.map +1 -1
- package/dist/Components/NcActions.cjs +459 -1
- package/dist/Components/NcActions.cjs.map +1 -1
- package/dist/Components/NcActions.mjs +463 -100
- package/dist/Components/NcActions.mjs.map +1 -1
- package/dist/Components/NcAppContent.cjs +218 -1
- package/dist/Components/NcAppContent.cjs.map +1 -1
- package/dist/Components/NcAppContent.mjs +220 -66
- package/dist/Components/NcAppContent.mjs.map +1 -1
- package/dist/Components/NcAppContentDetails.cjs +19 -1
- package/dist/Components/NcAppContentDetails.cjs.map +1 -1
- package/dist/Components/NcAppContentDetails.mjs +18 -7
- package/dist/Components/NcAppContentDetails.mjs.map +1 -1
- package/dist/Components/NcAppContentList.cjs +29 -1
- package/dist/Components/NcAppContentList.cjs.map +1 -1
- package/dist/Components/NcAppContentList.mjs +29 -8
- package/dist/Components/NcAppContentList.mjs.map +1 -1
- package/dist/Components/NcAppNavigation.cjs +66 -1
- package/dist/Components/NcAppNavigation.cjs.map +1 -1
- package/dist/Components/NcAppNavigation.mjs +67 -28
- package/dist/Components/NcAppNavigation.mjs.map +1 -1
- package/dist/Components/NcAppNavigationCaption.cjs +44 -1
- package/dist/Components/NcAppNavigationCaption.cjs.map +1 -1
- package/dist/Components/NcAppNavigationCaption.mjs +40 -9
- package/dist/Components/NcAppNavigationCaption.mjs.map +1 -1
- package/dist/Components/NcAppNavigationIconBullet.cjs +40 -1
- package/dist/Components/NcAppNavigationIconBullet.cjs.map +1 -1
- package/dist/Components/NcAppNavigationIconBullet.mjs +40 -15
- package/dist/Components/NcAppNavigationIconBullet.mjs.map +1 -1
- package/dist/Components/NcAppNavigationItem.cjs +386 -1
- package/dist/Components/NcAppNavigationItem.cjs.map +1 -1
- package/dist/Components/NcAppNavigationItem.mjs +382 -81
- package/dist/Components/NcAppNavigationItem.mjs.map +1 -1
- package/dist/Components/NcAppNavigationNew.cjs +50 -1
- package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
- package/dist/Components/NcAppNavigationNew.mjs +51 -14
- package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
- package/dist/Components/NcAppNavigationNewItem.cjs +87 -1
- package/dist/Components/NcAppNavigationNewItem.cjs.map +1 -1
- package/dist/Components/NcAppNavigationNewItem.mjs +83 -17
- package/dist/Components/NcAppNavigationNewItem.mjs.map +1 -1
- package/dist/Components/NcAppNavigationSettings.cjs +69 -1
- package/dist/Components/NcAppNavigationSettings.cjs.map +1 -1
- package/dist/Components/NcAppNavigationSettings.mjs +60 -21
- package/dist/Components/NcAppNavigationSettings.mjs.map +1 -1
- package/dist/Components/NcAppNavigationSpacer.cjs +20 -1
- package/dist/Components/NcAppNavigationSpacer.cjs.map +1 -1
- package/dist/Components/NcAppNavigationSpacer.mjs +20 -9
- package/dist/Components/NcAppNavigationSpacer.mjs.map +1 -1
- package/dist/Components/NcAppNavigationToggle.cjs +25 -1
- package/dist/Components/NcAppNavigationToggle.cjs.map +1 -1
- package/dist/Components/NcAppNavigationToggle.mjs +21 -1
- package/dist/Components/NcAppNavigationToggle.mjs.map +1 -1
- package/dist/Components/NcAppSettingsDialog.cjs +156 -1
- package/dist/Components/NcAppSettingsDialog.cjs.map +1 -1
- package/dist/Components/NcAppSettingsDialog.mjs +160 -50
- package/dist/Components/NcAppSettingsDialog.mjs.map +1 -1
- package/dist/Components/NcAppSettingsSection.cjs +39 -1
- package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
- package/dist/Components/NcAppSettingsSection.mjs +39 -13
- package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
- package/dist/Components/NcAppSidebar.cjs +443 -1
- package/dist/Components/NcAppSidebar.cjs.map +1 -1
- package/dist/Components/NcAppSidebar.mjs +409 -92
- package/dist/Components/NcAppSidebar.mjs.map +1 -1
- package/dist/Components/NcAppSidebarTab.cjs +83 -1
- package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
- package/dist/Components/NcAppSidebarTab.mjs +83 -20
- package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
- package/dist/Components/NcAvatar.cjs +3 -1
- package/dist/Components/NcAvatar.cjs.map +1 -1
- package/dist/Components/NcAvatar.mjs +1 -1
- package/dist/Components/NcBreadcrumb.cjs +175 -1
- package/dist/Components/NcBreadcrumb.cjs.map +1 -1
- package/dist/Components/NcBreadcrumb.mjs +175 -35
- package/dist/Components/NcBreadcrumb.mjs.map +1 -1
- package/dist/Components/NcBreadcrumbs.cjs +372 -1
- package/dist/Components/NcBreadcrumbs.cjs.map +1 -1
- package/dist/Components/NcBreadcrumbs.mjs +373 -142
- package/dist/Components/NcBreadcrumbs.mjs.map +1 -1
- package/dist/Components/NcButton.cjs +226 -1
- package/dist/Components/NcButton.cjs.map +1 -1
- package/dist/Components/NcButton.mjs +226 -24
- package/dist/Components/NcButton.mjs.map +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.cjs +352 -1
- package/dist/Components/NcCheckboxRadioSwitch.cjs.map +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.mjs +360 -59
- package/dist/Components/NcCheckboxRadioSwitch.mjs.map +1 -1
- package/dist/Components/NcColorPicker.cjs +118 -1
- package/dist/Components/NcColorPicker.cjs.map +1 -1
- package/dist/Components/NcColorPicker.mjs +124 -46
- package/dist/Components/NcColorPicker.mjs.map +1 -1
- package/dist/Components/NcContent.cjs +25 -1
- package/dist/Components/NcContent.cjs.map +1 -1
- package/dist/Components/NcContent.mjs +24 -8
- package/dist/Components/NcContent.mjs.map +1 -1
- package/dist/Components/NcCounterBubble.cjs +47 -1
- package/dist/Components/NcCounterBubble.cjs.map +1 -1
- package/dist/Components/NcCounterBubble.mjs +46 -12
- package/dist/Components/NcCounterBubble.mjs.map +1 -1
- package/dist/Components/NcDashboardWidget.cjs +133 -1
- package/dist/Components/NcDashboardWidget.cjs.map +1 -1
- package/dist/Components/NcDashboardWidget.mjs +128 -39
- package/dist/Components/NcDashboardWidget.mjs.map +1 -1
- package/dist/Components/NcDashboardWidgetItem.cjs +138 -1
- package/dist/Components/NcDashboardWidgetItem.cjs.map +1 -1
- package/dist/Components/NcDashboardWidgetItem.mjs +130 -23
- package/dist/Components/NcDashboardWidgetItem.mjs.map +1 -1
- package/dist/Components/NcDateTime.cjs +125 -1
- package/dist/Components/NcDateTime.cjs.map +1 -1
- package/dist/Components/NcDateTime.mjs +126 -41
- package/dist/Components/NcDateTime.mjs.map +1 -1
- package/dist/Components/NcDateTimePicker.cjs +217 -1
- package/dist/Components/NcDateTimePicker.cjs.map +1 -1
- package/dist/Components/NcDateTimePicker.mjs +212 -53
- package/dist/Components/NcDateTimePicker.mjs.map +1 -1
- package/dist/Components/NcDateTimePickerNative.cjs +199 -1
- package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
- package/dist/Components/NcDateTimePickerNative.mjs +195 -58
- package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
- package/dist/Components/NcDialog.cjs +171 -0
- package/dist/Components/NcDialog.cjs.map +1 -0
- package/dist/Components/NcDialog.mjs +177 -0
- package/dist/Components/NcDialog.mjs.map +1 -0
- package/dist/Components/NcDialogButton.cjs +69 -0
- package/dist/Components/NcDialogButton.cjs.map +1 -0
- package/dist/Components/NcDialogButton.mjs +74 -0
- package/dist/Components/NcDialogButton.mjs.map +1 -0
- package/dist/Components/NcEllipsisedOption.cjs +74 -1
- package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
- package/dist/Components/NcEllipsisedOption.mjs +73 -20
- package/dist/Components/NcEllipsisedOption.mjs.map +1 -1
- package/dist/Components/NcEmojiPicker.cjs +175 -1
- package/dist/Components/NcEmojiPicker.cjs.map +1 -1
- package/dist/Components/NcEmojiPicker.mjs +172 -52
- package/dist/Components/NcEmojiPicker.mjs.map +1 -1
- package/dist/Components/NcEmptyContent.cjs +54 -1
- package/dist/Components/NcEmptyContent.cjs.map +1 -1
- package/dist/Components/NcEmptyContent.mjs +46 -10
- package/dist/Components/NcEmptyContent.mjs.map +1 -1
- package/dist/Components/NcGuestContent.cjs +26 -1
- package/dist/Components/NcGuestContent.cjs.map +1 -1
- package/dist/Components/NcGuestContent.mjs +24 -11
- package/dist/Components/NcGuestContent.mjs.map +1 -1
- package/dist/Components/NcHeaderMenu.cjs +167 -1
- package/dist/Components/NcHeaderMenu.cjs.map +1 -1
- package/dist/Components/NcHeaderMenu.mjs +161 -49
- package/dist/Components/NcHeaderMenu.mjs.map +1 -1
- package/dist/Components/NcHighlight.cjs +3 -1
- package/dist/Components/NcHighlight.cjs.map +1 -1
- package/dist/Components/NcHighlight.mjs +1 -1
- package/dist/Components/NcIconSvgWrapper.cjs +59 -1
- package/dist/Components/NcIconSvgWrapper.cjs.map +1 -1
- package/dist/Components/NcIconSvgWrapper.mjs +60 -12
- package/dist/Components/NcIconSvgWrapper.mjs.map +1 -1
- package/dist/Components/NcInputField.cjs +210 -1
- package/dist/Components/NcInputField.cjs.map +1 -1
- package/dist/Components/NcInputField.mjs +211 -38
- package/dist/Components/NcInputField.mjs.map +1 -1
- package/dist/Components/NcListItem.cjs +237 -1
- package/dist/Components/NcListItem.cjs.map +1 -1
- package/dist/Components/NcListItem.mjs +233 -57
- package/dist/Components/NcListItem.mjs.map +1 -1
- package/dist/Components/NcListItemIcon.cjs +158 -1
- package/dist/Components/NcListItemIcon.cjs.map +1 -1
- package/dist/Components/NcListItemIcon.mjs +154 -30
- package/dist/Components/NcListItemIcon.mjs.map +1 -1
- package/dist/Components/NcLoadingIcon.cjs +54 -1
- package/dist/Components/NcLoadingIcon.cjs.map +1 -1
- package/dist/Components/NcLoadingIcon.mjs +54 -14
- package/dist/Components/NcLoadingIcon.mjs.map +1 -1
- package/dist/Components/NcModal.cjs +403 -1
- package/dist/Components/NcModal.cjs.map +1 -1
- package/dist/Components/NcModal.mjs +392 -96
- package/dist/Components/NcModal.mjs.map +1 -1
- package/dist/Components/NcNoteCard.cjs +71 -1
- package/dist/Components/NcNoteCard.cjs.map +1 -1
- package/dist/Components/NcNoteCard.mjs +72 -38
- package/dist/Components/NcNoteCard.mjs.map +1 -1
- package/dist/Components/NcPasswordField.cjs +163 -1
- package/dist/Components/NcPasswordField.cjs.map +1 -1
- package/dist/Components/NcPasswordField.mjs +169 -54
- package/dist/Components/NcPasswordField.mjs.map +1 -1
- package/dist/Components/NcPopover.cjs +125 -1
- package/dist/Components/NcPopover.cjs.map +1 -1
- package/dist/Components/NcPopover.mjs +124 -41
- package/dist/Components/NcPopover.mjs.map +1 -1
- package/dist/Components/NcProgressBar.cjs +57 -1
- package/dist/Components/NcProgressBar.cjs.map +1 -1
- package/dist/Components/NcProgressBar.mjs +57 -15
- package/dist/Components/NcProgressBar.mjs.map +1 -1
- package/dist/Components/NcRelatedResourcesPanel.cjs +184 -1
- package/dist/Components/NcRelatedResourcesPanel.cjs.map +1 -1
- package/dist/Components/NcRelatedResourcesPanel.mjs +183 -61
- package/dist/Components/NcRelatedResourcesPanel.mjs.map +1 -1
- package/dist/Components/NcRichContenteditable.cjs +478 -1
- package/dist/Components/NcRichContenteditable.cjs.map +1 -1
- package/dist/Components/NcRichContenteditable.mjs +447 -127
- package/dist/Components/NcRichContenteditable.mjs.map +1 -1
- package/dist/Components/NcRichText.cjs +44 -1
- package/dist/Components/NcRichText.cjs.map +1 -1
- package/dist/Components/NcRichText.mjs +25 -4
- package/dist/Components/NcRichText.mjs.map +1 -1
- package/dist/Components/NcSavingIndicatorIcon.cjs +59 -1
- package/dist/Components/NcSavingIndicatorIcon.cjs.map +1 -1
- package/dist/Components/NcSavingIndicatorIcon.mjs +56 -9
- package/dist/Components/NcSavingIndicatorIcon.mjs.map +1 -1
- package/dist/Components/NcSelect.cjs +411 -1
- package/dist/Components/NcSelect.cjs.map +1 -1
- package/dist/Components/NcSelect.mjs +405 -47
- package/dist/Components/NcSelect.mjs.map +1 -1
- package/dist/Components/NcSelectTags.cjs +251 -2
- package/dist/Components/NcSelectTags.cjs.map +1 -1
- package/dist/Components/NcSelectTags.mjs +236 -73
- package/dist/Components/NcSelectTags.mjs.map +1 -1
- package/dist/Components/NcSettingsInputText.cjs +90 -1
- package/dist/Components/NcSettingsInputText.cjs.map +1 -1
- package/dist/Components/NcSettingsInputText.mjs +88 -19
- package/dist/Components/NcSettingsInputText.mjs.map +1 -1
- package/dist/Components/NcSettingsSection.cjs +62 -1
- package/dist/Components/NcSettingsSection.cjs.map +1 -1
- package/dist/Components/NcSettingsSection.mjs +62 -15
- package/dist/Components/NcSettingsSection.mjs.map +1 -1
- package/dist/Components/NcSettingsSelectGroup.cjs +26 -1
- package/dist/Components/NcSettingsSelectGroup.cjs.map +1 -1
- package/dist/Components/NcSettingsSelectGroup.mjs +22 -1
- package/dist/Components/NcSettingsSelectGroup.mjs.map +1 -1
- package/dist/Components/NcTextArea.cjs +167 -0
- package/dist/Components/NcTextArea.cjs.map +1 -0
- package/dist/Components/NcTextArea.mjs +172 -0
- package/dist/Components/NcTextArea.mjs.map +1 -0
- package/dist/Components/NcTextField.cjs +98 -1
- package/dist/Components/NcTextField.cjs.map +1 -1
- package/dist/Components/NcTextField.mjs +102 -22
- package/dist/Components/NcTextField.mjs.map +1 -1
- package/dist/Components/NcTimezonePicker.cjs +4387 -614
- package/dist/Components/NcTimezonePicker.cjs.map +1 -1
- package/dist/Components/NcTimezonePicker.mjs +4372 -663
- package/dist/Components/NcTimezonePicker.mjs.map +1 -1
- package/dist/Components/NcUserBubble.cjs +189 -1
- package/dist/Components/NcUserBubble.cjs.map +1 -1
- package/dist/Components/NcUserBubble.mjs +190 -47
- package/dist/Components/NcUserBubble.mjs.map +1 -1
- package/dist/Components/NcVNodes.cjs +35 -1
- package/dist/Components/NcVNodes.cjs.map +1 -1
- package/dist/Components/NcVNodes.mjs +35 -8
- package/dist/Components/NcVNodes.mjs.map +1 -1
- package/dist/Directives/Focus.cjs +30 -1
- package/dist/Directives/Focus.cjs.map +1 -1
- package/dist/Directives/Focus.mjs +28 -5
- package/dist/Directives/Focus.mjs.map +1 -1
- package/dist/Directives/Linkify.cjs +8 -1
- package/dist/Directives/Linkify.cjs.map +1 -1
- package/dist/Directives/Linkify.mjs +6 -6
- package/dist/Directives/Linkify.mjs.map +1 -1
- package/dist/Directives/Tooltip.cjs +37 -1
- package/dist/Directives/Tooltip.cjs.map +1 -1
- package/dist/Directives/Tooltip.mjs +29 -4
- package/dist/Directives/Tooltip.mjs.map +1 -1
- package/dist/Functions/emoji.cjs +36 -1
- package/dist/Functions/emoji.cjs.map +1 -1
- package/dist/Functions/emoji.mjs +32 -11
- package/dist/Functions/emoji.mjs.map +1 -1
- package/dist/Functions/usernameToColor.cjs +39 -1
- package/dist/Functions/usernameToColor.cjs.map +1 -1
- package/dist/Functions/usernameToColor.mjs +32 -11
- package/dist/Functions/usernameToColor.mjs.map +1 -1
- package/dist/Mixins/clickOutsideOptions.cjs +40 -1
- package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
- package/dist/Mixins/clickOutsideOptions.mjs +39 -4
- package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
- package/dist/Mixins/isFullscreen.cjs +44 -1
- package/dist/Mixins/isFullscreen.cjs.map +1 -1
- package/dist/Mixins/isFullscreen.mjs +42 -11
- package/dist/Mixins/isFullscreen.mjs.map +1 -1
- package/dist/Mixins/isMobile.cjs +87 -1
- package/dist/Mixins/isMobile.cjs.map +1 -1
- package/dist/Mixins/isMobile.mjs +86 -11
- package/dist/Mixins/isMobile.mjs.map +1 -1
- package/dist/Mixins/richEditor.cjs +10 -1
- package/dist/Mixins/richEditor.cjs.map +1 -1
- package/dist/Mixins/richEditor.mjs +2 -2
- package/dist/assets/NcAppNavigationToggle-2cc5b864.css +35 -0
- package/dist/assets/NcInputConfirmCancel-2ba60a52.css +51 -0
- package/dist/assets/NcMentionBubble-6e887c5f.css +81 -0
- package/dist/assets/{index-23405a74.css → NcSettingsSelectGroup-0d38d76b.css} +15 -2
- package/dist/assets/index-0adc989c.css +96 -0
- package/dist/assets/index-1151d229.css +41 -0
- package/dist/assets/index-1beccc92.css +140 -0
- package/dist/assets/index-236620b0.css +150 -0
- package/dist/assets/{index-823ec431.css → index-24f6c355.css} +67 -3
- package/dist/assets/index-2a8e4ca1.css +540 -0
- package/dist/assets/{index-29421a2e.css → index-2d4de2fc.css} +19 -2
- package/dist/assets/{NcSettingsSelectGroup-e88cbf1a.css → index-30e099f7.css} +17 -2
- package/dist/assets/index-34dfc54e.css +88 -0
- package/dist/assets/index-3764a447.css +99 -0
- package/dist/assets/index-400b48a6.css +60 -0
- package/dist/assets/{index-1d28ce70.css → index-441b6552.css} +25 -2
- package/dist/assets/{NcInputConfirmCancel-c1d05dd9.css → index-4611417f.css} +31 -2
- package/dist/assets/index-4a775ba1.css +204 -0
- package/dist/assets/index-4b75fe20.css +79 -0
- package/dist/assets/index-4ebacc78.css +107 -0
- package/dist/assets/index-4ef32afd.css +128 -0
- package/dist/assets/index-50b0766d.css +202 -0
- package/dist/assets/index-574438d6.css +884 -0
- package/dist/assets/index-57b305d3.css +44 -0
- package/dist/assets/index-5ee8a575.css +295 -0
- package/dist/assets/index-5fa0ac5a.css +46 -0
- package/dist/assets/index-61b63a8f.css +57 -0
- package/dist/assets/index-6416f636.css +83 -0
- package/dist/assets/index-6c47e88a.css +46 -0
- package/dist/assets/index-6f721577.css +80 -0
- package/dist/assets/index-73867d38.css +133 -0
- package/dist/assets/index-76a58945.css +68 -0
- package/dist/assets/index-76dd9f11.css +5 -0
- package/dist/assets/index-7813bab3.css +66 -0
- package/dist/assets/index-793eae6b.css +234 -0
- package/dist/assets/index-8304db49.css +129 -0
- package/dist/assets/index-8aa4712e.css +51 -0
- package/dist/assets/{index-3e8ea1d6.css → index-8f52a20f.css} +16 -2
- package/dist/assets/index-93ad846c.css +259 -0
- package/dist/assets/index-9dcf6260.css +151 -0
- package/dist/assets/index-9e44e336.css +59 -0
- package/dist/assets/index-9e9587e1.css +45 -0
- package/dist/assets/index-a2b51bce.css +47 -0
- package/dist/assets/index-a2d55f92.css +204 -0
- package/dist/assets/index-a9e4fe04.css +46 -0
- package/dist/assets/index-abb90c97.css +164 -0
- package/dist/assets/{index-3b76db9b.css → index-af72a30b.css} +78 -3
- package/dist/assets/{NcAppNavigationToggle-110970cd.css → index-b8f13a1f.css} +13 -2
- package/dist/assets/index-b991895f.css +87 -0
- package/dist/assets/{index-25b448e3.css → index-baf8711a.css} +67 -3
- package/dist/assets/index-c06ad941.css +175 -0
- package/dist/assets/index-c5ae3bc4.css +303 -0
- package/dist/assets/index-c6f0da2e.css +69 -0
- package/dist/assets/index-d211cae8.css +93 -0
- package/dist/assets/index-d646553d.css +41 -0
- package/dist/assets/index-dc612aa3.css +112 -0
- package/dist/assets/index-e7c55791.css +243 -0
- package/dist/assets/index-e7eadba7.css +82 -0
- package/dist/assets/index-e828b286.css +76 -0
- package/dist/assets/index-ed4adf1d.css +115 -0
- package/dist/assets/{index-19f059f6.css → index-edee3304.css} +33 -2
- package/dist/assets/index-eea65531.css +129 -0
- package/dist/assets/index-f85aa003.css +78 -0
- package/dist/assets/index-fc61f2d8.css +41 -0
- package/dist/assets/referencePickerModal-3a127978.css +482 -0
- package/dist/chunks/GenColors-38246c38.mjs +46 -0
- package/dist/chunks/{GenColors-8097de04.cjs.map → GenColors-38246c38.mjs.map} +1 -1
- package/dist/chunks/GenColors-eedcc70a.cjs +45 -0
- package/dist/chunks/{GenColors-85cb6194.mjs.map → GenColors-eedcc70a.cjs.map} +1 -1
- package/dist/{assets/index-cb18d6f3.css → chunks/GenRandomId-c214d235.cjs} +8 -5
- package/dist/chunks/{GenRandomId-67df40eb.cjs.map → GenRandomId-c214d235.cjs.map} +1 -1
- package/dist/chunks/GenRandomId-cb9ccebe.mjs +25 -0
- package/dist/chunks/{GenRandomId-1e1b509a.mjs.map → GenRandomId-cb9ccebe.mjs.map} +1 -1
- package/dist/chunks/Linkify-39f20c9a.mjs +33 -0
- package/dist/chunks/{Linkify-a0faf443.mjs.map → Linkify-39f20c9a.mjs.map} +1 -1
- package/dist/chunks/Linkify-40cdd635.cjs +32 -0
- package/dist/chunks/{Linkify-a4db36a9.cjs.map → Linkify-40cdd635.cjs.map} +1 -1
- package/dist/chunks/NcAppNavigationToggle-841d3015.cjs +49 -0
- package/dist/chunks/NcAppNavigationToggle-841d3015.cjs.map +1 -0
- package/dist/chunks/NcAppNavigationToggle-e358aa47.mjs +55 -0
- package/dist/chunks/NcAppNavigationToggle-e358aa47.mjs.map +1 -0
- package/dist/chunks/NcInputConfirmCancel-44052477.mjs +96 -0
- package/dist/chunks/NcInputConfirmCancel-44052477.mjs.map +1 -0
- package/dist/chunks/NcInputConfirmCancel-6bea0fdc.cjs +90 -0
- package/dist/chunks/NcInputConfirmCancel-6bea0fdc.cjs.map +1 -0
- package/dist/chunks/NcRichText-332fe454.cjs +289 -0
- package/dist/chunks/{NcRichText-bb9d3893.mjs.map → NcRichText-332fe454.cjs.map} +1 -1
- package/dist/chunks/NcRichText-8fda53c8.mjs +302 -0
- package/dist/chunks/{NcRichText-3c54a3cc.cjs.map → NcRichText-8fda53c8.mjs.map} +1 -1
- package/dist/chunks/NcSettingsSelectGroup-a5ff8c36.cjs +183 -0
- package/dist/chunks/NcSettingsSelectGroup-a5ff8c36.cjs.map +1 -0
- package/dist/chunks/NcSettingsSelectGroup-fdd3309c.mjs +192 -0
- package/dist/chunks/NcSettingsSelectGroup-fdd3309c.mjs.map +1 -0
- package/dist/chunks/ScopeComponent-9519afcc.mjs +29 -0
- package/dist/chunks/{ScopeComponent-1f3a7612.mjs.map → ScopeComponent-9519afcc.mjs.map} +1 -1
- package/dist/chunks/ScopeComponent-e060526a.cjs +28 -0
- package/dist/chunks/{ScopeComponent-4b8bd1ee.cjs.map → ScopeComponent-e060526a.cjs.map} +1 -1
- package/dist/chunks/_plugin-vue2_normalizer-71e2aa87.mjs +32 -0
- package/dist/chunks/_plugin-vue2_normalizer-71e2aa87.mjs.map +1 -0
- package/dist/chunks/_plugin-vue2_normalizer-7f9efb60.cjs +31 -0
- package/dist/chunks/_plugin-vue2_normalizer-7f9efb60.cjs.map +1 -0
- package/dist/chunks/actionGlobal-8c1c28c9.mjs +50 -0
- package/dist/chunks/{actionGlobal-cda46023.mjs.map → actionGlobal-8c1c28c9.mjs.map} +1 -1
- package/dist/chunks/actionGlobal-9e29e11b.cjs +49 -0
- package/dist/chunks/{actionGlobal-ec7003e8.cjs.map → actionGlobal-9e29e11b.cjs.map} +1 -1
- package/dist/chunks/actionText-54bc24a6.cjs +120 -0
- package/dist/chunks/{actionText-bef01778.cjs.map → actionText-54bc24a6.cjs.map} +1 -1
- package/dist/chunks/actionText-a64be267.mjs +121 -0
- package/dist/chunks/{actionText-6c35d3fc.mjs.map → actionText-a64be267.mjs.map} +1 -1
- package/dist/chunks/focusTrap-14985831.cjs +26 -0
- package/dist/chunks/{focusTrap-173aba65.mjs.map → focusTrap-14985831.cjs.map} +1 -1
- package/dist/chunks/focusTrap-5d0f71d4.mjs +27 -0
- package/dist/chunks/{focusTrap-139520e2.cjs.map → focusTrap-5d0f71d4.mjs.map} +1 -1
- package/dist/chunks/index-032137a6.cjs +468 -0
- package/dist/chunks/index-032137a6.cjs.map +1 -0
- package/dist/chunks/index-20a9ace9.mjs +149 -0
- package/dist/chunks/{index-cd3f1f8f.mjs.map → index-20a9ace9.mjs.map} +1 -1
- package/dist/chunks/index-4398f925.cjs +149 -0
- package/dist/chunks/{index-858938bd.cjs.map → index-4398f925.cjs.map} +1 -1
- package/dist/chunks/index-5f2a5f57.mjs +155 -0
- package/dist/chunks/{index-377488aa.mjs.map → index-5f2a5f57.mjs.map} +1 -1
- package/dist/chunks/index-e894376a.cjs +148 -0
- package/dist/chunks/{index-df3f51c6.cjs.map → index-e894376a.cjs.map} +1 -1
- package/dist/chunks/index-fb2ee22c.mjs +481 -0
- package/dist/chunks/index-fb2ee22c.mjs.map +1 -0
- package/dist/chunks/l10n-05a09c66.mjs +31 -0
- package/dist/chunks/l10n-05a09c66.mjs.map +1 -0
- package/dist/chunks/l10n-9aa6482d.mjs +10 -0
- package/dist/chunks/l10n-9aa6482d.mjs.map +1 -0
- package/dist/chunks/l10n-b1d264c7.cjs +29 -0
- package/dist/chunks/l10n-b1d264c7.cjs.map +1 -0
- package/dist/chunks/l10n-c7bd0ea6.cjs +8 -0
- package/dist/chunks/l10n-c7bd0ea6.cjs.map +1 -0
- package/dist/chunks/logger-3612e664.mjs +25 -0
- package/dist/chunks/{logger-01af1a78.cjs.map → logger-3612e664.mjs.map} +1 -1
- package/dist/chunks/logger-4998b668.cjs +24 -0
- package/dist/chunks/{logger-ccc7ee65.mjs.map → logger-4998b668.cjs.map} +1 -1
- package/dist/chunks/referencePickerModal-279a483d.cjs +858 -0
- package/dist/chunks/referencePickerModal-279a483d.cjs.map +1 -0
- package/dist/chunks/referencePickerModal-443a4c57.mjs +877 -0
- package/dist/chunks/referencePickerModal-443a4c57.mjs.map +1 -0
- package/dist/index.cjs +257 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +301 -150
- package/dist/index.mjs.map +1 -1
- package/package.json +7 -4
- package/dist/assets/NcMentionBubble-67378a12.css +0 -21
- package/dist/assets/index-2cedaf24.css +0 -21
- package/dist/assets/index-30d74459.css +0 -42
- package/dist/assets/index-317f55be.css +0 -21
- package/dist/assets/index-34f6bb3f.css +0 -21
- package/dist/assets/index-37970f20.css +0 -21
- package/dist/assets/index-3aba62de.css +0 -21
- package/dist/assets/index-47fab7bf.css +0 -21
- package/dist/assets/index-49a0d570.css +0 -21
- package/dist/assets/index-4a4c1700.css +0 -21
- package/dist/assets/index-4a4c2637.css +0 -21
- package/dist/assets/index-4efbac36.css +0 -21
- package/dist/assets/index-6140ff62.css +0 -21
- package/dist/assets/index-66b19339.css +0 -21
- package/dist/assets/index-6cb0dc4a.css +0 -21
- package/dist/assets/index-6f63d18f.css +0 -42
- package/dist/assets/index-76287c8f.css +0 -21
- package/dist/assets/index-7a7195d0.css +0 -21
- package/dist/assets/index-7e084b52.css +0 -21
- package/dist/assets/index-7f55fed2.css +0 -21
- package/dist/assets/index-7ffde264.css +0 -21
- package/dist/assets/index-81f5e4c8.css +0 -21
- package/dist/assets/index-82b5969a.css +0 -21
- package/dist/assets/index-852d8576.css +0 -21
- package/dist/assets/index-8f58dd75.css +0 -21
- package/dist/assets/index-935fa6f9.css +0 -42
- package/dist/assets/index-939ba6f0.css +0 -21
- package/dist/assets/index-a17dfbc4.css +0 -21
- package/dist/assets/index-a4a40fa3.css +0 -21
- package/dist/assets/index-a50a8de6.css +0 -1
- package/dist/assets/index-a513dcd5.css +0 -21
- package/dist/assets/index-a8c5cf75.css +0 -21
- package/dist/assets/index-a999ba9f.css +0 -21
- package/dist/assets/index-afc15e11.css +0 -21
- package/dist/assets/index-b814f5fa.css +0 -21
- package/dist/assets/index-ba6ad1b4.css +0 -21
- package/dist/assets/index-bf10e8e1.css +0 -21
- package/dist/assets/index-bf46edd7.css +0 -21
- package/dist/assets/index-c6d7f3b0.css +0 -21
- package/dist/assets/index-c736204a.css +0 -21
- package/dist/assets/index-cb76ef23.css +0 -21
- package/dist/assets/index-cc70a006.css +0 -21
- package/dist/assets/index-dd464a52.css +0 -21
- package/dist/assets/index-e0ceef85.css +0 -21
- package/dist/assets/index-ecdb616f.css +0 -42
- package/dist/assets/index-ee410fad.css +0 -21
- package/dist/assets/index-ef0bca81.css +0 -42
- package/dist/assets/index-f1030e54.css +0 -21
- package/dist/assets/index-f6ca40ca.css +0 -21
- package/dist/assets/index-f8466b88.css +0 -21
- package/dist/assets/referencePickerModal-41e4705a.css +0 -21
- package/dist/chunks/GenColors-8097de04.cjs +0 -1
- package/dist/chunks/GenColors-85cb6194.mjs +0 -25
- package/dist/chunks/GenRandomId-1e1b509a.mjs +0 -4
- package/dist/chunks/GenRandomId-67df40eb.cjs +0 -1
- package/dist/chunks/IsMobileState-151fc57d.cjs +0 -1
- package/dist/chunks/IsMobileState-151fc57d.cjs.map +0 -1
- package/dist/chunks/IsMobileState-e1fe5f58.mjs +0 -15
- package/dist/chunks/IsMobileState-e1fe5f58.mjs.map +0 -1
- package/dist/chunks/Linkify-a0faf443.mjs +0 -5
- package/dist/chunks/Linkify-a4db36a9.cjs +0 -1
- package/dist/chunks/NcAppNavigationToggle-5f3b9b9a.cjs +0 -1
- package/dist/chunks/NcAppNavigationToggle-5f3b9b9a.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-86cc2542.mjs +0 -23
- package/dist/chunks/NcAppNavigationToggle-86cc2542.mjs.map +0 -1
- package/dist/chunks/NcInputConfirmCancel-0cd93e0e.mjs +0 -43
- package/dist/chunks/NcInputConfirmCancel-0cd93e0e.mjs.map +0 -1
- package/dist/chunks/NcInputConfirmCancel-17c8ddfb.cjs +0 -1
- package/dist/chunks/NcInputConfirmCancel-17c8ddfb.cjs.map +0 -1
- package/dist/chunks/NcMentionBubble.vue_vue_type_style_index_0_scoped_357e6d0e_lang-072bbb05.cjs.map +0 -1
- package/dist/chunks/NcMentionBubble.vue_vue_type_style_index_0_scoped_357e6d0e_lang-55016398.mjs.map +0 -1
- package/dist/chunks/NcRichText-3c54a3cc.cjs +0 -1
- package/dist/chunks/NcRichText-bb9d3893.mjs +0 -123
- package/dist/chunks/NcSettingsSelectGroup-0be1fe91.mjs +0 -58
- package/dist/chunks/NcSettingsSelectGroup-0be1fe91.mjs.map +0 -1
- package/dist/chunks/NcSettingsSelectGroup-62ca94a9.cjs +0 -1
- package/dist/chunks/NcSettingsSelectGroup-62ca94a9.cjs.map +0 -1
- package/dist/chunks/ScopeComponent-1f3a7612.mjs +0 -8
- package/dist/chunks/ScopeComponent-4b8bd1ee.cjs +0 -1
- package/dist/chunks/_plugin-vue2_normalizer-5b4c43a4.mjs +0 -24
- package/dist/chunks/_plugin-vue2_normalizer-5b4c43a4.mjs.map +0 -1
- package/dist/chunks/_plugin-vue2_normalizer-764a4c12.cjs +0 -1
- package/dist/chunks/_plugin-vue2_normalizer-764a4c12.cjs.map +0 -1
- package/dist/chunks/actionGlobal-cda46023.mjs +0 -15
- package/dist/chunks/actionGlobal-ec7003e8.cjs +0 -1
- package/dist/chunks/actionText-6c35d3fc.mjs +0 -23
- package/dist/chunks/actionText-bef01778.cjs +0 -1
- package/dist/chunks/focusTrap-139520e2.cjs +0 -1
- package/dist/chunks/focusTrap-173aba65.mjs +0 -6
- package/dist/chunks/index-197226c7.mjs +0 -171
- package/dist/chunks/index-197226c7.mjs.map +0 -1
- package/dist/chunks/index-377488aa.mjs +0 -46
- package/dist/chunks/index-858938bd.cjs +0 -3
- package/dist/chunks/index-cd3f1f8f.mjs +0 -43
- package/dist/chunks/index-cebd6e80.cjs +0 -1
- package/dist/chunks/index-cebd6e80.cjs.map +0 -1
- package/dist/chunks/index-df3f51c6.cjs +0 -1
- package/dist/chunks/l10n-05baf7da.mjs +0 -5
- package/dist/chunks/l10n-05baf7da.mjs.map +0 -1
- package/dist/chunks/l10n-46d0c1c0.cjs +0 -1
- package/dist/chunks/l10n-46d0c1c0.cjs.map +0 -1
- package/dist/chunks/l10n-9a5a6afc.mjs +0 -18
- package/dist/chunks/l10n-9a5a6afc.mjs.map +0 -1
- package/dist/chunks/l10n-dacb6440.cjs +0 -1
- package/dist/chunks/l10n-dacb6440.cjs.map +0 -1
- package/dist/chunks/logger-01af1a78.cjs +0 -1
- package/dist/chunks/logger-ccc7ee65.mjs +0 -5
- package/dist/chunks/referencePickerModal-6120a321.cjs +0 -1
- package/dist/chunks/referencePickerModal-6120a321.cjs.map +0 -1
- package/dist/chunks/referencePickerModal-d0573462.mjs +0 -428
- package/dist/chunks/referencePickerModal-d0573462.mjs.map +0 -1
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const v = require("./referencePickerModal-279a483d.cjs"), y = require("@nextcloud/axios"), m = require("@nextcloud/router"), k = require("./_plugin-vue2_normalizer-7f9efb60.cjs"), d = require("unist-util-visit"), u = require("unist-builder"), R = require("unified"), w = require("remark-parse"), N = require("remark-breaks"), q = require("remark-rehype"), L = require("rehype-react"), A = require("rehype-external-links"), l = (e) => e && e.__esModule ? e : { default: e }, x = /* @__PURE__ */ l(y), $ = /* @__PURE__ */ l(w), T = /* @__PURE__ */ l(N), j = /* @__PURE__ */ l(q), M = /* @__PURE__ */ l(L), O = /* @__PURE__ */ l(A), g = /(\s|^)(https?:\/\/)((?:[-A-Z0-9+_]+\.)+[-A-Z]+(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\s|$)/ig, _ = /(\s|\(|^)((https?:\/\/)((?:[-A-Z0-9+_]+\.)+[-A-Z0-9]+(?::[0-9]+)?(?:\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\s|\)|$)/ig, C = {
|
|
3
|
+
name: "NcReferenceList",
|
|
4
|
+
components: {
|
|
5
|
+
NcReferenceWidget: v.NcReferenceWidget
|
|
6
|
+
},
|
|
7
|
+
props: {
|
|
8
|
+
text: {
|
|
9
|
+
type: String,
|
|
10
|
+
default: ""
|
|
11
|
+
},
|
|
12
|
+
referenceData: {
|
|
13
|
+
type: Object,
|
|
14
|
+
default: null
|
|
15
|
+
},
|
|
16
|
+
limit: {
|
|
17
|
+
type: Number,
|
|
18
|
+
default: 1
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
data() {
|
|
22
|
+
return {
|
|
23
|
+
references: null,
|
|
24
|
+
loading: !0
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
computed: {
|
|
28
|
+
isVisible() {
|
|
29
|
+
return this.loading || this.displayedReferences;
|
|
30
|
+
},
|
|
31
|
+
values() {
|
|
32
|
+
return this.referenceData ? this.referenceData : this.references ? Object.values(this.references) : [];
|
|
33
|
+
},
|
|
34
|
+
firstReference() {
|
|
35
|
+
var e;
|
|
36
|
+
return (e = this.values[0]) != null ? e : null;
|
|
37
|
+
},
|
|
38
|
+
displayedReferences() {
|
|
39
|
+
return this.values.slice(0, this.limit);
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
watch: {
|
|
43
|
+
text: "fetch"
|
|
44
|
+
},
|
|
45
|
+
mounted() {
|
|
46
|
+
this.fetch();
|
|
47
|
+
},
|
|
48
|
+
methods: {
|
|
49
|
+
fetch() {
|
|
50
|
+
if (this.loading = !0, this.referenceData) {
|
|
51
|
+
this.loading = !1;
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (!new RegExp(g).exec(this.text)) {
|
|
55
|
+
this.loading = !1;
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
this.resolve().then((e) => {
|
|
59
|
+
this.references = e.data.ocs.data.references, this.loading = !1;
|
|
60
|
+
}).catch((e) => {
|
|
61
|
+
console.error("Failed to extract references", e), this.loading = !1;
|
|
62
|
+
});
|
|
63
|
+
},
|
|
64
|
+
resolve() {
|
|
65
|
+
const e = new RegExp(g).exec(this.text.trim());
|
|
66
|
+
return this.limit === 1 && e ? x.default.get(m.generateOcsUrl("references/resolve", 2) + `?reference=${encodeURIComponent(e[0])}`) : x.default.post(m.generateOcsUrl("references/extract", 2), {
|
|
67
|
+
text: this.text,
|
|
68
|
+
resolve: !0,
|
|
69
|
+
limit: this.limit
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
var U = function() {
|
|
75
|
+
var s = this, t = s._self._c;
|
|
76
|
+
return s.isVisible ? t("div", { staticClass: "widgets--list", class: { "icon-loading": s.loading } }, s._l(s.displayedReferences, function(r) {
|
|
77
|
+
var i;
|
|
78
|
+
return t("div", { key: (i = r == null ? void 0 : r.openGraphObject) == null ? void 0 : i.id }, [t("NcReferenceWidget", { attrs: { reference: r } })], 1);
|
|
79
|
+
}), 0) : s._e();
|
|
80
|
+
}, z = [], D = /* @__PURE__ */ k.normalizeComponent(
|
|
81
|
+
C,
|
|
82
|
+
U,
|
|
83
|
+
z,
|
|
84
|
+
!1,
|
|
85
|
+
null,
|
|
86
|
+
"bd1fbb02",
|
|
87
|
+
null,
|
|
88
|
+
null
|
|
89
|
+
);
|
|
90
|
+
const h = D.exports, E = {
|
|
91
|
+
name: "NcLink",
|
|
92
|
+
props: {
|
|
93
|
+
href: {
|
|
94
|
+
type: String,
|
|
95
|
+
required: !0
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
render(e) {
|
|
99
|
+
return e("a", {
|
|
100
|
+
attrs: {
|
|
101
|
+
href: this.href,
|
|
102
|
+
rel: "noopener noreferrer",
|
|
103
|
+
target: "_blank",
|
|
104
|
+
class: "rich-text--external-link"
|
|
105
|
+
}
|
|
106
|
+
}, [this.href.trim()]);
|
|
107
|
+
}
|
|
108
|
+
}, P = function({ autolink: e, useMarkdown: s }) {
|
|
109
|
+
return function(t) {
|
|
110
|
+
!s || !e || d.visit(t, (r) => r.type === "text", (r, i, n) => {
|
|
111
|
+
let c = b(r.value);
|
|
112
|
+
return c = c.map((a) => typeof a == "string" ? u.u("text", a) : u.u("link", {
|
|
113
|
+
url: a.props.href
|
|
114
|
+
}, [u.u("text", a.props.href)])).filter((a) => a), n.children.splice(i, 1, ...c.flat()), [d.SKIP, i + c.flat().length];
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
}, b = (e) => {
|
|
118
|
+
let s = _.exec(e);
|
|
119
|
+
const t = [];
|
|
120
|
+
let r = 0;
|
|
121
|
+
for (; s !== null; ) {
|
|
122
|
+
let n = s[2], c, a = e.substring(r, s.index + s[1].length);
|
|
123
|
+
n[0] === " " && (a += n[0], n = n.substring(1).trim());
|
|
124
|
+
const o = n[n.length - 1];
|
|
125
|
+
(o === "." || o === "," || o === ";" || s[0][0] === "(" && o === ")") && (n = n.substring(0, n.length - 1), c = o), t.push(a), t.push({ component: E, props: { href: n } }), c && t.push(c), r = s.index + s[0].length, s = _.exec(e);
|
|
126
|
+
}
|
|
127
|
+
t.push(e.substring(r));
|
|
128
|
+
const i = t.map((n) => typeof n == "string" ? n : n.props.href).join("");
|
|
129
|
+
return e === i ? t : (console.error("Failed to reassemble the chunked text: " + e), e);
|
|
130
|
+
}, Z = function() {
|
|
131
|
+
return function(e) {
|
|
132
|
+
d.visit(e, (t) => t.type === "text", s);
|
|
133
|
+
function s(t, r, i) {
|
|
134
|
+
const n = t.value.split(/(\{[a-z\-_.0-9]+\})/ig).map((c, a, o) => {
|
|
135
|
+
const f = c.match(/^\{([a-z\-_.0-9]+)\}$/i);
|
|
136
|
+
if (!f)
|
|
137
|
+
return u.u("text", c);
|
|
138
|
+
const [, p] = f;
|
|
139
|
+
return u.u("element", {
|
|
140
|
+
tagName: `#${p}`
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
i.children.splice(r, 1, ...n);
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
}, S = ({ h: e, context: s }, t) => (s.autolink && (t = b(t)), Array.isArray(t) ? t.map((r) => {
|
|
147
|
+
if (typeof r == "string")
|
|
148
|
+
return r;
|
|
149
|
+
const { component: i, props: n } = r, c = i.name === "NcLink" ? void 0 : "rich-text--component";
|
|
150
|
+
return e(i, {
|
|
151
|
+
props: n,
|
|
152
|
+
class: c
|
|
153
|
+
});
|
|
154
|
+
}) : t), B = {
|
|
155
|
+
name: "NcRichText",
|
|
156
|
+
components: {
|
|
157
|
+
NcReferenceList: h
|
|
158
|
+
},
|
|
159
|
+
props: {
|
|
160
|
+
text: {
|
|
161
|
+
type: String,
|
|
162
|
+
default: ""
|
|
163
|
+
},
|
|
164
|
+
arguments: {
|
|
165
|
+
type: Object,
|
|
166
|
+
default: () => ({})
|
|
167
|
+
},
|
|
168
|
+
referenceLimit: {
|
|
169
|
+
type: Number,
|
|
170
|
+
default: 0
|
|
171
|
+
},
|
|
172
|
+
/** Provide data upfront to avoid extra http request */
|
|
173
|
+
references: {
|
|
174
|
+
type: Object,
|
|
175
|
+
default: null
|
|
176
|
+
},
|
|
177
|
+
markdownCssClasses: {
|
|
178
|
+
type: Object,
|
|
179
|
+
default: () => ({
|
|
180
|
+
a: "rich-text--external-link",
|
|
181
|
+
ol: "rich-text--ordered-list",
|
|
182
|
+
ul: "rich-text--un-ordered-list",
|
|
183
|
+
li: "rich-text--list-item",
|
|
184
|
+
strong: "rich-text--strong",
|
|
185
|
+
em: "rich-text--italic",
|
|
186
|
+
h1: "rich-text--heading rich-text--heading-1",
|
|
187
|
+
h2: "rich-text--heading rich-text--heading-2",
|
|
188
|
+
h3: "rich-text--heading rich-text--heading-3",
|
|
189
|
+
h4: "rich-text--heading rich-text--heading-4",
|
|
190
|
+
h5: "rich-text--heading rich-text--heading-5",
|
|
191
|
+
h6: "rich-text--heading rich-text--heading-6",
|
|
192
|
+
hr: "rich-text--hr",
|
|
193
|
+
table: "rich-text--table",
|
|
194
|
+
pre: "rich-text--pre",
|
|
195
|
+
code: "rich-text--code",
|
|
196
|
+
blockquote: "rich-text--blockquote"
|
|
197
|
+
})
|
|
198
|
+
},
|
|
199
|
+
useMarkdown: {
|
|
200
|
+
type: Boolean,
|
|
201
|
+
default: !1
|
|
202
|
+
},
|
|
203
|
+
autolink: {
|
|
204
|
+
type: Boolean,
|
|
205
|
+
default: !0
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
methods: {
|
|
209
|
+
renderPlaintext(e) {
|
|
210
|
+
const s = this, t = this.text.split(/(\{[a-z\-_.0-9]+\})/ig).map(function(r, i, n) {
|
|
211
|
+
const c = r.match(/^\{([a-z\-_.0-9]+)\}$/i);
|
|
212
|
+
if (!c)
|
|
213
|
+
return S({ h: e, context: s }, r);
|
|
214
|
+
const a = c[1], o = s.arguments[a];
|
|
215
|
+
if (typeof o == "object") {
|
|
216
|
+
const { component: f, props: p } = o;
|
|
217
|
+
return e(f, {
|
|
218
|
+
props: p,
|
|
219
|
+
class: "rich-text--component"
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
return o ? e("span", { class: "rich-text--fallback" }, o) : r;
|
|
223
|
+
});
|
|
224
|
+
return e("div", { class: "rich-text--wrapper" }, [
|
|
225
|
+
e("div", {}, t.flat()),
|
|
226
|
+
this.referenceLimit > 0 ? e("div", { class: "rich-text--reference-widget" }, [
|
|
227
|
+
e(h, { props: { text: this.text, referenceData: this.references } })
|
|
228
|
+
]) : null
|
|
229
|
+
]);
|
|
230
|
+
},
|
|
231
|
+
renderMarkdown(e) {
|
|
232
|
+
const s = R.unified().use($.default).use(P, {
|
|
233
|
+
autolink: this.autolink,
|
|
234
|
+
useMarkdown: this.useMarkdown
|
|
235
|
+
}).use(T.default).use(j.default, {
|
|
236
|
+
handlers: {
|
|
237
|
+
component(t, r) {
|
|
238
|
+
return t(r, r.component, { value: r.value });
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}).use(Z).use(O.default, {
|
|
242
|
+
target: "_blank",
|
|
243
|
+
rel: ["noopener noreferrer"]
|
|
244
|
+
}).use(M.default, {
|
|
245
|
+
createElement: (t, r, i) => {
|
|
246
|
+
if (i = i == null ? void 0 : i.map(
|
|
247
|
+
(c) => typeof c == "string" ? c.replace(/</gmi, "<") : c
|
|
248
|
+
), !t.startsWith("#"))
|
|
249
|
+
return e(t, r, i);
|
|
250
|
+
const n = this.arguments[t.slice(1)];
|
|
251
|
+
return n ? n.component ? e(
|
|
252
|
+
n.component,
|
|
253
|
+
{
|
|
254
|
+
attrs: r,
|
|
255
|
+
props: n.props,
|
|
256
|
+
class: "rich-text--component"
|
|
257
|
+
},
|
|
258
|
+
i
|
|
259
|
+
) : e("span", r, [n]) : e("span", { attrs: r, class: "rich-text--fallback" }, [`{${t.slice(1)}}`]);
|
|
260
|
+
},
|
|
261
|
+
prefix: !1
|
|
262
|
+
}).processSync(
|
|
263
|
+
this.text.replace(/</gmi, "<").replace(/>/gmi, ">")
|
|
264
|
+
).result;
|
|
265
|
+
return e("div", { class: "rich-text--wrapper rich-text--wrapper-markdown" }, [
|
|
266
|
+
s,
|
|
267
|
+
this.referenceLimit > 0 ? e("div", { class: "rich-text--reference-widget" }, [
|
|
268
|
+
e(h, { props: { text: this.text, referenceData: this.references } })
|
|
269
|
+
]) : null
|
|
270
|
+
]);
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
render(e) {
|
|
274
|
+
return this.useMarkdown ? this.renderMarkdown(e) : this.renderPlaintext(e);
|
|
275
|
+
}
|
|
276
|
+
}, F = null, I = null;
|
|
277
|
+
var V = /* @__PURE__ */ k.normalizeComponent(
|
|
278
|
+
B,
|
|
279
|
+
F,
|
|
280
|
+
I,
|
|
281
|
+
!1,
|
|
282
|
+
null,
|
|
283
|
+
"5f33f45b",
|
|
284
|
+
null,
|
|
285
|
+
null
|
|
286
|
+
);
|
|
287
|
+
const W = V.exports;
|
|
288
|
+
exports.NcReferenceList = h;
|
|
289
|
+
exports.NcRichText = W;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcRichText-bb9d3893.mjs","sources":["../../src/components/NcRichText/helpers.js","../../src/components/NcRichText/NcReferenceList.vue","../../src/components/NcRichText/autolink.js","../../src/components/NcRichText/placeholder.js","../../src/components/NcRichText/NcRichText.vue"],"sourcesContent":["/**\n * Regex pattern to match links to be resolved by the link-reference provider\n *\n * @type {RegExp}\n */\nexport const URL_PATTERN = /(\\s|^)(https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z]+(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/ig\n\n/**\n * Regex pattern to identify strings as links and then making them clickable\n * Opposed to the above regex this one also matches IP addresses, which we would like to be clickable,\n * but in general resolving references for them might mostly not work,\n * as the link provider checks for local addresses and does not resolve them.\n *\n * @type {RegExp}\n */\nexport const URL_PATTERN_AUTOLINK = /(\\s|\\(|^)((https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z0-9]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\\s|\\)|$)/ig\n","<template>\n\t<div v-if=\"isVisible\" class=\"widgets--list\" :class=\"{'icon-loading': loading }\">\n\t\t<div v-for=\"reference in displayedReferences\" :key=\"reference?.openGraphObject?.id\">\n\t\t\t<NcReferenceWidget :reference=\"reference\" />\n\t\t</div>\n\t</div>\n</template>\n<script>\nimport NcReferenceWidget from './NcReferenceWidget.vue'\nimport { URL_PATTERN } from './helpers.js'\n\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nexport default {\n\tname: 'NcReferenceList',\n\tcomponents: {\n\t\tNcReferenceWidget,\n\t},\n\tprops: {\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\treferenceData: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t\tlimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 1,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\treferences: null,\n\t\t\tloading: true,\n\t\t}\n\t},\n\tcomputed: {\n\t\tisVisible() {\n\t\t\treturn this.loading || this.displayedReferences\n\t\t},\n\t\tvalues() {\n\t\t\treturn this.referenceData\n\t\t\t\t? this.referenceData\n\t\t\t\t: (this.references ? Object.values(this.references) : [])\n\t\t},\n\t\tfirstReference() {\n\t\t\treturn this.values[0] ?? null\n\t\t},\n\t\tdisplayedReferences() {\n\t\t\treturn this.values.slice(0, this.limit)\n\t\t},\n\t},\n\twatch: {\n\t\ttext: 'fetch',\n\t},\n\tmounted() {\n\t\tthis.fetch()\n\t},\n\tmethods: {\n\t\tfetch() {\n\t\t\tthis.loading = true\n\t\t\tif (this.referenceData) {\n\t\t\t\tthis.loading = false\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (!(new RegExp(URL_PATTERN).exec(this.text))) {\n\t\t\t\tthis.loading = false\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.resolve().then((response) => {\n\t\t\t\tthis.references = response.data.ocs.data.references\n\t\t\t\tthis.loading = false\n\t\t\t}).catch((error) => {\n\t\t\t\tconsole.error('Failed to extract references', error)\n\t\t\t\tthis.loading = false\n\t\t\t})\n\t\t},\n\t\tresolve() {\n\t\t\tconst match = (new RegExp(URL_PATTERN).exec(this.text.trim()))\n\t\t\tif (this.limit === 1 && match) {\n\t\t\t\treturn axios.get(generateOcsUrl('references/resolve', 2) + `?reference=${encodeURIComponent(match[0])}`)\n\t\t\t}\n\n\t\t\treturn axios.post(generateOcsUrl('references/extract', 2), {\n\t\t\t\ttext: this.text,\n\t\t\t\tresolve: true,\n\t\t\t\tlimit: this.limit,\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.widgets--list.icon-loading {\n\tmin-height: 44px;\n}\n</style>\n","import { URL_PATTERN_AUTOLINK } from './helpers.js'\n\nimport { visit, SKIP } from 'unist-util-visit'\nimport { u } from 'unist-builder'\n\nconst NcLink = {\n\tname: 'NcLink',\n\tprops: {\n\t\thref: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\trender(h) {\n\t\treturn h('a', {\n\t\t\tattrs: {\n\t\t\t\thref: this.href,\n\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\ttarget: '_blank',\n\t\t\t\tclass: 'rich-text--external-link',\n\t\t\t},\n\t\t}, [this.href.trim()])\n\t},\n}\n\nexport const remarkAutolink = function({ autolink, useMarkdown }) {\n\treturn function(tree) {\n\n\t\tif (!useMarkdown || !autolink) {\n\t\t\treturn\n\t\t}\n\n\t\tvisit(tree, (node) => node.type === 'text', (node, index, parent) => {\n\t\t\tlet parsed = parseUrl(node.value)\n\t\t\tparsed = parsed.map((n) => {\n\t\t\t\tif (typeof n === 'string') {\n\t\t\t\t\treturn u('text', n)\n\t\t\t\t}\n\n\t\t\t\treturn u('link', {\n\t\t\t\t\turl: n.props.href,\n\t\t\t\t}, [u('text', n.props.href)])\n\t\t\t}).filter((x) => x)\n\n\t\t\tparent.children.splice(index, 1, ...parsed.flat())\n\t\t\treturn [SKIP, index + parsed.flat().length]\n\t\t})\n\t}\n}\n\nexport const parseUrl = (text) => {\n\tlet match = URL_PATTERN_AUTOLINK.exec(text)\n\tconst list = []\n\tlet start = 0\n\twhile (match !== null) {\n\t\tlet href = match[2]\n\t\tlet textAfter\n\t\tlet textBefore = text.substring(start, match.index + match[1].length)\n\t\tif (href[0] === ' ') {\n\t\t\ttextBefore += href[0]\n\t\t\thref = href.substring(1).trim()\n\t\t}\n\t\tconst lastChar = href[(href.length - 1)]\n\t\tif (lastChar === '.' || lastChar === ',' || lastChar === ';' || (match[0][0] === '(' && lastChar === ')')) {\n\t\t\thref = href.substring(0, href.length - 1)\n\t\t\ttextAfter = lastChar\n\t\t}\n\t\tlist.push(textBefore)\n\t\tlist.push({ component: NcLink, props: { href } })\n\t\tif (textAfter) {\n\t\t\tlist.push(textAfter)\n\t\t}\n\t\tstart = match.index + match[0].length\n\t\tmatch = URL_PATTERN_AUTOLINK.exec(text)\n\t}\n\tlist.push(text.substring(start))\n\tconst joinedText = list.map((item) => typeof item === 'string' ? item : item.props.href).join('')\n\tif (text === joinedText) {\n\t\treturn list\n\t}\n\tconsole.error('Failed to reassemble the chunked text: ' + text)\n\treturn text\n}\n","import { parseUrl } from './autolink.js'\n\nimport { visit } from 'unist-util-visit'\nimport { u } from 'unist-builder'\n\nexport const remarkPlaceholder = function() {\n\treturn function(ast) {\n\t\tvisit(ast, (node) => node.type === 'text', visitor)\n\n\t\t/**\n\t\t *\n\t\t * @param {object} node The node\n\t\t * @param {number} index The index of the node\n\t\t * @param {object} parent The parent node\n\t\t */\n\t\tfunction visitor(node, index, parent) {\n\t\t\tconst placeholders = node.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig)\n\t\t\t\t.map((entry, index, list) => {\n\t\t\t\t\tconst matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i)\n\t\t\t\t\tif (!matches) {\n\t\t\t\t\t\treturn u('text', entry)\n\t\t\t\t\t}\n\t\t\t\t\tconst [, component] = matches\n\t\t\t\t\treturn u('element', {\n\t\t\t\t\t\ttagName: `#${component}`,\n\t\t\t\t\t})\n\t\t\t\t})\n\n\t\t\tparent.children.splice(index, 1, ...placeholders)\n\t\t}\n\t}\n}\n\nexport const prepareTextNode = ({ h, context }, text) => {\n\tif (context.autolink) {\n\t\ttext = parseUrl(text)\n\t}\n\tif (Array.isArray(text)) {\n\t\treturn text.map((entry) => {\n\t\t\tif (typeof entry === 'string') {\n\t\t\t\treturn entry\n\t\t\t}\n\t\t\tconst { component, props } = entry\n\t\t\t// do not override class of NcLink\n\t\t\tconst componentClass = component.name === 'NcLink' ? undefined : 'rich-text--component'\n\t\t\treturn h(component, {\n\t\t\t\tprops,\n\t\t\t\tclass: componentClass,\n\t\t\t})\n\t\t})\n\t}\n\treturn text\n}\n","<!--\n - @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n - @author Guido Krömer <mail@cacodaemon.de>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<docs>\n### General description\n\nThis component displays rich text with optional autolink or [Markdown support](https://www.markdownguide.org/basic-syntax/).\n\n```vue\n<template>\n\t<div>\n\t\t<textarea v-model=\"text\" />\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"autolink\" type=\"checkbox\">Autolink</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"useMarkdown\" type=\"checkbox\">Use Markdown</NcCheckboxRadioSwitch>\n\n\t\t<NcRichText\n\t\t\t:class=\"{'plain-text': !useMarkdown }\"\n\t\t\t:text=\"text\" :autolink=\"autolink\" :arguments=\"args\"\n\t\t\t:use-markdown=\"useMarkdown\" />\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttext: `## Hello everyone 🎉\nThe file {file} was added by {username}. Visit https://nextcloud.com to check it!\n\nSome examples for markdown syntax:\n1. **bold text**\n2. _italic text_\n3. example of \\`inline code\\`\n\n> blockquote example\n`,\n\t\t\tautolink: true,\n\t\t\tuseMarkdown: true,\n\t\t\targs: {\n\t\t\t\tfile: 'MyDocument.odt',\n\t\t\t\tusername: {\n\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tdisplayName: 'Jane Doe'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t},\n}\n</script>\n<style lang=\"scss\">\ntextarea {\n\twidth: 100%;\n\theight: 200px;\n}\n\n.plain-text {\n\twhite-space: pre-line;\n}\n</style>\n```\n\n### Usage with NcRichContenteditable\n\nSee [NcRichContenteditable](#/Components/NcRichContenteditable) documentation for more information\n\n```vue\n<template>\n\t<div>\n\t\t<NcRichContenteditable :value.sync=\"message\"\n\t\t\t:auto-complete=\"autoComplete\"\n\t\t\t:maxlength=\"100\"\n\t\t\t:user-data=\"userData\"\n\t\t\tplaceholder=\"Try mentioning user @Test01 or inserting emoji :smile\"\n\t\t\t@submit=\"onSubmit\" />\n\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"autolink\" type=\"checkbox\">Autolink</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"useMarkdown\" type=\"checkbox\">Use Markdown</NcCheckboxRadioSwitch>\n\n\t\t<NcRichText :text=\"text\"\n\t\t\t:autolink=\"autolink\"\n\t\t\t:arguments=\"userMentions\"\n\t\t\t:use-markdown=\"useMarkdown\" />\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tmessage: '',\n\t\t\t\tautolink: true,\n\t\t\t\tuseMarkdown: true,\n\t\t\t\tuserData: {\n\t\t\t\t\tTest01: {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test01',\n\t\t\t\t\t\ttitle: 'Test01',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tprimary: true,\n\t\t\t\t\t},\n\t\t\t\t\tTest02: {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test02',\n\t\t\t\t\t\ttitle: 'Test02',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: '🎡',\n\t\t\t\t\t\t\tmessage: 'Visiting London',\n\t\t\t\t\t\t\tstatus: 'away',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Visiting London',\n\t\t\t\t\t},\n\t\t\t\t\t'Test@User': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test@User',\n\t\t\t\t\t\ttitle: 'Test 03',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: '🎡',\n\t\t\t\t\t\t\tmessage: 'Having space in my name',\n\t\t\t\t\t\t\tstatus: 'online',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Visiting London',\n\t\t\t\t\t},\n\t\t\t\t\t'Test Offline': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test Offline',\n\t\t\t\t\t\ttitle: 'Test Offline',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\t\tmessage: null,\n\t\t\t\t\t\t\tstatus: 'offline',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: null,\n\t\t\t\t\t},\n\t\t\t\t\t'Test DND': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test DND',\n\t\t\t\t\t\ttitle: 'Test DND',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\t\tmessage: 'Out sick',\n\t\t\t\t\t\t\tstatus: 'dnd',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Out sick',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tuserMentions: {\n\t\t\t\t\t'user-1': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test01',\n\t\t\t\t\t\t\tuser: 'Test01',\n\t\t\t\t\t\t\tprimary: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-2': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test02',\n\t\t\t\t\t\t\tuser: 'Test02',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-3': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test 03',\n\t\t\t\t\t\t\tuser: 'Test@User',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-4': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test Offline',\n\t\t\t\t\t\t\tuser: 'Test Offline',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-5': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test DND',\n\t\t\t\t\t\t\tuser: 'Test DND',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t\tcomputed: {\n\t\t\ttext() {\n\t\t\t\treturn this.message\n\t\t\t\t\t\t.replace('@Test01', '{user-1}')\n\t\t\t\t\t\t.replace('@Test02', '{user-2}')\n\t\t\t\t\t\t.replace('@Test@User', '{user-3}')\n\t\t\t\t\t\t.replace('@\"Test Offline\"', '{user-4}')\n\t\t\t\t\t\t.replace('@\"Test DND\"', '{user-5}')\n\t\t\t},\n\t\t},\n\t\tmethods: {\n\t\t\tautoComplete(search, callback) {\n\t\t\t\tcallback(Object.values(this.userData))\n\t\t\t},\n\t\t\tonSubmit() {\n\t\t\t\talert(this.message)\n\t\t\t}\n\t\t}\n\t}\n</script>\n```\n</docs>\n\n<script>\nimport NcReferenceList from './NcReferenceList.vue'\nimport { remarkAutolink } from './autolink.js'\nimport { remarkPlaceholder, prepareTextNode } from './placeholder.js'\n\nimport { unified } from 'unified'\nimport markdown from 'remark-parse'\nimport breaks from 'remark-breaks'\nimport remark2rehype from 'remark-rehype'\nimport rehype2react from 'rehype-react'\nimport rehypeExternalLinks from 'rehype-external-links'\n\nexport default {\n\tname: 'NcRichText',\n\tcomponents: {\n\t\tNcReferenceList,\n\t},\n\tprops: {\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\targuments: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {\n\t\t\t\treturn {}\n\t\t\t},\n\t\t},\n\t\treferenceLimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\t\t/** Provide data upfront to avoid extra http request */\n\t\treferences: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t\tmarkdownCssClasses: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {\n\t\t\t\treturn {\n\t\t\t\t\ta: 'rich-text--external-link',\n\t\t\t\t\tol: 'rich-text--ordered-list',\n\t\t\t\t\tul: 'rich-text--un-ordered-list',\n\t\t\t\t\tli: 'rich-text--list-item',\n\t\t\t\t\tstrong: 'rich-text--strong',\n\t\t\t\t\tem: 'rich-text--italic',\n\t\t\t\t\th1: 'rich-text--heading rich-text--heading-1',\n\t\t\t\t\th2: 'rich-text--heading rich-text--heading-2',\n\t\t\t\t\th3: 'rich-text--heading rich-text--heading-3',\n\t\t\t\t\th4: 'rich-text--heading rich-text--heading-4',\n\t\t\t\t\th5: 'rich-text--heading rich-text--heading-5',\n\t\t\t\t\th6: 'rich-text--heading rich-text--heading-6',\n\t\t\t\t\thr: 'rich-text--hr',\n\t\t\t\t\ttable: 'rich-text--table',\n\t\t\t\t\tpre: 'rich-text--pre',\n\t\t\t\t\tcode: 'rich-text--code',\n\t\t\t\t\tblockquote: 'rich-text--blockquote',\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tuseMarkdown: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tautolink: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tmethods: {\n\t\trenderPlaintext(h) {\n\t\t\tconst context = this\n\t\t\tconst placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map(function(entry, index, list) {\n\t\t\t\tconst matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i)\n\t\t\t\t// just return plain string nodes as text\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn prepareTextNode({ h, context }, entry)\n\t\t\t\t}\n\t\t\t\t// return component instance if argument is an object\n\t\t\t\tconst argumentId = matches[1]\n\t\t\t\tconst argument = context.arguments[argumentId]\n\t\t\t\tif (typeof argument === 'object') {\n\t\t\t\t\tconst { component, props } = argument\n\t\t\t\t\treturn h(component, {\n\t\t\t\t\t\tprops,\n\t\t\t\t\t\tclass: 'rich-text--component',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (argument) {\n\t\t\t\t\treturn h('span', { class: 'rich-text--fallback' }, argument)\n\t\t\t\t}\n\t\t\t\treturn entry\n\t\t\t})\n\t\t\treturn h('div', { class: 'rich-text--wrapper' }, [\n\t\t\t\th('div', {}, placeholders.flat()),\n\t\t\t\tthis.referenceLimit > 0\n\t\t\t\t\t? h('div', { class: 'rich-text--reference-widget' }, [\n\t\t\t\t\t\th(NcReferenceList, { props: { text: this.text, referenceData: this.references } }),\n\t\t\t\t\t])\n\t\t\t\t\t: null,\n\t\t\t])\n\t\t},\n\t\trenderMarkdown(h) {\n\t\t\tconst renderedMarkdown = unified()\n\t\t\t\t.use(markdown)\n\t\t\t\t.use(remarkAutolink, {\n\t\t\t\t\tautolink: this.autolink,\n\t\t\t\t\tuseMarkdown: this.useMarkdown,\n\t\t\t\t})\n\t\t\t\t.use(breaks)\n\t\t\t\t.use(remark2rehype, {\n\t\t\t\t\thandlers: {\n\t\t\t\t\t\tcomponent(toHast, node) {\n\t\t\t\t\t\t\treturn toHast(node, node.component, { value: node.value })\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t// .use(rehypeAddClasses, this.markdownCssClasses)\n\t\t\t\t.use(remarkPlaceholder)\n\t\t\t\t.use(rehypeExternalLinks, {\n\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\trel: ['noopener noreferrer'],\n\t\t\t\t})\n\t\t\t\t.use(rehype2react, {\n\t\t\t\t\tcreateElement: (tag, attrs, children) => {\n\t\t\t\t\t\t// unescape special symbol \"<\" for simple text nodes\n\t\t\t\t\t\tchildren = children?.map(child => typeof child === 'string'\n\t\t\t\t\t\t\t? child.replace(/</gmi, '<')\n\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\tif (!tag.startsWith('#')) {\n\t\t\t\t\t\t\treturn h(tag, attrs, children)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst placeholder = this.arguments[tag.slice(1)]\n\t\t\t\t\t\tif (!placeholder) {\n\t\t\t\t\t\t\treturn h('span', { ...{ attrs }, ...{ class: 'rich-text--fallback' } }, [`{${tag.slice(1)}}`])\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!placeholder.component) {\n\t\t\t\t\t\t\treturn h('span', attrs, [placeholder])\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn h(\n\t\t\t\t\t\t\tplaceholder.component,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tattrs,\n\t\t\t\t\t\t\t\tprops: placeholder.props,\n\t\t\t\t\t\t\t\tclass: 'rich-text--component',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren,\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tprefix: false,\n\t\t\t\t})\n\t\t\t\t.processSync(this.text\n\t\t\t\t\t// escape special symbol \"<\" to not treat text as HTML\n\t\t\t\t\t.replace(/</gmi, '<')\n\t\t\t\t\t// unescape special symbol \">\" to parse blockquotes\n\t\t\t\t\t.replace(/>/gmi, '>')\n\t\t\t\t)\n\t\t\t\t.result\n\n\t\t\treturn h('div', { class: 'rich-text--wrapper rich-text--wrapper-markdown' }, [\n\t\t\t\trenderedMarkdown,\n\t\t\t\tthis.referenceLimit > 0\n\t\t\t\t\t? h('div', { class: 'rich-text--reference-widget' }, [\n\t\t\t\t\t\th(NcReferenceList, { props: { text: this.text, referenceData: this.references } }),\n\t\t\t\t\t])\n\t\t\t\t\t: null,\n\t\t\t])\n\t\t},\n\t},\n\trender(h) {\n\t\treturn this.useMarkdown\n\t\t\t? this.renderMarkdown(h)\n\t\t\t: this.renderPlaintext(h)\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n/* stylelint-disable-next-line scss/at-import-partial-extension */\n@import './richtext.scss';\n\na:not(.rich-text--component) {\n\ttext-decoration: underline;\n}\n</style>\n"],"names":["URL_PATTERN","URL_PATTERN_AUTOLINK","_sfc_main","NcReferenceWidget","_a","response","error","match","axios","generateOcsUrl","NcLink","h","remarkAutolink","autolink","useMarkdown","tree","visit","node","index","parent","parsed","parseUrl","n","u","x","SKIP","text","list","start","href","textAfter","textBefore","lastChar","joinedText","item","remarkPlaceholder","ast","visitor","placeholders","entry","matches","component","prepareTextNode","context","props","componentClass","NcReferenceList","argumentId","argument","renderedMarkdown","unified","markdown","breaks","remark2rehype","toHast","rehypeExternalLinks","rehype2react","tag","attrs","children","child","placeholder"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NcRichText-332fe454.cjs","sources":["../../src/components/NcRichText/helpers.js","../../src/components/NcRichText/NcReferenceList.vue","../../src/components/NcRichText/autolink.js","../../src/components/NcRichText/placeholder.js","../../src/components/NcRichText/NcRichText.vue"],"sourcesContent":["/**\n * Regex pattern to match links to be resolved by the link-reference provider\n *\n * @type {RegExp}\n */\nexport const URL_PATTERN = /(\\s|^)(https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z]+(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/ig\n\n/**\n * Regex pattern to identify strings as links and then making them clickable\n * Opposed to the above regex this one also matches IP addresses, which we would like to be clickable,\n * but in general resolving references for them might mostly not work,\n * as the link provider checks for local addresses and does not resolve them.\n *\n * @type {RegExp}\n */\nexport const URL_PATTERN_AUTOLINK = /(\\s|\\(|^)((https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z0-9]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\\s|\\)|$)/ig\n","<template>\n\t<div v-if=\"isVisible\" class=\"widgets--list\" :class=\"{'icon-loading': loading }\">\n\t\t<div v-for=\"reference in displayedReferences\" :key=\"reference?.openGraphObject?.id\">\n\t\t\t<NcReferenceWidget :reference=\"reference\" />\n\t\t</div>\n\t</div>\n</template>\n<script>\nimport NcReferenceWidget from './NcReferenceWidget.vue'\nimport { URL_PATTERN } from './helpers.js'\n\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nexport default {\n\tname: 'NcReferenceList',\n\tcomponents: {\n\t\tNcReferenceWidget,\n\t},\n\tprops: {\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\treferenceData: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t\tlimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 1,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\treferences: null,\n\t\t\tloading: true,\n\t\t}\n\t},\n\tcomputed: {\n\t\tisVisible() {\n\t\t\treturn this.loading || this.displayedReferences\n\t\t},\n\t\tvalues() {\n\t\t\treturn this.referenceData\n\t\t\t\t? this.referenceData\n\t\t\t\t: (this.references ? Object.values(this.references) : [])\n\t\t},\n\t\tfirstReference() {\n\t\t\treturn this.values[0] ?? null\n\t\t},\n\t\tdisplayedReferences() {\n\t\t\treturn this.values.slice(0, this.limit)\n\t\t},\n\t},\n\twatch: {\n\t\ttext: 'fetch',\n\t},\n\tmounted() {\n\t\tthis.fetch()\n\t},\n\tmethods: {\n\t\tfetch() {\n\t\t\tthis.loading = true\n\t\t\tif (this.referenceData) {\n\t\t\t\tthis.loading = false\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (!(new RegExp(URL_PATTERN).exec(this.text))) {\n\t\t\t\tthis.loading = false\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.resolve().then((response) => {\n\t\t\t\tthis.references = response.data.ocs.data.references\n\t\t\t\tthis.loading = false\n\t\t\t}).catch((error) => {\n\t\t\t\tconsole.error('Failed to extract references', error)\n\t\t\t\tthis.loading = false\n\t\t\t})\n\t\t},\n\t\tresolve() {\n\t\t\tconst match = (new RegExp(URL_PATTERN).exec(this.text.trim()))\n\t\t\tif (this.limit === 1 && match) {\n\t\t\t\treturn axios.get(generateOcsUrl('references/resolve', 2) + `?reference=${encodeURIComponent(match[0])}`)\n\t\t\t}\n\n\t\t\treturn axios.post(generateOcsUrl('references/extract', 2), {\n\t\t\t\ttext: this.text,\n\t\t\t\tresolve: true,\n\t\t\t\tlimit: this.limit,\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.widgets--list.icon-loading {\n\tmin-height: 44px;\n}\n</style>\n","import { URL_PATTERN_AUTOLINK } from './helpers.js'\n\nimport { visit, SKIP } from 'unist-util-visit'\nimport { u } from 'unist-builder'\n\nconst NcLink = {\n\tname: 'NcLink',\n\tprops: {\n\t\thref: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\trender(h) {\n\t\treturn h('a', {\n\t\t\tattrs: {\n\t\t\t\thref: this.href,\n\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\ttarget: '_blank',\n\t\t\t\tclass: 'rich-text--external-link',\n\t\t\t},\n\t\t}, [this.href.trim()])\n\t},\n}\n\nexport const remarkAutolink = function({ autolink, useMarkdown }) {\n\treturn function(tree) {\n\n\t\tif (!useMarkdown || !autolink) {\n\t\t\treturn\n\t\t}\n\n\t\tvisit(tree, (node) => node.type === 'text', (node, index, parent) => {\n\t\t\tlet parsed = parseUrl(node.value)\n\t\t\tparsed = parsed.map((n) => {\n\t\t\t\tif (typeof n === 'string') {\n\t\t\t\t\treturn u('text', n)\n\t\t\t\t}\n\n\t\t\t\treturn u('link', {\n\t\t\t\t\turl: n.props.href,\n\t\t\t\t}, [u('text', n.props.href)])\n\t\t\t}).filter((x) => x)\n\n\t\t\tparent.children.splice(index, 1, ...parsed.flat())\n\t\t\treturn [SKIP, index + parsed.flat().length]\n\t\t})\n\t}\n}\n\nexport const parseUrl = (text) => {\n\tlet match = URL_PATTERN_AUTOLINK.exec(text)\n\tconst list = []\n\tlet start = 0\n\twhile (match !== null) {\n\t\tlet href = match[2]\n\t\tlet textAfter\n\t\tlet textBefore = text.substring(start, match.index + match[1].length)\n\t\tif (href[0] === ' ') {\n\t\t\ttextBefore += href[0]\n\t\t\thref = href.substring(1).trim()\n\t\t}\n\t\tconst lastChar = href[(href.length - 1)]\n\t\tif (lastChar === '.' || lastChar === ',' || lastChar === ';' || (match[0][0] === '(' && lastChar === ')')) {\n\t\t\thref = href.substring(0, href.length - 1)\n\t\t\ttextAfter = lastChar\n\t\t}\n\t\tlist.push(textBefore)\n\t\tlist.push({ component: NcLink, props: { href } })\n\t\tif (textAfter) {\n\t\t\tlist.push(textAfter)\n\t\t}\n\t\tstart = match.index + match[0].length\n\t\tmatch = URL_PATTERN_AUTOLINK.exec(text)\n\t}\n\tlist.push(text.substring(start))\n\tconst joinedText = list.map((item) => typeof item === 'string' ? item : item.props.href).join('')\n\tif (text === joinedText) {\n\t\treturn list\n\t}\n\tconsole.error('Failed to reassemble the chunked text: ' + text)\n\treturn text\n}\n","import { parseUrl } from './autolink.js'\n\nimport { visit } from 'unist-util-visit'\nimport { u } from 'unist-builder'\n\nexport const remarkPlaceholder = function() {\n\treturn function(ast) {\n\t\tvisit(ast, (node) => node.type === 'text', visitor)\n\n\t\t/**\n\t\t *\n\t\t * @param {object} node The node\n\t\t * @param {number} index The index of the node\n\t\t * @param {object} parent The parent node\n\t\t */\n\t\tfunction visitor(node, index, parent) {\n\t\t\tconst placeholders = node.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig)\n\t\t\t\t.map((entry, index, list) => {\n\t\t\t\t\tconst matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i)\n\t\t\t\t\tif (!matches) {\n\t\t\t\t\t\treturn u('text', entry)\n\t\t\t\t\t}\n\t\t\t\t\tconst [, component] = matches\n\t\t\t\t\treturn u('element', {\n\t\t\t\t\t\ttagName: `#${component}`,\n\t\t\t\t\t})\n\t\t\t\t})\n\n\t\t\tparent.children.splice(index, 1, ...placeholders)\n\t\t}\n\t}\n}\n\nexport const prepareTextNode = ({ h, context }, text) => {\n\tif (context.autolink) {\n\t\ttext = parseUrl(text)\n\t}\n\tif (Array.isArray(text)) {\n\t\treturn text.map((entry) => {\n\t\t\tif (typeof entry === 'string') {\n\t\t\t\treturn entry\n\t\t\t}\n\t\t\tconst { component, props } = entry\n\t\t\t// do not override class of NcLink\n\t\t\tconst componentClass = component.name === 'NcLink' ? undefined : 'rich-text--component'\n\t\t\treturn h(component, {\n\t\t\t\tprops,\n\t\t\t\tclass: componentClass,\n\t\t\t})\n\t\t})\n\t}\n\treturn text\n}\n","<!--\n - @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n - @author Guido Krömer <mail@cacodaemon.de>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<docs>\n### General description\n\nThis component displays rich text with optional autolink or [Markdown support](https://www.markdownguide.org/basic-syntax/).\n\n```vue\n<template>\n\t<div>\n\t\t<textarea v-model=\"text\" />\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"autolink\" type=\"checkbox\">Autolink</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"useMarkdown\" type=\"checkbox\">Use Markdown</NcCheckboxRadioSwitch>\n\n\t\t<NcRichText\n\t\t\t:class=\"{'plain-text': !useMarkdown }\"\n\t\t\t:text=\"text\" :autolink=\"autolink\" :arguments=\"args\"\n\t\t\t:use-markdown=\"useMarkdown\" />\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttext: `## Hello everyone 🎉\nThe file {file} was added by {username}. Visit https://nextcloud.com to check it!\n\nSome examples for markdown syntax:\n1. **bold text**\n2. _italic text_\n3. example of \\`inline code\\`\n\n> blockquote example\n`,\n\t\t\tautolink: true,\n\t\t\tuseMarkdown: true,\n\t\t\targs: {\n\t\t\t\tfile: 'MyDocument.odt',\n\t\t\t\tusername: {\n\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tdisplayName: 'Jane Doe'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t},\n}\n</script>\n<style lang=\"scss\">\ntextarea {\n\twidth: 100%;\n\theight: 200px;\n}\n\n.plain-text {\n\twhite-space: pre-line;\n}\n</style>\n```\n\n### Usage with NcRichContenteditable\n\nSee [NcRichContenteditable](#/Components/NcRichContenteditable) documentation for more information\n\n```vue\n<template>\n\t<div>\n\t\t<NcRichContenteditable :value.sync=\"message\"\n\t\t\t:auto-complete=\"autoComplete\"\n\t\t\t:maxlength=\"100\"\n\t\t\t:user-data=\"userData\"\n\t\t\tplaceholder=\"Try mentioning user @Test01 or inserting emoji :smile\"\n\t\t\t@submit=\"onSubmit\" />\n\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"autolink\" type=\"checkbox\">Autolink</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"useMarkdown\" type=\"checkbox\">Use Markdown</NcCheckboxRadioSwitch>\n\n\t\t<NcRichText :text=\"text\"\n\t\t\t:autolink=\"autolink\"\n\t\t\t:arguments=\"userMentions\"\n\t\t\t:use-markdown=\"useMarkdown\" />\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tmessage: '',\n\t\t\t\tautolink: true,\n\t\t\t\tuseMarkdown: true,\n\t\t\t\tuserData: {\n\t\t\t\t\tTest01: {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test01',\n\t\t\t\t\t\ttitle: 'Test01',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tprimary: true,\n\t\t\t\t\t},\n\t\t\t\t\tTest02: {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test02',\n\t\t\t\t\t\ttitle: 'Test02',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: '🎡',\n\t\t\t\t\t\t\tmessage: 'Visiting London',\n\t\t\t\t\t\t\tstatus: 'away',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Visiting London',\n\t\t\t\t\t},\n\t\t\t\t\t'Test@User': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test@User',\n\t\t\t\t\t\ttitle: 'Test 03',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: '🎡',\n\t\t\t\t\t\t\tmessage: 'Having space in my name',\n\t\t\t\t\t\t\tstatus: 'online',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Visiting London',\n\t\t\t\t\t},\n\t\t\t\t\t'Test Offline': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test Offline',\n\t\t\t\t\t\ttitle: 'Test Offline',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\t\tmessage: null,\n\t\t\t\t\t\t\tstatus: 'offline',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: null,\n\t\t\t\t\t},\n\t\t\t\t\t'Test DND': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test DND',\n\t\t\t\t\t\ttitle: 'Test DND',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\t\tmessage: 'Out sick',\n\t\t\t\t\t\t\tstatus: 'dnd',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Out sick',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tuserMentions: {\n\t\t\t\t\t'user-1': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test01',\n\t\t\t\t\t\t\tuser: 'Test01',\n\t\t\t\t\t\t\tprimary: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-2': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test02',\n\t\t\t\t\t\t\tuser: 'Test02',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-3': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test 03',\n\t\t\t\t\t\t\tuser: 'Test@User',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-4': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test Offline',\n\t\t\t\t\t\t\tuser: 'Test Offline',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-5': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test DND',\n\t\t\t\t\t\t\tuser: 'Test DND',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t\tcomputed: {\n\t\t\ttext() {\n\t\t\t\treturn this.message\n\t\t\t\t\t\t.replace('@Test01', '{user-1}')\n\t\t\t\t\t\t.replace('@Test02', '{user-2}')\n\t\t\t\t\t\t.replace('@Test@User', '{user-3}')\n\t\t\t\t\t\t.replace('@\"Test Offline\"', '{user-4}')\n\t\t\t\t\t\t.replace('@\"Test DND\"', '{user-5}')\n\t\t\t},\n\t\t},\n\t\tmethods: {\n\t\t\tautoComplete(search, callback) {\n\t\t\t\tcallback(Object.values(this.userData))\n\t\t\t},\n\t\t\tonSubmit() {\n\t\t\t\talert(this.message)\n\t\t\t}\n\t\t}\n\t}\n</script>\n```\n</docs>\n\n<script>\nimport NcReferenceList from './NcReferenceList.vue'\nimport { remarkAutolink } from './autolink.js'\nimport { remarkPlaceholder, prepareTextNode } from './placeholder.js'\n\nimport { unified } from 'unified'\nimport markdown from 'remark-parse'\nimport breaks from 'remark-breaks'\nimport remark2rehype from 'remark-rehype'\nimport rehype2react from 'rehype-react'\nimport rehypeExternalLinks from 'rehype-external-links'\n\nexport default {\n\tname: 'NcRichText',\n\tcomponents: {\n\t\tNcReferenceList,\n\t},\n\tprops: {\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\targuments: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {\n\t\t\t\treturn {}\n\t\t\t},\n\t\t},\n\t\treferenceLimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\t\t/** Provide data upfront to avoid extra http request */\n\t\treferences: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t\tmarkdownCssClasses: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {\n\t\t\t\treturn {\n\t\t\t\t\ta: 'rich-text--external-link',\n\t\t\t\t\tol: 'rich-text--ordered-list',\n\t\t\t\t\tul: 'rich-text--un-ordered-list',\n\t\t\t\t\tli: 'rich-text--list-item',\n\t\t\t\t\tstrong: 'rich-text--strong',\n\t\t\t\t\tem: 'rich-text--italic',\n\t\t\t\t\th1: 'rich-text--heading rich-text--heading-1',\n\t\t\t\t\th2: 'rich-text--heading rich-text--heading-2',\n\t\t\t\t\th3: 'rich-text--heading rich-text--heading-3',\n\t\t\t\t\th4: 'rich-text--heading rich-text--heading-4',\n\t\t\t\t\th5: 'rich-text--heading rich-text--heading-5',\n\t\t\t\t\th6: 'rich-text--heading rich-text--heading-6',\n\t\t\t\t\thr: 'rich-text--hr',\n\t\t\t\t\ttable: 'rich-text--table',\n\t\t\t\t\tpre: 'rich-text--pre',\n\t\t\t\t\tcode: 'rich-text--code',\n\t\t\t\t\tblockquote: 'rich-text--blockquote',\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tuseMarkdown: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tautolink: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\tmethods: {\n\t\trenderPlaintext(h) {\n\t\t\tconst context = this\n\t\t\tconst placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map(function(entry, index, list) {\n\t\t\t\tconst matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i)\n\t\t\t\t// just return plain string nodes as text\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn prepareTextNode({ h, context }, entry)\n\t\t\t\t}\n\t\t\t\t// return component instance if argument is an object\n\t\t\t\tconst argumentId = matches[1]\n\t\t\t\tconst argument = context.arguments[argumentId]\n\t\t\t\tif (typeof argument === 'object') {\n\t\t\t\t\tconst { component, props } = argument\n\t\t\t\t\treturn h(component, {\n\t\t\t\t\t\tprops,\n\t\t\t\t\t\tclass: 'rich-text--component',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (argument) {\n\t\t\t\t\treturn h('span', { class: 'rich-text--fallback' }, argument)\n\t\t\t\t}\n\t\t\t\treturn entry\n\t\t\t})\n\t\t\treturn h('div', { class: 'rich-text--wrapper' }, [\n\t\t\t\th('div', {}, placeholders.flat()),\n\t\t\t\tthis.referenceLimit > 0\n\t\t\t\t\t? h('div', { class: 'rich-text--reference-widget' }, [\n\t\t\t\t\t\th(NcReferenceList, { props: { text: this.text, referenceData: this.references } }),\n\t\t\t\t\t])\n\t\t\t\t\t: null,\n\t\t\t])\n\t\t},\n\t\trenderMarkdown(h) {\n\t\t\tconst renderedMarkdown = unified()\n\t\t\t\t.use(markdown)\n\t\t\t\t.use(remarkAutolink, {\n\t\t\t\t\tautolink: this.autolink,\n\t\t\t\t\tuseMarkdown: this.useMarkdown,\n\t\t\t\t})\n\t\t\t\t.use(breaks)\n\t\t\t\t.use(remark2rehype, {\n\t\t\t\t\thandlers: {\n\t\t\t\t\t\tcomponent(toHast, node) {\n\t\t\t\t\t\t\treturn toHast(node, node.component, { value: node.value })\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t// .use(rehypeAddClasses, this.markdownCssClasses)\n\t\t\t\t.use(remarkPlaceholder)\n\t\t\t\t.use(rehypeExternalLinks, {\n\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\trel: ['noopener noreferrer'],\n\t\t\t\t})\n\t\t\t\t.use(rehype2react, {\n\t\t\t\t\tcreateElement: (tag, attrs, children) => {\n\t\t\t\t\t\t// unescape special symbol \"<\" for simple text nodes\n\t\t\t\t\t\tchildren = children?.map(child => typeof child === 'string'\n\t\t\t\t\t\t\t? child.replace(/</gmi, '<')\n\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\tif (!tag.startsWith('#')) {\n\t\t\t\t\t\t\treturn h(tag, attrs, children)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst placeholder = this.arguments[tag.slice(1)]\n\t\t\t\t\t\tif (!placeholder) {\n\t\t\t\t\t\t\treturn h('span', { ...{ attrs }, ...{ class: 'rich-text--fallback' } }, [`{${tag.slice(1)}}`])\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!placeholder.component) {\n\t\t\t\t\t\t\treturn h('span', attrs, [placeholder])\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn h(\n\t\t\t\t\t\t\tplaceholder.component,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tattrs,\n\t\t\t\t\t\t\t\tprops: placeholder.props,\n\t\t\t\t\t\t\t\tclass: 'rich-text--component',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren,\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tprefix: false,\n\t\t\t\t})\n\t\t\t\t.processSync(this.text\n\t\t\t\t\t// escape special symbol \"<\" to not treat text as HTML\n\t\t\t\t\t.replace(/</gmi, '<')\n\t\t\t\t\t// unescape special symbol \">\" to parse blockquotes\n\t\t\t\t\t.replace(/>/gmi, '>'),\n\t\t\t\t)\n\t\t\t\t.result\n\n\t\t\treturn h('div', { class: 'rich-text--wrapper rich-text--wrapper-markdown' }, [\n\t\t\t\trenderedMarkdown,\n\t\t\t\tthis.referenceLimit > 0\n\t\t\t\t\t? h('div', { class: 'rich-text--reference-widget' }, [\n\t\t\t\t\t\th(NcReferenceList, { props: { text: this.text, referenceData: this.references } }),\n\t\t\t\t\t])\n\t\t\t\t\t: null,\n\t\t\t])\n\t\t},\n\t},\n\trender(h) {\n\t\treturn this.useMarkdown\n\t\t\t? this.renderMarkdown(h)\n\t\t\t: this.renderPlaintext(h)\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n/* stylelint-disable-next-line scss/at-import-partial-extension */\n@import './richtext.scss';\n\na:not(.rich-text--component) {\n\ttext-decoration: underline;\n}\n</style>\n"],"names":["URL_PATTERN","URL_PATTERN_AUTOLINK","_sfc_main","NcReferenceWidget","_a","response","error","match","axios","generateOcsUrl","NcLink","h","remarkAutolink","autolink","useMarkdown","tree","visit","node","index","parent","parsed","parseUrl","n","u","x","SKIP","text","list","start","href","textAfter","textBefore","lastChar","joinedText","item","remarkPlaceholder","ast","visitor","placeholders","entry","matches","component","prepareTextNode","context","props","componentClass","NcReferenceList","argumentId","argument","renderedMarkdown","unified","markdown","breaks","remark2rehype","toHast","rehypeExternalLinks","rehype2react","tag","attrs","children","child","placeholder"],"mappings":"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"}
|