@nextcloud/vue 8.23.1 → 8.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +297 -201
- package/README.md +8 -4
- package/dist/Components/NcActionButton.cjs +2 -1
- package/dist/Components/NcActionButton.mjs +2 -1
- package/dist/Components/NcActionButtonGroup.cjs +2 -1
- package/dist/Components/NcActionButtonGroup.mjs +2 -1
- package/dist/Components/NcActionCaption.cjs +1 -0
- package/dist/Components/NcActionCaption.mjs +1 -0
- package/dist/Components/NcActionCheckbox.cjs +2 -1
- package/dist/Components/NcActionCheckbox.mjs +2 -1
- package/dist/Components/NcActionInput.cjs +2 -1
- package/dist/Components/NcActionInput.mjs +2 -1
- package/dist/Components/NcActionLink.cjs +2 -1
- package/dist/Components/NcActionLink.mjs +2 -1
- package/dist/Components/NcActionRadio.cjs +2 -1
- package/dist/Components/NcActionRadio.mjs +2 -1
- package/dist/Components/NcActionRouter.cjs +2 -1
- package/dist/Components/NcActionRouter.mjs +2 -1
- package/dist/Components/NcActionSeparator.cjs +1 -0
- package/dist/Components/NcActionSeparator.mjs +1 -0
- package/dist/Components/NcActionText.cjs +2 -1
- package/dist/Components/NcActionText.mjs +2 -1
- package/dist/Components/NcActionTextEditable.cjs +2 -1
- package/dist/Components/NcActionTextEditable.mjs +2 -1
- package/dist/Components/NcActions.cjs +2 -1
- package/dist/Components/NcActions.mjs +2 -1
- package/dist/Components/NcAppContent.cjs +2 -1
- package/dist/Components/NcAppContent.mjs +2 -1
- package/dist/Components/NcAppContentDetails.cjs +1 -0
- package/dist/Components/NcAppContentDetails.mjs +1 -0
- package/dist/Components/NcAppContentList.cjs +1 -0
- package/dist/Components/NcAppContentList.mjs +1 -0
- package/dist/Components/NcAppNavigation.cjs +2 -1
- package/dist/Components/NcAppNavigation.mjs +2 -1
- package/dist/Components/NcAppNavigationCaption.cjs +2 -1
- package/dist/Components/NcAppNavigationCaption.mjs +2 -1
- package/dist/Components/NcAppNavigationIconBullet.cjs +1 -0
- package/dist/Components/NcAppNavigationIconBullet.mjs +1 -0
- package/dist/Components/NcAppNavigationItem.cjs +2 -1
- package/dist/Components/NcAppNavigationItem.mjs +2 -1
- package/dist/Components/NcAppNavigationList.cjs +1 -0
- package/dist/Components/NcAppNavigationList.mjs +1 -0
- package/dist/Components/NcAppNavigationNew.cjs +18 -3
- package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
- package/dist/Components/NcAppNavigationNew.mjs +18 -3
- package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
- package/dist/Components/NcAppNavigationNewItem.cjs +2 -1
- package/dist/Components/NcAppNavigationNewItem.mjs +2 -1
- package/dist/Components/NcAppNavigationSearch.cjs +2 -1
- package/dist/Components/NcAppNavigationSearch.mjs +2 -1
- package/dist/Components/NcAppNavigationSettings.cjs +2 -1
- package/dist/Components/NcAppNavigationSettings.mjs +2 -1
- package/dist/Components/NcAppNavigationSpacer.cjs +1 -0
- package/dist/Components/NcAppNavigationSpacer.mjs +1 -0
- package/dist/Components/NcAppNavigationToggle.cjs +2 -1
- package/dist/Components/NcAppNavigationToggle.mjs +2 -1
- package/dist/Components/NcAppSettingsDialog.cjs +2 -1
- package/dist/Components/NcAppSettingsDialog.mjs +2 -1
- package/dist/Components/NcAppSettingsSection.cjs +1 -0
- package/dist/Components/NcAppSettingsSection.mjs +1 -0
- package/dist/Components/NcAppSidebar.cjs +2 -1
- package/dist/Components/NcAppSidebar.mjs +2 -1
- package/dist/Components/NcAppSidebarTab.cjs +1 -0
- package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
- package/dist/Components/NcAppSidebarTab.mjs +1 -0
- package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
- package/dist/Components/NcAvatar.cjs +2 -1
- package/dist/Components/NcAvatar.mjs +2 -1
- package/dist/Components/NcBlurHash.cjs +4 -0
- package/dist/Components/NcBlurHash.cjs.map +1 -0
- package/dist/Components/NcBlurHash.mjs +5 -0
- package/dist/Components/NcBlurHash.mjs.map +1 -0
- package/dist/Components/NcBreadcrumb.cjs +2 -1
- package/dist/Components/NcBreadcrumb.mjs +2 -1
- package/dist/Components/NcBreadcrumbs.cjs +2 -1
- package/dist/Components/NcBreadcrumbs.mjs +2 -1
- package/dist/Components/NcButton.cjs +52 -10
- package/dist/Components/NcButton.cjs.map +1 -1
- package/dist/Components/NcButton.mjs +52 -10
- package/dist/Components/NcButton.mjs.map +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.cjs +2 -1
- package/dist/Components/NcCheckboxRadioSwitch.mjs +2 -1
- package/dist/Components/NcChip.cjs +27 -12
- package/dist/Components/NcChip.cjs.map +1 -1
- package/dist/Components/NcChip.mjs +27 -12
- package/dist/Components/NcChip.mjs.map +1 -1
- package/dist/Components/NcCollectionList.cjs +2 -1
- package/dist/Components/NcCollectionList.mjs +2 -1
- package/dist/Components/NcColorPicker.cjs +2 -1
- package/dist/Components/NcColorPicker.mjs +2 -1
- package/dist/Components/NcContent.cjs +2 -1
- package/dist/Components/NcContent.mjs +2 -1
- package/dist/Components/NcCounterBubble.cjs +1 -0
- package/dist/Components/NcCounterBubble.mjs +1 -0
- package/dist/Components/NcDashboardWidget.cjs +2 -1
- package/dist/Components/NcDashboardWidget.mjs +2 -1
- package/dist/Components/NcDashboardWidgetItem.cjs +2 -1
- package/dist/Components/NcDashboardWidgetItem.mjs +2 -1
- package/dist/Components/NcDateTime.cjs +2 -1
- package/dist/Components/NcDateTime.mjs +2 -1
- package/dist/Components/NcDateTimePicker.cjs +48 -21
- package/dist/Components/NcDateTimePicker.cjs.map +1 -1
- package/dist/Components/NcDateTimePicker.mjs +49 -22
- package/dist/Components/NcDateTimePicker.mjs.map +1 -1
- package/dist/Components/NcDateTimePickerNative.cjs +2 -1
- package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
- package/dist/Components/NcDateTimePickerNative.mjs +2 -1
- package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
- package/dist/Components/NcDialog.cjs +2 -1
- package/dist/Components/NcDialog.mjs +2 -1
- package/dist/Components/NcDialogButton.cjs +2 -1
- package/dist/Components/NcDialogButton.mjs +2 -1
- package/dist/Components/NcEllipsisedOption.cjs +1 -0
- package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
- package/dist/Components/NcEllipsisedOption.mjs +1 -0
- package/dist/Components/NcEmojiPicker.cjs +2 -1
- package/dist/Components/NcEmojiPicker.mjs +2 -1
- package/dist/Components/NcEmptyContent.cjs +3 -2
- package/dist/Components/NcEmptyContent.cjs.map +1 -1
- package/dist/Components/NcEmptyContent.mjs +3 -2
- package/dist/Components/NcEmptyContent.mjs.map +1 -1
- package/dist/Components/NcGuestContent.cjs +1 -0
- package/dist/Components/NcGuestContent.mjs +1 -0
- package/dist/Components/NcHeaderButton.cjs +4 -3
- package/dist/Components/NcHeaderButton.cjs.map +1 -1
- package/dist/Components/NcHeaderButton.mjs +4 -3
- package/dist/Components/NcHeaderButton.mjs.map +1 -1
- package/dist/Components/NcHeaderMenu.cjs +2 -1
- package/dist/Components/NcHeaderMenu.mjs +2 -1
- package/dist/Components/NcHighlight.cjs +1 -0
- package/dist/Components/NcHighlight.mjs +1 -0
- package/dist/Components/NcIconSvgWrapper.cjs +2 -1
- package/dist/Components/NcIconSvgWrapper.mjs +2 -1
- package/dist/Components/NcInputField.cjs +2 -1
- package/dist/Components/NcInputField.mjs +2 -1
- package/dist/Components/NcListItem.cjs +2 -1
- package/dist/Components/NcListItem.mjs +2 -1
- package/dist/Components/NcListItemIcon.cjs +2 -1
- package/dist/Components/NcListItemIcon.mjs +2 -1
- package/dist/Components/NcLoadingIcon.cjs +1 -0
- package/dist/Components/NcLoadingIcon.mjs +1 -0
- package/dist/Components/NcModal.cjs +38 -27
- package/dist/Components/NcModal.cjs.map +1 -1
- package/dist/Components/NcModal.mjs +38 -27
- package/dist/Components/NcModal.mjs.map +1 -1
- package/dist/Components/NcNoteCard.cjs +1 -0
- package/dist/Components/NcNoteCard.mjs +1 -0
- package/dist/Components/NcPasswordField.cjs +2 -1
- package/dist/Components/NcPasswordField.mjs +2 -1
- package/dist/Components/NcPopover.cjs +2 -1
- package/dist/Components/NcPopover.mjs +2 -1
- package/dist/Components/NcProgressBar.cjs +1 -0
- package/dist/Components/NcProgressBar.mjs +1 -0
- package/dist/Components/NcRelatedResourcesPanel.cjs +2 -1
- package/dist/Components/NcRelatedResourcesPanel.mjs +2 -1
- package/dist/Components/NcRichContenteditable.cjs +2 -1
- package/dist/Components/NcRichContenteditable.mjs +2 -1
- package/dist/Components/NcRichText.cjs +3 -2
- package/dist/Components/NcRichText.mjs +5 -4
- package/dist/Components/NcSavingIndicatorIcon.cjs +1 -0
- package/dist/Components/NcSavingIndicatorIcon.mjs +1 -0
- package/dist/Components/NcSelect.cjs +2 -1
- package/dist/Components/NcSelect.mjs +2 -1
- package/dist/Components/NcSelectTags.cjs +2 -1
- package/dist/Components/NcSelectTags.mjs +2 -1
- package/dist/Components/NcSelectUsers.cjs +4 -0
- package/dist/Components/NcSelectUsers.cjs.map +1 -0
- package/dist/Components/NcSelectUsers.mjs +5 -0
- package/dist/Components/NcSelectUsers.mjs.map +1 -0
- package/dist/Components/NcSettingsInputText.cjs +2 -1
- package/dist/Components/NcSettingsInputText.mjs +2 -1
- package/dist/Components/NcSettingsSection.cjs +2 -1
- package/dist/Components/NcSettingsSection.mjs +2 -1
- package/dist/Components/NcSettingsSelectGroup.cjs +2 -1
- package/dist/Components/NcSettingsSelectGroup.mjs +2 -1
- package/dist/Components/NcTextArea.cjs +1 -0
- package/dist/Components/NcTextArea.mjs +1 -0
- package/dist/Components/NcTextField.cjs +2 -1
- package/dist/Components/NcTextField.mjs +2 -1
- package/dist/Components/NcTimezonePicker.cjs +2 -1
- package/dist/Components/NcTimezonePicker.mjs +2 -1
- package/dist/Components/NcUserBubble.cjs +2 -1
- package/dist/Components/NcUserBubble.mjs +2 -1
- package/dist/Components/NcUserStatusIcon.cjs +2 -1
- package/dist/Components/NcUserStatusIcon.mjs +2 -1
- package/dist/Components/NcVNodes.cjs +1 -0
- package/dist/Components/NcVNodes.mjs +1 -0
- package/dist/Composables/useHotKey.cjs +1 -0
- package/dist/Composables/useHotKey.cjs.map +1 -1
- package/dist/Composables/useHotKey.mjs +1 -0
- package/dist/Composables/useHotKey.mjs.map +1 -1
- package/dist/Composables/useIsDarkTheme.cjs +1 -0
- package/dist/Composables/useIsDarkTheme.cjs.map +1 -1
- package/dist/Composables/useIsDarkTheme.mjs +1 -0
- package/dist/Composables/useIsDarkTheme.mjs.map +1 -1
- package/dist/Composables/useIsFullscreen.cjs +1 -0
- package/dist/Composables/useIsFullscreen.cjs.map +1 -1
- package/dist/Composables/useIsFullscreen.mjs +1 -0
- package/dist/Composables/useIsFullscreen.mjs.map +1 -1
- package/dist/Composables/useIsMobile.cjs +1 -0
- package/dist/Composables/useIsMobile.cjs.map +1 -1
- package/dist/Composables/useIsMobile.mjs +1 -0
- package/dist/Composables/useIsMobile.mjs.map +1 -1
- package/dist/Directives/Focus.cjs +1 -0
- package/dist/Directives/Focus.cjs.map +1 -1
- package/dist/Directives/Focus.mjs +1 -0
- package/dist/Directives/Focus.mjs.map +1 -1
- package/dist/Directives/Linkify.cjs +1 -0
- package/dist/Directives/Linkify.cjs.map +1 -1
- package/dist/Directives/Linkify.mjs +1 -0
- package/dist/Directives/Linkify.mjs.map +1 -1
- package/dist/Directives/Tooltip.cjs +2 -1
- package/dist/Directives/Tooltip.cjs.map +1 -1
- package/dist/Directives/Tooltip.mjs +5 -4
- package/dist/Directives/Tooltip.mjs.map +1 -1
- package/dist/Functions/a11y.cjs +1 -0
- package/dist/Functions/a11y.cjs.map +1 -1
- package/dist/Functions/a11y.mjs +1 -0
- package/dist/Functions/a11y.mjs.map +1 -1
- package/dist/Functions/contactsMenu.cjs +1 -0
- package/dist/Functions/contactsMenu.cjs.map +1 -1
- package/dist/Functions/contactsMenu.mjs +1 -0
- package/dist/Functions/contactsMenu.mjs.map +1 -1
- package/dist/Functions/dialog.cjs +1 -0
- package/dist/Functions/dialog.cjs.map +1 -1
- package/dist/Functions/dialog.mjs +1 -0
- package/dist/Functions/dialog.mjs.map +1 -1
- package/dist/Functions/emoji.cjs +1 -0
- package/dist/Functions/emoji.mjs +1 -0
- package/dist/Functions/isDarkTheme.cjs +1 -0
- package/dist/Functions/isDarkTheme.cjs.map +1 -1
- package/dist/Functions/isDarkTheme.mjs +1 -0
- package/dist/Functions/isDarkTheme.mjs.map +1 -1
- package/dist/Functions/preloadImage.cjs +19 -0
- package/dist/Functions/preloadImage.cjs.map +1 -0
- package/dist/Functions/preloadImage.mjs +17 -0
- package/dist/Functions/preloadImage.mjs.map +1 -0
- package/dist/Functions/reference.cjs +2 -1
- package/dist/Functions/reference.mjs +3 -2
- package/dist/Functions/registerReference.cjs +1 -0
- package/dist/Functions/registerReference.mjs +3 -2
- package/dist/Functions/usernameToColor.cjs +2 -1
- package/dist/Functions/usernameToColor.mjs +2 -1
- package/dist/Mixins/clickOutsideOptions.cjs +1 -0
- package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
- package/dist/Mixins/clickOutsideOptions.mjs +1 -0
- package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
- package/dist/Mixins/isFullscreen.cjs +1 -0
- package/dist/Mixins/isFullscreen.cjs.map +1 -1
- package/dist/Mixins/isFullscreen.mjs +1 -0
- package/dist/Mixins/isMobile.cjs +1 -0
- package/dist/Mixins/isMobile.cjs.map +1 -1
- package/dist/Mixins/isMobile.mjs +1 -0
- package/dist/Mixins/richEditor.cjs +1 -0
- package/dist/Mixins/richEditor.mjs +1 -0
- package/dist/assets/{NcActionButton-BYN2SUN0.css → NcActionButton-BqMeBMdA.css} +17 -16
- package/dist/assets/{NcActionCheckbox-Dan0EvGm.css → NcActionCheckbox-BlyPt7DF.css} +1 -0
- package/dist/assets/{NcActionInput-Dz21fyVD.css → NcActionInput-gUagFGC5.css} +2 -0
- package/dist/assets/{NcActionLink-BG9B9dP4.css → NcActionLink-DA3ebr8W.css} +1 -0
- package/dist/assets/{NcActionRadio-C87waXE-.css → NcActionRadio-CodyhP86.css} +1 -0
- package/dist/assets/{NcActionRouter-BAGuUfFu.css → NcActionRouter-DlqXQ6ai.css} +1 -0
- package/dist/assets/{NcActionText-Cjp26Bn0.css → NcActionText-Cvug6qMa.css} +1 -0
- package/dist/assets/{NcActionTextEditable-1TXeJ5zp.css → NcActionTextEditable-CasTVqIo.css} +62 -60
- package/dist/assets/{NcActions-C4SuFczn.css → NcActions-3STB3u9J.css} +11 -11
- package/dist/assets/{NcAppContent-BO0ksFwD.css → NcAppContent-DswTJB9n.css} +23 -23
- package/dist/assets/{NcAppNavigation-CJj8AvqM.css → NcAppNavigation-DfTQlVGB.css} +12 -12
- package/dist/assets/{NcAppNavigationItem-lh9Say1M.css → NcAppNavigationItem-CdT6ce8-.css} +11 -4
- package/dist/assets/{NcAppNavigationNew-BcDuupzO.css → NcAppNavigationNew-Dbo2rvXH.css} +3 -3
- package/dist/assets/{NcAppNavigationNewItem-fUP3wQTQ.css → NcAppNavigationNewItem-D7wroqrc.css} +7 -0
- package/dist/assets/{NcAppNavigationSearch-Df50ss_2.css → NcAppNavigationSearch-CFtTLRbc.css} +6 -6
- package/dist/assets/{NcAppNavigationToggle-B6FCDJp7.css → NcAppNavigationToggle-C5IMygw1.css} +3 -3
- package/dist/assets/{NcAppSidebar-BntAj6H-.css → NcAppSidebar-Dun97zcC.css} +43 -43
- package/dist/assets/{NcAvatar-CcJlFpcI.css → NcAvatar-BvPk6o_F.css} +24 -24
- package/dist/assets/NcBlurHash-7aGtE-_T.css +8 -0
- package/dist/assets/{NcBreadcrumb-Cjcyeimd.css → NcBreadcrumb-DqaFt2qu.css} +15 -15
- package/dist/assets/{NcButton-CfOAX-eQ.css → NcButton-DnNZaEy_.css} +47 -47
- package/dist/assets/{NcCheckboxRadioSwitch-DuFrRU9C.css → NcCheckboxRadioSwitch-DlEieXCj.css} +41 -41
- package/dist/assets/{NcChip-CIvAlds6.css → NcChip-BNLuZgd6.css} +9 -9
- package/dist/assets/{NcColorPicker-C1DuuANb.css → NcColorPicker-BayJGD4p.css} +28 -30
- package/dist/assets/{NcContent-CZamE_IP.css → NcContent-Bq-7EZQc.css} +9 -9
- package/dist/assets/{NcDateTimePicker-BtV9Fz-n.css → NcDateTimePicker-BY1UnUZM.css} +59 -12
- package/dist/assets/{NcDialog-Bzs9oxyt.css → NcDialog-BPI0CJvw.css} +15 -15
- package/dist/assets/{NcEmojiPicker-rk5qcSl7.css → NcEmojiPicker-Ca6U46T8.css} +19 -15
- package/dist/assets/{NcEmptyContent-BlXL6nnq.css → NcEmptyContent-CSsXYYcn.css} +9 -9
- package/dist/assets/{NcHeaderButton-BPkJ5wxD.css → NcHeaderButton-Dr6MgPDQ.css} +8 -7
- package/dist/assets/{NcHeaderMenu-BYjnMPPl.css → NcHeaderMenu-DN-HfTkh.css} +12 -11
- package/dist/assets/{NcIconSvgWrapper-BxyhLaB5.css → NcIconSvgWrapper-BiNW6Guv.css} +8 -4
- package/dist/assets/{NcInputConfirmCancel-EYtW7MxF.css → NcInputConfirmCancel-BanazdhC.css} +5 -5
- package/dist/assets/{NcInputField-CzryIHRa.css → NcInputField-GxJ-rf2p.css} +32 -32
- package/dist/assets/{NcListItem-GE5S37TT.css → NcListItem-DfaWGP5A.css} +44 -44
- package/dist/assets/{NcModal-ZfCDJxwd.css → NcModal-BS5vtogq.css} +68 -69
- package/dist/assets/{NcPopover-DpakVVxI.css → NcPopover-CWwUNpmE.css} +9 -9
- package/dist/assets/{NcRelatedResourcesPanel-DSf7TVcC.css → NcRelatedResourcesPanel-DhStLIO2.css} +21 -21
- package/dist/assets/{NcRichContenteditable-BV6g3dmd.css → NcRichContenteditable-CtPZudY6.css} +13 -10
- package/dist/assets/{NcRichText-zt8ALFHi.css → NcRichText-BwghUUnz.css} +3 -0
- package/dist/assets/NcSelectUsers-BoxBQpbA.css +4 -0
- package/dist/assets/{Tooltip-DQ4Plm4r.css → Tooltip-C-QZMStp.css} +7 -9
- package/dist/assets/{referencePickerModal-CTumspFH.css → referencePickerModal-Ba6soz9w.css} +8 -8
- package/dist/chunks/AlertCircleOutline-BrsasUsU.cjs +1 -0
- package/dist/chunks/AlertCircleOutline-DBxbepLy.mjs +1 -0
- package/dist/chunks/ArrowLeft-BP7yfzCQ.cjs +1 -0
- package/dist/chunks/ArrowLeft-DuT2LZOm.mjs +1 -0
- package/dist/chunks/ArrowRight-CY2b9hgN.mjs +1 -0
- package/dist/chunks/ArrowRight-DPARnmu3.cjs +1 -0
- package/dist/chunks/Check-BkThHPH7.mjs +1 -0
- package/dist/chunks/Check-Du8mPz_B.cjs +1 -0
- package/dist/chunks/ChevronDown-BlfyuflD.cjs +1 -0
- package/dist/chunks/ChevronDown-DFQfzh63.mjs +1 -0
- package/dist/chunks/ChevronRight-BUv-PtHh.mjs +1 -0
- package/dist/chunks/ChevronRight-ZCKVg9OI.cjs +1 -0
- package/dist/chunks/ChevronUp-Bpd__OBZ.cjs +1 -0
- package/dist/chunks/ChevronUp-C7Dy9Bph.mjs +1 -0
- package/dist/chunks/Close-BtLPUSdO.mjs +1 -0
- package/dist/chunks/Close-CqmXxEKi.cjs +1 -0
- package/dist/chunks/DotsHorizontal-BoI3vnhk.cjs +1 -0
- package/dist/chunks/DotsHorizontal-C6LNsw4N.mjs +1 -0
- package/dist/chunks/{GenColors-Di5GSft7.cjs → GenColors-7bkY5Nwl.cjs} +2 -1
- package/dist/chunks/{GenColors-Di5GSft7.cjs.map → GenColors-7bkY5Nwl.cjs.map} +1 -1
- package/dist/chunks/{GenColors-DfwXw1-o.mjs → GenColors-S7frO84b.mjs} +2 -1
- package/dist/chunks/{GenColors-DfwXw1-o.mjs.map → GenColors-S7frO84b.mjs.map} +1 -1
- package/dist/chunks/GenRandomId-BQDud3d4.cjs +1 -0
- package/dist/chunks/GenRandomId-BQDud3d4.cjs.map +1 -1
- package/dist/chunks/GenRandomId-CMooMQt0.mjs +1 -0
- package/dist/chunks/GenRandomId-CMooMQt0.mjs.map +1 -1
- package/dist/chunks/{NcActionButton-DcpUnqA7.cjs → NcActionButton-CXeEXQLT.cjs} +46 -13
- package/dist/chunks/NcActionButton-CXeEXQLT.cjs.map +1 -0
- package/dist/chunks/{NcActionButton-CEysTg4c.mjs → NcActionButton-Gpv56vuS.mjs} +46 -13
- package/dist/chunks/NcActionButton-Gpv56vuS.mjs.map +1 -0
- package/dist/chunks/{NcActionButtonGroup-x6D7S13W.cjs → NcActionButtonGroup-BMy3W9fG.cjs} +2 -1
- package/dist/chunks/{NcActionButtonGroup-x6D7S13W.cjs.map → NcActionButtonGroup-BMy3W9fG.cjs.map} +1 -1
- package/dist/chunks/{NcActionButtonGroup-3v-qy9C0.mjs → NcActionButtonGroup-BteTNhIn.mjs} +2 -1
- package/dist/chunks/{NcActionButtonGroup-3v-qy9C0.mjs.map → NcActionButtonGroup-BteTNhIn.mjs.map} +1 -1
- package/dist/chunks/{NcActionCheckbox-BnL71Qmi.mjs → NcActionCheckbox-DSMKeccY.mjs} +2 -1
- package/dist/chunks/{NcActionCheckbox-BnL71Qmi.mjs.map → NcActionCheckbox-DSMKeccY.mjs.map} +1 -1
- package/dist/chunks/{NcActionCheckbox-Dd5Y6f63.cjs → NcActionCheckbox-JX-QaTD6.cjs} +2 -1
- package/dist/chunks/{NcActionCheckbox-Dd5Y6f63.cjs.map → NcActionCheckbox-JX-QaTD6.cjs.map} +1 -1
- package/dist/chunks/{NcActionInput-VR510EDJ.cjs → NcActionInput-B-7FoLVy.cjs} +7 -6
- package/dist/chunks/{NcActionInput-VR510EDJ.cjs.map → NcActionInput-B-7FoLVy.cjs.map} +1 -1
- package/dist/chunks/{NcActionInput-BAM8T3gm.mjs → NcActionInput-D-zf_ZR9.mjs} +7 -6
- package/dist/chunks/{NcActionInput-BAM8T3gm.mjs.map → NcActionInput-D-zf_ZR9.mjs.map} +1 -1
- package/dist/chunks/{NcActionRadio-BQ0jAh5V.cjs → NcActionRadio-BUCQ6VxA.cjs} +2 -1
- package/dist/chunks/{NcActionRadio-BQ0jAh5V.cjs.map → NcActionRadio-BUCQ6VxA.cjs.map} +1 -1
- package/dist/chunks/{NcActionRadio-CCTupqRR.mjs → NcActionRadio-yAm71xxU.mjs} +2 -1
- package/dist/chunks/{NcActionRadio-CCTupqRR.mjs.map → NcActionRadio-yAm71xxU.mjs.map} +1 -1
- package/dist/chunks/{NcActionTextEditable-JRD-G0CT.mjs → NcActionTextEditable-BYqqHPj2.mjs} +6 -5
- package/dist/chunks/NcActionTextEditable-BYqqHPj2.mjs.map +1 -0
- package/dist/chunks/{NcActionTextEditable-C-ZP8_Tn.cjs → NcActionTextEditable-s1Xqpg6x.cjs} +6 -5
- package/dist/chunks/NcActionTextEditable-s1Xqpg6x.cjs.map +1 -0
- package/dist/chunks/{NcActions-D3hGxwlc.mjs → NcActions-Bkh3UMs3.mjs} +52 -53
- package/dist/chunks/NcActions-Bkh3UMs3.mjs.map +1 -0
- package/dist/chunks/{NcActions-DTICeoTz.cjs → NcActions-DFHXBqKC.cjs} +51 -52
- package/dist/chunks/NcActions-DFHXBqKC.cjs.map +1 -0
- package/dist/chunks/{NcAppContent-BOt6_YA7.cjs → NcAppContent-D__4-2XM.cjs} +60 -22
- package/dist/chunks/NcAppContent-D__4-2XM.cjs.map +1 -0
- package/dist/chunks/{NcAppContent-BKQ-H04y.mjs → NcAppContent-_x1Bvwg-.mjs} +60 -22
- package/dist/chunks/NcAppContent-_x1Bvwg-.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigation-D7W-4cVo.cjs → NcAppNavigation-DBfTz6qV.cjs} +6 -5
- package/dist/chunks/NcAppNavigation-DBfTz6qV.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigation-B_92V8o3.mjs → NcAppNavigation-H8Gvbq5E.mjs} +7 -6
- package/dist/chunks/NcAppNavigation-H8Gvbq5E.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationCaption-B3w692fN.mjs → NcAppNavigationCaption-Dz7wVRDM.mjs} +2 -1
- package/dist/chunks/{NcAppNavigationCaption-B3w692fN.mjs.map → NcAppNavigationCaption-Dz7wVRDM.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationCaption-BDqTyLIj.cjs → NcAppNavigationCaption-Kjwx7t2O.cjs} +2 -1
- package/dist/chunks/{NcAppNavigationCaption-BDqTyLIj.cjs.map → NcAppNavigationCaption-Kjwx7t2O.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationItem-DL9OwWo-.cjs → NcAppNavigationItem-CHa42b-x.cjs} +9 -8
- package/dist/chunks/NcAppNavigationItem-CHa42b-x.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationItem-CpcFOmJR.mjs → NcAppNavigationItem-Dpm3T1dA.mjs} +9 -8
- package/dist/chunks/NcAppNavigationItem-Dpm3T1dA.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationNewItem-BaKxxZqt.cjs → NcAppNavigationNewItem-BLek0JRU.cjs} +3 -2
- package/dist/chunks/{NcAppNavigationNewItem-BaKxxZqt.cjs.map → NcAppNavigationNewItem-BLek0JRU.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNewItem-BvQaVuL6.mjs → NcAppNavigationNewItem-DGjgp78o.mjs} +3 -2
- package/dist/chunks/{NcAppNavigationNewItem-BvQaVuL6.mjs.map → NcAppNavigationNewItem-DGjgp78o.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSearch-Q0eMy5I2.cjs → NcAppNavigationSearch-BblolNaS.cjs} +6 -5
- package/dist/chunks/NcAppNavigationSearch-BblolNaS.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationSearch-gytpBKme.mjs → NcAppNavigationSearch-DTW6CtnU.mjs} +6 -5
- package/dist/chunks/NcAppNavigationSearch-DTW6CtnU.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationSettings-CZFm1d-N.mjs → NcAppNavigationSettings-C0QuEMmn.mjs} +3 -2
- package/dist/chunks/{NcAppNavigationSettings-CZFm1d-N.mjs.map → NcAppNavigationSettings-C0QuEMmn.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSettings-CwwmvKYV.cjs → NcAppNavigationSettings-lfJvt3vG.cjs} +3 -2
- package/dist/chunks/{NcAppNavigationSettings-CwwmvKYV.cjs.map → NcAppNavigationSettings-lfJvt3vG.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationToggle-Br1hcFGt.cjs → NcAppNavigationToggle-CUGOWggc.cjs} +5 -4
- package/dist/chunks/NcAppNavigationToggle-CUGOWggc.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationToggle-Pr8bEpDs.mjs → NcAppNavigationToggle-CjPJB2s3.mjs} +5 -4
- package/dist/chunks/NcAppNavigationToggle-CjPJB2s3.mjs.map +1 -0
- package/dist/chunks/{NcAppSettingsDialog-JPB-srka.mjs → NcAppSettingsDialog-Dl-kMSpe.mjs} +4 -3
- package/dist/chunks/{NcAppSettingsDialog-JPB-srka.mjs.map → NcAppSettingsDialog-Dl-kMSpe.mjs.map} +1 -1
- package/dist/chunks/{NcAppSettingsDialog-z9v6V6ye.cjs → NcAppSettingsDialog-K3yVenLs.cjs} +4 -3
- package/dist/chunks/{NcAppSettingsDialog-z9v6V6ye.cjs.map → NcAppSettingsDialog-K3yVenLs.cjs.map} +1 -1
- package/dist/chunks/{NcAppSidebar-BY33yoNX.cjs → NcAppSidebar-Bmlid_Pa.cjs} +13 -12
- package/dist/chunks/NcAppSidebar-Bmlid_Pa.cjs.map +1 -0
- package/dist/chunks/{NcAppSidebar-cEQy8s50.mjs → NcAppSidebar-DOJNq1iG.mjs} +17 -16
- package/dist/chunks/NcAppSidebar-DOJNq1iG.mjs.map +1 -0
- package/dist/chunks/{NcAvatar-CQtsmbBW.cjs → NcAvatar-Bp1wPu2I.cjs} +45 -23
- package/dist/chunks/NcAvatar-Bp1wPu2I.cjs.map +1 -0
- package/dist/chunks/{NcAvatar-BjwyJw34.mjs → NcAvatar-DOvpF1gr.mjs} +46 -24
- package/dist/chunks/NcAvatar-DOvpF1gr.mjs.map +1 -0
- package/dist/chunks/NcBlurHash-CJ8retHx.cjs +115 -0
- package/dist/chunks/NcBlurHash-CJ8retHx.cjs.map +1 -0
- package/dist/chunks/NcBlurHash-do2wxY-0.mjs +116 -0
- package/dist/chunks/NcBlurHash-do2wxY-0.mjs.map +1 -0
- package/dist/chunks/{NcBreadcrumb-GHiD-Sw7.mjs → NcBreadcrumb-1Gv4FRrG.mjs} +6 -5
- package/dist/chunks/NcBreadcrumb-1Gv4FRrG.mjs.map +1 -0
- package/dist/chunks/{NcBreadcrumb-DrlhnNbV.cjs → NcBreadcrumb-9pV_jqex.cjs} +6 -5
- package/dist/chunks/NcBreadcrumb-9pV_jqex.cjs.map +1 -0
- package/dist/chunks/{NcBreadcrumbs-D0Hhym9A.mjs → NcBreadcrumbs-CwuR-hUE.mjs} +5 -4
- package/dist/chunks/{NcBreadcrumbs-D0Hhym9A.mjs.map → NcBreadcrumbs-CwuR-hUE.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumbs-Cde4tv8l.cjs → NcBreadcrumbs-D4RrS0HT.cjs} +4 -3
- package/dist/chunks/{NcBreadcrumbs-Cde4tv8l.cjs.map → NcBreadcrumbs-D4RrS0HT.cjs.map} +1 -1
- package/dist/chunks/{NcCheckboxRadioSwitch-RjEq0SqY.cjs → NcCheckboxRadioSwitch-DbK49DI7.cjs} +7 -13
- package/dist/chunks/NcCheckboxRadioSwitch-DbK49DI7.cjs.map +1 -0
- package/dist/chunks/{NcCheckboxRadioSwitch-CCuKA55c.mjs → NcCheckboxRadioSwitch-Di9rSADK.mjs} +7 -13
- package/dist/chunks/NcCheckboxRadioSwitch-Di9rSADK.mjs.map +1 -0
- package/dist/chunks/{NcCollectionList-fyDi2W_B.cjs → NcCollectionList-C3QKgLIe.cjs} +6 -5
- package/dist/chunks/{NcCollectionList-fyDi2W_B.cjs.map → NcCollectionList-C3QKgLIe.cjs.map} +1 -1
- package/dist/chunks/{NcCollectionList-BNxu1MWE.mjs → NcCollectionList-D51FpJCr.mjs} +6 -5
- package/dist/chunks/{NcCollectionList-BNxu1MWE.mjs.map → NcCollectionList-D51FpJCr.mjs.map} +1 -1
- package/dist/chunks/{NcColorPicker-CTQlyVCL.cjs → NcColorPicker-9BNg5lJ0.cjs} +9 -8
- package/dist/chunks/NcColorPicker-9BNg5lJ0.cjs.map +1 -0
- package/dist/chunks/{NcColorPicker-ph8Nubq7.mjs → NcColorPicker-sJKL33GV.mjs} +9 -8
- package/dist/chunks/NcColorPicker-sJKL33GV.mjs.map +1 -0
- package/dist/chunks/{NcContent-CJNhr5lF.cjs → NcContent-4X_oNYtW.cjs} +7 -6
- package/dist/chunks/{NcContent-CJNhr5lF.cjs.map → NcContent-4X_oNYtW.cjs.map} +1 -1
- package/dist/chunks/{NcContent-RlppaZCX.mjs → NcContent-BHl5YDYI.mjs} +7 -6
- package/dist/chunks/{NcContent-RlppaZCX.mjs.map → NcContent-BHl5YDYI.mjs.map} +1 -1
- package/dist/chunks/NcCounterBubble-BRrUO34D.cjs +1 -0
- package/dist/chunks/NcCounterBubble-CDfRYl8B.mjs +1 -0
- package/dist/chunks/{NcDashboardWidget-CirRHHmT.cjs → NcDashboardWidget-B1och7uR.cjs} +4 -3
- package/dist/chunks/{NcDashboardWidget-CirRHHmT.cjs.map → NcDashboardWidget-B1och7uR.cjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidget-Dg12xu50.mjs → NcDashboardWidget-CioEwUfN.mjs} +4 -3
- package/dist/chunks/{NcDashboardWidget-Dg12xu50.mjs.map → NcDashboardWidget-CioEwUfN.mjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidgetItem-COONyn0g.cjs → NcDashboardWidgetItem-BZPoOCWQ.cjs} +4 -3
- package/dist/chunks/{NcDashboardWidgetItem-COONyn0g.cjs.map → NcDashboardWidgetItem-BZPoOCWQ.cjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidgetItem-DZGooEwA.mjs → NcDashboardWidgetItem-D4EefvnL.mjs} +4 -3
- package/dist/chunks/{NcDashboardWidgetItem-DZGooEwA.mjs.map → NcDashboardWidgetItem-D4EefvnL.mjs.map} +1 -1
- package/dist/chunks/{NcDateTime-DBZ-vBfi.mjs → NcDateTime-BR6BBvML.mjs} +2 -1
- package/dist/chunks/{NcDateTime-DBZ-vBfi.mjs.map → NcDateTime-BR6BBvML.mjs.map} +1 -1
- package/dist/chunks/{NcDateTime-AFZif5Dn.cjs → NcDateTime-C-kLQayi.cjs} +2 -1
- package/dist/chunks/{NcDateTime-AFZif5Dn.cjs.map → NcDateTime-C-kLQayi.cjs.map} +1 -1
- package/dist/chunks/{NcDialog-mcbLFc8o.cjs → NcDialog-BjLJB7fW.cjs} +28 -11
- package/dist/chunks/NcDialog-BjLJB7fW.cjs.map +1 -0
- package/dist/chunks/{NcDialog-I_9fyJVt.mjs → NcDialog-D2lwwZL-.mjs} +28 -11
- package/dist/chunks/NcDialog-D2lwwZL-.mjs.map +1 -0
- package/dist/chunks/{NcDialogButton-DuJ3lE7e.mjs → NcDialogButton-BB56HcBl.mjs} +29 -10
- package/dist/chunks/NcDialogButton-BB56HcBl.mjs.map +1 -0
- package/dist/chunks/{NcDialogButton-FLqQdVLb.cjs → NcDialogButton-ByvLH63s.cjs} +29 -10
- package/dist/chunks/NcDialogButton-ByvLH63s.cjs.map +1 -0
- package/dist/chunks/{NcEmojiPicker-DDCgW2zQ.mjs → NcEmojiPicker-B49sJeMw.mjs} +20 -12
- package/dist/chunks/NcEmojiPicker-B49sJeMw.mjs.map +1 -0
- package/dist/chunks/{NcEmojiPicker-B1ot5iNB.cjs → NcEmojiPicker-DcTSImTm.cjs} +18 -10
- package/dist/chunks/NcEmojiPicker-DcTSImTm.cjs.map +1 -0
- package/dist/chunks/{NcHeaderMenu-BaHhnhN0.cjs → NcHeaderMenu-B287C-Vk.cjs} +6 -5
- package/dist/chunks/NcHeaderMenu-B287C-Vk.cjs.map +1 -0
- package/dist/chunks/{NcHeaderMenu-CLcpStap.mjs → NcHeaderMenu-Bc1ucNsv.mjs} +6 -5
- package/dist/chunks/NcHeaderMenu-Bc1ucNsv.mjs.map +1 -0
- package/dist/chunks/{NcIconSvgWrapper-B_eOG2sZ.cjs → NcIconSvgWrapper-BlucK1g3.cjs} +27 -15
- package/dist/chunks/NcIconSvgWrapper-BlucK1g3.cjs.map +1 -0
- package/dist/chunks/{NcIconSvgWrapper-CHmdAuhg.mjs → NcIconSvgWrapper-RKuZn260.mjs} +28 -16
- package/dist/chunks/NcIconSvgWrapper-RKuZn260.mjs.map +1 -0
- package/dist/chunks/{NcInputConfirmCancel-C7a7Nha7.mjs → NcInputConfirmCancel-CacBXLGS.mjs} +7 -6
- package/dist/chunks/NcInputConfirmCancel-CacBXLGS.mjs.map +1 -0
- package/dist/chunks/{NcInputConfirmCancel-XzKuYi6L.cjs → NcInputConfirmCancel-lVLFwBA4.cjs} +7 -6
- package/dist/chunks/NcInputConfirmCancel-lVLFwBA4.cjs.map +1 -0
- package/dist/chunks/{NcInputField-DkhKrb8k.cjs → NcInputField-C61UUN46.cjs} +4 -3
- package/dist/chunks/NcInputField-C61UUN46.cjs.map +1 -0
- package/dist/chunks/{NcInputField-CU5a68Pc.mjs → NcInputField-DTtUueUZ.mjs} +4 -3
- package/dist/chunks/NcInputField-DTtUueUZ.mjs.map +1 -0
- package/dist/chunks/{NcListItem-3e1MminS.mjs → NcListItem-BBTd7BLc.mjs} +4 -3
- package/dist/chunks/NcListItem-BBTd7BLc.mjs.map +1 -0
- package/dist/chunks/{NcListItem-9w7m2lJ_.cjs → NcListItem-D_mvsnph.cjs} +4 -3
- package/dist/chunks/NcListItem-D_mvsnph.cjs.map +1 -0
- package/dist/chunks/{NcListItemIcon-7x7iDHYw.mjs → NcListItemIcon-B16M-aHV.mjs} +3 -2
- package/dist/chunks/{NcListItemIcon-7x7iDHYw.mjs.map → NcListItemIcon-B16M-aHV.mjs.map} +1 -1
- package/dist/chunks/{NcListItemIcon-pOj8Vr2H.cjs → NcListItemIcon-COUzDQI5.cjs} +3 -2
- package/dist/chunks/{NcListItemIcon-pOj8Vr2H.cjs.map → NcListItemIcon-COUzDQI5.cjs.map} +1 -1
- package/dist/chunks/{NcPasswordField-BS6bkHtv.cjs → NcPasswordField-BCzIotoB.cjs} +3 -2
- package/dist/chunks/{NcPasswordField-BS6bkHtv.cjs.map → NcPasswordField-BCzIotoB.cjs.map} +1 -1
- package/dist/chunks/{NcPasswordField-Dpu9nI6h.mjs → NcPasswordField-CTKHRVC4.mjs} +3 -2
- package/dist/chunks/{NcPasswordField-Dpu9nI6h.mjs.map → NcPasswordField-CTKHRVC4.mjs.map} +1 -1
- package/dist/chunks/{NcPopover-BKlH1mbx.cjs → NcPopover-BxLo6SFb.cjs} +12 -5
- package/dist/chunks/NcPopover-BxLo6SFb.cjs.map +1 -0
- package/dist/chunks/{NcPopover-DFCPlZpS.mjs → NcPopover-w98cBbbF.mjs} +12 -5
- package/dist/chunks/NcPopover-w98cBbbF.mjs.map +1 -0
- package/dist/chunks/NcProgressBar-DegJ2JjE.mjs +1 -0
- package/dist/chunks/NcProgressBar-Do5Y3u8S.cjs +1 -0
- package/dist/chunks/{NcRelatedResourcesPanel-BrkyIR3v.cjs → NcRelatedResourcesPanel-B-y_Wan4.cjs} +10 -9
- package/dist/chunks/NcRelatedResourcesPanel-B-y_Wan4.cjs.map +1 -0
- package/dist/chunks/{NcRelatedResourcesPanel-C6JIVMvN.mjs → NcRelatedResourcesPanel-CmiW_ds0.mjs} +10 -9
- package/dist/chunks/NcRelatedResourcesPanel-CmiW_ds0.mjs.map +1 -0
- package/dist/chunks/{NcRichContenteditable-DJy0zZXx.cjs → NcRichContenteditable-ClHXIiXL.cjs} +12 -20
- package/dist/chunks/NcRichContenteditable-ClHXIiXL.cjs.map +1 -0
- package/dist/chunks/{NcRichContenteditable-3kkU0Uxu.mjs → NcRichContenteditable-zZQChT9M.mjs} +14 -22
- package/dist/chunks/NcRichContenteditable-zZQChT9M.mjs.map +1 -0
- package/dist/chunks/NcRichText-C43cKGcR.mjs +3679 -0
- package/dist/chunks/NcRichText-C43cKGcR.mjs.map +1 -0
- package/dist/chunks/NcRichText-CMbtZkLP.cjs +3707 -0
- package/dist/chunks/NcRichText-CMbtZkLP.cjs.map +1 -0
- package/dist/chunks/NcSavingIndicatorIcon-Bu-zt4pR.cjs +1 -0
- package/dist/chunks/NcSavingIndicatorIcon-nv1147dk.mjs +1 -0
- package/dist/chunks/{NcSelect-YHwbPAJD.cjs → NcSelect-C9cGa-5v.cjs} +25 -7
- package/dist/chunks/NcSelect-C9cGa-5v.cjs.map +1 -0
- package/dist/chunks/{NcSelect-BQ-NFBXI.mjs → NcSelect-XLdUgokz.mjs} +25 -7
- package/dist/chunks/NcSelect-XLdUgokz.mjs.map +1 -0
- package/dist/chunks/{NcSelectTags-BAMsfdw9.cjs → NcSelectTags-B0rsXdxP.cjs} +3 -2
- package/dist/chunks/{NcSelectTags-BAMsfdw9.cjs.map → NcSelectTags-B0rsXdxP.cjs.map} +1 -1
- package/dist/chunks/{NcSelectTags-BKtOWgrz.mjs → NcSelectTags-DT2Y3Kms.mjs} +3 -2
- package/dist/chunks/{NcSelectTags-BKtOWgrz.mjs.map → NcSelectTags-DT2Y3Kms.mjs.map} +1 -1
- package/dist/chunks/NcSelectUsers-C-bbm2cW.cjs +187 -0
- package/dist/chunks/NcSelectUsers-C-bbm2cW.cjs.map +1 -0
- package/dist/chunks/NcSelectUsers-DFlj_h9t.mjs +188 -0
- package/dist/chunks/NcSelectUsers-DFlj_h9t.mjs.map +1 -0
- package/dist/chunks/{NcSettingsInputText-nb2XMaJW.cjs → NcSettingsInputText-BU1_SHOq.cjs} +3 -2
- package/dist/chunks/{NcSettingsInputText-nb2XMaJW.cjs.map → NcSettingsInputText-BU1_SHOq.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsInputText-DC7H_6Uz.mjs → NcSettingsInputText-t1FMnLKA.mjs} +3 -2
- package/dist/chunks/{NcSettingsInputText-DC7H_6Uz.mjs.map → NcSettingsInputText-t1FMnLKA.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSection-6Sc6GBsM.cjs → NcSettingsSection-Dcdxs1IN.cjs} +2 -1
- package/dist/chunks/{NcSettingsSection-6Sc6GBsM.cjs.map → NcSettingsSection-Dcdxs1IN.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsSection-BYKUjim0.mjs → NcSettingsSection-EC3SmiDX.mjs} +2 -1
- package/dist/chunks/{NcSettingsSection-BYKUjim0.mjs.map → NcSettingsSection-EC3SmiDX.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-CI2LoVeL.mjs → NcSettingsSelectGroup-B4isXyUU.mjs} +4 -3
- package/dist/chunks/{NcSettingsSelectGroup-CI2LoVeL.mjs.map → NcSettingsSelectGroup-B4isXyUU.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-DX4AaRte.cjs → NcSettingsSelectGroup-CE71MIQo.cjs} +4 -3
- package/dist/chunks/{NcSettingsSelectGroup-DX4AaRte.cjs.map → NcSettingsSelectGroup-CE71MIQo.cjs.map} +1 -1
- package/dist/chunks/NcTextArea-BHERsE_g.mjs +1 -0
- package/dist/chunks/NcTextArea-CYLGAGcO.cjs +1 -0
- package/dist/chunks/NcTextArea-CYLGAGcO.cjs.map +1 -1
- package/dist/chunks/{NcTextField-9gC8or6j.mjs → NcTextField-DRANdaIf.mjs} +4 -3
- package/dist/chunks/{NcTextField-9gC8or6j.mjs.map → NcTextField-DRANdaIf.mjs.map} +1 -1
- package/dist/chunks/{NcTextField-Pbox9mQE.cjs → NcTextField-Uk5iD8o2.cjs} +4 -3
- package/dist/chunks/{NcTextField-Pbox9mQE.cjs.map → NcTextField-Uk5iD8o2.cjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-DIwsRdu2.cjs → NcTimezonePicker-BTyhPxMT.cjs} +4 -3
- package/dist/chunks/{NcTimezonePicker-DIwsRdu2.cjs.map → NcTimezonePicker-BTyhPxMT.cjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-xSXSuNHX.mjs → NcTimezonePicker-sAG8kn1b.mjs} +4 -3
- package/dist/chunks/{NcTimezonePicker-xSXSuNHX.mjs.map → NcTimezonePicker-sAG8kn1b.mjs.map} +1 -1
- package/dist/chunks/{NcUserBubble-BFvEaXLr.mjs → NcUserBubble-DmZZOMRr.mjs} +3 -2
- package/dist/chunks/{NcUserBubble-BFvEaXLr.mjs.map → NcUserBubble-DmZZOMRr.mjs.map} +1 -1
- package/dist/chunks/{NcUserBubble-rphdAcHS.cjs → NcUserBubble-cX4wyq1_.cjs} +3 -2
- package/dist/chunks/{NcUserBubble-rphdAcHS.cjs.map → NcUserBubble-cX4wyq1_.cjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-S5bBgRl6.mjs → NcUserStatusIcon-WEKmuaoU.mjs} +4 -2
- package/dist/chunks/{NcUserStatusIcon-S5bBgRl6.mjs.map → NcUserStatusIcon-WEKmuaoU.mjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-CFLiHFkC.cjs → NcUserStatusIcon-cs42Lzdd.cjs} +4 -2
- package/dist/chunks/{NcUserStatusIcon-CFLiHFkC.cjs.map → NcUserStatusIcon-cs42Lzdd.cjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-CEMLuQd5.mjs → ScopeComponent-BaHwjQGQ.mjs} +2 -1
- package/dist/chunks/{ScopeComponent-CEMLuQd5.mjs.map → ScopeComponent-BaHwjQGQ.mjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-B5vclUCV.cjs → ScopeComponent-CqVh6vwk.cjs} +2 -1
- package/dist/chunks/{ScopeComponent-B5vclUCV.cjs.map → ScopeComponent-CqVh6vwk.cjs.map} +1 -1
- package/dist/chunks/_l10n-BiiXtYiP.cjs +143 -0
- package/dist/chunks/{_l10n-CjO_W5Dt.cjs.map → _l10n-BiiXtYiP.cjs.map} +1 -1
- package/dist/chunks/_l10n-Dt0m9Fxw.mjs +144 -0
- package/dist/chunks/_l10n-Dt0m9Fxw.mjs.map +1 -0
- package/dist/chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs +1 -0
- package/dist/chunks/_plugin-vue2_normalizer-V0q-tHlQ.cjs +1 -0
- package/dist/chunks/actionGlobal-DqVa7c7G.mjs +1 -0
- package/dist/chunks/actionGlobal-DqVa7c7G.mjs.map +1 -1
- package/dist/chunks/actionGlobal-L0Ls8tPJ.cjs +1 -0
- package/dist/chunks/actionGlobal-L0Ls8tPJ.cjs.map +1 -1
- package/dist/chunks/actionText-BcrK4uH1.cjs +1 -0
- package/dist/chunks/actionText-BcrK4uH1.cjs.map +1 -1
- package/dist/chunks/actionText-fFcUPi2g.mjs +1 -0
- package/dist/chunks/actionText-fFcUPi2g.mjs.map +1 -1
- package/dist/chunks/autolink-BAgL31EZ.cjs +1 -0
- package/dist/chunks/autolink-BAgL31EZ.cjs.map +1 -1
- package/dist/chunks/autolink-cbuFALXr.mjs +1 -0
- package/dist/chunks/autolink-cbuFALXr.mjs.map +1 -1
- package/dist/chunks/emoji-BY_D0V5K.mjs +1 -0
- package/dist/chunks/emoji-BY_D0V5K.mjs.map +1 -1
- package/dist/chunks/emoji-VgSjNTd5.cjs +1 -0
- package/dist/chunks/emoji-VgSjNTd5.cjs.map +1 -1
- package/dist/chunks/focusTrap-DmkaYJTC.mjs +32 -0
- package/dist/chunks/focusTrap-DmkaYJTC.mjs.map +1 -0
- package/dist/chunks/focusTrap-Vbgxe8ZX.cjs +31 -0
- package/dist/chunks/focusTrap-Vbgxe8ZX.cjs.map +1 -0
- package/dist/chunks/getAvatarUrl-6z9qRNH-.cjs +1 -0
- package/dist/chunks/getAvatarUrl-DxvUjKMi.mjs +1 -0
- package/dist/chunks/{index-CtoB4eIp.mjs → index-56SXuvlv.mjs} +3 -2
- package/dist/chunks/{index-CtoB4eIp.mjs.map → index-56SXuvlv.mjs.map} +1 -1
- package/dist/chunks/index-BV85rPB7.cjs +1 -0
- package/dist/chunks/index-BV85rPB7.cjs.map +1 -1
- package/dist/chunks/index-BiECbTbJ.cjs +1 -0
- package/dist/chunks/index-BiECbTbJ.cjs.map +1 -1
- package/dist/chunks/index-Bz6q9mZw.mjs +1 -0
- package/dist/chunks/index-Bz6q9mZw.mjs.map +1 -1
- package/dist/chunks/index-DIJxEozm.cjs +1 -0
- package/dist/chunks/index-DIJxEozm.cjs.map +1 -1
- package/dist/chunks/index-G8WQDZ8G.mjs +1 -0
- package/dist/chunks/index-G8WQDZ8G.mjs.map +1 -1
- package/dist/chunks/logger-3HuiEIF6.cjs +1 -0
- package/dist/chunks/logger-D3RVzcfQ.mjs +1 -0
- package/dist/chunks/mdi-CZJxQPz6.mjs +9 -0
- package/dist/chunks/mdi-CZJxQPz6.mjs.map +1 -0
- package/dist/chunks/mdi-Da9VuUVq.cjs +8 -0
- package/dist/chunks/mdi-Da9VuUVq.cjs.map +1 -0
- package/dist/chunks/{referencePickerModal-BkBu4cnq.cjs → referencePickerModal-BdK-_zC6.cjs} +9 -8
- package/dist/chunks/{referencePickerModal-BkBu4cnq.cjs.map → referencePickerModal-BdK-_zC6.cjs.map} +1 -1
- package/dist/chunks/{referencePickerModal-CGG57Dy_.mjs → referencePickerModal-Bxp4FMcs.mjs} +10 -9
- package/dist/chunks/{referencePickerModal-CGG57Dy_.mjs.map → referencePickerModal-Bxp4FMcs.mjs.map} +1 -1
- package/dist/chunks/rtl-DLuwcTlm.cjs +5 -0
- package/dist/chunks/rtl-DLuwcTlm.cjs.map +1 -0
- package/dist/chunks/rtl-v0UOPAM7.mjs +6 -0
- package/dist/chunks/rtl-v0UOPAM7.mjs.map +1 -0
- package/dist/chunks/useModelMigration-D5zhrNXr.cjs +1 -0
- package/dist/chunks/useModelMigration-D5zhrNXr.cjs.map +1 -1
- package/dist/chunks/useModelMigration-EhAWvqDD.mjs +1 -0
- package/dist/chunks/useModelMigration-EhAWvqDD.mjs.map +1 -1
- package/dist/chunks/useTrapStackControl-BJmJdJak.cjs +22 -0
- package/dist/chunks/useTrapStackControl-BJmJdJak.cjs.map +1 -0
- package/dist/chunks/useTrapStackControl-b3A_383w.mjs +23 -0
- package/dist/chunks/useTrapStackControl-b3A_383w.mjs.map +1 -0
- package/dist/chunks/{usernameToColor-BCZuxlEH.mjs → usernameToColor-DJfepfog.mjs} +2 -1
- package/dist/chunks/{usernameToColor-BCZuxlEH.mjs.map → usernameToColor-DJfepfog.mjs.map} +1 -1
- package/dist/chunks/{usernameToColor-cVFS7tET.cjs → usernameToColor-mqInDrGv.cjs} +2 -1
- package/dist/chunks/{usernameToColor-cVFS7tET.cjs.map → usernameToColor-mqInDrGv.cjs.map} +1 -1
- package/dist/composables/useTrapStackControl.d.ts +12 -0
- package/dist/functions/index.d.ts +3 -2
- package/dist/functions/preloadImage/index.d.ts +9 -0
- package/dist/functions/reference/widgets.d.ts +1 -1
- package/dist/index.cjs +62 -53
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +63 -54
- package/dist/index.mjs.map +1 -1
- package/dist/utils/focusTrap.d.ts +26 -0
- package/dist/utils/rtl.d.ts +5 -0
- package/dist/vendor.LICENSE.txt +128 -0
- package/package.json +23 -15
- package/dist/chunks/ChevronLeft-BK4j9oVH.mjs +0 -37
- package/dist/chunks/ChevronLeft-BK4j9oVH.mjs.map +0 -1
- package/dist/chunks/ChevronLeft-CAiEPWc5.cjs +0 -36
- package/dist/chunks/ChevronLeft-CAiEPWc5.cjs.map +0 -1
- package/dist/chunks/NcActionButton-CEysTg4c.mjs.map +0 -1
- package/dist/chunks/NcActionButton-DcpUnqA7.cjs.map +0 -1
- package/dist/chunks/NcActionTextEditable-C-ZP8_Tn.cjs.map +0 -1
- package/dist/chunks/NcActionTextEditable-JRD-G0CT.mjs.map +0 -1
- package/dist/chunks/NcActions-D3hGxwlc.mjs.map +0 -1
- package/dist/chunks/NcActions-DTICeoTz.cjs.map +0 -1
- package/dist/chunks/NcAppContent-BKQ-H04y.mjs.map +0 -1
- package/dist/chunks/NcAppContent-BOt6_YA7.cjs.map +0 -1
- package/dist/chunks/NcAppNavigation-B_92V8o3.mjs.map +0 -1
- package/dist/chunks/NcAppNavigation-D7W-4cVo.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationItem-CpcFOmJR.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationItem-DL9OwWo-.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationSearch-Q0eMy5I2.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationSearch-gytpBKme.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-Br1hcFGt.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-Pr8bEpDs.mjs.map +0 -1
- package/dist/chunks/NcAppSidebar-BY33yoNX.cjs.map +0 -1
- package/dist/chunks/NcAppSidebar-cEQy8s50.mjs.map +0 -1
- package/dist/chunks/NcAvatar-BjwyJw34.mjs.map +0 -1
- package/dist/chunks/NcAvatar-CQtsmbBW.cjs.map +0 -1
- package/dist/chunks/NcBreadcrumb-DrlhnNbV.cjs.map +0 -1
- package/dist/chunks/NcBreadcrumb-GHiD-Sw7.mjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch-CCuKA55c.mjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch-RjEq0SqY.cjs.map +0 -1
- package/dist/chunks/NcColorPicker-CTQlyVCL.cjs.map +0 -1
- package/dist/chunks/NcColorPicker-ph8Nubq7.mjs.map +0 -1
- package/dist/chunks/NcDialog-I_9fyJVt.mjs.map +0 -1
- package/dist/chunks/NcDialog-mcbLFc8o.cjs.map +0 -1
- package/dist/chunks/NcDialogButton-DuJ3lE7e.mjs.map +0 -1
- package/dist/chunks/NcDialogButton-FLqQdVLb.cjs.map +0 -1
- package/dist/chunks/NcEmojiPicker-B1ot5iNB.cjs.map +0 -1
- package/dist/chunks/NcEmojiPicker-DDCgW2zQ.mjs.map +0 -1
- package/dist/chunks/NcHeaderMenu-BaHhnhN0.cjs.map +0 -1
- package/dist/chunks/NcHeaderMenu-CLcpStap.mjs.map +0 -1
- package/dist/chunks/NcIconSvgWrapper-B_eOG2sZ.cjs.map +0 -1
- package/dist/chunks/NcIconSvgWrapper-CHmdAuhg.mjs.map +0 -1
- package/dist/chunks/NcInputConfirmCancel-C7a7Nha7.mjs.map +0 -1
- package/dist/chunks/NcInputConfirmCancel-XzKuYi6L.cjs.map +0 -1
- package/dist/chunks/NcInputField-CU5a68Pc.mjs.map +0 -1
- package/dist/chunks/NcInputField-DkhKrb8k.cjs.map +0 -1
- package/dist/chunks/NcListItem-3e1MminS.mjs.map +0 -1
- package/dist/chunks/NcListItem-9w7m2lJ_.cjs.map +0 -1
- package/dist/chunks/NcPopover-BKlH1mbx.cjs.map +0 -1
- package/dist/chunks/NcPopover-DFCPlZpS.mjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-BrkyIR3v.cjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-C6JIVMvN.mjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-3kkU0Uxu.mjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-DJy0zZXx.cjs.map +0 -1
- package/dist/chunks/NcRichText-C8SjsRK8.mjs +0 -420
- package/dist/chunks/NcRichText-C8SjsRK8.mjs.map +0 -1
- package/dist/chunks/NcRichText-Ci72ylJ9.cjs +0 -449
- package/dist/chunks/NcRichText-Ci72ylJ9.cjs.map +0 -1
- package/dist/chunks/NcSelect-BQ-NFBXI.mjs.map +0 -1
- package/dist/chunks/NcSelect-YHwbPAJD.cjs.map +0 -1
- package/dist/chunks/_l10n-CjO_W5Dt.cjs +0 -138
- package/dist/chunks/_l10n-DDKxBWQL.mjs +0 -139
- package/dist/chunks/_l10n-DDKxBWQL.mjs.map +0 -1
- package/dist/chunks/focusTrap-Cecv_gjR.mjs +0 -7
- package/dist/chunks/focusTrap-Cecv_gjR.mjs.map +0 -1
- package/dist/chunks/focusTrap-EeXFmjdI.cjs +0 -6
- package/dist/chunks/focusTrap-EeXFmjdI.cjs.map +0 -1
|
@@ -1,449 +0,0 @@
|
|
|
1
|
-
require('../assets/NcRichText-zt8ALFHi.css');
|
|
2
|
-
"use strict";
|
|
3
|
-
var __create = Object.create;
|
|
4
|
-
var __defProp = Object.defineProperty;
|
|
5
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
18
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
19
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
20
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
21
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
22
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
23
|
-
mod
|
|
24
|
-
));
|
|
25
|
-
const Vue = require("vue");
|
|
26
|
-
const referencePickerModal = require("./referencePickerModal-BkBu4cnq.cjs");
|
|
27
|
-
const autolink = require("./autolink-BAgL31EZ.cjs");
|
|
28
|
-
const axios = require("@nextcloud/axios");
|
|
29
|
-
const _public = require("@nextcloud/sharing/public");
|
|
30
|
-
const auth = require("@nextcloud/auth");
|
|
31
|
-
const router = require("@nextcloud/router");
|
|
32
|
-
const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
33
|
-
const NcCheckboxRadioSwitch = require("./NcCheckboxRadioSwitch-RjEq0SqY.cjs");
|
|
34
|
-
const unistUtilVisit = require("unist-util-visit");
|
|
35
|
-
const unistBuilder = require("unist-builder");
|
|
36
|
-
const GenRandomId = require("./GenRandomId-BQDud3d4.cjs");
|
|
37
|
-
const unified = require("unified");
|
|
38
|
-
const remarkParse = require("remark-parse");
|
|
39
|
-
const remarkGfm = require("remark-gfm");
|
|
40
|
-
const breaks = require("remark-breaks");
|
|
41
|
-
const remark2rehype = require("remark-rehype");
|
|
42
|
-
const rehype2react = require("rehype-react");
|
|
43
|
-
const rehypeExternalLinks = require("rehype-external-links");
|
|
44
|
-
const vueRouter = require("vue-router");
|
|
45
|
-
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
46
|
-
const axios__default = /* @__PURE__ */ _interopDefault(axios);
|
|
47
|
-
const remarkParse__default = /* @__PURE__ */ _interopDefault(remarkParse);
|
|
48
|
-
const remarkGfm__default = /* @__PURE__ */ _interopDefault(remarkGfm);
|
|
49
|
-
const breaks__default = /* @__PURE__ */ _interopDefault(breaks);
|
|
50
|
-
const remark2rehype__default = /* @__PURE__ */ _interopDefault(remark2rehype);
|
|
51
|
-
const rehype2react__default = /* @__PURE__ */ _interopDefault(rehype2react);
|
|
52
|
-
const rehypeExternalLinks__default = /* @__PURE__ */ _interopDefault(rehypeExternalLinks);
|
|
53
|
-
const _sfc_main$1 = {
|
|
54
|
-
name: "NcReferenceList",
|
|
55
|
-
components: {
|
|
56
|
-
NcReferenceWidget: referencePickerModal.NcReferenceWidget
|
|
57
|
-
},
|
|
58
|
-
props: {
|
|
59
|
-
text: {
|
|
60
|
-
type: String,
|
|
61
|
-
default: ""
|
|
62
|
-
},
|
|
63
|
-
referenceData: {
|
|
64
|
-
type: Object,
|
|
65
|
-
default: null
|
|
66
|
-
},
|
|
67
|
-
limit: {
|
|
68
|
-
type: Number,
|
|
69
|
-
default: 1
|
|
70
|
-
},
|
|
71
|
-
displayFallback: {
|
|
72
|
-
type: Boolean,
|
|
73
|
-
default: false
|
|
74
|
-
},
|
|
75
|
-
interactive: {
|
|
76
|
-
type: Boolean,
|
|
77
|
-
default: true
|
|
78
|
-
},
|
|
79
|
-
interactiveOptIn: {
|
|
80
|
-
type: Boolean,
|
|
81
|
-
default: false
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
|
-
data() {
|
|
85
|
-
return {
|
|
86
|
-
references: null,
|
|
87
|
-
loading: true
|
|
88
|
-
};
|
|
89
|
-
},
|
|
90
|
-
computed: {
|
|
91
|
-
isVisible() {
|
|
92
|
-
return this.loading || this.displayedReferences.length !== 0;
|
|
93
|
-
},
|
|
94
|
-
values() {
|
|
95
|
-
if (this.referenceData) {
|
|
96
|
-
return this.referenceData;
|
|
97
|
-
}
|
|
98
|
-
if (this.displayFallback && !this.loading && !this.references) {
|
|
99
|
-
return [this.fallbackReference];
|
|
100
|
-
}
|
|
101
|
-
return this.references ? Object.values(this.references) : [];
|
|
102
|
-
},
|
|
103
|
-
firstReference() {
|
|
104
|
-
return this.values[0] ?? null;
|
|
105
|
-
},
|
|
106
|
-
displayedReferences() {
|
|
107
|
-
return this.values.slice(0, this.limit);
|
|
108
|
-
},
|
|
109
|
-
fallbackReference() {
|
|
110
|
-
return {
|
|
111
|
-
accessible: true,
|
|
112
|
-
openGraphObject: {
|
|
113
|
-
id: this.text,
|
|
114
|
-
link: this.text,
|
|
115
|
-
name: this.text
|
|
116
|
-
},
|
|
117
|
-
richObjectType: "open-graph"
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
},
|
|
121
|
-
watch: {
|
|
122
|
-
text: "fetch"
|
|
123
|
-
},
|
|
124
|
-
mounted() {
|
|
125
|
-
this.fetch();
|
|
126
|
-
},
|
|
127
|
-
methods: {
|
|
128
|
-
fetch() {
|
|
129
|
-
this.loading = true;
|
|
130
|
-
if (this.referenceData) {
|
|
131
|
-
this.references = null;
|
|
132
|
-
this.loading = false;
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
if (!new RegExp(autolink.URL_PATTERN).exec(this.text)) {
|
|
136
|
-
this.references = null;
|
|
137
|
-
this.loading = false;
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
this.resolve().then((response) => {
|
|
141
|
-
this.references = response.data.ocs.data.references;
|
|
142
|
-
this.loading = false;
|
|
143
|
-
this.$emit("loaded");
|
|
144
|
-
}).catch((error) => {
|
|
145
|
-
console.error("Failed to extract references", error);
|
|
146
|
-
this.loading = false;
|
|
147
|
-
this.$emit("loaded");
|
|
148
|
-
});
|
|
149
|
-
},
|
|
150
|
-
resolve() {
|
|
151
|
-
const match = new RegExp(autolink.URL_PATTERN).exec(this.text.trim());
|
|
152
|
-
const isPublic = auth.getCurrentUser() === null;
|
|
153
|
-
if (this.limit === 1 && match) {
|
|
154
|
-
return isPublic ? axios__default.default.get(router.generateOcsUrl("references/resolvePublic") + `?reference=${encodeURIComponent(match[0])}&sharingToken=${_public.getSharingToken()}`) : axios__default.default.get(router.generateOcsUrl("references/resolve") + `?reference=${encodeURIComponent(match[0])}`);
|
|
155
|
-
}
|
|
156
|
-
return isPublic ? axios__default.default.post(router.generateOcsUrl("references/extractPublic"), {
|
|
157
|
-
text: this.text,
|
|
158
|
-
resolve: true,
|
|
159
|
-
limit: this.limit,
|
|
160
|
-
sharingToken: _public.getSharingToken()
|
|
161
|
-
}) : axios__default.default.post(router.generateOcsUrl("references/extract"), {
|
|
162
|
-
text: this.text,
|
|
163
|
-
resolve: true,
|
|
164
|
-
limit: this.limit
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
|
-
var _sfc_render$1 = function render() {
|
|
170
|
-
var _vm = this, _c = _vm._self._c;
|
|
171
|
-
return _vm.isVisible ? _c("div", { staticClass: "widgets--list", class: { "icon-loading": _vm.loading } }, _vm._l(_vm.displayedReferences, function(reference) {
|
|
172
|
-
return _c("NcReferenceWidget", { key: reference?.openGraphObject?.id, attrs: { "reference": reference, "interactive": _vm.interactive, "interactive-opt-in": _vm.interactiveOptIn } });
|
|
173
|
-
}), 1) : _vm._e();
|
|
174
|
-
};
|
|
175
|
-
var _sfc_staticRenderFns$1 = [];
|
|
176
|
-
var __component__$1 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
177
|
-
_sfc_main$1,
|
|
178
|
-
_sfc_render$1,
|
|
179
|
-
_sfc_staticRenderFns$1,
|
|
180
|
-
false,
|
|
181
|
-
null,
|
|
182
|
-
"2677cf0e"
|
|
183
|
-
);
|
|
184
|
-
const NcReferenceList = __component__$1.exports;
|
|
185
|
-
const remarkPlaceholder = function() {
|
|
186
|
-
return function(ast) {
|
|
187
|
-
unistUtilVisit.visit(ast, (node) => node.type === "text", visitor);
|
|
188
|
-
function visitor(node, index, parent) {
|
|
189
|
-
const placeholders = node.value.split(/(\{[a-z\-_.0-9]+\})/ig).map((entry, index2, list) => {
|
|
190
|
-
const matches = entry.match(/^\{([a-z\-_.0-9]+)\}$/i);
|
|
191
|
-
if (!matches) {
|
|
192
|
-
return unistBuilder.u("text", entry);
|
|
193
|
-
}
|
|
194
|
-
const [, component] = matches;
|
|
195
|
-
return unistBuilder.u("element", {
|
|
196
|
-
tagName: `#${component}`
|
|
197
|
-
});
|
|
198
|
-
});
|
|
199
|
-
parent.children.splice(index, 1, ...placeholders);
|
|
200
|
-
}
|
|
201
|
-
};
|
|
202
|
-
};
|
|
203
|
-
const prepareTextNode = ({ h, context }, text) => {
|
|
204
|
-
if (context.autolink) {
|
|
205
|
-
text = autolink.parseUrl(text);
|
|
206
|
-
}
|
|
207
|
-
if (Array.isArray(text)) {
|
|
208
|
-
return text.map((entry) => {
|
|
209
|
-
if (typeof entry === "string") {
|
|
210
|
-
return entry;
|
|
211
|
-
}
|
|
212
|
-
const { component, props } = entry;
|
|
213
|
-
const componentClass = component.name === "NcLink" ? void 0 : "rich-text--component";
|
|
214
|
-
return h(component, {
|
|
215
|
-
props,
|
|
216
|
-
class: componentClass
|
|
217
|
-
});
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
return text;
|
|
221
|
-
};
|
|
222
|
-
const remarkUnescape = function() {
|
|
223
|
-
return function(tree) {
|
|
224
|
-
unistUtilVisit.visit(
|
|
225
|
-
tree,
|
|
226
|
-
(node) => ["text", "code", "inlineCode"].includes(node.type),
|
|
227
|
-
(node, index, parent) => {
|
|
228
|
-
parent.children.splice(index, 1, {
|
|
229
|
-
...node,
|
|
230
|
-
value: node.value.replace(/</gmi, "<").replace(/>/gmi, ">")
|
|
231
|
-
});
|
|
232
|
-
return [unistUtilVisit.SKIP, index + 1];
|
|
233
|
-
}
|
|
234
|
-
);
|
|
235
|
-
};
|
|
236
|
-
};
|
|
237
|
-
const rehypeHighlight = Vue.ref(null);
|
|
238
|
-
async function importRehypeHighlightLibrary() {
|
|
239
|
-
const module2 = await import("rehype-highlight");
|
|
240
|
-
rehypeHighlight.value = module2.default;
|
|
241
|
-
}
|
|
242
|
-
const _sfc_main = {
|
|
243
|
-
name: "NcRichText",
|
|
244
|
-
components: {
|
|
245
|
-
NcReferenceList
|
|
246
|
-
},
|
|
247
|
-
props: {
|
|
248
|
-
text: {
|
|
249
|
-
type: String,
|
|
250
|
-
default: ""
|
|
251
|
-
},
|
|
252
|
-
arguments: {
|
|
253
|
-
type: Object,
|
|
254
|
-
default: () => {
|
|
255
|
-
return {};
|
|
256
|
-
}
|
|
257
|
-
},
|
|
258
|
-
referenceLimit: {
|
|
259
|
-
type: Number,
|
|
260
|
-
default: 0
|
|
261
|
-
},
|
|
262
|
-
referenceInteractive: {
|
|
263
|
-
type: Boolean,
|
|
264
|
-
default: true
|
|
265
|
-
},
|
|
266
|
-
referenceInteractiveOptIn: {
|
|
267
|
-
type: Boolean,
|
|
268
|
-
default: false
|
|
269
|
-
},
|
|
270
|
-
/** Provide data upfront to avoid extra http request */
|
|
271
|
-
references: {
|
|
272
|
-
type: Object,
|
|
273
|
-
default: null
|
|
274
|
-
},
|
|
275
|
-
/** Provide basic Markdown syntax */
|
|
276
|
-
useMarkdown: {
|
|
277
|
-
type: Boolean,
|
|
278
|
-
default: false
|
|
279
|
-
},
|
|
280
|
-
/** Provide GitHub Flavored Markdown syntax */
|
|
281
|
-
useExtendedMarkdown: {
|
|
282
|
-
type: Boolean,
|
|
283
|
-
default: false
|
|
284
|
-
},
|
|
285
|
-
/** Provide event from rendered markdown inputs */
|
|
286
|
-
interactive: {
|
|
287
|
-
type: Boolean,
|
|
288
|
-
default: false
|
|
289
|
-
},
|
|
290
|
-
autolink: {
|
|
291
|
-
type: Boolean,
|
|
292
|
-
default: true
|
|
293
|
-
}
|
|
294
|
-
},
|
|
295
|
-
emits: ["interact:todo"],
|
|
296
|
-
data() {
|
|
297
|
-
return {
|
|
298
|
-
parentId: GenRandomId.GenRandomId(5)
|
|
299
|
-
};
|
|
300
|
-
},
|
|
301
|
-
methods: {
|
|
302
|
-
renderPlaintext(h) {
|
|
303
|
-
const context = this;
|
|
304
|
-
const placeholders = this.text.split(/(\{[a-z\-_.0-9]+\})/ig).map(function(entry, index, list) {
|
|
305
|
-
const matches = entry.match(/^\{([a-z\-_.0-9]+)\}$/i);
|
|
306
|
-
if (!matches) {
|
|
307
|
-
return prepareTextNode({ h, context }, entry);
|
|
308
|
-
}
|
|
309
|
-
const argumentId = matches[1];
|
|
310
|
-
const argument = context.arguments[argumentId];
|
|
311
|
-
if (typeof argument === "object") {
|
|
312
|
-
const { component, props } = argument;
|
|
313
|
-
return h(component, {
|
|
314
|
-
props,
|
|
315
|
-
class: "rich-text--component"
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
if (argument) {
|
|
319
|
-
return h("span", { class: "rich-text--fallback" }, argument);
|
|
320
|
-
}
|
|
321
|
-
return entry;
|
|
322
|
-
});
|
|
323
|
-
return h("div", { class: "rich-text--wrapper" }, [
|
|
324
|
-
h("div", {}, placeholders.flat()),
|
|
325
|
-
this.referenceLimit > 0 ? h("div", { class: "rich-text--reference-widget" }, [
|
|
326
|
-
h(NcReferenceList, {
|
|
327
|
-
props: {
|
|
328
|
-
text: this.text,
|
|
329
|
-
referenceData: this.references,
|
|
330
|
-
interactive: this.referenceInteractive,
|
|
331
|
-
interactiveOptIn: this.referenceInteractiveOptIn
|
|
332
|
-
}
|
|
333
|
-
})
|
|
334
|
-
]) : null
|
|
335
|
-
]);
|
|
336
|
-
},
|
|
337
|
-
renderMarkdown(h) {
|
|
338
|
-
const renderedMarkdown = unified.unified().use(remarkParse__default.default).use(autolink.remarkAutolink, {
|
|
339
|
-
autolink: this.autolink,
|
|
340
|
-
useMarkdown: this.useMarkdown,
|
|
341
|
-
useExtendedMarkdown: this.useExtendedMarkdown
|
|
342
|
-
}).use(remarkUnescape).use(this.useExtendedMarkdown ? remarkGfm__default.default : void 0).use(breaks__default.default).use(remark2rehype__default.default, {
|
|
343
|
-
handlers: {
|
|
344
|
-
component(toHast, node) {
|
|
345
|
-
return toHast(node, node.component, { value: node.value });
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
}).use(this.useExtendedMarkdown ? rehypeHighlight.value : void 0).use(remarkPlaceholder).use(rehypeExternalLinks__default.default, {
|
|
349
|
-
target: "_blank",
|
|
350
|
-
rel: ["noopener noreferrer"]
|
|
351
|
-
}).use(rehype2react__default.default, {
|
|
352
|
-
createElement: (tag, attrs, children) => {
|
|
353
|
-
if (!tag.startsWith("#")) {
|
|
354
|
-
if (this.useExtendedMarkdown) {
|
|
355
|
-
if (tag === "code" && !rehypeHighlight.value && attrs?.attrs?.class?.includes("language")) {
|
|
356
|
-
importRehypeHighlightLibrary();
|
|
357
|
-
}
|
|
358
|
-
let nestedNode = null;
|
|
359
|
-
if (tag === "li" && Array.isArray(children) && children[0].tag === "input" && children[0].data.attrs.type === "checkbox") {
|
|
360
|
-
const [inputNode, ...labelParts] = children;
|
|
361
|
-
const nestedNodeIndex = labelParts.findIndex((child) => ["ul", "ol", "li", "blockquote", "pre"].includes(child.tag));
|
|
362
|
-
if (nestedNodeIndex !== -1) {
|
|
363
|
-
nestedNode = labelParts[nestedNodeIndex];
|
|
364
|
-
labelParts.splice(nestedNodeIndex);
|
|
365
|
-
}
|
|
366
|
-
const id = this.parentId + "-markdown-input-" + GenRandomId.GenRandomId(5);
|
|
367
|
-
const inputComponent = h(NcCheckboxRadioSwitch.NcCheckboxRadioSwitch, {
|
|
368
|
-
attrs: {
|
|
369
|
-
...inputNode.data.attrs,
|
|
370
|
-
id,
|
|
371
|
-
disabled: !this.interactive
|
|
372
|
-
},
|
|
373
|
-
on: {
|
|
374
|
-
"update:checked": () => {
|
|
375
|
-
this.$emit("interact:todo", id);
|
|
376
|
-
}
|
|
377
|
-
}
|
|
378
|
-
}, labelParts);
|
|
379
|
-
return h(tag, attrs, [inputComponent, nestedNode]);
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
if (tag === "a") {
|
|
383
|
-
const route = autolink.getRoute(this.$router, attrs.attrs.href);
|
|
384
|
-
if (route) {
|
|
385
|
-
delete attrs.attrs.href;
|
|
386
|
-
delete attrs.attrs.target;
|
|
387
|
-
return h(vueRouter.RouterLink, {
|
|
388
|
-
...attrs,
|
|
389
|
-
props: {
|
|
390
|
-
to: route
|
|
391
|
-
}
|
|
392
|
-
}, children);
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
return h(tag, attrs, children);
|
|
396
|
-
}
|
|
397
|
-
const placeholder = this.arguments[tag.slice(1)];
|
|
398
|
-
if (!placeholder) {
|
|
399
|
-
return h("span", { ...{ attrs }, ...{ class: "rich-text--fallback" } }, [`{${tag.slice(1)}}`]);
|
|
400
|
-
}
|
|
401
|
-
if (!placeholder.component) {
|
|
402
|
-
return h("span", attrs, [placeholder]);
|
|
403
|
-
}
|
|
404
|
-
return h(
|
|
405
|
-
placeholder.component,
|
|
406
|
-
{
|
|
407
|
-
attrs,
|
|
408
|
-
props: placeholder.props,
|
|
409
|
-
class: "rich-text--component"
|
|
410
|
-
},
|
|
411
|
-
children
|
|
412
|
-
);
|
|
413
|
-
},
|
|
414
|
-
prefix: false
|
|
415
|
-
}).processSync(
|
|
416
|
-
this.text.replace(/<[^>]+>/g, (match) => match.replace(/</g, "<")).replace(/>/gmi, ">")
|
|
417
|
-
).result;
|
|
418
|
-
return h("div", { class: "rich-text--wrapper rich-text--wrapper-markdown" }, [
|
|
419
|
-
renderedMarkdown,
|
|
420
|
-
this.referenceLimit > 0 ? h("div", { class: "rich-text--reference-widget" }, [
|
|
421
|
-
h(NcReferenceList, {
|
|
422
|
-
props: {
|
|
423
|
-
text: this.text,
|
|
424
|
-
referenceData: this.references,
|
|
425
|
-
interactive: this.referenceInteractive,
|
|
426
|
-
interactiveOptIn: this.referenceInteractiveOptIn
|
|
427
|
-
}
|
|
428
|
-
})
|
|
429
|
-
]) : null
|
|
430
|
-
]);
|
|
431
|
-
}
|
|
432
|
-
},
|
|
433
|
-
render(h) {
|
|
434
|
-
return this.useMarkdown || this.useExtendedMarkdown ? this.renderMarkdown(h) : this.renderPlaintext(h);
|
|
435
|
-
}
|
|
436
|
-
};
|
|
437
|
-
const _sfc_render = null;
|
|
438
|
-
const _sfc_staticRenderFns = null;
|
|
439
|
-
var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
440
|
-
_sfc_main,
|
|
441
|
-
_sfc_render,
|
|
442
|
-
_sfc_staticRenderFns,
|
|
443
|
-
false,
|
|
444
|
-
null,
|
|
445
|
-
"1de82f09"
|
|
446
|
-
);
|
|
447
|
-
const NcRichText = __component__.exports;
|
|
448
|
-
exports.NcReferenceList = NcReferenceList;
|
|
449
|
-
exports.NcRichText = NcRichText;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NcRichText-Ci72ylJ9.cjs","sources":["../../src/components/NcRichText/NcReferenceList.vue","../../src/components/NcRichText/placeholder.js","../../src/components/NcRichText/remarkUnescape.js","../../src/components/NcRichText/NcRichText.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div v-if=\"isVisible\" class=\"widgets--list\" :class=\"{'icon-loading': loading }\">\n\t\t<NcReferenceWidget v-for=\"reference in displayedReferences\"\n\t\t\t:key=\"reference?.openGraphObject?.id\"\n\t\t\t:reference=\"reference\"\n\t\t\t:interactive=\"interactive\"\n\t\t\t:interactive-opt-in=\"interactiveOptIn\" />\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 { getSharingToken } from '@nextcloud/sharing/public'\nimport { getCurrentUser } from '@nextcloud/auth'\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\tdisplayFallback: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tinteractive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tinteractiveOptIn: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\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.length !== 0\n\t\t},\n\t\tvalues() {\n\t\t\tif (this.referenceData) {\n\t\t\t\treturn this.referenceData\n\t\t\t}\n\n\t\t\tif (this.displayFallback && !this.loading && !this.references) {\n\t\t\t\treturn [this.fallbackReference]\n\t\t\t}\n\n\t\t\treturn 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\tfallbackReference() {\n\t\t\treturn {\n\t\t\t\taccessible: true,\n\t\t\t\topenGraphObject: {\n\t\t\t\t\tid: this.text,\n\t\t\t\t\tlink: this.text,\n\t\t\t\t\tname: this.text,\n\t\t\t\t},\n\t\t\t\trichObjectType: 'open-graph',\n\t\t\t}\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.references = null\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.references = null\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\tthis.$emit('loaded')\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\tthis.$emit('loaded')\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\tconst isPublic = getCurrentUser() === null\n\t\t\tif (this.limit === 1 && match) {\n\t\t\t\treturn isPublic\n\t\t\t\t\t? axios.get(generateOcsUrl('references/resolvePublic') + `?reference=${encodeURIComponent(match[0])}&sharingToken=${getSharingToken()}`)\n\t\t\t\t\t: axios.get(generateOcsUrl('references/resolve') + `?reference=${encodeURIComponent(match[0])}`)\n\t\t\t}\n\n\t\t\treturn isPublic\n\t\t\t\t? axios.post(generateOcsUrl('references/extractPublic'), {\n\t\t\t\t\ttext: this.text,\n\t\t\t\t\tresolve: true,\n\t\t\t\t\tlimit: this.limit,\n\t\t\t\t\tsharingToken: getSharingToken(),\n\t\t\t\t})\n\t\t\t\t: axios.post(generateOcsUrl('references/extract'), {\n\t\t\t\t\ttext: this.text,\n\t\t\t\t\tresolve: true,\n\t\t\t\t\tlimit: this.limit,\n\t\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.widgets--list {\n\twidth: 100%;\n\tmin-height: var(--default-clickable-area);\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { 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 * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { visit, SKIP } from 'unist-util-visit'\n\nexport const remarkUnescape = function() {\n\treturn function(tree) {\n\t\tvisit(tree, (node) => ['text', 'code', 'inlineCode'].includes(node.type),\n\t\t\t(node, index, parent) => {\n\t\t\t\tparent.children.splice(index, 1, {\n\t\t\t\t\t...node,\n\t\t\t\t\tvalue: node.value.replace(/</gmi, '<').replace(/>/gmi, '>'),\n\t\t\t\t})\n\t\t\t\treturn [SKIP, index + 1]\n\t\t\t})\n\t}\n}\n","<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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### Flavored Markdown\n\nThis component can support [Github Flavored Markdown](https://github.github.com/gfm/).\nIt adds such elements, as tables, task lists, strikethrough, and supports code syntax highlighting and autolinks by default\n\nIt is also possible to make a rendered content interactive and listen for events\n\n```vue\n<template>\n\t<div>\n\t\t<textarea v-model=\"text\" />\n\n\t\t<NcRichText :text=\"text\"\n\t\t\t:use-extended-markdown=\"true\"\n\t\t\t:interactive=\"true\"\n\t\t\t@interact:todo=\"handleInteraction\"/>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttext: `## Try flavored markdown right now!\n\n~~strikethrough~~\n\n- [ ] task to be done\n- [x] task completed\n\nTable header | Column A | Column B\n-- | -- | --\nTable row | value A | value B\n\n---\n\n\\`\\`\\`js\nconst GenRandomId = (length) => {\n\\treturn Math.random()\n\\t\\t.toString(36)\n\\t\\t.replace(/[^a-z]+/g, '')\n\\t\\t.slice(0, length || 5)\n}\n\\`\\`\\`\n`,\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\thandleInteraction(id) {\n\t\t\t\tconst parentId = id.split('-markdown-input-')[0]\n\t\t\t\tconst index = Array.from(document.querySelectorAll(`span[id^=\"${parentId}-markdown-input-\"]`)).findIndex((el) => el.id.includes(id))\n\t\t\t\tif (index === -1 ) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tlet checkBoxIndex = 0\n\t\t\t\tlet lines = this.text.split('\\n')\n\t\t\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\t\t\tif (lines[i].includes('[ ]') || lines[i].includes('[x]')) {\n\t\t\t\t\t\tif (checkBoxIndex === index) {\n\t\t\t\t\t\t\tconst isChecked = lines[i].includes('[x]')\n\t\t\t\t\t\t\tif (isChecked) {\n\t\t\t\t\t\t\t\tlines[i] = lines[i].replace('[x]', '[ ]')\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tlines[i] = lines[i].replace('[ ]', '[x]')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcheckBoxIndex++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.text = lines.join('\\n')\n\t\t\t},\n\t\t},\n\t}\n</script>\n<style lang=\"scss\">\ntextarea {\n\twidth: 100%;\n\theight: 200px;\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\t\t<NcCheckboxRadioSwitch :checked.sync=\"useExtendedMarkdown\" type=\"checkbox\">Use extended 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\t\t:use-extended-markdown=\"useExtendedMarkdown\" />\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\tuseExtendedMarkdown: 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\tlabel: '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\tlabel: '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\tlabel: '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\tlabel: '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\tlabel: '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 { ref } from 'vue'\nimport NcReferenceList from './NcReferenceList.vue'\nimport NcCheckboxRadioSwitch from '../NcCheckboxRadioSwitch/NcCheckboxRadioSwitch.vue'\nimport { getRoute, remarkAutolink } from './autolink.js'\nimport { remarkPlaceholder, prepareTextNode } from './placeholder.js'\nimport { remarkUnescape } from './remarkUnescape.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nimport { unified } from 'unified'\nimport remarkParse from 'remark-parse'\nimport remarkGfm from 'remark-gfm'\nimport breaks from 'remark-breaks'\nimport remark2rehype from 'remark-rehype'\nimport rehype2react from 'rehype-react'\nimport rehypeExternalLinks from 'rehype-external-links'\nimport { RouterLink } from 'vue-router'\n\n/**\n * Heavy libraries should be loaded on demand to reduce component size\n */\nconst rehypeHighlight = ref(null)\n/**\n * Load 'rehype-highlight' library when code block is rendered with `useExtendedMarkdown`\n */\nasync function importRehypeHighlightLibrary() {\n\tconst module = await import('rehype-highlight')\n\trehypeHighlight.value = module.default\n}\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\treferenceInteractive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\treferenceInteractiveOptIn: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\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\t/** Provide basic Markdown syntax */\n\t\tuseMarkdown: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/** Provide GitHub Flavored Markdown syntax */\n\t\tuseExtendedMarkdown: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/** Provide event from rendered markdown inputs */\n\t\tinteractive: {\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\temits: ['interact:todo'],\n\n\tdata() {\n\t\treturn {\n\t\t\tparentId: GenRandomId(5),\n\t\t}\n\t},\n\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, {\n\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\ttext: this.text,\n\t\t\t\t\t\t\t\treferenceData: this.references,\n\t\t\t\t\t\t\t\tinteractive: this.referenceInteractive,\n\t\t\t\t\t\t\t\tinteractiveOptIn: this.referenceInteractiveOptIn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t])\n\t\t\t\t\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(remarkParse)\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\tuseExtendedMarkdown: this.useExtendedMarkdown,\n\t\t\t\t})\n\t\t\t\t.use(remarkUnescape)\n\t\t\t\t.use(this.useExtendedMarkdown ? remarkGfm : undefined)\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(this.useExtendedMarkdown ? rehypeHighlight.value : undefined)\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\tif (!tag.startsWith('#')) {\n\t\t\t\t\t\t\tif (this.useExtendedMarkdown) {\n\t\t\t\t\t\t\t\tif (tag === 'code' && !rehypeHighlight.value\n\t\t\t\t\t\t\t\t\t&& attrs?.attrs?.class?.includes('language')) {\n\t\t\t\t\t\t\t\t\timportRehypeHighlightLibrary()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlet nestedNode = null\n\t\t\t\t\t\t\t\tif (tag === 'li' && Array.isArray(children)\n\t\t\t\t\t\t\t\t\t&& children[0].tag === 'input'\n\t\t\t\t\t\t\t\t\t&& children[0].data.attrs.type === 'checkbox') {\n\t\t\t\t\t\t\t\t\tconst [inputNode, ...labelParts] = children\n\n\t\t\t\t\t\t\t\t\tconst nestedNodeIndex = labelParts.findIndex((child) => ['ul', 'ol', 'li', 'blockquote', 'pre'].includes(child.tag))\n\t\t\t\t\t\t\t\t\tif (nestedNodeIndex !== -1) {\n\t\t\t\t\t\t\t\t\t\tnestedNode = labelParts[nestedNodeIndex]\n\t\t\t\t\t\t\t\t\t\tlabelParts.splice(nestedNodeIndex)\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tconst id = this.parentId + '-markdown-input-' + GenRandomId(5)\n\t\t\t\t\t\t\t\t\tconst inputComponent = h(NcCheckboxRadioSwitch, {\n\t\t\t\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\t\t\t\t...inputNode.data.attrs,\n\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\tdisabled: !this.interactive,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\t\t\t\t'update:checked': () => {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.$emit('interact:todo', id)\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}, labelParts)\n\n\t\t\t\t\t\t\t\t\treturn h(tag, attrs, [inputComponent, nestedNode])\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (tag === 'a') {\n\t\t\t\t\t\t\t\tconst route = getRoute(this.$router, attrs.attrs.href)\n\t\t\t\t\t\t\t\tif (route) {\n\t\t\t\t\t\t\t\t\tdelete attrs.attrs.href\n\t\t\t\t\t\t\t\t\tdelete attrs.attrs.target\n\n\t\t\t\t\t\t\t\t\treturn h(RouterLink, {\n\t\t\t\t\t\t\t\t\t\t...attrs,\n\t\t\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\t\t\tto: route,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t}, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\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(/<[^>]+>/g, (match) => match.replace(/</g, '<'))\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, {\n\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\ttext: this.text,\n\t\t\t\t\t\t\t\treferenceData: this.references,\n\t\t\t\t\t\t\t\tinteractive: this.referenceInteractive,\n\t\t\t\t\t\t\t\tinteractiveOptIn: this.referenceInteractiveOptIn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t])\n\t\t\t\t\t: null,\n\t\t\t])\n\t\t},\n\t},\n\trender(h) {\n\t\treturn this.useMarkdown || this.useExtendedMarkdown\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\n</style>\n"],"names":["_sfc_main","NcReferenceWidget","URL_PATTERN","getCurrentUser","axios","generateOcsUrl","getSharingToken","visit","index","u","parseUrl","SKIP","ref","module","GenRandomId","unified","remarkParse","remarkAutolink","remarkGfm","breaks","remark2rehype","rehypeExternalLinks","rehype2react","NcCheckboxRadioSwitch","getRoute","RouterLink"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NcSelect-BQ-NFBXI.mjs","sources":["../../src/components/NcSelect/NcSelect.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\n\nGeneral purpose multiselect component.\n\n### Basic examples\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<div v-for=\"{ props } in selectArray\"\n\t\t\tclass=\"container\">\n\t\t\t<NcSelect v-bind=\"props\"\n\t\t\t\tv-model=\"props.value\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nconst selectArray = [\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Simple',\n\t\t\toptions: [\n\t\t\t\t'foo',\n\t\t\t\t'bar',\n\t\t\t\t'baz',\n\t\t\t\t'qux',\n\t\t\t\t'quux',\n\t\t\t],\n\t\t},\n\t},\n\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Simple (top placement)',\n\t\t\tplacement: 'top',\n\t\t\toptions: [\n\t\t\t\t'foo',\n\t\t\t\t'bar',\n\t\t\t\t'baz',\n\t\t\t\t'qux',\n\t\t\t\t'quux',\n\t\t\t],\n\t\t},\n\t},\n\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Multiple (with placeholder)',\n\t\t\tmultiple: true,\n\t\t\tplaceholder: 'Select multiple options',\n\t\t\toptions: [\n\t\t\t\t'foo',\n\t\t\t\t'bar',\n\t\t\t\t'baz',\n\t\t\t\t'qux',\n\t\t\t\t'quux',\n\t\t\t],\n\t\t},\n\t},\n\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Multiple (objects, pre-selected, stay open on select)',\n\t\t\tmultiple: true,\n\t\t\tcloseOnSelect: false,\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: 'foo',\n\t\t\t\t\tlabel: 'Foo',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'bar',\n\t\t\t\t\tlabel: 'Bar',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'baz',\n\t\t\t\t\tlabel: 'Baz',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'qux',\n\t\t\t\t\tlabel: 'Qux',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'quux',\n\t\t\t\t\tlabel: 'Quux',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'corge',\n\t\t\t\t\tlabel: 'Corge',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'grault',\n\t\t\t\t\tlabel: 'Grault',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'garply',\n\t\t\t\t\tlabel: 'Garply',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'waldo',\n\t\t\t\t\tlabel: 'Waldo',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'fred',\n\t\t\t\t\tlabel: 'Fred',\n\t\t\t\t},\n\t\t\t],\n\t\t\tvalue: [\n\t\t\t\t{\n\t\t\t\t\tid: 'foo',\n\t\t\t\t\tlabel: 'Foo',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'bar',\n\t\t\t\t\tlabel: 'Bar',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n]\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tselectArray,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(2, 1fr);\n\tgap: 10px;\n}\n\n.container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 2px 0;\n}\n</style>\n```\n\n### Native form validation example\n\n```vue\n<template>\n\t<div class=\"container\">\n\t\t<form class=\"container__form\" @submit.prevent>\n\t\t\t<NcSelect class=\"container__select\"\n\t\t\t\tinput-label=\"Require a selection\"\n\t\t\t\t:options=\"options\"\n\t\t\t\tv-model=\"singleValue\"\n\t\t\t\trequired />\n\t\t\t<NcButton native-type=\"submit\">Submit</NcButton>\n\t\t</form>\n\n\t\t<form class=\"container__form\" @submit.prevent>\n\t\t\t<NcSelect class=\"container__select\"\n\t\t\t\tinput-label=\"Require at least one selection\"\n\t\t\t\t:options=\"options\"\n\t\t\t\tv-model=\"multiValue\"\n\t\t\t\tmultiple\n\t\t\t\trequired />\n\t\t\t<NcButton native-type=\"submit\">Submit</NcButton>\n\t\t</form>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\toptions: ['foo', 'bar', 'baz', 'qux', 'quux'],\n\t\t\tsingleValue: null,\n\t\t\tmultiValue: [],\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.container {\n\tdisplay: flex;\n\tgap: 0 12px;\n}\n\n.container__form {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-end;\n\twidth: 100%;\n\tgap: 8px 0;\n}\n\n.container__select {\n\twidth: 100%;\n}\n</style>\n```\n\n### No wrap example\n\nThe `noWrap` prop is set to `true` and the `max-width` of the multiselect\nparent container is limited to `350px`\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<div class=\"container\">\n\t\t\t<NcSelect :no-wrap=\"false\"\n\t\t\t\tv-bind=\"data1.props\"\n\t\t\t\tv-model=\"data1.props.value\" />\n\t\t</div>\n\t\t<div class=\"container\">\n\t\t\t<NcSelect :no-wrap=\"true\"\n\t\t\t\tv-bind=\"data2.props\"\n\t\t\t\tv-model=\"data2.props.value\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nconst data1 = {\n\tprops: {\n\t\tinputLabel: 'Wrapped (Default)',\n\t\tmultiple: true,\n\t\tcloseOnSelect: false,\n\t\toptions: [\n\t\t\t'foo',\n\t\t\t'bar',\n\t\t\t'baz',\n\t\t\t'qux',\n\t\t\t'quux',\n\t\t\t'corge',\n\t\t\t'grault',\n\t\t\t'garply',\n\t\t\t'waldo',\n\t\t\t'fred',\n\t\t],\n\t\tvalue: [\n\t\t\t'foo',\n\t\t\t'bar',\n\t\t\t'baz',\n\t\t\t'qux',\n\t\t\t'quux',\n\t\t\t'corge',\n\t\t\t'grault',\n\t\t\t'garply',\n\t\t\t'waldo',\n\t\t\t'fred',\n\t\t],\n\t},\n}\n\nconst data2 = {\n\tprops: {\n\t\tinputLabel: 'Not wrapped',\n\t\tmultiple: true,\n\t\tcloseOnSelect: false,\n\t\toptions: [\n\t\t\t'foo',\n\t\t\t'bar',\n\t\t\t'baz',\n\t\t\t'qux',\n\t\t\t'quux',\n\t\t\t'corge',\n\t\t\t'grault',\n\t\t\t'garply',\n\t\t\t'waldo',\n\t\t\t'fred',\n\t\t],\n\t\tvalue: [\n\t\t\t'foo',\n\t\t\t'bar',\n\t\t\t'baz',\n\t\t\t'qux',\n\t\t\t'quux',\n\t\t\t'corge',\n\t\t\t'grault',\n\t\t\t'garply',\n\t\t\t'waldo',\n\t\t\t'fred',\n\t\t],\n\t},\n}\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tdata1,\n\t\t\tdata2,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(1, 1fr);\n\tgap: 10px;\n}\n\n.container {\n\tmax-width: 350px;\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 2px 0;\n}\n</style>\n```\n\n### User select examples\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<div v-for=\"{ props } in selectArray\"\n\t\t\tclass=\"container\">\n\t\t\t<NcSelect v-bind=\"props\"\n\t\t\t\tv-model=\"props.value\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport AccountGroup from '@mdi/svg/svg/account-group.svg?raw'\nimport Email from '@mdi/svg/svg/email.svg?raw'\n\nconst selectArray = [\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'User select',\n\t\t\tuserSelect: true,\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: '0-john',\n\t\t\t\t\tdisplayName: 'John',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'john@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t\t// Example of how to show the user status within the option\n\t\t\t\t\tuser: '0-john',\n\t\t\t\t\tpreloadedUserStatus: {\n\t\t\t\t\t\ticon: '',\n\t\t\t\t\t\tstatus: 'online',\n\t\t\t\t\t\tmessage: 'I am online',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-emma',\n\t\t\t\t\tdisplayName: 'Emma',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'emma@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-olivia',\n\t\t\t\t\tdisplayName: 'Olivia',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'olivia@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-noah',\n\t\t\t\t\tdisplayName: 'Noah',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'noah@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-oliver',\n\t\t\t\t\tdisplayName: 'Oliver',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'oliver@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '1-admin',\n\t\t\t\t\tdisplayName: 'Admin',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: null,\n\t\t\t\t\ticonSvg: AccountGroup,\n\t\t\t\t\ticonName: 'Group icon',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '2-org@example.org',\n\t\t\t\t\tdisplayName: 'Organization',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: 'org@example.org',\n\t\t\t\t\ticonSvg: Email,\n\t\t\t\t\ticonName: 'Email icon',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Multiple user select (stay open on select)',\n\t\t\tuserSelect: true,\n\t\t\tmultiple: true,\n\t\t\tcloseOnSelect: false,\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: '0-john',\n\t\t\t\t\tdisplayName: 'John',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'john@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-emma',\n\t\t\t\t\tdisplayName: 'Emma',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'emma@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-olivia',\n\t\t\t\t\tdisplayName: 'Olivia',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'olivia@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-noah',\n\t\t\t\t\tdisplayName: 'Noah',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'noah@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-oliver',\n\t\t\t\t\tdisplayName: 'Oliver',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'oliver@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '1-admin',\n\t\t\t\t\tdisplayName: 'Admin',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: null,\n\t\t\t\t\ticonSvg: AccountGroup,\n\t\t\t\t\ticonName: 'Group icon',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '2-org@example.org',\n\t\t\t\t\tdisplayName: 'Organization',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: 'org@example.org',\n\t\t\t\t\ticonSvg: Email,\n\t\t\t\t\ticonName: 'Email icon',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n]\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tselectArray,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(1, 500px);\n\tgap: 10px;\n}\n\n.container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 2px 0;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<VueSelect class=\"select\"\n\t\t:class=\"{\n\t\t\t'select--no-wrap': noWrap,\n\t\t\t'user-select': userSelect,\n\t\t}\"\n\t\tv-bind=\"propsToForward\"\n\t\tv-on=\"listenersToForward\"\n\t\t@search=\"searchString => search = searchString\">\n\t\t<template v-if=\"!labelOutside && inputLabel\" #header>\n\t\t\t<label :for=\"inputId\"\n\t\t\t\tclass=\"select__label\">\n\t\t\t\t{{ inputLabel }}\n\t\t\t</label>\n\t\t</template>\n\t\t<template #search=\"{ attributes, events }\">\n\t\t\t<input :class=\"['vs__search', inputClass]\"\n\t\t\t\tv-bind=\"attributes\"\n\t\t\t\t:required=\"inputRequired\"\n\t\t\t\tdir=\"auto\"\n\t\t\t\tv-on=\"events\">\n\t\t</template>\n\t\t<template #open-indicator=\"{ attributes }\">\n\t\t\t<ChevronDown v-bind=\"attributes\"\n\t\t\t\tfill-color=\"var(--vs-controls-color)\"\n\t\t\t\t:style=\"{\n\t\t\t\t\tcursor: !disabled ? 'pointer' : null,\n\t\t\t\t}\"\n\t\t\t\t:size=\"26\" />\n\t\t\t\t<!-- Set size to 26 to make up for the increased padding of this icon -->\n\t\t</template>\n\t\t<template #option=\"option\">\n\t\t\t<NcListItemIcon v-if=\"userSelect\"\n\t\t\t\tv-bind=\"option\"\n\t\t\t\t:avatar-size=\"32\"\n\t\t\t\t:name=\"option[localLabel]\"\n\t\t\t\t:search=\"search\" />\n\t\t\t<NcEllipsisedOption v-else\n\t\t\t\t:name=\"String(option[localLabel])\"\n\t\t\t\t:search=\"search\" />\n\t\t</template>\n\t\t<template #selected-option=\"selectedOption\">\n\t\t\t<NcListItemIcon v-if=\"userSelect\"\n\t\t\t\tv-bind=\"selectedOption\"\n\t\t\t\t:avatar-size=\"avatarSize\"\n\t\t\t\t:name=\"selectedOption[localLabel]\"\n\t\t\t\tno-margin\n\t\t\t\t:search=\"search\" />\n\t\t\t<NcEllipsisedOption v-else\n\t\t\t\t:name=\"String(selectedOption[localLabel])\"\n\t\t\t\t:search=\"search\" />\n\t\t</template>\n\t\t<template #spinner=\"spinner\">\n\t\t\t<NcLoadingIcon v-if=\"spinner.loading\" />\n\t\t</template>\n\t\t<template #no-options>\n\t\t\t{{ t('No results') }}\n\t\t</template>\n\t\t<template v-for=\"(_, name) in $scopedSlots\" #[name]=\"data\">\n\t\t\t<!-- @slot Any combination of slots from https://vue-select.org/api/slots.html -->\n\t\t\t<slot :name=\"name\" v-bind=\"data\" />\n\t\t</template>\n\t</VueSelect>\n</template>\n\n<script>\nimport { VueSelect } from '@nextcloud/vue-select'\nimport {\n\tautoUpdate,\n\tcomputePosition,\n\tflip,\n\tlimitShift,\n\toffset,\n\tshift,\n} from '@floating-ui/dom'\nimport Vue from 'vue'\nimport { t } from '../../l10n.js'\n\nimport ChevronDown from 'vue-material-design-icons/ChevronDown.vue'\nimport Close from 'vue-material-design-icons/Close.vue'\n\nimport NcEllipsisedOption from '../NcEllipsisedOption/index.js'\nimport NcListItemIcon from '../NcListItemIcon/index.js'\nimport NcLoadingIcon from '../NcLoadingIcon/index.js'\n\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\n\nimport '@nextcloud/vue-select/dist/vue-select.css'\n\nexport default {\n\tname: 'NcSelect',\n\n\tcomponents: {\n\t\tChevronDown,\n\t\tNcEllipsisedOption,\n\t\tNcListItemIcon,\n\t\tNcLoadingIcon,\n\t\tVueSelect,\n\t},\n\n\tmodel: {\n\t\tprop: 'modelValue',\n\t\tevent: 'update:modelValue',\n\t},\n\n\tprops: {\n\t\t// Add VueSelect props to $props\n\t\t...VueSelect.props,\n\t\t...VueSelect.mixins.reduce((allProps, mixin) => ({ ...allProps, ...mixin.props }), {}),\n\n\t\t/**\n\t\t * `aria-label` for the clear input button\n\t\t */\n\t\tariaLabelClearSelected: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Clear selected'),\n\t\t},\n\n\t\t/**\n\t\t * `aria-label` for the search input\n\t\t *\n\t\t * A descriptive `inputLabel` is preferred as this is not visible.\n\t\t */\n\t\tariaLabelCombobox: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * `aria-label` for the listbox element\n\t\t */\n\t\tariaLabelListbox: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Options'),\n\t\t},\n\n\t\t/**\n\t\t * Allows to customize the `aria-label` for the deselect-option button\n\t\t * The default is \"Deselect \" + optionLabel\n\t\t * @type {(optionLabel: string) => string}\n\t\t */\n\t\tariaLabelDeselectOption: {\n\t\t\ttype: Function,\n\t\t\tdefault: (optionLabel) => t('Deselect {option}', { option: optionLabel }),\n\t\t},\n\n\t\t/**\n\t\t * Append the dropdown element to the end of the body\n\t\t * and size/position it dynamically.\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#appendtobody\n\t\t */\n\t\tappendToBody: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * When `appendToBody` is true, this function is responsible for\n\t\t * positioning the drop down list.\n\t\t *\n\t\t * If a function is returned from `calculatePosition`, it will\n\t\t * be called when the drop down list is removed from the DOM.\n\t\t * This allows for any garbage collection you may need to do.\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#calculateposition\n\t\t */\n\t\tcalculatePosition: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Close the dropdown when selecting an option\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#closeonselect\n\t\t */\n\t\tcloseOnSelect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Replace default vue-select components\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#components\n\t\t */\n\t\tcomponents: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({\n\t\t\t\tDeselect: {\n\t\t\t\t\trender: createElement => createElement(Close, {\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tsize: 20,\n\t\t\t\t\t\t\tfillColor: 'var(--vs-controls-color)',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcursor: 'pointer',\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\n\t\t/**\n\t\t * Sets the maximum number of options to display in the dropdown list\n\t\t */\n\t\tlimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Disable the component\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#disabled\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Determines whether the dropdown should be open.\n\t\t * Receives the component instance as the only argument.\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#dropdownshouldopen\n\t\t */\n\t\tdropdownShouldOpen: {\n\t\t\ttype: Function,\n\t\t\tdefault: ({ noDrop, open }) => {\n\t\t\t\treturn noDrop ? false : open\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Callback to determine if the provided option should\n\t\t * match the current search text. Used to determine\n\t\t * if the option should be displayed.\n\t\t *\n\t\t * Defaults to the internal vue-select function documented at the link\n\t\t * below\n\t\t *\n\t\t * Enabling `userSelect` will automatically set this to filter by the\n\t\t * `displayName` and `subname` properties of the user option object\n\t\t * unless this prop is set explicitly\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#filterby\n\t\t */\n\t\tfilterBy: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Class for the `input`\n\t\t *\n\t\t * Necessary for use in NcActionInput\n\t\t */\n\t\tinputClass: {\n\t\t\ttype: [String, Object],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Input element id\n\t\t */\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: () => `select-input-${GenRandomId()}`,\n\t\t},\n\n\t\t/**\n\t\t * Visible label for the input element\n\t\t *\n\t\t * @todo Set default for @nextcloud/vue 9\n\t\t */\n\t\tinputLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Pass true if you are using an external label\n\t\t */\n\t\tlabelOutside: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Display a visible border around dropdown options\n\t\t * which have keyboard focus\n\t\t */\n\t\tkeyboardFocusBorder: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Key of the displayed label for object options\n\t\t *\n\t\t * Defaults to the internal vue-select string documented at the link\n\t\t * below\n\t\t *\n\t\t * Enabling `userSelect` will automatically set this to `'displayName'`\n\t\t * unless this prop is set explicitly\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#label\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Show the loading icon\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#loading\n\t\t */\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Allow selection of multiple options\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#multiple\n\t\t */\n\t\tmultiple: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Disable automatic wrapping when selected options overflow the width\n\t\t */\n\t\tnoWrap: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Array of options\n\t\t *\n\t\t * @type {Array<string | number | Record<string | number, any>>}\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#options\n\t\t */\n\t\toptions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\n\t\t/**\n\t\t * Placeholder text\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#placeholder\n\t\t */\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Customized component's response to keydown events while the search input has focus\n\t\t *\n\t\t * @see https://vue-select.org/guide/keydown.html#mapkeydown\n\t\t */\n\t\tmapKeydown: {\n\t\t\ttype: Function,\n\t\t\t/**\n\t\t\t * Patched Vue-Select keydown events handlers map to stop Escape propagation in open select\n\t\t\t *\n\t\t\t * @param {Record<number, Function>} map - Mapped keyCode to handlers { <keyCode>:<callback> }\n\t\t\t * @param {import('@nextcloud/vue-select').VueSelect} vm - VueSelect instance\n\t\t\t * @return {Record<number, Function>} patched keydown event handlers\n\t\t\t */\n\t\t\tdefault(map, vm) {\n\t\t\t\treturn {\n\t\t\t\t\t...map,\n\t\t\t\t\t/**\n\t\t\t\t\t * Patched Escape handler to stop propagation from open select\n\t\t\t\t\t *\n\t\t\t\t\t * @param {KeyboardEvent} event - default keydown event handler\n\t\t\t\t\t */\n\t\t\t\t\t27: (event) => {\n\t\t\t\t\t\tif (vm.open) {\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Default VueSelect's handler\n\t\t\t\t\t\tmap[27](event)\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * A unique identifier used to generate IDs and DOM attributes. Must be unique for every instance of the component.\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#uid\n\t\t */\n\t\tuid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => GenRandomId(),\n\t\t},\n\n\t\t/**\n\t\t * When `appendToBody` is true, this sets the placement of the dropdown\n\t\t *\n\t\t * @type {'bottom' | 'top'}\n\t\t */\n\t\tplacement: {\n\t\t\ttype: String,\n\t\t\tdefault: 'bottom',\n\t\t},\n\n\t\t/**\n\t\t * If false, the focused dropdown option will not be reset when filtered\n\t\t * options change\n\t\t */\n\t\tresetFocusOnOptionsChange: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Enable the user selector with avatars\n\t\t *\n\t\t * Objects must contain the data expected by the\n\t\t * [NcListItemIcon](#/Components/NcListItemIcon) and\n\t\t * [NcAvatar](#/Components/NcAvatar) components\n\t\t */\n\t\tuserSelect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Removed in v9 - use `modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\tvalue: {\n\t\t\ttype: [String, Number, Object, Array],\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Currently selected value\n\t\t *\n\t\t * The `v-model` directive may be used for two-way data binding\n\t\t *\n\t\t * @type {string | number | Record<string | number, any> | Array<any>}\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#value\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: [String, Number, Object, Array],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Enable if a value is required for native form validation\n\t\t */\n\t\trequired: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Any available prop\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html\n\t\t */\n\t\t// Not an actual prop but needed to show in vue-styleguidist docs\n\t\t// eslint-disable-next-line\n\t\t' ': {},\n\t},\n\n\temits: [\n\t\t/**\n\t\t * All events from https://vue-select.org/api/events.html\n\t\t */\n\t\t// Not an actual event but needed to show in vue-styleguidist docs\n\t\t' ',\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\t'input',\n\t\t'update:modelValue',\n\t\t/** Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t],\n\n\tsetup() {\n\t\tconst clickableArea = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue('--default-clickable-area'))\n\t\tconst gridBaseLine = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue('--default-grid-baseline'))\n\t\tconst avatarSize = clickableArea - 2 * gridBaseLine\n\n\t\tconst model = useModelMigration('value', 'input')\n\n\t\treturn {\n\t\t\tavatarSize,\n\t\t\tmodel,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tsearch: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputRequired() {\n\t\t\tif (!this.required) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t// The <input> itself does not have any value so we set the `required` attribute conditionally\n\t\t\treturn this.model === null || (Array.isArray(this.model) && this.model.length === 0)\n\t\t},\n\n\t\tlocalCalculatePosition() {\n\t\t\tif (this.calculatePosition !== null) {\n\t\t\t\treturn this.calculatePosition\n\t\t\t}\n\n\t\t\treturn (dropdownMenu, component, { width }) => {\n\t\t\t\tdropdownMenu.style.width = width\n\n\t\t\t\tconst addClass = {\n\t\t\t\t\tname: 'addClass',\n\t\t\t\t\tfn(_middlewareArgs) {\n\t\t\t\t\t\tdropdownMenu.classList.add('vs__dropdown-menu--floating')\n\t\t\t\t\t\treturn {}\n\t\t\t\t\t},\n\t\t\t\t}\n\n\t\t\t\tconst togglePlacementClass = {\n\t\t\t\t\tname: 'togglePlacementClass',\n\t\t\t\t\tfn({ placement }) {\n\t\t\t\t\t\tcomponent.$el.classList.toggle(\n\t\t\t\t\t\t\t'select--drop-up',\n\t\t\t\t\t\t\tplacement === 'top',\n\t\t\t\t\t\t)\n\t\t\t\t\t\tdropdownMenu.classList.toggle(\n\t\t\t\t\t\t\t'vs__dropdown-menu--floating-placement-top',\n\t\t\t\t\t\t\tplacement === 'top',\n\t\t\t\t\t\t)\n\t\t\t\t\t\treturn {}\n\t\t\t\t\t},\n\t\t\t\t}\n\n\t\t\t\tconst updatePosition = () => {\n\t\t\t\t\tcomputePosition(component.$refs.toggle, dropdownMenu, {\n\t\t\t\t\t\tplacement: this.placement,\n\t\t\t\t\t\tmiddleware: [\n\t\t\t\t\t\t\toffset(-1),\n\t\t\t\t\t\t\taddClass,\n\t\t\t\t\t\t\ttogglePlacementClass,\n\t\t\t\t\t\t\t// Match popperjs default collision prevention behavior by appending the following middleware in order\n\t\t\t\t\t\t\tflip(),\n\t\t\t\t\t\t\tshift({ limiter: limitShift() }),\n\t\t\t\t\t\t],\n\t\t\t\t\t}).then(({ x, y }) => {\n\t\t\t\t\t\tObject.assign(dropdownMenu.style, {\n\t\t\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\t\t\twidth: `${component.$refs.toggle.getBoundingClientRect().width}px`,\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tconst cleanup = autoUpdate(\n\t\t\t\t\tcomponent.$refs.toggle,\n\t\t\t\t\tdropdownMenu,\n\t\t\t\t\tupdatePosition,\n\t\t\t\t)\n\n\t\t\t\treturn cleanup\n\t\t\t}\n\t\t},\n\n\t\tlocalFilterBy() {\n\t\t\t// Match the email notation like \"Jane <j.doe@example.com>\" with the email address as matching group\n\t\t\tconst EMAIL_NOTATION = /[^<]*<([^>]+)/\n\n\t\t\tif (this.filterBy !== null) {\n\t\t\t\treturn this.filterBy\n\t\t\t}\n\t\t\tif (this.userSelect) {\n\t\t\t\treturn (option, label, search) => {\n\t\t\t\t\tconst match = search.match(EMAIL_NOTATION)\n\t\t\t\t\treturn (match && option.subname?.toLocaleLowerCase?.()?.indexOf(match[1].toLocaleLowerCase()) > -1)\n\t\t\t\t\t\t|| (`${label} ${option.subname}`\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(search.toLocaleLowerCase()) > -1)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn VueSelect.props.filterBy.default\n\t\t},\n\n\t\tlocalLabel() {\n\t\t\tif (this.label !== null) {\n\t\t\t\treturn this.label\n\t\t\t}\n\t\t\tif (this.userSelect) {\n\t\t\t\treturn 'displayName'\n\t\t\t}\n\t\t\treturn VueSelect.props.label.default\n\t\t},\n\n\t\tpropsToForward() {\n\t\t\tconst vueSelectKeys = [\n\t\t\t\t...Object.keys(VueSelect.props),\n\t\t\t\t...VueSelect.mixins.flatMap(mixin => Object.keys(mixin.props ?? {})),\n\t\t\t]\n\t\t\tconst initialPropsToForward = Object.fromEntries(\n\t\t\t\tObject.entries(this.$props)\n\t\t\t\t\t.filter(([key, _value]) => vueSelectKeys.includes(key)),\n\t\t\t)\n\t\t\tconst propsToForward = {\n\t\t\t\t...initialPropsToForward,\n\t\t\t\t// Custom overrides of vue-select props\n\t\t\t\tvalue: this.model,\n\t\t\t\tcalculatePosition: this.localCalculatePosition,\n\t\t\t\tfilterBy: this.localFilterBy,\n\t\t\t\tlabel: this.localLabel,\n\t\t\t}\n\t\t\treturn propsToForward\n\t\t},\n\n\t\tlistenersToForward() {\n\t\t\treturn {\n\t\t\t\t...this.$listeners,\n\t\t\t\tinput: ($event) => {\n\t\t\t\t\tthis.model = $event\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (!this.labelOutside && !this.inputLabel && !this.ariaLabelCombobox) {\n\t\t\tVue.util.warn('[NcSelect] An `inputLabel` or `ariaLabelCombobox` should be set. If an external label is used, `labelOutside` should be set to `true`.')\n\t\t}\n\t\tif (this.inputLabel && this.ariaLabelCombobox) {\n\t\t\tVue.util.warn('[NcSelect] Only one of `inputLabel` or `ariaLabelCombobox` should to be set.')\n\t\t}\n\t},\n\n\tmethods: {\n\t\tt,\n\t},\n}\n</script>\n\n<style lang=\"scss\">\nbody {\n\t/**\n\t * Set custom vue-select CSS variables.\n\t * Needs to be on the body (not :root) for theming to apply (see nextcloud/server#36462)\n\t */\n\n\t/* Search Input */\n\t--vs-search-input-color: var(--color-main-text);\n\t--vs-search-input-bg: var(--color-main-background);\n\t--vs-search-input-placeholder-color: var(--color-text-maxcontrast);\n\n\t/* Font */\n\t--vs-font-size: var(--default-font-size);\n\t--vs-line-height: var(--default-line-height);\n\n\t/* Disabled State */\n\t--vs-state-disabled-bg: var(--color-background-hover);\n\t--vs-state-disabled-color: var(--color-text-maxcontrast);\n\t--vs-state-disabled-controls-color: var(--color-text-maxcontrast);\n\t--vs-state-disabled-cursor: not-allowed;\n\t--vs-disabled-bg: var(--color-background-hover);\n\t--vs-disabled-color: var(--color-text-maxcontrast);\n\t--vs-disabled-cursor: not-allowed;\n\n\t/* Borders */\n\t--vs-border-color: var(--color-border-maxcontrast);\n\t--vs-border-width: var(--border-width-input, 2px) !important;\n\t--vs-border-style: solid;\n\t--vs-border-radius: var(--border-radius-large);\n\n\t/* Component Controls: Clear, Open Indicator */\n\t--vs-controls-color: var(--color-main-text);\n\n\t/* Selected */\n\t--vs-selected-bg: var(--color-background-hover);\n\t--vs-selected-color: var(--color-main-text);\n\t--vs-selected-border-color: var(--vs-border-color);\n\t--vs-selected-border-style: var(--vs-border-style);\n\t--vs-selected-border-width: var(--vs-border-width);\n\n\t/* Dropdown */\n\t--vs-dropdown-bg: var(--color-main-background);\n\t--vs-dropdown-color: var(--color-main-text);\n\t--vs-dropdown-z-index: 9999;\n\t--vs-dropdown-box-shadow: 0px 2px 2px 0px var(--color-box-shadow);\n\n\t/* Options */\n\t--vs-dropdown-option-padding: 8px 20px;\n\n\t/* Active State */\n\t--vs-dropdown-option--active-bg: var(--color-background-hover);\n\t--vs-dropdown-option--active-color: var(--color-main-text);\n\n\t/* Keyboard Focus State */\n\t--vs-dropdown-option--kb-focus-box-shadow: inset 0px 0px 0px 2px var(--vs-border-color);\n\n\t/* Deselect State */\n\t--vs-dropdown-option--deselect-bg: var(--color-error);\n\t--vs-dropdown-option--deselect-color: #fff;\n\n\t/* Transitions */\n\t--vs-transition-duration: 0ms;\n\n\t/* Actions */\n\t--vs-actions-padding: 0 8px 0 4px;\n}\n\n.v-select.select {\n\t/* Override default vue-select styles */\n\tmin-height: var(--default-clickable-area);\n\tmin-width: 260px;\n\tmargin: 0 0 var(--default-grid-baseline);\n\n\t&.vs--open {\n\t\t--vs-border-width: var(--border-width-input-focused, 2px);\n\t}\n\n\t.select__label {\n\t\tdisplay: block;\n\t\tmargin-bottom: 2px;\n\t}\n\n\t.vs__selected {\n\t\theight: calc(var(--default-clickable-area) - 2 * var(--vs-border-width) - var(--default-grid-baseline));\n\t\tmargin: calc(var(--default-grid-baseline) / 2);\n\t\tpadding-block: 0;\n\t\tpadding-inline: 12px 8px;\n\t\tborder-radius: 16px !important;\n\t\tbackground: var(--color-primary-element-light);\n\t\tborder: none;\n\t}\n\n\t&.vs--open .vs__selected:first-of-type {\n\t\tmargin-inline-start: calc(var(--default-grid-baseline) / 2 - (var(--border-width-input-focused, 2px) - var(--border-width-input, 2px))) !important; // prevent jumping\n\t}\n\n\t.vs__search {\n\t\ttext-overflow: ellipsis;\n\t\tcolor: var(--color-main-text);\n\t\tmin-height: unset !important;\n\t\theight: calc(var(--default-clickable-area) - 2 * var(--vs-border-width)) !important;\n\n\t\t&::placeholder {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\n\t.vs__search, .vs__search:focus {\n\t\tmargin: 0;\n\t}\n\n\t.vs__dropdown-toggle {\n\t\tposition: relative;\n\t\tmax-height: 100px;\n\t\tpadding: 0;\n\t\toverflow-y: auto;\n\t}\n\n\t.vs__actions {\n\t\tposition: sticky;\n\t\ttop: 0;\n\t}\n\n\t.vs__clear {\n\t\tmargin-right: 2px;\n\t}\n\n\t&.vs--open .vs__dropdown-toggle {\n\t\tborder-width: var(--border-width-input-focused);\n\t\toutline: 2px solid var(--color-main-background);\n\t\tborder-color: var(--color-main-text);\n\t\tborder-bottom-color: transparent;\n\t}\n\n\t&:not(.vs--disabled, .vs--open) .vs__dropdown-toggle:hover {\n\t\toutline: 2px solid var(--color-main-background);\n\t\tborder-color: var(--color-main-text);\n\t}\n\n\t&.vs--disabled {\n\t\t.vs__search,\n\t\t.vs__selected {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\n\t\t.vs__clear,\n\t\t.vs__deselect {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t&--no-wrap {\n\t\t.vs__selected-options {\n\t\t\tflex-wrap: nowrap;\n\t\t\toverflow: auto;\n\t\t\tmin-width: unset;\n\t\t\t.vs__selected {\n\t\t\t\tmin-width: unset;\n\t\t\t}\n\t\t}\n\t}\n\n\t&--drop-up {\n\t\t&.vs--open {\n\t\t\t.vs__dropdown-toggle {\n\t\t\t\tborder-radius: 0 0 var(--vs-border-radius) var(--vs-border-radius);\n\t\t\t\tborder-top-color: transparent;\n\t\t\t\tborder-bottom-color: var(--color-main-text);\n\t\t\t}\n\t\t}\n\t}\n\n\t.vs__selected-options {\n\t\t// If search is hidden, ensure that the height of the search is the same\n\t\tmin-height: calc(var(--default-clickable-area) - 2 * var(--vs-border-width));\n\n\t\t// Hide search from dom if unused to prevent unneeded flex wrap\n\t\t.vs__selected ~ .vs__search[readonly] {\n\t\t\tposition: absolute;\n\t\t}\n\t\tpadding: 0 5px;\n\t}\n\n\t&.vs--single {\n\t\t&.vs--loading,\n\t\t&.vs--open {\n\t\t\t.vs__selected {\n\t\t\t\t// Fix `max-width` for `position: absolute`\n\t\t\t\tmax-width: 100%;\n\t\t\t\t// Fix color to be accessible\n\t\t\t\topacity: 1;\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\t\t}\n\t\t.vs__selected-options {\n\t\t\tflex-wrap: nowrap;\n\t\t}\n\t\t.vs__selected {\n\t\t\tbackground: unset !important;\n\t\t}\n\t}\n}\n\n.vs__dropdown-menu {\n\tborder-width: var(--border-width-input-focused) !important;\n\tborder-color: var(--color-main-text) !important;\n\toutline: none !important;\n\tbox-shadow:\n\t\t-2px 0 0 var(--color-main-background), // Right\n\t\t0 2px 0 var(--color-main-background), // Bottom\n\t\t2px 0 0 var(--color-main-background), // Left\n\t\t!important;\n\tpadding: 4px !important;\n\n\t&--floating {\n\t\t/* Fallback styles overidden by programmatically set inline styles */\n\t\twidth: max-content;\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\n\t\t&-placement-top {\n\t\t\tborder-radius: var(--vs-border-radius) var(--vs-border-radius) 0 0 !important;\n\t\t\tborder-top-style: var(--vs-border-style) !important;\n\t\t\tborder-bottom-style: none !important;\n\t\t\tbox-shadow:\n\t\t\t\t0 -2px 0 var(--color-main-background), // Top\n\t\t\t\t-2px 0 0 var(--color-main-background), // Right\n\t\t\t\t2px 0 0 var(--color-main-background), // Left\n\t\t\t\t!important\n\t\t}\n\t}\n\n\t.vs__dropdown-option {\n\t\tborder-radius: 6px !important;\n\t}\n\n\t.vs__no-options {\n\t\tcolor: var(--color-text-lighter) !important;\n\t}\n}\n\n// Selected users require slightly different padding\n.user-select .vs__selected {\n\tpadding-inline: 0 5px !important;\n}\n</style>\n"],"names":[],"mappings":"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"}
|