@nextcloud/vue 8.40.0 → 8.41.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 +81 -78
- package/dist/Components/NcActionButtonGroup.cjs +1 -1
- package/dist/Components/NcActionButtonGroup.mjs +1 -1
- package/dist/Components/NcActionInput.cjs +1 -1
- package/dist/Components/NcActionInput.mjs +1 -1
- package/dist/Components/NcActions.cjs +1 -1
- package/dist/Components/NcActions.mjs +1 -1
- package/dist/Components/NcAppContent.cjs +1 -1
- package/dist/Components/NcAppContent.mjs +1 -1
- package/dist/Components/NcAppNavigation.cjs +1 -1
- package/dist/Components/NcAppNavigation.mjs +1 -1
- package/dist/Components/NcAppNavigationCaption.cjs +1 -1
- package/dist/Components/NcAppNavigationCaption.mjs +1 -1
- package/dist/Components/NcAppNavigationItem.cjs +1 -1
- package/dist/Components/NcAppNavigationItem.mjs +1 -1
- package/dist/Components/NcAppNavigationNew.cjs +1 -1
- package/dist/Components/NcAppNavigationNew.mjs +1 -1
- package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
- package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
- package/dist/Components/NcAppNavigationSearch.cjs +1 -1
- package/dist/Components/NcAppNavigationSearch.mjs +1 -1
- package/dist/Components/NcAppNavigationSettings.cjs +1 -1
- package/dist/Components/NcAppNavigationSettings.mjs +1 -1
- package/dist/Components/NcAppNavigationToggle.cjs +1 -1
- package/dist/Components/NcAppNavigationToggle.mjs +1 -1
- package/dist/Components/NcAppSettingsDialog.cjs +1 -1
- package/dist/Components/NcAppSettingsDialog.mjs +1 -1
- package/dist/Components/NcAppSettingsSectionShortcuts.cjs +1 -1
- package/dist/Components/NcAppSettingsSectionShortcuts.mjs +1 -1
- package/dist/Components/NcAppSettingsShortcutsSection.cjs +1 -1
- package/dist/Components/NcAppSettingsShortcutsSection.mjs +1 -1
- package/dist/Components/NcAppSidebar.cjs +1 -1
- package/dist/Components/NcAppSidebar.mjs +1 -1
- package/dist/Components/NcAssistantButton.cjs +1 -1
- package/dist/Components/NcAssistantButton.mjs +1 -1
- package/dist/Components/NcAssistantContent.cjs +4 -4
- package/dist/Components/NcAssistantContent.mjs +4 -4
- package/dist/Components/NcAssistantIcon.cjs +1 -1
- package/dist/Components/NcAssistantIcon.mjs +1 -1
- package/dist/Components/NcAvatar.cjs +1 -1
- package/dist/Components/NcAvatar.mjs +1 -1
- package/dist/Components/NcBlurHash.cjs +1 -1
- package/dist/Components/NcBlurHash.mjs +1 -1
- package/dist/Components/NcBreadcrumb.cjs +1 -1
- package/dist/Components/NcBreadcrumb.mjs +1 -1
- package/dist/Components/NcBreadcrumbs.cjs +1 -1
- package/dist/Components/NcBreadcrumbs.mjs +1 -1
- package/dist/Components/NcButton.cjs +1 -1
- package/dist/Components/NcButton.mjs +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
- package/dist/Components/NcChip.cjs +3 -3
- package/dist/Components/NcChip.mjs +3 -3
- package/dist/Components/NcCollectionList.cjs +1 -1
- package/dist/Components/NcCollectionList.mjs +1 -1
- package/dist/Components/NcColorPicker.cjs +1 -1
- package/dist/Components/NcColorPicker.mjs +1 -1
- package/dist/Components/NcContent.cjs +1 -1
- package/dist/Components/NcContent.mjs +1 -1
- package/dist/Components/NcDashboardWidget.cjs +1 -1
- package/dist/Components/NcDashboardWidget.mjs +1 -1
- package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
- package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
- package/dist/Components/NcDateTimePicker.cjs +6 -6
- package/dist/Components/NcDateTimePicker.mjs +6 -6
- package/dist/Components/NcDateTimePickerNative.cjs +1 -1
- package/dist/Components/NcDateTimePickerNative.mjs +1 -1
- package/dist/Components/NcDialog.cjs +1 -1
- package/dist/Components/NcDialog.mjs +1 -1
- package/dist/Components/NcDialogButton.cjs +1 -1
- package/dist/Components/NcDialogButton.mjs +1 -1
- package/dist/Components/NcEmojiPicker.cjs +1 -1
- package/dist/Components/NcEmojiPicker.mjs +1 -1
- package/dist/Components/NcFilePicker.cjs +1 -1
- package/dist/Components/NcFilePicker.mjs +1 -1
- package/dist/Components/NcFormBox.cjs +1 -1
- package/dist/Components/NcFormBox.mjs +1 -1
- package/dist/Components/NcFormBoxButton.cjs +1 -1
- package/dist/Components/NcFormBoxButton.mjs +1 -1
- package/dist/Components/NcFormBoxCopyButton.cjs +1 -1
- package/dist/Components/NcFormBoxCopyButton.mjs +1 -1
- package/dist/Components/NcFormBoxSwitch.cjs +1 -1
- package/dist/Components/NcFormBoxSwitch.mjs +1 -1
- package/dist/Components/NcFormGroup.cjs +1 -1
- package/dist/Components/NcFormGroup.mjs +1 -1
- package/dist/Components/NcHeaderButton.cjs +1 -1
- package/dist/Components/NcHeaderButton.mjs +1 -1
- package/dist/Components/NcHeaderMenu.cjs +1 -1
- package/dist/Components/NcHeaderMenu.mjs +1 -1
- package/dist/Components/NcHotkey.cjs +1 -1
- package/dist/Components/NcHotkey.mjs +1 -1
- package/dist/Components/NcHotkeyList.cjs +1 -1
- package/dist/Components/NcHotkeyList.mjs +1 -1
- package/dist/Components/NcInputField.cjs +1 -1
- package/dist/Components/NcInputField.mjs +1 -1
- package/dist/Components/NcKbd.cjs +1 -1
- package/dist/Components/NcKbd.mjs +1 -1
- package/dist/Components/NcListItem.cjs +1 -1
- package/dist/Components/NcListItem.mjs +1 -1
- package/dist/Components/NcListItemIcon.cjs +1 -1
- package/dist/Components/NcListItemIcon.mjs +1 -1
- package/dist/Components/NcModal.cjs +5 -5
- package/dist/Components/NcModal.mjs +5 -5
- package/dist/Components/NcNoteCard.cjs +1 -1
- package/dist/Components/NcNoteCard.mjs +1 -1
- package/dist/Components/NcPasswordField.cjs +1 -1
- package/dist/Components/NcPasswordField.mjs +1 -1
- package/dist/Components/NcPopover.cjs +1 -1
- package/dist/Components/NcPopover.mjs +1 -1
- package/dist/Components/NcProfileHoverCard.cjs +4 -0
- package/dist/Components/NcProfileHoverCard.cjs.map +1 -0
- package/dist/Components/NcProfileHoverCard.mjs +5 -0
- package/dist/Components/NcProfileHoverCard.mjs.map +1 -0
- package/dist/Components/NcRadioGroup.cjs +1 -1
- package/dist/Components/NcRadioGroup.mjs +1 -1
- package/dist/Components/NcRadioGroupButton.cjs +1 -1
- package/dist/Components/NcRadioGroupButton.mjs +1 -1
- package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
- package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
- package/dist/Components/NcRichContenteditable.cjs +1 -1
- package/dist/Components/NcRichContenteditable.mjs +1 -1
- package/dist/Components/NcRichText.cjs +9 -7
- package/dist/Components/NcRichText.cjs.map +1 -1
- package/dist/Components/NcRichText.mjs +15 -13
- package/dist/Components/NcRichText.mjs.map +1 -1
- package/dist/Components/NcSelect.cjs +1 -1
- package/dist/Components/NcSelect.mjs +1 -1
- package/dist/Components/NcSelectTags.cjs +1 -1
- package/dist/Components/NcSelectTags.mjs +1 -1
- package/dist/Components/NcSelectUsers.cjs +1 -1
- package/dist/Components/NcSelectUsers.mjs +1 -1
- package/dist/Components/NcSettingsInputText.cjs +1 -1
- package/dist/Components/NcSettingsInputText.mjs +1 -1
- package/dist/Components/NcSettingsSection.cjs +1 -1
- package/dist/Components/NcSettingsSection.mjs +1 -1
- package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
- package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
- package/dist/Components/NcTextArea.cjs +1 -1
- package/dist/Components/NcTextArea.mjs +1 -1
- package/dist/Components/NcTextField.cjs +1 -1
- package/dist/Components/NcTextField.mjs +1 -1
- package/dist/Components/NcTimezonePicker.cjs +1 -1
- package/dist/Components/NcTimezonePicker.mjs +1 -1
- package/dist/Components/NcUserBubble.cjs +1 -1
- package/dist/Components/NcUserBubble.mjs +1 -1
- package/dist/Components/NcUserStatusIcon.cjs +1 -1
- package/dist/Components/NcUserStatusIcon.mjs +1 -1
- package/dist/Composables/useFormatDateTime.cjs +11 -5
- package/dist/Composables/useFormatDateTime.cjs.map +1 -1
- package/dist/Composables/useFormatDateTime.mjs +11 -5
- package/dist/Composables/useFormatDateTime.mjs.map +1 -1
- package/dist/Functions/reference.cjs +11 -10
- package/dist/Functions/reference.cjs.map +1 -1
- package/dist/Functions/reference.mjs +7 -6
- package/dist/Functions/reference.mjs.map +1 -1
- package/dist/Functions/registerReference.cjs +6 -5
- package/dist/Functions/registerReference.cjs.map +1 -1
- package/dist/Functions/registerReference.mjs +6 -5
- package/dist/Functions/registerReference.mjs.map +1 -1
- package/dist/Functions/usernameToColor.cjs +1 -1
- package/dist/Functions/usernameToColor.mjs +1 -1
- package/dist/assets/{NcAppNavigationToggle-DgwbZOWc.css → NcAppNavigationToggle-D1K2TRZ-.css} +3 -3
- package/dist/assets/{NcAppSettingsDialog-Bi5b1VZg.css → NcAppSettingsDialog-Cu7QAD8V.css} +3 -3
- package/dist/assets/{NcAppSettingsShortcutsSection-zIKJEvmV.css → NcAppSettingsShortcutsSection-D-FcvAWd.css} +3 -3
- package/dist/assets/{NcAssistantButton-CaIHaboe.css → NcAssistantButton-C6d88UPB.css} +9 -9
- package/dist/assets/{NcAssistantContent-D6ZguiGh.css → NcAssistantContent-DTHxHZ09.css} +3 -3
- package/dist/assets/{NcAssistantIcon-Cmlid9NS.css → NcAssistantIcon-BV1uZpAb.css} +4 -4
- package/dist/assets/{NcAvatar-Dc_YuZk2.css → NcAvatar-BdHHFwV3.css} +40 -25
- package/dist/assets/{NcBlurHash-BW1TQ16k.css → NcBlurHash-Zj5Z9WKv.css} +2 -2
- package/dist/assets/{NcCheckboxRadioSwitch-DhXG73Zr.css → NcCheckboxRadioSwitch-DCSWiHVq.css} +38 -38
- package/dist/assets/{NcDateTimePicker-DuZR5gqu.css → NcDateTimePicker-CD0ZGUBz.css} +15 -15
- package/dist/assets/{NcFilePicker-D_SA_uGV.css → NcFilePicker-BjFpDu4R.css} +1 -1
- package/dist/assets/{NcFormBox-yb5gffYX.css → NcFormBox-DoEpsPVV.css} +11 -11
- package/dist/assets/{NcFormBoxButton-BnSImmUm.css → NcFormBoxButton-CFtdjCfy.css} +2 -2
- package/dist/assets/{NcFormBoxItem-DiaYRoDl.css → NcFormBoxItem-C918I2qS.css} +14 -14
- package/dist/assets/{NcFormBoxSwitch-CDDwfQx6.css → NcFormBoxSwitch-C4cbxBBA.css} +2 -2
- package/dist/assets/{NcFormGroup-ChUa97BY.css → NcFormGroup-CUFSO_ru.css} +7 -7
- package/dist/assets/{NcHotkey-B-GNBJym.css → NcHotkey-D_InvA0N.css} +8 -8
- package/dist/assets/{NcHotkeyList-D7NVZF42.css → NcHotkeyList-XE5Xd_iE.css} +2 -2
- package/dist/assets/{NcIconToggleSwitch-Df8M_g5F.css → NcIconToggleSwitch-DO_sv5_o.css} +4 -4
- package/dist/assets/{NcKbd-BQUEINsB.css → NcKbd-IflT8hS_.css} +3 -3
- package/dist/assets/{NcPopover-CVOTdP6j.css → NcPopover-nBCZ8J9Q.css} +13 -13
- package/dist/assets/NcProfileHoverCard-D3V682nS.css +340 -0
- package/dist/assets/{NcRadioGroup-DQde-Yd1.css → NcRadioGroup-Bq7x-xEK.css} +2 -2
- package/dist/assets/{NcRadioGroupButton-Dwpy1m0F.css → NcRadioGroupButton-i11p0wHX.css} +13 -13
- package/dist/assets/NcReferenceWidget-Cg4xOL_8.css +150 -0
- package/dist/assets/{NcRichContenteditable-Dwd67_kU.css → NcRichContenteditable-DRPzKa4Z.css} +17 -17
- package/dist/assets/{autolink-CR5N0xNQ.css → autolink-CEziQYgN.css} +3 -3
- package/dist/assets/{referencePickerModal-C4Pr02xT.css → referencePickerModal-0oYth4rX.css} +0 -149
- package/dist/chunks/DockRight-B0D52yCO.mjs +38 -0
- package/dist/chunks/DockRight-B0D52yCO.mjs.map +1 -0
- package/dist/chunks/DockRight-CXafXJaH.cjs +37 -0
- package/dist/chunks/DockRight-CXafXJaH.cjs.map +1 -0
- package/dist/chunks/{NcActionButtonGroup-B95wg_Q6.mjs → NcActionButtonGroup-C3eUBbt4.mjs} +2 -2
- package/dist/chunks/{NcActionButtonGroup-B95wg_Q6.mjs.map → NcActionButtonGroup-C3eUBbt4.mjs.map} +1 -1
- package/dist/chunks/{NcActionButtonGroup-CFGCmzTM.cjs → NcActionButtonGroup-CsOhQH6p.cjs} +2 -2
- package/dist/chunks/{NcActionButtonGroup-CFGCmzTM.cjs.map → NcActionButtonGroup-CsOhQH6p.cjs.map} +1 -1
- package/dist/chunks/{NcActionInput-DITmqZz5.cjs → NcActionInput-C-j7Mehu.cjs} +5 -5
- package/dist/chunks/{NcActionInput-DITmqZz5.cjs.map → NcActionInput-C-j7Mehu.cjs.map} +1 -1
- package/dist/chunks/{NcActionInput-Xepxb1Nk.mjs → NcActionInput-CMLDgnF_.mjs} +5 -5
- package/dist/chunks/{NcActionInput-Xepxb1Nk.mjs.map → NcActionInput-CMLDgnF_.mjs.map} +1 -1
- package/dist/chunks/{NcActions-JnumflF4.mjs → NcActions-CX1MSord.mjs} +5 -5
- package/dist/chunks/{NcActions-JnumflF4.mjs.map → NcActions-CX1MSord.mjs.map} +1 -1
- package/dist/chunks/{NcActions-DYWuXM9w.cjs → NcActions-H0GXWVPU.cjs} +5 -5
- package/dist/chunks/{NcActions-DYWuXM9w.cjs.map → NcActions-H0GXWVPU.cjs.map} +1 -1
- package/dist/chunks/{NcAppContent-BScPRxTJ.mjs → NcAppContent-7ziLICwJ.mjs} +5 -6
- package/dist/chunks/NcAppContent-7ziLICwJ.mjs.map +1 -0
- package/dist/chunks/{NcAppContent-BDqXhfww.cjs → NcAppContent-BCYyp6nc.cjs} +7 -8
- package/dist/chunks/NcAppContent-BCYyp6nc.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigation-C4iIEWY3.mjs → NcAppNavigation-BDyBoXA1.mjs} +3 -3
- package/dist/chunks/{NcAppNavigation-C4iIEWY3.mjs.map → NcAppNavigation-BDyBoXA1.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigation-qz271rGf.cjs → NcAppNavigation-BEor4mmi.cjs} +3 -3
- package/dist/chunks/{NcAppNavigation-qz271rGf.cjs.map → NcAppNavigation-BEor4mmi.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationCaption-BJnvmftc.mjs → NcAppNavigationCaption-DYdHKPv7.mjs} +2 -2
- package/dist/chunks/{NcAppNavigationCaption-BJnvmftc.mjs.map → NcAppNavigationCaption-DYdHKPv7.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationCaption-CYN9-_R2.cjs → NcAppNavigationCaption-drD-T2kk.cjs} +2 -2
- package/dist/chunks/{NcAppNavigationCaption-CYN9-_R2.cjs.map → NcAppNavigationCaption-drD-T2kk.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationItem-qRteEY0G.cjs → NcAppNavigationItem-Ccy8CT50.cjs} +8 -8
- package/dist/chunks/{NcAppNavigationItem-qRteEY0G.cjs.map → NcAppNavigationItem-Ccy8CT50.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationItem-DRaKry-f.mjs → NcAppNavigationItem-Dg-2s6bP.mjs} +8 -8
- package/dist/chunks/{NcAppNavigationItem-DRaKry-f.mjs.map → NcAppNavigationItem-Dg-2s6bP.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNew-BAuYV_06.cjs → NcAppNavigationNew-4O3IsPEz.cjs} +2 -2
- package/dist/chunks/{NcAppNavigationNew-BAuYV_06.cjs.map → NcAppNavigationNew-4O3IsPEz.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNew-BOfIdgIu.mjs → NcAppNavigationNew-B8Ny1xKx.mjs} +2 -2
- package/dist/chunks/{NcAppNavigationNew-BOfIdgIu.mjs.map → NcAppNavigationNew-B8Ny1xKx.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNewItem-KbbB-8vX.mjs → NcAppNavigationNewItem-BHnL_502.mjs} +2 -2
- package/dist/chunks/{NcAppNavigationNewItem-KbbB-8vX.mjs.map → NcAppNavigationNewItem-BHnL_502.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNewItem-B-29d1We.cjs → NcAppNavigationNewItem-CW4Y7Hz9.cjs} +2 -2
- package/dist/chunks/{NcAppNavigationNewItem-B-29d1We.cjs.map → NcAppNavigationNewItem-CW4Y7Hz9.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSearch-CI_e6Rva.mjs → NcAppNavigationSearch-DIO0S2TU.mjs} +4 -4
- package/dist/chunks/{NcAppNavigationSearch-CI_e6Rva.mjs.map → NcAppNavigationSearch-DIO0S2TU.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSearch-Du8eBuvW.cjs → NcAppNavigationSearch-DZEqsYpD.cjs} +4 -4
- package/dist/chunks/{NcAppNavigationSearch-Du8eBuvW.cjs.map → NcAppNavigationSearch-DZEqsYpD.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSettings-BN3w-BCp.mjs → NcAppNavigationSettings-3jZKd9et.mjs} +5 -5
- package/dist/chunks/{NcAppNavigationSettings-BN3w-BCp.mjs.map → NcAppNavigationSettings-3jZKd9et.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSettings-C2Txc8sh.cjs → NcAppNavigationSettings-DpIprW-E.cjs} +5 -5
- package/dist/chunks/{NcAppNavigationSettings-C2Txc8sh.cjs.map → NcAppNavigationSettings-DpIprW-E.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationToggle-B7K9pxVq.cjs → NcAppNavigationToggle-DFGuYTE8.cjs} +23 -52
- package/dist/chunks/NcAppNavigationToggle-DFGuYTE8.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationToggle-CZqz-wC8.mjs → NcAppNavigationToggle-DQZ2LWw4.mjs} +23 -52
- package/dist/chunks/NcAppNavigationToggle-DQZ2LWw4.mjs.map +1 -0
- package/dist/chunks/{NcAppSettingsDialog-DhHJQute.cjs → NcAppSettingsDialog-BoHdpAtG.cjs} +9 -9
- package/dist/chunks/{NcAppSettingsDialog-DhHJQute.cjs.map → NcAppSettingsDialog-BoHdpAtG.cjs.map} +1 -1
- package/dist/chunks/{NcAppSettingsDialog-C7Oywy1u.mjs → NcAppSettingsDialog-JB67n8yt.mjs} +9 -9
- package/dist/chunks/{NcAppSettingsDialog-C7Oywy1u.mjs.map → NcAppSettingsDialog-JB67n8yt.mjs.map} +1 -1
- package/dist/chunks/{NcAppSettingsShortcutsSection-CLKzAASc.cjs → NcAppSettingsShortcutsSection-Bli0fYba.cjs} +6 -6
- package/dist/chunks/NcAppSettingsShortcutsSection-Bli0fYba.cjs.map +1 -0
- package/dist/chunks/{NcAppSettingsShortcutsSection-D3ylJW58.mjs → NcAppSettingsShortcutsSection-BpUlnEbQ.mjs} +6 -6
- package/dist/chunks/NcAppSettingsShortcutsSection-BpUlnEbQ.mjs.map +1 -0
- package/dist/chunks/{NcAppSidebar-CEo2tgBa.mjs → NcAppSidebar-B2F66PCc.mjs} +13 -45
- package/dist/chunks/NcAppSidebar-B2F66PCc.mjs.map +1 -0
- package/dist/chunks/{NcAppSidebar-DJ8JImth.cjs → NcAppSidebar-CMHPTlTQ.cjs} +13 -45
- package/dist/chunks/NcAppSidebar-CMHPTlTQ.cjs.map +1 -0
- package/dist/chunks/{NcAssistantButton-CHiZT-vH.mjs → NcAssistantButton-D2gOuok6.mjs} +11 -11
- package/dist/chunks/{NcAssistantButton-CHiZT-vH.mjs.map → NcAssistantButton-D2gOuok6.mjs.map} +1 -1
- package/dist/chunks/{NcAssistantButton-CPlpv0Sl.cjs → NcAssistantButton-po8AW9pX.cjs} +11 -11
- package/dist/chunks/{NcAssistantButton-CPlpv0Sl.cjs.map → NcAssistantButton-po8AW9pX.cjs.map} +1 -1
- package/dist/chunks/{NcAssistantIcon-mcLe7umL.mjs → NcAssistantIcon-CTTn1608.mjs} +6 -6
- package/dist/chunks/{NcAssistantIcon-mcLe7umL.mjs.map → NcAssistantIcon-CTTn1608.mjs.map} +1 -1
- package/dist/chunks/{NcAssistantIcon-CS-KbVIN.cjs → NcAssistantIcon-D_1fcbQU.cjs} +6 -6
- package/dist/chunks/{NcAssistantIcon-CS-KbVIN.cjs.map → NcAssistantIcon-D_1fcbQU.cjs.map} +1 -1
- package/dist/chunks/{NcAvatar-BFWbPSke.cjs → NcAvatar-BbR_mZyT.cjs} +125 -20
- package/dist/chunks/NcAvatar-BbR_mZyT.cjs.map +1 -0
- package/dist/chunks/{NcAvatar-BBqomFJ3.mjs → NcAvatar-C1ty7wsG.mjs} +124 -20
- package/dist/chunks/NcAvatar-C1ty7wsG.mjs.map +1 -0
- package/dist/chunks/{NcBlurHash-DEa3MZG5.cjs → NcBlurHash-CXPnoVsM.cjs} +4 -4
- package/dist/chunks/{NcBlurHash-DEa3MZG5.cjs.map → NcBlurHash-CXPnoVsM.cjs.map} +1 -1
- package/dist/chunks/{NcBlurHash-CP2UBH-9.mjs → NcBlurHash-DKfLn7BC.mjs} +4 -4
- package/dist/chunks/{NcBlurHash-CP2UBH-9.mjs.map → NcBlurHash-DKfLn7BC.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumb-BN1Qrbjc.mjs → NcBreadcrumb-BPaEIFrD.mjs} +3 -3
- package/dist/chunks/{NcBreadcrumb-BN1Qrbjc.mjs.map → NcBreadcrumb-BPaEIFrD.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumb-D81qHmqH.cjs → NcBreadcrumb-ZV3_rxwo.cjs} +3 -3
- package/dist/chunks/{NcBreadcrumb-D81qHmqH.cjs.map → NcBreadcrumb-ZV3_rxwo.cjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumbs-OySgLqXi.mjs → NcBreadcrumbs-BN_Nk5sm.mjs} +3 -3
- package/dist/chunks/{NcBreadcrumbs-OySgLqXi.mjs.map → NcBreadcrumbs-BN_Nk5sm.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumbs-DxnTSsvR.cjs → NcBreadcrumbs-lgJctYCF.cjs} +3 -3
- package/dist/chunks/{NcBreadcrumbs-DxnTSsvR.cjs.map → NcBreadcrumbs-lgJctYCF.cjs.map} +1 -1
- package/dist/chunks/{NcButton-D6Swkr1k.mjs → NcButton-DAGirW_B.mjs} +2 -2
- package/dist/chunks/{NcButton-D6Swkr1k.mjs.map → NcButton-DAGirW_B.mjs.map} +1 -1
- package/dist/chunks/{NcButton-B3UxfMyE.cjs → NcButton-W3wDpCdX.cjs} +2 -2
- package/dist/chunks/{NcButton-B3UxfMyE.cjs.map → NcButton-W3wDpCdX.cjs.map} +1 -1
- package/dist/chunks/{NcCheckboxRadioSwitch-Ddl_QlRN.mjs → NcCheckboxRadioSwitch-BAjRm8PQ.mjs} +17 -8
- package/dist/chunks/NcCheckboxRadioSwitch-BAjRm8PQ.mjs.map +1 -0
- package/dist/chunks/{NcCheckboxRadioSwitch-BonPjuho.cjs → NcCheckboxRadioSwitch-Bc1iPxKK.cjs} +17 -8
- package/dist/chunks/{NcCheckboxRadioSwitch-Ddl_QlRN.mjs.map → NcCheckboxRadioSwitch-Bc1iPxKK.cjs.map} +1 -1
- package/dist/chunks/{NcCollectionList-q7zkDwqG.mjs → NcCollectionList-75D50pZU.mjs} +8 -8
- package/dist/chunks/{NcCollectionList-q7zkDwqG.mjs.map → NcCollectionList-75D50pZU.mjs.map} +1 -1
- package/dist/chunks/{NcCollectionList-BXSYaf2B.cjs → NcCollectionList-CX9fHs--.cjs} +8 -8
- package/dist/chunks/{NcCollectionList-BXSYaf2B.cjs.map → NcCollectionList-CX9fHs--.cjs.map} +1 -1
- package/dist/chunks/{NcColorPicker-DlAxFoRr.mjs → NcColorPicker-BwqjqV32.mjs} +6 -6
- package/dist/chunks/{NcColorPicker-DlAxFoRr.mjs.map → NcColorPicker-BwqjqV32.mjs.map} +1 -1
- package/dist/chunks/{NcColorPicker-CO85TDOK.cjs → NcColorPicker-oQVwX8dO.cjs} +6 -6
- package/dist/chunks/{NcColorPicker-CO85TDOK.cjs.map → NcColorPicker-oQVwX8dO.cjs.map} +1 -1
- package/dist/chunks/{NcContent-D5FcB_7G.cjs → NcContent-BlABZ4r6.cjs} +5 -5
- package/dist/chunks/{NcContent-D5FcB_7G.cjs.map → NcContent-BlABZ4r6.cjs.map} +1 -1
- package/dist/chunks/{NcContent-BgMXU5Dv.mjs → NcContent-nvVwz9xO.mjs} +5 -5
- package/dist/chunks/{NcContent-BgMXU5Dv.mjs.map → NcContent-nvVwz9xO.mjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidget-DnR3x-B1.cjs → NcDashboardWidget-CY9oWI6e.cjs} +5 -5
- package/dist/chunks/{NcDashboardWidget-DnR3x-B1.cjs.map → NcDashboardWidget-CY9oWI6e.cjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidget-oyS__D-B.mjs → NcDashboardWidget-d_eqooRR.mjs} +5 -5
- package/dist/chunks/{NcDashboardWidget-oyS__D-B.mjs.map → NcDashboardWidget-d_eqooRR.mjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidgetItem-NxvhaIPP.cjs → NcDashboardWidgetItem-BWELTjeT.cjs} +3 -3
- package/dist/chunks/{NcDashboardWidgetItem-NxvhaIPP.cjs.map → NcDashboardWidgetItem-BWELTjeT.cjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidgetItem-uYQMYeJS.mjs → NcDashboardWidgetItem-BiZ8QNOR.mjs} +3 -3
- package/dist/chunks/{NcDashboardWidgetItem-uYQMYeJS.mjs.map → NcDashboardWidgetItem-BiZ8QNOR.mjs.map} +1 -1
- package/dist/chunks/{NcDialog-W8ujIWJd.cjs → NcDialog-CiuR4ZK0.cjs} +2 -2
- package/dist/chunks/{NcDialog-W8ujIWJd.cjs.map → NcDialog-CiuR4ZK0.cjs.map} +1 -1
- package/dist/chunks/{NcDialog-DmRqcm3W.mjs → NcDialog-DoGsI2_6.mjs} +2 -2
- package/dist/chunks/{NcDialog-DmRqcm3W.mjs.map → NcDialog-DoGsI2_6.mjs.map} +1 -1
- package/dist/chunks/{NcDialogButton-C8RbaSqF.cjs → NcDialogButton-BR6KI4--.cjs} +4 -4
- package/dist/chunks/{NcDialogButton-C8RbaSqF.cjs.map → NcDialogButton-BR6KI4--.cjs.map} +1 -1
- package/dist/chunks/{NcDialogButton-Bqjj-wmb.mjs → NcDialogButton-D5yuDtSF.mjs} +4 -4
- package/dist/chunks/{NcDialogButton-Bqjj-wmb.mjs.map → NcDialogButton-D5yuDtSF.mjs.map} +1 -1
- package/dist/chunks/{NcEmojiPicker-ClkGGFdW.mjs → NcEmojiPicker-C_88_f6x.mjs} +8 -8
- package/dist/chunks/{NcEmojiPicker-ClkGGFdW.mjs.map → NcEmojiPicker-C_88_f6x.mjs.map} +1 -1
- package/dist/chunks/{NcEmojiPicker-7aElsqCQ.cjs → NcEmojiPicker-Dyqwkm_d.cjs} +8 -8
- package/dist/chunks/{NcEmojiPicker-7aElsqCQ.cjs.map → NcEmojiPicker-Dyqwkm_d.cjs.map} +1 -1
- package/dist/chunks/{NcFilePicker-DaUHiwFm.cjs → NcFilePicker-Cdc1TsXy.cjs} +6 -6
- package/dist/chunks/{NcFilePicker-DaUHiwFm.cjs.map → NcFilePicker-Cdc1TsXy.cjs.map} +1 -1
- package/dist/chunks/{NcFilePicker-B57HJpaE.mjs → NcFilePicker-Dg6UqMN1.mjs} +6 -6
- package/dist/chunks/{NcFilePicker-B57HJpaE.mjs.map → NcFilePicker-Dg6UqMN1.mjs.map} +1 -1
- package/dist/chunks/{NcFormBox-Bd7m8ffs.mjs → NcFormBox-C38-8CH6.mjs} +7 -7
- package/dist/chunks/{NcFormBox-Bd7m8ffs.mjs.map → NcFormBox-C38-8CH6.mjs.map} +1 -1
- package/dist/chunks/{NcFormBox-LJwAiXyR.cjs → NcFormBox-C8LDr6nF.cjs} +7 -7
- package/dist/chunks/{NcFormBox-LJwAiXyR.cjs.map → NcFormBox-C8LDr6nF.cjs.map} +1 -1
- package/dist/chunks/{NcFormBoxButton-BDI6Q7WA.cjs → NcFormBoxButton-Bk-1cqbj.cjs} +5 -5
- package/dist/chunks/{NcFormBoxButton-BDI6Q7WA.cjs.map → NcFormBoxButton-Bk-1cqbj.cjs.map} +1 -1
- package/dist/chunks/{NcFormBoxButton-CRL7kucw.mjs → NcFormBoxButton-DFqqtbav.mjs} +5 -5
- package/dist/chunks/{NcFormBoxButton-CRL7kucw.mjs.map → NcFormBoxButton-DFqqtbav.mjs.map} +1 -1
- package/dist/chunks/{NcFormBoxCopyButton-Bk121Oc2.cjs → NcFormBoxCopyButton-LEjPAg3D.cjs} +3 -3
- package/dist/chunks/{NcFormBoxCopyButton-Bk121Oc2.cjs.map → NcFormBoxCopyButton-LEjPAg3D.cjs.map} +1 -1
- package/dist/chunks/{NcFormBoxCopyButton-BOENrJAS.mjs → NcFormBoxCopyButton-_KxKabAB.mjs} +3 -3
- package/dist/chunks/{NcFormBoxCopyButton-BOENrJAS.mjs.map → NcFormBoxCopyButton-_KxKabAB.mjs.map} +1 -1
- package/dist/chunks/{NcFormBoxItem-Dmcja_Xa.cjs → NcFormBoxItem-BAJxkxRf.cjs} +11 -11
- package/dist/chunks/{NcFormBoxItem-Dmcja_Xa.cjs.map → NcFormBoxItem-BAJxkxRf.cjs.map} +1 -1
- package/dist/chunks/{NcFormBoxItem-DasY7_rJ.mjs → NcFormBoxItem-CmfqBL1k.mjs} +11 -11
- package/dist/chunks/{NcFormBoxItem-DasY7_rJ.mjs.map → NcFormBoxItem-CmfqBL1k.mjs.map} +1 -1
- package/dist/chunks/{NcFormBoxSwitch-bdRBjKGq.mjs → NcFormBoxSwitch-B34n4EwU.mjs} +6 -6
- package/dist/chunks/{NcFormBoxSwitch-bdRBjKGq.mjs.map → NcFormBoxSwitch-B34n4EwU.mjs.map} +1 -1
- package/dist/chunks/{NcFormBoxSwitch-CEO4FLdd.cjs → NcFormBoxSwitch-Bw2utaCz.cjs} +6 -6
- package/dist/chunks/{NcFormBoxSwitch-CEO4FLdd.cjs.map → NcFormBoxSwitch-Bw2utaCz.cjs.map} +1 -1
- package/dist/chunks/{NcFormGroup-wzUs2kfP.cjs → NcFormGroup-dH5AXvsT.cjs} +9 -9
- package/dist/chunks/{NcFormGroup-wzUs2kfP.cjs.map → NcFormGroup-dH5AXvsT.cjs.map} +1 -1
- package/dist/chunks/{NcFormGroup-tW-MwPUj.mjs → NcFormGroup-geUvdoIG.mjs} +9 -9
- package/dist/chunks/{NcFormGroup-tW-MwPUj.mjs.map → NcFormGroup-geUvdoIG.mjs.map} +1 -1
- package/dist/chunks/{NcHeaderButton-MEyDJghO.mjs → NcHeaderButton-BqjMDSal.mjs} +2 -2
- package/dist/chunks/{NcHeaderButton-MEyDJghO.mjs.map → NcHeaderButton-BqjMDSal.mjs.map} +1 -1
- package/dist/chunks/{NcHeaderButton-SRHcPWsp.cjs → NcHeaderButton-ChwiTpxY.cjs} +2 -2
- package/dist/chunks/{NcHeaderButton-SRHcPWsp.cjs.map → NcHeaderButton-ChwiTpxY.cjs.map} +1 -1
- package/dist/chunks/{NcHeaderMenu-jHItu4LV.mjs → NcHeaderMenu-BB2r8v-X.mjs} +2 -2
- package/dist/chunks/{NcHeaderMenu-jHItu4LV.mjs.map → NcHeaderMenu-BB2r8v-X.mjs.map} +1 -1
- package/dist/chunks/{NcHeaderMenu-C-K0LFEH.cjs → NcHeaderMenu-BivYykFA.cjs} +2 -2
- package/dist/chunks/{NcHeaderMenu-C-K0LFEH.cjs.map → NcHeaderMenu-BivYykFA.cjs.map} +1 -1
- package/dist/chunks/{NcHotkey-CpgacYSd.mjs → NcHotkey-B6KIqqii.mjs} +7 -7
- package/dist/chunks/{NcHotkey-CpgacYSd.mjs.map → NcHotkey-B6KIqqii.mjs.map} +1 -1
- package/dist/chunks/{NcHotkey-CLFZr-9x.cjs → NcHotkey-BVSKiKpz.cjs} +7 -7
- package/dist/chunks/{NcHotkey-CLFZr-9x.cjs.map → NcHotkey-BVSKiKpz.cjs.map} +1 -1
- package/dist/chunks/{NcHotkeyList-BYFbKo6_.mjs → NcHotkeyList-BACQoMeA.mjs} +6 -6
- package/dist/chunks/{NcHotkeyList-BYFbKo6_.mjs.map → NcHotkeyList-BACQoMeA.mjs.map} +1 -1
- package/dist/chunks/{NcHotkeyList-C_w3SAG_.cjs → NcHotkeyList-Crj5V-KW.cjs} +6 -6
- package/dist/chunks/{NcHotkeyList-C_w3SAG_.cjs.map → NcHotkeyList-Crj5V-KW.cjs.map} +1 -1
- package/dist/chunks/{NcIconToggleSwitch-DCTeQGv5.mjs → NcIconToggleSwitch-B19dt_oD.mjs} +4 -4
- package/dist/chunks/{NcIconToggleSwitch-DCTeQGv5.mjs.map → NcIconToggleSwitch-B19dt_oD.mjs.map} +1 -1
- package/dist/chunks/{NcIconToggleSwitch-Boo2ulI6.cjs → NcIconToggleSwitch-DZSBCDbH.cjs} +4 -4
- package/dist/chunks/{NcIconToggleSwitch-Boo2ulI6.cjs.map → NcIconToggleSwitch-DZSBCDbH.cjs.map} +1 -1
- package/dist/chunks/{NcInputConfirmCancel-zqo4ijEJ.mjs → NcInputConfirmCancel-44rhjqEA.mjs} +5 -5
- package/dist/chunks/{NcInputConfirmCancel-zqo4ijEJ.mjs.map → NcInputConfirmCancel-44rhjqEA.mjs.map} +1 -1
- package/dist/chunks/{NcInputConfirmCancel-CcPcB-bZ.cjs → NcInputConfirmCancel-CaCFiQnc.cjs} +5 -5
- package/dist/chunks/{NcInputConfirmCancel-CcPcB-bZ.cjs.map → NcInputConfirmCancel-CaCFiQnc.cjs.map} +1 -1
- package/dist/chunks/{NcInputField-DPby7_cZ.cjs → NcInputField-BcmWwfT5.cjs} +3 -3
- package/dist/chunks/{NcInputField-DPby7_cZ.cjs.map → NcInputField-BcmWwfT5.cjs.map} +1 -1
- package/dist/chunks/{NcInputField-BrzZ8Bne.mjs → NcInputField-Cym5GuvB.mjs} +3 -3
- package/dist/chunks/{NcInputField-BrzZ8Bne.mjs.map → NcInputField-Cym5GuvB.mjs.map} +1 -1
- package/dist/chunks/{NcKbd-uMv3QPhD.cjs → NcKbd-CrXHar_q.cjs} +6 -6
- package/dist/chunks/{NcKbd-uMv3QPhD.cjs.map → NcKbd-CrXHar_q.cjs.map} +1 -1
- package/dist/chunks/{NcKbd-CXJA9sCj.mjs → NcKbd-D86qGvDb.mjs} +6 -6
- package/dist/chunks/{NcKbd-CXJA9sCj.mjs.map → NcKbd-D86qGvDb.mjs.map} +1 -1
- package/dist/chunks/{NcListItem-BjV4Jjw0.cjs → NcListItem-5_QrKITf.cjs} +2 -2
- package/dist/chunks/{NcListItem-BjV4Jjw0.cjs.map → NcListItem-5_QrKITf.cjs.map} +1 -1
- package/dist/chunks/{NcListItem-Ciok4H4t.mjs → NcListItem-DFrhF-DU.mjs} +2 -2
- package/dist/chunks/{NcListItem-Ciok4H4t.mjs.map → NcListItem-DFrhF-DU.mjs.map} +1 -1
- package/dist/chunks/{NcListItemIcon-DukIl2hl.cjs → NcListItemIcon-BpEOUL7y.cjs} +2 -2
- package/dist/chunks/{NcListItemIcon-DukIl2hl.cjs.map → NcListItemIcon-BpEOUL7y.cjs.map} +1 -1
- package/dist/chunks/{NcListItemIcon-DdkIQyoP.mjs → NcListItemIcon-DIecVacf.mjs} +2 -2
- package/dist/chunks/{NcListItemIcon-DdkIQyoP.mjs.map → NcListItemIcon-DIecVacf.mjs.map} +1 -1
- package/dist/chunks/{NcPasswordField-CSeFP0Uz.mjs → NcPasswordField-2woxTjbl.mjs} +4 -4
- package/dist/chunks/{NcPasswordField-CSeFP0Uz.mjs.map → NcPasswordField-2woxTjbl.mjs.map} +1 -1
- package/dist/chunks/{NcPasswordField-9QeCVkJe.cjs → NcPasswordField-C1FGaXn4.cjs} +4 -4
- package/dist/chunks/{NcPasswordField-9QeCVkJe.cjs.map → NcPasswordField-C1FGaXn4.cjs.map} +1 -1
- package/dist/chunks/{NcPopover-BzTp7LfM.mjs → NcPopover-BaHX3QSG.mjs} +4 -4
- package/dist/chunks/{NcPopover-BzTp7LfM.mjs.map → NcPopover-BaHX3QSG.mjs.map} +1 -1
- package/dist/chunks/{NcPopover-BIGPurEP.cjs → NcPopover-Bq-bsaqt.cjs} +4 -4
- package/dist/chunks/{NcPopover-BIGPurEP.cjs.map → NcPopover-Bq-bsaqt.cjs.map} +1 -1
- package/dist/chunks/NcProfileHoverCard-DK5YkGF0.mjs +479 -0
- package/dist/chunks/NcProfileHoverCard-DK5YkGF0.mjs.map +1 -0
- package/dist/chunks/NcProfileHoverCard-rEanhQqc.cjs +481 -0
- package/dist/chunks/NcProfileHoverCard-rEanhQqc.cjs.map +1 -0
- package/dist/chunks/{NcRadioGroup-BbMUIkWl.cjs → NcRadioGroup-C2lG1kIj.cjs} +6 -6
- package/dist/chunks/{NcRadioGroup-BbMUIkWl.cjs.map → NcRadioGroup-C2lG1kIj.cjs.map} +1 -1
- package/dist/chunks/{NcRadioGroup-D4kc6Jjr.mjs → NcRadioGroup-D_7OAyQ4.mjs} +6 -6
- package/dist/chunks/{NcRadioGroup-D4kc6Jjr.mjs.map → NcRadioGroup-D_7OAyQ4.mjs.map} +1 -1
- package/dist/chunks/{NcRadioGroupButton-B8a5TW2l.mjs → NcRadioGroupButton-CkpB4myv.mjs} +8 -8
- package/dist/chunks/{NcRadioGroupButton-B8a5TW2l.mjs.map → NcRadioGroupButton-CkpB4myv.mjs.map} +1 -1
- package/dist/chunks/{NcRadioGroupButton-7ImC11aP.cjs → NcRadioGroupButton-DcU_Yagn.cjs} +8 -8
- package/dist/chunks/{NcRadioGroupButton-7ImC11aP.cjs.map → NcRadioGroupButton-DcU_Yagn.cjs.map} +1 -1
- package/dist/chunks/NcReferenceWidget-Br8ecSQw.cjs +280 -0
- package/dist/chunks/NcReferenceWidget-Br8ecSQw.cjs.map +1 -0
- package/dist/chunks/NcReferenceWidget-CMq5QVka.mjs +281 -0
- package/dist/chunks/NcReferenceWidget-CMq5QVka.mjs.map +1 -0
- package/dist/chunks/{NcRelatedResourcesPanel-CFp3GPty.mjs → NcRelatedResourcesPanel-BKygMHvP.mjs} +7 -7
- package/dist/chunks/{NcRelatedResourcesPanel-CFp3GPty.mjs.map → NcRelatedResourcesPanel-BKygMHvP.mjs.map} +1 -1
- package/dist/chunks/{NcRelatedResourcesPanel-C7r-tIz-.cjs → NcRelatedResourcesPanel-CjmzJ9Ex.cjs} +7 -7
- package/dist/chunks/{NcRelatedResourcesPanel-C7r-tIz-.cjs.map → NcRelatedResourcesPanel-CjmzJ9Ex.cjs.map} +1 -1
- package/dist/chunks/{NcRichContenteditable-DbhcrLP_.cjs → NcRichContenteditable-CaDBJIrd.cjs} +27 -31
- package/dist/chunks/{NcRichContenteditable-CG7oWfBl.mjs.map → NcRichContenteditable-CaDBJIrd.cjs.map} +1 -1
- package/dist/chunks/{NcRichContenteditable-CG7oWfBl.mjs → NcRichContenteditable-rJPX28V6.mjs} +27 -31
- package/dist/chunks/{NcRichContenteditable-DbhcrLP_.cjs.map → NcRichContenteditable-rJPX28V6.mjs.map} +1 -1
- package/dist/chunks/{NcRichText-b0ZZCvrD.cjs → NcRichText-BC9lKFPb.cjs} +7 -7
- package/dist/chunks/{NcRichText-b0ZZCvrD.cjs.map → NcRichText-BC9lKFPb.cjs.map} +1 -1
- package/dist/chunks/{NcRichText-C3Nj11Wy.mjs → NcRichText-K2ZjNIbK.mjs} +6 -6
- package/dist/chunks/{NcRichText-C3Nj11Wy.mjs.map → NcRichText-K2ZjNIbK.mjs.map} +1 -1
- package/dist/chunks/{NcSelect-DrKzKPZL.mjs → NcSelect-CxHfXvZV.mjs} +5 -5
- package/dist/chunks/{NcSelect-DrKzKPZL.mjs.map → NcSelect-CxHfXvZV.mjs.map} +1 -1
- package/dist/chunks/{NcSelect-BYRnqQaI.cjs → NcSelect-DW5W3ZIM.cjs} +5 -5
- package/dist/chunks/{NcSelect-BYRnqQaI.cjs.map → NcSelect-DW5W3ZIM.cjs.map} +1 -1
- package/dist/chunks/{NcSelectTags-D8pmnLor.mjs → NcSelectTags-BWTTPN2O.mjs} +3 -3
- package/dist/chunks/{NcSelectTags-D8pmnLor.mjs.map → NcSelectTags-BWTTPN2O.mjs.map} +1 -1
- package/dist/chunks/{NcSelectTags-CL8AQw8J.cjs → NcSelectTags-Bk4doVG3.cjs} +3 -3
- package/dist/chunks/{NcSelectTags-CL8AQw8J.cjs.map → NcSelectTags-Bk4doVG3.cjs.map} +1 -1
- package/dist/chunks/{NcSelectUsers-CAl1o2gA.cjs → NcSelectUsers-BxmxyFcE.cjs} +5 -5
- package/dist/chunks/{NcSelectUsers-CAl1o2gA.cjs.map → NcSelectUsers-BxmxyFcE.cjs.map} +1 -1
- package/dist/chunks/{NcSelectUsers-z2bZafO2.mjs → NcSelectUsers-D2jOjPs4.mjs} +5 -5
- package/dist/chunks/{NcSelectUsers-z2bZafO2.mjs.map → NcSelectUsers-D2jOjPs4.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsInputText-BF5437Q7.cjs → NcSettingsInputText-BAMF6udc.cjs} +3 -3
- package/dist/chunks/{NcSettingsInputText-BF5437Q7.cjs.map → NcSettingsInputText-BAMF6udc.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsInputText-BwnkZzWL.mjs → NcSettingsInputText-Cc7cCwNm.mjs} +3 -3
- package/dist/chunks/{NcSettingsInputText-BwnkZzWL.mjs.map → NcSettingsInputText-Cc7cCwNm.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSection-BfZ8I3zb.cjs → NcSettingsSection-D48jcXDL.cjs} +3 -3
- package/dist/chunks/{NcSettingsSection-BfZ8I3zb.cjs.map → NcSettingsSection-D48jcXDL.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsSection-DV-x6Ag7.mjs → NcSettingsSection-D9qxzYDc.mjs} +3 -3
- package/dist/chunks/{NcSettingsSection-DV-x6Ag7.mjs.map → NcSettingsSection-D9qxzYDc.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-CmotAYwP.cjs → NcSettingsSelectGroup-CJGf5mxJ.cjs} +4 -4
- package/dist/chunks/{NcSettingsSelectGroup-CmotAYwP.cjs.map → NcSettingsSelectGroup-CJGf5mxJ.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-CFvLzGNf.mjs → NcSettingsSelectGroup-DzzNyHN_.mjs} +4 -4
- package/dist/chunks/{NcSettingsSelectGroup-CFvLzGNf.mjs.map → NcSettingsSelectGroup-DzzNyHN_.mjs.map} +1 -1
- package/dist/chunks/{NcTextArea-BUH-0gIq.cjs → NcTextArea-GxhBi7Z3.cjs} +2 -2
- package/dist/chunks/{NcTextArea-BUH-0gIq.cjs.map → NcTextArea-GxhBi7Z3.cjs.map} +1 -1
- package/dist/chunks/{NcTextArea-C82D8CSK.mjs → NcTextArea-T9totbme.mjs} +2 -2
- package/dist/chunks/{NcTextArea-C82D8CSK.mjs.map → NcTextArea-T9totbme.mjs.map} +1 -1
- package/dist/chunks/{NcTextField-BPhf3E7g.mjs → NcTextField-CQp8XS4C.mjs} +4 -4
- package/dist/chunks/{NcTextField-BPhf3E7g.mjs.map → NcTextField-CQp8XS4C.mjs.map} +1 -1
- package/dist/chunks/{NcTextField-2tiCeGZw.cjs → NcTextField-DMxdmT5a.cjs} +4 -4
- package/dist/chunks/{NcTextField-2tiCeGZw.cjs.map → NcTextField-DMxdmT5a.cjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-BSGxeYwn.cjs → NcTimezonePicker-B0rvWaty.cjs} +4 -4
- package/dist/chunks/{NcTimezonePicker-BSGxeYwn.cjs.map → NcTimezonePicker-B0rvWaty.cjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-D4xfdT9T.mjs → NcTimezonePicker-BfSjyBxq.mjs} +4 -4
- package/dist/chunks/{NcTimezonePicker-D4xfdT9T.mjs.map → NcTimezonePicker-BfSjyBxq.mjs.map} +1 -1
- package/dist/chunks/{NcUserBubble-BJf2sPSm.cjs → NcUserBubble-BR5bw7lO.cjs} +3 -3
- package/dist/chunks/{NcUserBubble-BJf2sPSm.cjs.map → NcUserBubble-BR5bw7lO.cjs.map} +1 -1
- package/dist/chunks/{NcUserBubble-CuCNjhc8.mjs → NcUserBubble-Bd-PEfyK.mjs} +3 -3
- package/dist/chunks/{NcUserBubble-CuCNjhc8.mjs.map → NcUserBubble-Bd-PEfyK.mjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-BnGtoiCy.cjs → NcUserStatusIcon-BP2cHGxs.cjs} +5 -5
- package/dist/chunks/{NcUserStatusIcon-BnGtoiCy.cjs.map → NcUserStatusIcon-BP2cHGxs.cjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-DdPPN-cP.mjs → NcUserStatusIcon-gpl3yJFX.mjs} +5 -5
- package/dist/chunks/{NcUserStatusIcon-DdPPN-cP.mjs.map → NcUserStatusIcon-gpl3yJFX.mjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-xx9Z3w0D.mjs → ScopeComponent-Df3JYkxQ.mjs} +2 -2
- package/dist/chunks/{ScopeComponent-xx9Z3w0D.mjs.map → ScopeComponent-Df3JYkxQ.mjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-4M4zyHnT.cjs → ScopeComponent-O4dfHJkP.cjs} +2 -2
- package/dist/chunks/{ScopeComponent-4M4zyHnT.cjs.map → ScopeComponent-O4dfHJkP.cjs.map} +1 -1
- package/dist/chunks/{_l10n-skrZri3h.cjs → _l10n-Be-gO5QO.cjs} +56 -54
- package/dist/chunks/{_l10n-skrZri3h.cjs.map → _l10n-Be-gO5QO.cjs.map} +1 -1
- package/dist/chunks/{_l10n-DVz9Qdzk.mjs → _l10n-CAnZaLWU.mjs} +110 -108
- package/dist/chunks/_l10n-CAnZaLWU.mjs.map +1 -0
- package/dist/chunks/{autolink-CMWUgEzj.cjs → autolink-BHlqTULT.cjs} +5 -5
- package/dist/chunks/{autolink-CMWUgEzj.cjs.map → autolink-BHlqTULT.cjs.map} +1 -1
- package/dist/chunks/{autolink-C8BYVvdd.mjs → autolink-COrOqbJu.mjs} +5 -5
- package/dist/chunks/{autolink-C8BYVvdd.mjs.map → autolink-COrOqbJu.mjs.map} +1 -1
- package/dist/chunks/{colors-Bp0JzIQ4.mjs → colors-B_oqiKWY.mjs} +3 -3
- package/dist/chunks/{colors-Bp0JzIQ4.mjs.map → colors-B_oqiKWY.mjs.map} +1 -1
- package/dist/chunks/{colors-CyIwf6gH.cjs → colors-DF9O093h.cjs} +3 -3
- package/dist/chunks/{colors-CyIwf6gH.cjs.map → colors-DF9O093h.cjs.map} +1 -1
- package/dist/chunks/customPickerElements-CYpmyl0b.mjs +61 -0
- package/dist/chunks/customPickerElements-CYpmyl0b.mjs.map +1 -0
- package/dist/chunks/{customPickerElements-CPxrR1_N.cjs → customPickerElements-DNevxofg.cjs} +1 -63
- package/dist/chunks/customPickerElements-DNevxofg.cjs.map +1 -0
- package/dist/chunks/{legacy-Bk0qQxIg.cjs → legacy-BpZw2Eww.cjs} +4 -2
- package/dist/chunks/legacy-BpZw2Eww.cjs.map +1 -0
- package/dist/chunks/legacy-Cy3dCXuB.mjs +11 -0
- package/dist/chunks/legacy-Cy3dCXuB.mjs.map +1 -0
- package/dist/chunks/{referencePickerModal-Cqd084NY.cjs → referencePickerModal-D2nYmN67.cjs} +23 -294
- package/dist/chunks/referencePickerModal-D2nYmN67.cjs.map +1 -0
- package/dist/chunks/{referencePickerModal-DnsOMAHk.mjs → referencePickerModal-P_15xB7f.mjs} +24 -295
- package/dist/chunks/referencePickerModal-P_15xB7f.mjs.map +1 -0
- 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/{useCopy-DDDe5RYH.mjs → useCopy-C-jNoLry.mjs} +3 -3
- package/dist/chunks/{useCopy-DDDe5RYH.mjs.map → useCopy-C-jNoLry.mjs.map} +1 -1
- package/dist/chunks/{useCopy-3m2jDiIN.cjs → useCopy-DXXjl8MD.cjs} +3 -3
- package/dist/chunks/{useCopy-3m2jDiIN.cjs.map → useCopy-DXXjl8MD.cjs.map} +1 -1
- package/dist/chunks/widgets-DoYhefYe.cjs +65 -0
- package/dist/chunks/widgets-DoYhefYe.cjs.map +1 -0
- package/dist/chunks/widgets-XxirL-2f.mjs +66 -0
- package/dist/chunks/widgets-XxirL-2f.mjs.map +1 -0
- package/dist/components/NcProfileHoverCard/index.d.ts +5 -0
- package/dist/components/NcProfileHoverCard/profileCache.d.ts +31 -0
- package/dist/index.cjs +78 -80
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +80 -82
- package/dist/index.mjs.map +1 -1
- package/dist/utils/legacy.d.ts +2 -0
- package/package.json +9 -9
- package/dist/chunks/NcAppContent-BDqXhfww.cjs.map +0 -1
- package/dist/chunks/NcAppContent-BScPRxTJ.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-B7K9pxVq.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-CZqz-wC8.mjs.map +0 -1
- package/dist/chunks/NcAppSettingsShortcutsSection-CLKzAASc.cjs.map +0 -1
- package/dist/chunks/NcAppSettingsShortcutsSection-D3ylJW58.mjs.map +0 -1
- package/dist/chunks/NcAppSidebar-CEo2tgBa.mjs.map +0 -1
- package/dist/chunks/NcAppSidebar-DJ8JImth.cjs.map +0 -1
- package/dist/chunks/NcAvatar-BBqomFJ3.mjs.map +0 -1
- package/dist/chunks/NcAvatar-BFWbPSke.cjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch-BonPjuho.cjs.map +0 -1
- package/dist/chunks/_l10n-DVz9Qdzk.mjs.map +0 -1
- package/dist/chunks/customPickerElements-BGmuXU7x.mjs +0 -123
- package/dist/chunks/customPickerElements-BGmuXU7x.mjs.map +0 -1
- package/dist/chunks/customPickerElements-CPxrR1_N.cjs.map +0 -1
- package/dist/chunks/legacy-Bk0qQxIg.cjs.map +0 -1
- package/dist/chunks/legacy-DV3mGZdh.mjs +0 -9
- package/dist/chunks/legacy-DV3mGZdh.mjs.map +0 -1
- package/dist/chunks/referencePickerModal-Cqd084NY.cjs.map +0 -1
- package/dist/chunks/referencePickerModal-DnsOMAHk.mjs.map +0 -1
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import '../assets/NcReferenceWidget-Cg4xOL_8.css';
|
|
2
|
+
import { useElementSize, useIntersectionObserver } from "@vueuse/core";
|
|
3
|
+
import { ref, nextTick } from "vue";
|
|
4
|
+
import { RouterLink } from "vue-router";
|
|
5
|
+
import { N as NcButton } from "./NcButton-DAGirW_B.mjs";
|
|
6
|
+
import { r as register, l as t24, a as t } from "./_l10n-CAnZaLWU.mjs";
|
|
7
|
+
import { c as createElementId } from "./createElementId-DhjFt1I9.mjs";
|
|
8
|
+
import { d as destroyWidget, a as renderWidget, i as isWidgetRegistered, h as hasInteractiveView, b as isResizable, c as hasFullWidth } from "./widgets-XxirL-2f.mjs";
|
|
9
|
+
import { g as getRoute } from "./autolink-COrOqbJu.mjs";
|
|
10
|
+
import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
|
|
11
|
+
register(t24);
|
|
12
|
+
const IDLE_TIMEOUT = 3 * 60 * 1e3;
|
|
13
|
+
const RESIZE_KEYBOARD_STEP = 10;
|
|
14
|
+
const _sfc_main = {
|
|
15
|
+
name: "NcReferenceWidget",
|
|
16
|
+
components: {
|
|
17
|
+
NcButton
|
|
18
|
+
},
|
|
19
|
+
/* eslint vue/require-prop-comment: warn -- TODO: Add a proper doc block about what this props do */
|
|
20
|
+
props: {
|
|
21
|
+
reference: {
|
|
22
|
+
type: Object,
|
|
23
|
+
required: true
|
|
24
|
+
},
|
|
25
|
+
interactive: {
|
|
26
|
+
type: Boolean,
|
|
27
|
+
// eslint-disable-next-line vue/no-boolean-default
|
|
28
|
+
default: true
|
|
29
|
+
},
|
|
30
|
+
interactiveOptIn: {
|
|
31
|
+
type: Boolean,
|
|
32
|
+
default: false
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
setup() {
|
|
36
|
+
const widgetId = `nc-reference-widget-${createElementId()}`;
|
|
37
|
+
const isVisible = ref(false);
|
|
38
|
+
const widgetRoot = ref();
|
|
39
|
+
const customWidget = ref();
|
|
40
|
+
const { width } = useElementSize(widgetRoot);
|
|
41
|
+
const { height: customWidgetHeight } = useElementSize(customWidget);
|
|
42
|
+
useIntersectionObserver(widgetRoot, ([entry]) => {
|
|
43
|
+
nextTick(() => {
|
|
44
|
+
isVisible.value = entry.isIntersecting;
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
return {
|
|
48
|
+
width,
|
|
49
|
+
isVisible,
|
|
50
|
+
widgetRoot,
|
|
51
|
+
customWidget,
|
|
52
|
+
customWidgetHeight,
|
|
53
|
+
widgetId,
|
|
54
|
+
RESIZE_KEYBOARD_STEP
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
data() {
|
|
58
|
+
return {
|
|
59
|
+
showInteractive: false,
|
|
60
|
+
rendered: false,
|
|
61
|
+
idleTimeout: null,
|
|
62
|
+
isResizing: false,
|
|
63
|
+
resizedHeight: null,
|
|
64
|
+
resizeStartY: 0,
|
|
65
|
+
resizeStartHeight: 0,
|
|
66
|
+
resizeMinHeight: 100,
|
|
67
|
+
resizeMaxHeight: window.innerHeight - 120
|
|
68
|
+
};
|
|
69
|
+
},
|
|
70
|
+
computed: {
|
|
71
|
+
isInteractive() {
|
|
72
|
+
return !this.interactiveOptIn && this.interactive || this.showInteractive;
|
|
73
|
+
},
|
|
74
|
+
hasFullWidth() {
|
|
75
|
+
return hasFullWidth(this.reference.richObjectType);
|
|
76
|
+
},
|
|
77
|
+
isResizable() {
|
|
78
|
+
return isResizable(this.reference.richObjectType);
|
|
79
|
+
},
|
|
80
|
+
hasCustomWidget() {
|
|
81
|
+
return isWidgetRegistered(this.reference.richObjectType);
|
|
82
|
+
},
|
|
83
|
+
customWidgetStyle() {
|
|
84
|
+
if (!this.resizedHeight) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
return { height: `${this.resizedHeight}px !important` };
|
|
88
|
+
},
|
|
89
|
+
ariaValueNow() {
|
|
90
|
+
return Math.round(this.resizedHeight ?? this.customWidgetHeight);
|
|
91
|
+
},
|
|
92
|
+
hasInteractiveView() {
|
|
93
|
+
return isWidgetRegistered(this.reference.richObjectType) && hasInteractiveView(this.reference.richObjectType);
|
|
94
|
+
},
|
|
95
|
+
noAccess() {
|
|
96
|
+
return this.reference && !this.reference.accessible;
|
|
97
|
+
},
|
|
98
|
+
descriptionStyle() {
|
|
99
|
+
if (this.numberOfLines === 0) {
|
|
100
|
+
return {
|
|
101
|
+
display: "none"
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
const lineClamp = this.numberOfLines;
|
|
105
|
+
return {
|
|
106
|
+
lineClamp,
|
|
107
|
+
webkitLineClamp: lineClamp
|
|
108
|
+
};
|
|
109
|
+
},
|
|
110
|
+
numberOfLines() {
|
|
111
|
+
const lineCountOffsets = [450, 550, 650, Infinity];
|
|
112
|
+
return lineCountOffsets.findIndex((max) => this.width < max);
|
|
113
|
+
},
|
|
114
|
+
compactLink() {
|
|
115
|
+
const link = this.reference.openGraphObject.link;
|
|
116
|
+
if (!link) {
|
|
117
|
+
return "";
|
|
118
|
+
}
|
|
119
|
+
if (link.startsWith("https://")) {
|
|
120
|
+
return link.substring(8);
|
|
121
|
+
}
|
|
122
|
+
if (link.startsWith("http://")) {
|
|
123
|
+
return link.substring(7);
|
|
124
|
+
}
|
|
125
|
+
return link;
|
|
126
|
+
},
|
|
127
|
+
route() {
|
|
128
|
+
return getRoute(this.$router, this.reference.openGraphObject.link);
|
|
129
|
+
},
|
|
130
|
+
referenceWidgetLinkComponent() {
|
|
131
|
+
return this.route ? RouterLink : "a";
|
|
132
|
+
},
|
|
133
|
+
referenceWidgetLinkProps() {
|
|
134
|
+
return this.route ? { to: this.route } : { href: this.reference.openGraphObject.link, target: "_blank" };
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
watch: {
|
|
138
|
+
isVisible: {
|
|
139
|
+
handler(val) {
|
|
140
|
+
if (!val) {
|
|
141
|
+
this.idleTimeout = setTimeout(() => {
|
|
142
|
+
if (!this.isVisible) {
|
|
143
|
+
this.destroyWidget();
|
|
144
|
+
}
|
|
145
|
+
}, IDLE_TIMEOUT);
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
if (this.idleTimeout) {
|
|
149
|
+
clearTimeout(this.idleTimeout);
|
|
150
|
+
this.idleTimeout = null;
|
|
151
|
+
}
|
|
152
|
+
if (!this.rendered) {
|
|
153
|
+
this.renderWidget();
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
immediate: true
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
beforeDestroy() {
|
|
160
|
+
if (this.idleTimeout) {
|
|
161
|
+
clearTimeout(this.idleTimeout);
|
|
162
|
+
this.idleTimout = null;
|
|
163
|
+
}
|
|
164
|
+
this.stopResize();
|
|
165
|
+
this.destroyWidget();
|
|
166
|
+
},
|
|
167
|
+
methods: {
|
|
168
|
+
t,
|
|
169
|
+
enableInteractive() {
|
|
170
|
+
this.showInteractive = true;
|
|
171
|
+
this.renderWidget();
|
|
172
|
+
},
|
|
173
|
+
renderWidget() {
|
|
174
|
+
if (!this.$refs.customWidgetContent) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
if (this?.reference?.richObjectType === "open-graph") {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
this.$refs.customWidgetContent.innerHTML = "";
|
|
181
|
+
const widget = document.createElement("div");
|
|
182
|
+
widget.style = "width: 100%;";
|
|
183
|
+
this.$refs.customWidgetContent.appendChild(widget);
|
|
184
|
+
this.$nextTick(() => {
|
|
185
|
+
renderWidget(widget, {
|
|
186
|
+
...this.reference,
|
|
187
|
+
interactive: this.isInteractive
|
|
188
|
+
});
|
|
189
|
+
this.rendered = true;
|
|
190
|
+
});
|
|
191
|
+
},
|
|
192
|
+
destroyWidget() {
|
|
193
|
+
if (this.rendered) {
|
|
194
|
+
destroyWidget(this.reference.richObjectType, this.$el);
|
|
195
|
+
this.rendered = false;
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
initResizeLimits() {
|
|
199
|
+
const widgetEl = this.$refs.customWidgetContent?.firstElementChild;
|
|
200
|
+
if (widgetEl) {
|
|
201
|
+
const computedStyle = window.getComputedStyle(widgetEl);
|
|
202
|
+
const parsedMin = parseFloat(computedStyle.minHeight);
|
|
203
|
+
const parsedMax = parseFloat(computedStyle.maxHeight);
|
|
204
|
+
this.resizeMinHeight = parsedMin > 0 ? parsedMin : 100;
|
|
205
|
+
this.resizeMaxHeight = Number.isFinite(parsedMax) && parsedMax > 0 ? parsedMax : window.innerHeight - 120;
|
|
206
|
+
} else {
|
|
207
|
+
this.resizeMinHeight = 100;
|
|
208
|
+
this.resizeMaxHeight = window.innerHeight - 120;
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
startResize(event) {
|
|
212
|
+
if (!this.isResizable || !this.$refs.customWidget) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
this.initResizeLimits();
|
|
216
|
+
this.isResizing = true;
|
|
217
|
+
this.resizeStartY = event.clientY;
|
|
218
|
+
this.resizeStartHeight = this.$refs.customWidget.getBoundingClientRect().height;
|
|
219
|
+
window.addEventListener("pointermove", this.onResize);
|
|
220
|
+
window.addEventListener("pointerup", this.stopResize);
|
|
221
|
+
},
|
|
222
|
+
onResizeKeydown(delta) {
|
|
223
|
+
if (!this.isResizable || !this.$refs.customWidget) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
this.initResizeLimits();
|
|
227
|
+
const currentHeight = this.resizedHeight ?? this.resizeStartHeight;
|
|
228
|
+
const next = currentHeight + delta;
|
|
229
|
+
this.resizedHeight = Math.min(this.resizeMaxHeight, Math.max(this.resizeMinHeight, next));
|
|
230
|
+
},
|
|
231
|
+
onResize(event) {
|
|
232
|
+
if (!this.isResizing || !this.$refs.customWidget) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
const deltaY = event.clientY - this.resizeStartY;
|
|
236
|
+
this.resizedHeight = Math.min(this.resizeMaxHeight, Math.max(this.resizeMinHeight, this.resizeStartHeight + deltaY));
|
|
237
|
+
},
|
|
238
|
+
stopResize() {
|
|
239
|
+
if (!this.isResizing) {
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
this.isResizing = false;
|
|
243
|
+
window.removeEventListener("pointermove", this.onResize);
|
|
244
|
+
window.removeEventListener("pointerup", this.stopResize);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
var _sfc_render = function render() {
|
|
249
|
+
var _vm = this, _c = _vm._self._c;
|
|
250
|
+
return _c("div", { ref: "widgetRoot", class: { "toggle-interactive": _vm.hasInteractiveView && !_vm.isInteractive } }, [_vm.reference && _vm.hasCustomWidget ? _c("div", { ref: "customWidget", staticClass: "widget-custom", class: {
|
|
251
|
+
"full-width": _vm.hasFullWidth
|
|
252
|
+
}, style: _vm.customWidgetStyle, attrs: { "id": _vm.widgetId } }, [_c("div", { ref: "customWidgetContent", staticClass: "widget-custom__content" }), _vm.isResizable ? _c("div", { staticClass: "widget-custom__resize-handle", attrs: { "role": "slider", "tabindex": "0", "aria-orientation": "vertical", "aria-label": _vm.t("Widget height"), "aria-valuenow": _vm.ariaValueNow, "aria-valuemin": _vm.resizeMinHeight, "aria-valuemax": _vm.resizeMaxHeight, "aria-controls": _vm.widgetId }, on: { "pointerdown": function($event) {
|
|
253
|
+
$event.stopPropagation();
|
|
254
|
+
$event.preventDefault();
|
|
255
|
+
return _vm.startResize.apply(null, arguments);
|
|
256
|
+
}, "keydown": [function($event) {
|
|
257
|
+
if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "up", 38, $event.key, ["Up", "ArrowUp"])) return null;
|
|
258
|
+
$event.stopPropagation();
|
|
259
|
+
$event.preventDefault();
|
|
260
|
+
return _vm.onResizeKeydown(-_vm.RESIZE_KEYBOARD_STEP);
|
|
261
|
+
}, function($event) {
|
|
262
|
+
if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "down", 40, $event.key, ["Down", "ArrowDown"])) return null;
|
|
263
|
+
$event.stopPropagation();
|
|
264
|
+
$event.preventDefault();
|
|
265
|
+
return _vm.onResizeKeydown(_vm.RESIZE_KEYBOARD_STEP);
|
|
266
|
+
}] } }) : _vm._e()]) : !_vm.noAccess && _vm.reference && _vm.reference.openGraphObject && !_vm.hasCustomWidget ? _c(_vm.referenceWidgetLinkComponent, _vm._b({ tag: "component", staticClass: "widget-default", attrs: { "rel": "noopener noreferrer" } }, "component", _vm.referenceWidgetLinkProps, false), [_vm.reference.openGraphObject.thumb ? _c("img", { staticClass: "widget-default--image", attrs: { "src": _vm.reference.openGraphObject.thumb } }) : _vm._e(), _c("div", { staticClass: "widget-default--details" }, [_c("p", { staticClass: "widget-default--name" }, [_vm._v(" " + _vm._s(_vm.reference.openGraphObject.name) + " ")]), _c("p", { staticClass: "widget-default--description", style: _vm.descriptionStyle }, [_vm._v(" " + _vm._s(_vm.reference.openGraphObject.description) + " ")]), _c("p", { staticClass: "widget-default--link" }, [_vm._v(" " + _vm._s(_vm.compactLink) + " ")])])]) : _vm._e(), _vm.interactiveOptIn && _vm.hasInteractiveView && !_vm.isInteractive ? _c("NcButton", { staticClass: "toggle-interactive--button", on: { "click": _vm.enableInteractive } }, [_vm._v(" " + _vm._s(_vm.t("Enable interactive view")) + " ")]) : _vm._e()], 1);
|
|
267
|
+
};
|
|
268
|
+
var _sfc_staticRenderFns = [];
|
|
269
|
+
var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
270
|
+
_sfc_main,
|
|
271
|
+
_sfc_render,
|
|
272
|
+
_sfc_staticRenderFns,
|
|
273
|
+
false,
|
|
274
|
+
null,
|
|
275
|
+
"96e3ab0e"
|
|
276
|
+
);
|
|
277
|
+
const NcReferenceWidget = __component__.exports;
|
|
278
|
+
export {
|
|
279
|
+
NcReferenceWidget as N
|
|
280
|
+
};
|
|
281
|
+
//# sourceMappingURL=NcReferenceWidget-CMq5QVka.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcReferenceWidget-CMq5QVka.mjs","sources":["../../src/components/NcRichText/NcReferenceWidget.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 ref=\"widgetRoot\" :class=\"{ 'toggle-interactive': hasInteractiveView && !isInteractive }\">\n\t\t<div\n\t\t\tv-if=\"reference && hasCustomWidget\"\n\t\t\t:id=\"widgetId\"\n\t\t\tref=\"customWidget\"\n\t\t\tclass=\"widget-custom\"\n\t\t\t:class=\"{\n\t\t\t\t'full-width': hasFullWidth,\n\t\t\t}\"\n\t\t\t:style=\"customWidgetStyle\">\n\t\t\t<div ref=\"customWidgetContent\" class=\"widget-custom__content\" />\n\t\t\t<div\n\t\t\t\tv-if=\"isResizable\"\n\t\t\t\tclass=\"widget-custom__resize-handle\"\n\t\t\t\trole=\"slider\"\n\t\t\t\ttabindex=\"0\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\t:aria-label=\"t('Widget height')\"\n\t\t\t\t:aria-valuenow=\"ariaValueNow\"\n\t\t\t\t:aria-valuemin=\"resizeMinHeight\"\n\t\t\t\t:aria-valuemax=\"resizeMaxHeight\"\n\t\t\t\t:aria-controls=\"widgetId\"\n\t\t\t\t@pointerdown.stop.prevent=\"startResize\"\n\t\t\t\t@keydown.up.stop.prevent=\"onResizeKeydown(-RESIZE_KEYBOARD_STEP)\"\n\t\t\t\t@keydown.down.stop.prevent=\"onResizeKeydown(RESIZE_KEYBOARD_STEP)\" />\n\t\t</div>\n\n\t\t<component\n\t\t\t:is=\"referenceWidgetLinkComponent\"\n\t\t\tv-else-if=\"!noAccess && reference && reference.openGraphObject && !hasCustomWidget\"\n\t\t\tv-bind=\"referenceWidgetLinkProps\"\n\t\t\trel=\"noopener noreferrer\"\n\t\t\tclass=\"widget-default\">\n\t\t\t<img v-if=\"reference.openGraphObject.thumb\" class=\"widget-default--image\" :src=\"reference.openGraphObject.thumb\">\n\t\t\t<div class=\"widget-default--details\">\n\t\t\t\t<p class=\"widget-default--name\">\n\t\t\t\t\t{{ reference.openGraphObject.name }}\n\t\t\t\t</p>\n\t\t\t\t<p class=\"widget-default--description\" :style=\"descriptionStyle\">\n\t\t\t\t\t{{ reference.openGraphObject.description }}\n\t\t\t\t</p>\n\t\t\t\t<p class=\"widget-default--link\">\n\t\t\t\t\t{{ compactLink }}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</component>\n\t\t<NcButton v-if=\"interactiveOptIn && hasInteractiveView && !isInteractive\" class=\"toggle-interactive--button\" @click=\"enableInteractive\">\n\t\t\t{{ t('Enable interactive view') }}\n\t\t</NcButton>\n\t</div>\n</template>\n\n<script>\nimport { useElementSize, useIntersectionObserver } from '@vueuse/core'\nimport { nextTick, ref } from 'vue'\nimport { RouterLink } from 'vue-router'\nimport NcButton from '../../components/NcButton/index.js'\nimport { t } from '../../l10n.js'\nimport { createElementId } from '../../utils/createElementId.ts'\nimport { destroyWidget, hasFullWidth, hasInteractiveView, isResizable, isWidgetRegistered, renderWidget } from './../../functions/reference/widgets.ts'\nimport { getRoute } from './autolink.js'\n\nconst IDLE_TIMEOUT = 3 * 60 * 1000 // 3 minutes outside of viewport before widget is removed from the DOM\nconst RESIZE_KEYBOARD_STEP = 10\n\nexport default {\n\tname: 'NcReferenceWidget',\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\t/* eslint vue/require-prop-comment: warn -- TODO: Add a proper doc block about what this props do */\n\tprops: {\n\t\treference: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\n\t\tinteractive: {\n\t\t\ttype: Boolean,\n\t\t\t// eslint-disable-next-line vue/no-boolean-default\n\t\t\tdefault: true,\n\t\t},\n\n\t\tinteractiveOptIn: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tsetup() {\n\t\tconst widgetId = `nc-reference-widget-${createElementId()}`\n\n\t\tconst isVisible = ref(false)\n\t\t// This is the widget root node\n\t\tconst widgetRoot = ref()\n\t\tconst customWidget = ref()\n\t\tconst { width } = useElementSize(widgetRoot)\n\t\tconst { height: customWidgetHeight } = useElementSize(customWidget)\n\n\t\tuseIntersectionObserver(widgetRoot, ([entry]) => {\n\t\t\tnextTick(() => {\n\t\t\t\tisVisible.value = entry.isIntersecting\n\t\t\t})\n\t\t})\n\n\t\treturn {\n\t\t\twidth,\n\t\t\tisVisible,\n\t\t\twidgetRoot,\n\t\t\tcustomWidget,\n\t\t\tcustomWidgetHeight,\n\t\t\twidgetId,\n\t\t\tRESIZE_KEYBOARD_STEP,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowInteractive: false,\n\t\t\trendered: false,\n\t\t\tidleTimeout: null,\n\t\t\tisResizing: false,\n\t\t\tresizedHeight: null,\n\t\t\tresizeStartY: 0,\n\t\t\tresizeStartHeight: 0,\n\t\t\tresizeMinHeight: 100,\n\t\t\tresizeMaxHeight: window.innerHeight - 120,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisInteractive() {\n\t\t\treturn (!this.interactiveOptIn && this.interactive) || this.showInteractive\n\t\t},\n\n\t\thasFullWidth() {\n\t\t\treturn hasFullWidth(this.reference.richObjectType)\n\t\t},\n\n\t\tisResizable() {\n\t\t\treturn isResizable(this.reference.richObjectType)\n\t\t},\n\n\t\thasCustomWidget() {\n\t\t\treturn isWidgetRegistered(this.reference.richObjectType)\n\t\t},\n\n\t\tcustomWidgetStyle() {\n\t\t\tif (!this.resizedHeight) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn { height: `${this.resizedHeight}px !important` }\n\t\t},\n\n\t\tariaValueNow() {\n\t\t\treturn Math.round(this.resizedHeight ?? this.customWidgetHeight)\n\t\t},\n\n\t\thasInteractiveView() {\n\t\t\treturn isWidgetRegistered(this.reference.richObjectType) && hasInteractiveView(this.reference.richObjectType)\n\t\t},\n\n\t\tnoAccess() {\n\t\t\treturn this.reference && !this.reference.accessible\n\t\t},\n\n\t\tdescriptionStyle() {\n\t\t\tif (this.numberOfLines === 0) {\n\t\t\t\treturn {\n\t\t\t\t\tdisplay: 'none',\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst lineClamp = this.numberOfLines\n\t\t\treturn {\n\t\t\t\tlineClamp,\n\t\t\t\twebkitLineClamp: lineClamp,\n\t\t\t}\n\t\t},\n\n\t\tnumberOfLines() {\n\t\t\t// no description for width < 450, one line until 550 and so on\n\t\t\tconst lineCountOffsets = [450, 550, 650, Infinity]\n\t\t\treturn lineCountOffsets.findIndex((max) => this.width < max)\n\t\t},\n\n\t\tcompactLink() {\n\t\t\tconst link = this.reference.openGraphObject.link\n\t\t\tif (!link) {\n\t\t\t\treturn ''\n\t\t\t}\n\n\t\t\tif (link.startsWith('https://')) {\n\t\t\t\treturn link.substring(8)\n\t\t\t}\n\t\t\tif (link.startsWith('http://')) {\n\t\t\t\treturn link.substring(7)\n\t\t\t}\n\t\t\treturn link\n\t\t},\n\n\t\troute() {\n\t\t\treturn getRoute(this.$router, this.reference.openGraphObject.link)\n\t\t},\n\n\t\treferenceWidgetLinkComponent() {\n\t\t\treturn this.route ? RouterLink : 'a'\n\t\t},\n\n\t\treferenceWidgetLinkProps() {\n\t\t\treturn this.route\n\t\t\t\t? { to: this.route }\n\t\t\t\t: { href: this.reference.openGraphObject.link, target: '_blank' }\n\t\t},\n\t},\n\n\twatch: {\n\t\tisVisible: {\n\t\t\thandler(val) {\n\t\t\t\tif (!val) {\n\t\t\t\t\tthis.idleTimeout = setTimeout(() => {\n\t\t\t\t\t\t// If the widget is still outside of viewport after timeout, destroy it\n\t\t\t\t\t\tif (!this.isVisible) {\n\t\t\t\t\t\t\tthis.destroyWidget()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, IDLE_TIMEOUT)\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tif (this.idleTimeout) {\n\t\t\t\t\tclearTimeout(this.idleTimeout)\n\t\t\t\t\tthis.idleTimeout = null\n\t\t\t\t}\n\n\t\t\t\tif (!this.rendered) {\n\t\t\t\t\tthis.renderWidget()\n\t\t\t\t}\n\t\t\t},\n\n\t\t\timmediate: true,\n\t\t},\n\t},\n\n\tbeforeDestroy() {\n\t\tif (this.idleTimeout) {\n\t\t\tclearTimeout(this.idleTimeout)\n\t\t\tthis.idleTimout = null\n\t\t}\n\t\tthis.stopResize()\n\t\tthis.destroyWidget()\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\tenableInteractive() {\n\t\t\tthis.showInteractive = true\n\t\t\tthis.renderWidget()\n\t\t},\n\n\t\trenderWidget() {\n\t\t\tif (!this.$refs.customWidgetContent) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this?.reference?.richObjectType === 'open-graph') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.$refs.customWidgetContent.innerHTML = ''\n\n\t\t\t// create a separate element so we can rerender on the ref again\n\t\t\tconst widget = document.createElement('div')\n\t\t\twidget.style = 'width: 100%;'\n\t\t\tthis.$refs.customWidgetContent.appendChild(widget)\n\t\t\tthis.$nextTick(() => {\n\t\t\t\t// Waiting for the ref to become available\n\t\t\t\trenderWidget(widget, {\n\t\t\t\t\t...this.reference,\n\t\t\t\t\tinteractive: this.isInteractive,\n\t\t\t\t})\n\t\t\t\tthis.rendered = true\n\t\t\t})\n\t\t},\n\n\t\tdestroyWidget() {\n\t\t\tif (this.rendered) {\n\t\t\t\tdestroyWidget(this.reference.richObjectType, this.$el)\n\t\t\t\tthis.rendered = false\n\t\t\t}\n\t\t},\n\n\t\tinitResizeLimits() {\n\t\t\t// Use min/max height from rendered widget element if set\n\t\t\tconst widgetEl = this.$refs.customWidgetContent?.firstElementChild\n\t\t\tif (widgetEl) {\n\t\t\t\tconst computedStyle = window.getComputedStyle(widgetEl)\n\t\t\t\tconst parsedMin = parseFloat(computedStyle.minHeight)\n\t\t\t\tconst parsedMax = parseFloat(computedStyle.maxHeight)\n\t\t\t\tthis.resizeMinHeight = parsedMin > 0 ? parsedMin : 100\n\t\t\t\tthis.resizeMaxHeight = Number.isFinite(parsedMax) && parsedMax > 0 ? parsedMax : (window.innerHeight - 120)\n\t\t\t} else {\n\t\t\t\tthis.resizeMinHeight = 100\n\t\t\t\tthis.resizeMaxHeight = window.innerHeight - 120\n\t\t\t}\n\t\t},\n\n\t\tstartResize(event) {\n\t\t\tif (!this.isResizable || !this.$refs.customWidget) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.initResizeLimits()\n\t\t\tthis.isResizing = true\n\t\t\tthis.resizeStartY = event.clientY\n\t\t\tthis.resizeStartHeight = this.$refs.customWidget.getBoundingClientRect().height\n\n\t\t\twindow.addEventListener('pointermove', this.onResize)\n\t\t\twindow.addEventListener('pointerup', this.stopResize)\n\t\t},\n\n\t\tonResizeKeydown(delta) {\n\t\t\tif (!this.isResizable || !this.$refs.customWidget) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Establish limits once per interaction\n\t\t\tthis.initResizeLimits()\n\n\t\t\tconst currentHeight = this.resizedHeight ?? this.resizeStartHeight\n\t\t\tconst next = currentHeight + delta\n\t\t\tthis.resizedHeight = Math.min(this.resizeMaxHeight, Math.max(this.resizeMinHeight, next))\n\t\t},\n\n\t\tonResize(event) {\n\t\t\tif (!this.isResizing || !this.$refs.customWidget) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst deltaY = event.clientY - this.resizeStartY\n\t\t\tthis.resizedHeight = Math.min(this.resizeMaxHeight, Math.max(this.resizeMinHeight, this.resizeStartHeight + deltaY))\n\t\t},\n\n\t\tstopResize() {\n\t\t\tif (!this.isResizing) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.isResizing = false\n\t\t\twindow.removeEventListener('pointermove', this.onResize)\n\t\t\twindow.removeEventListener('pointerup', this.stopResize)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n@mixin widget {\n\twidth: 100%;\n\tmargin: auto;\n\tmargin-bottom: calc(var(--default-grid-baseline, 4px) * 3);\n\tmargin-top: calc(var(--default-grid-baseline, 4px) * 3);\n\toverflow: hidden;\n\tborder: 2px solid var(--color-border);\n\tborder-radius: var(--border-radius-container);\n\tbackground-color: transparent;\n\tdisplay: flex;\n}\n\n.widget-custom {\n\t@include widget;\n\tposition: relative;\n\n\t&.full-width {\n\t\twidth: var(--widget-full-width, 100%) !important;\n\t\tinset-inline-start: calc( (var(--widget-full-width, 100%) - 100%) / 2 * -1);\n\t\tposition: relative;\n\t}\n\n\t&__content {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\t&__resize-handle {\n\t\tposition: absolute;\n\t\tbottom: 0;\n\t\tinset-inline-start: 0;\n\t\twidth: 100%;\n\t\theight: calc(var(--default-grid-baseline) * 2);\n\t\tborder-top: 1px solid var(--color-border);\n\t\tmargin-top: -1px;\n\t\tcursor: row-resize;\n\t\ttouch-action: none;\n\n\t\t&::before, &::after {\n\t\t\tcontent: '';\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tleft: 50%;\n\t\t\tbackground-color: var(--color-border);\n\t\t\tmargin-top: 1px;\n\t\t\ttransform: translateX(-50%);\n\t\t\twidth: 30px;\n\t\t\theight: 1px;\n\t\t}\n\n\t\t&::before {\n\t\t\tmargin-top: -2px;\n\t\t}\n\n\t\t&:focus-visible {\n\t\t\toutline: 2px solid var(--color-primary-element);\n\t\t\toutline-offset: -4px;\n\t\t}\n\t}\n}\n\n.widget-access {\n\t@include widget;\n\tpadding: calc(var(--default-grid-baseline, 4px) * 3);\n}\n\n.widget-default {\n\t@include widget;\n\n\t&--compact {\n\t\tflex-direction: column;\n\n\t\t.widget-default--image {\n\t\t\twidth: 100%;\n\t\t\theight: 150px;\n\t\t}\n\n\t\t.widget-default--details {\n\t\t\twidth: 100%;\n\t\t\tpadding-top: calc(var(--default-grid-baseline, 4px) * 2);\n\t\t\tpadding-bottom: calc(var(--default-grid-baseline, 4px) * 2);\n\t\t}\n\n\t\t.widget-default--description {\n\t\t\tdisplay: none;\n\t\t}\n\n\t}\n\n\t&--image {\n\t\twidth: 40%;\n\t\tbackground-position: center;\n\t\tbackground-size: cover;\n\t\tbackground-repeat: no-repeat;\n\t}\n\n\t&--name {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\tfont-weight: var(--font-weight-heading, bold);\n\t}\n\n\t&--details {\n\t\tpadding: calc(var(--default-grid-baseline, 4px) * 3);\n\t\twidth: 60%;\n\n\t\tp {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t}\n\t}\n\n\t&--description {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tdisplay: -webkit-box;\n\t\t-webkit-line-clamp: 3;\n\t\tline-clamp: 3;\n\t\t-webkit-box-orient: vertical;\n\t}\n\n\t&--link {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t}\n}\n\n.toggle-interactive {\n\tposition: relative;\n\t.toggle-interactive--button {\n\t\tposition: absolute;\n\t\tbottom: var(--default-grid-baseline);\n\t\tinset-inline-end: var(--default-grid-baseline);\n\t\tz-index: 10000;\n\t}\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;;;AAoEA,MAAA,eAAA,IAAA,KAAA;AACA,MAAA,uBAAA;AAEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,IACA;AAAA,EACA;AAAA;AAAA,EAGA,OAAA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,IAEA,aAAA;AAAA,MACA,MAAA;AAAA;AAAA,MAEA,SAAA;AAAA,IACA;AAAA,IAEA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA;AACA,UAAA,WAAA,uBAAA,iBAAA;AAEA,UAAA,YAAA,IAAA,KAAA;AAEA,UAAA,aAAA,IAAA;AACA,UAAA,eAAA,IAAA;AACA,UAAA,EAAA,UAAA,eAAA,UAAA;AACA,UAAA,EAAA,QAAA,mBAAA,IAAA,eAAA,YAAA;AAEA,4BAAA,YAAA,CAAA,CAAA,KAAA,MAAA;AACA,eAAA,MAAA;AACA,kBAAA,QAAA,MAAA;AAAA,MACA,CAAA;AAAA,IACA,CAAA;AAEA,WAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,iBAAA;AAAA,MACA,UAAA;AAAA,MACA,aAAA;AAAA,MACA,YAAA;AAAA,MACA,eAAA;AAAA,MACA,cAAA;AAAA,MACA,mBAAA;AAAA,MACA,iBAAA;AAAA,MACA,iBAAA,OAAA,cAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,gBAAA;AACA,aAAA,CAAA,KAAA,oBAAA,KAAA,eAAA,KAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,aAAA,aAAA,KAAA,UAAA,cAAA;AAAA,IACA;AAAA,IAEA,cAAA;AACA,aAAA,YAAA,KAAA,UAAA,cAAA;AAAA,IACA;AAAA,IAEA,kBAAA;AACA,aAAA,mBAAA,KAAA,UAAA,cAAA;AAAA,IACA;AAAA,IAEA,oBAAA;AACA,UAAA,CAAA,KAAA,eAAA;AACA,eAAA;AAAA,MACA;AACA,aAAA,EAAA,QAAA,GAAA,KAAA,aAAA,gBAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,aAAA,KAAA,MAAA,KAAA,iBAAA,KAAA,kBAAA;AAAA,IACA;AAAA,IAEA,qBAAA;AACA,aAAA,mBAAA,KAAA,UAAA,cAAA,KAAA,mBAAA,KAAA,UAAA,cAAA;AAAA,IACA;AAAA,IAEA,WAAA;AACA,aAAA,KAAA,aAAA,CAAA,KAAA,UAAA;AAAA,IACA;AAAA,IAEA,mBAAA;AACA,UAAA,KAAA,kBAAA,GAAA;AACA,eAAA;AAAA,UACA,SAAA;AAAA,QACA;AAAA,MACA;AACA,YAAA,YAAA,KAAA;AACA,aAAA;AAAA,QACA;AAAA,QACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,gBAAA;AAEA,YAAA,mBAAA,CAAA,KAAA,KAAA,KAAA,QAAA;AACA,aAAA,iBAAA,UAAA,CAAA,QAAA,KAAA,QAAA,GAAA;AAAA,IACA;AAAA,IAEA,cAAA;AACA,YAAA,OAAA,KAAA,UAAA,gBAAA;AACA,UAAA,CAAA,MAAA;AACA,eAAA;AAAA,MACA;AAEA,UAAA,KAAA,WAAA,UAAA,GAAA;AACA,eAAA,KAAA,UAAA,CAAA;AAAA,MACA;AACA,UAAA,KAAA,WAAA,SAAA,GAAA;AACA,eAAA,KAAA,UAAA,CAAA;AAAA,MACA;AACA,aAAA;AAAA,IACA;AAAA,IAEA,QAAA;AACA,aAAA,SAAA,KAAA,SAAA,KAAA,UAAA,gBAAA,IAAA;AAAA,IACA;AAAA,IAEA,+BAAA;AACA,aAAA,KAAA,QAAA,aAAA;AAAA,IACA;AAAA,IAEA,2BAAA;AACA,aAAA,KAAA,QACA,EAAA,IAAA,KAAA,MAAA,IACA,EAAA,MAAA,KAAA,UAAA,gBAAA,MAAA,QAAA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,WAAA;AAAA,MACA,QAAA,KAAA;AACA,YAAA,CAAA,KAAA;AACA,eAAA,cAAA,WAAA,MAAA;AAEA,gBAAA,CAAA,KAAA,WAAA;AACA,mBAAA,cAAA;AAAA,YACA;AAAA,UACA,GAAA,YAAA;AACA;AAAA,QACA;AAEA,YAAA,KAAA,aAAA;AACA,uBAAA,KAAA,WAAA;AACA,eAAA,cAAA;AAAA,QACA;AAEA,YAAA,CAAA,KAAA,UAAA;AACA,eAAA,aAAA;AAAA,QACA;AAAA,MACA;AAAA,MAEA,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,gBAAA;AACA,QAAA,KAAA,aAAA;AACA,mBAAA,KAAA,WAAA;AACA,WAAA,aAAA;AAAA,IACA;AACA,SAAA,WAAA;AACA,SAAA,cAAA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA;AAAA,IAEA,oBAAA;AACA,WAAA,kBAAA;AACA,WAAA,aAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,UAAA,CAAA,KAAA,MAAA,qBAAA;AACA;AAAA,MACA;AAEA,UAAA,MAAA,WAAA,mBAAA,cAAA;AACA;AAAA,MACA;AAEA,WAAA,MAAA,oBAAA,YAAA;AAGA,YAAA,SAAA,SAAA,cAAA,KAAA;AACA,aAAA,QAAA;AACA,WAAA,MAAA,oBAAA,YAAA,MAAA;AACA,WAAA,UAAA,MAAA;AAEA,qBAAA,QAAA;AAAA,UACA,GAAA,KAAA;AAAA,UACA,aAAA,KAAA;AAAA,QACA,CAAA;AACA,aAAA,WAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,IAEA,gBAAA;AACA,UAAA,KAAA,UAAA;AACA,sBAAA,KAAA,UAAA,gBAAA,KAAA,GAAA;AACA,aAAA,WAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,mBAAA;AAEA,YAAA,WAAA,KAAA,MAAA,qBAAA;AACA,UAAA,UAAA;AACA,cAAA,gBAAA,OAAA,iBAAA,QAAA;AACA,cAAA,YAAA,WAAA,cAAA,SAAA;AACA,cAAA,YAAA,WAAA,cAAA,SAAA;AACA,aAAA,kBAAA,YAAA,IAAA,YAAA;AACA,aAAA,kBAAA,OAAA,SAAA,SAAA,KAAA,YAAA,IAAA,YAAA,OAAA,cAAA;AAAA,MACA,OAAA;AACA,aAAA,kBAAA;AACA,aAAA,kBAAA,OAAA,cAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,YAAA,OAAA;AACA,UAAA,CAAA,KAAA,eAAA,CAAA,KAAA,MAAA,cAAA;AACA;AAAA,MACA;AAEA,WAAA,iBAAA;AACA,WAAA,aAAA;AACA,WAAA,eAAA,MAAA;AACA,WAAA,oBAAA,KAAA,MAAA,aAAA,sBAAA,EAAA;AAEA,aAAA,iBAAA,eAAA,KAAA,QAAA;AACA,aAAA,iBAAA,aAAA,KAAA,UAAA;AAAA,IACA;AAAA,IAEA,gBAAA,OAAA;AACA,UAAA,CAAA,KAAA,eAAA,CAAA,KAAA,MAAA,cAAA;AACA;AAAA,MACA;AAGA,WAAA,iBAAA;AAEA,YAAA,gBAAA,KAAA,iBAAA,KAAA;AACA,YAAA,OAAA,gBAAA;AACA,WAAA,gBAAA,KAAA,IAAA,KAAA,iBAAA,KAAA,IAAA,KAAA,iBAAA,IAAA,CAAA;AAAA,IACA;AAAA,IAEA,SAAA,OAAA;AACA,UAAA,CAAA,KAAA,cAAA,CAAA,KAAA,MAAA,cAAA;AACA;AAAA,MACA;AAEA,YAAA,SAAA,MAAA,UAAA,KAAA;AACA,WAAA,gBAAA,KAAA,IAAA,KAAA,iBAAA,KAAA,IAAA,KAAA,iBAAA,KAAA,oBAAA,MAAA,CAAA;AAAA,IACA;AAAA,IAEA,aAAA;AACA,UAAA,CAAA,KAAA,YAAA;AACA;AAAA,MACA;AAEA,WAAA,aAAA;AACA,aAAA,oBAAA,eAAA,KAAA,QAAA;AACA,aAAA,oBAAA,aAAA,KAAA,UAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/chunks/{NcRelatedResourcesPanel-CFp3GPty.mjs → NcRelatedResourcesPanel-BKygMHvP.mjs}
RENAMED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import '../assets/NcRelatedResourcesPanel-D5DxWJPc.css';
|
|
2
2
|
import axios from "@nextcloud/axios";
|
|
3
3
|
import { generateOcsUrl } from "@nextcloud/router";
|
|
4
|
-
import { r as register,
|
|
5
|
-
import { N as NcButton } from "./NcButton-
|
|
6
|
-
import { g as getRoute } from "./autolink-
|
|
4
|
+
import { r as register, V as t39, a as t, W as t43, X as t10 } from "./_l10n-CAnZaLWU.mjs";
|
|
5
|
+
import { N as NcButton } from "./NcButton-DAGirW_B.mjs";
|
|
6
|
+
import { g as getRoute } from "./autolink-COrOqbJu.mjs";
|
|
7
7
|
import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
|
|
8
8
|
import { getCapabilities } from "@nextcloud/capabilities";
|
|
9
9
|
import { C as ChevronDown } from "./ChevronDown-DFQfzh63.mjs";
|
|
10
10
|
import { C as ChevronUp } from "./ChevronUp-C7Dy9Bph.mjs";
|
|
11
11
|
import { N as NcIconSvgWrapper } from "./NcIconSvgWrapper-Bui9PhAS.mjs";
|
|
12
12
|
import { l as logger } from "./logger-D3RVzcfQ.mjs";
|
|
13
|
-
register(
|
|
13
|
+
register(t39);
|
|
14
14
|
const _sfc_main$4 = {
|
|
15
15
|
name: "NcResource",
|
|
16
16
|
components: {
|
|
@@ -127,7 +127,7 @@ var __component__$2 = /* @__PURE__ */ normalizeComponent(
|
|
|
127
127
|
null
|
|
128
128
|
);
|
|
129
129
|
const OpenInNew = __component__$2.exports;
|
|
130
|
-
register(
|
|
130
|
+
register(t43);
|
|
131
131
|
const teamResourceProviders = getCapabilities()?.circles?.teamResourceProviders ?? [];
|
|
132
132
|
const _sfc_main$1 = {
|
|
133
133
|
name: "NcTeamResources",
|
|
@@ -247,7 +247,7 @@ var __component__$1 = /* @__PURE__ */ normalizeComponent(
|
|
|
247
247
|
"82938a03"
|
|
248
248
|
);
|
|
249
249
|
const NcTeamResources = __component__$1.exports;
|
|
250
|
-
register(
|
|
250
|
+
register(t10);
|
|
251
251
|
const _sfc_main = {
|
|
252
252
|
name: "NcRelatedResourcesPanel",
|
|
253
253
|
components: {
|
|
@@ -427,4 +427,4 @@ const NcRelatedResourcesPanel = __component__.exports;
|
|
|
427
427
|
export {
|
|
428
428
|
NcRelatedResourcesPanel as N
|
|
429
429
|
};
|
|
430
|
-
//# sourceMappingURL=NcRelatedResourcesPanel-
|
|
430
|
+
//# sourceMappingURL=NcRelatedResourcesPanel-BKygMHvP.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcRelatedResourcesPanel-CFp3GPty.mjs","sources":["../../src/components/NcRelatedResourcesPanel/NcResource.vue","../../node_modules/vue-material-design-icons/AccountGroup.vue","../../node_modules/vue-material-design-icons/OpenInNew.vue","../../src/components/NcRelatedResourcesPanel/NcTeamResources.vue","../../src/components/NcRelatedResourcesPanel/NcRelatedResourcesPanel.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<li class=\"resource\">\n\t\t<NcButton\n\t\t\tclass=\"resource__button\"\n\t\t\t:aria-label=\"labelTranslated\"\n\t\t\t:to=\"route\"\n\t\t\t:href=\"route ? null : url\"\n\t\t\tvariant=\"tertiary\">\n\t\t\t<template #icon>\n\t\t\t\t<div class=\"resource__icon\">\n\t\t\t\t\t<img :src=\"icon\">\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t{{ name }}\n\t\t</NcButton>\n\t</li>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\nimport NcButton from '../NcButton/index.js'\nimport { getRoute } from '../NcRichText/autolink.js'\n\nexport default {\n\tname: 'NcResource',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\t/* eslint vue/require-prop-comment: warn -- TODO: Add a proper doc block about what this props do */\n\tprops: {\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\turl: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlabelTranslated: t('Open link to \"{resourceName}\"', { resourceName: this.name }),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\troute() {\n\t\t\treturn getRoute(this.$router, this.url)\n\t\t},\n\t},\n\n\tmethods: {\n\t\tt,\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.resource {\n\tdisplay: flex;\n\talign-items: center;\n\theight: var(--default-clickable-area);\n\n\t// Override default NcButton styles\n\t&__button {\n\t\twidth: 100% !important;\n\t\tjustify-content: flex-start !important;\n\t\tpadding: 0 !important;\n\n\t\t&:deep {\n\t\t\t.button-vue__wrapper {\n\t\t\t\tjustify-content: flex-start !important;\n\n\t\t\t\t.button-vue__text {\n\t\t\t\t\tfont-weight: var(--font-weight-default, normal) !important;\n\t\t\t\t\tmargin-left: 2px !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t&__icon {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\timg {\n\t\t\twidth: 16px;\n\t\t\theight: 16px;\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n}\n</style>\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon account-group-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"AccountGroupIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon open-in-new-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"OpenInNewIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<div v-if=\"appEnabled && isVisible\" class=\"team-resources\">\n\t\t<h5 class=\"team-resources__header\">\n\t\t\t{{ t('Related team resources') }}\n\t\t</h5>\n\t\t<details\n\t\t\tv-for=\"team in teamResources\"\n\t\t\t:key=\"team.teamId\"\n\t\t\tname=\"Team resources\"\n\t\t\tclass=\"related-team\"\n\t\t\t:open=\"open(team.teamId)\"\n\t\t\t@toggle=\"(event) => toggleOpen(team.teamId, event.target.open)\">\n\t\t\t<summary class=\"related-team__header\">\n\t\t\t\t<h5 class=\"related-team__name\">\n\t\t\t\t\t<AccountGroup :size=\"20\" />\n\t\t\t\t\t{{ team.displayName }}\n\t\t\t\t</h5>\n\t\t\t\t<NcButton\n\t\t\t\t\t:aria-label=\"t('View team')\"\n\t\t\t\t\t:href=\"team.link\"\n\t\t\t\t\t:title=\"t('View team')\"\n\t\t\t\t\tvariant=\"tertiary\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<OpenInNew :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\n\t\t\t\t<ChevronUp\n\t\t\t\t\tv-if=\"open(team.teamId)\"\n\t\t\t\t\t:size=\"20\" />\n\t\t\t\t<ChevronDown\n\t\t\t\t\tv-else\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</summary>\n\n\t\t\t<div>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"provider in teamProviders(team.teamId)\"\n\t\t\t\t\t:key=\"provider.id\"\n\t\t\t\t\tclass=\"related-team-provider\">\n\t\t\t\t\t<h6 v-if=\"provider.resources.length > 0\">\n\t\t\t\t\t\t{{ provider.name }}\n\t\t\t\t\t</h6>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li v-for=\"resource in provider.resources\" :key=\"resource.url\" class=\"related-team-resource\">\n\t\t\t\t\t\t\t<a :href=\"resource.url\" class=\"related-team-resource__link\">\n\t\t\t\t\t\t\t\t<span v-if=\"resource.iconEmoji\" class=\"resource__icon\">\n\t\t\t\t\t\t\t\t\t{{ resource.iconEmoji }}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper\n\t\t\t\t\t\t\t\t\tv-else-if=\"resource.iconSvg\"\n\t\t\t\t\t\t\t\t\tclass=\"resource__icon\"\n\t\t\t\t\t\t\t\t\t:svg=\"resource.iconSvg\"\n\t\t\t\t\t\t\t\t\t:size=\"20\" />\n\t\t\t\t\t\t\t\t<span v-else-if=\"resource.iconURL\" class=\"resource__icon\">\n\t\t\t\t\t\t\t\t\t<img :src=\"resource.iconURL\" alt=\"\">\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span class=\"resource__name\">\n\t\t\t\t\t\t\t\t\t{{ resource.label }}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</details>\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport AccountGroup from 'vue-material-design-icons/AccountGroup.vue'\nimport ChevronDown from 'vue-material-design-icons/ChevronDown.vue'\nimport ChevronUp from 'vue-material-design-icons/ChevronUp.vue'\nimport OpenInNew from 'vue-material-design-icons/OpenInNew.vue'\nimport NcButton from '../NcButton/NcButton.vue'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/NcIconSvgWrapper.vue'\nimport { t } from '../../l10n.js'\nimport { logger } from '../../utils/logger.ts'\n\nconst teamResourceProviders = getCapabilities()?.circles?.teamResourceProviders ?? []\n\nexport default {\n\tname: 'NcTeamResources',\n\n\tcomponents: {\n\t\tAccountGroup,\n\t\tChevronDown,\n\t\tChevronUp,\n\t\tOpenInNew,\n\t\tNcButton,\n\t\tNcIconSvgWrapper,\n\t},\n\n\t/* eslint vue/require-prop-comment: warn -- TODO: Add a proper doc block about what this props do */\n\tprops: {\n\t\tproviderId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\titemId: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tappEnabled: OC?.appswebroots?.circles !== undefined && (OC.config.version.split('.')[0] ?? 0) >= 29,\n\t\t\tloading: false,\n\t\t\tteamResources: null,\n\t\t\tteamOpen: [],\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisVisible() {\n\t\t\treturn !this.loading && this.teamResources?.length > 0\n\t\t},\n\n\t\tteamProviders() {\n\t\t\treturn (teamId) => {\n\t\t\t\tconst team = this.teamResources.find((t) => t.teamId === teamId)\n\t\t\t\treturn team.resources?.reduce((acc, resource) => {\n\t\t\t\t\tif (resource.provider.id === this.providerId && resource.id === String(this.itemId)) {\n\t\t\t\t\t\treturn acc\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!acc[resource.provider.id]) {\n\t\t\t\t\t\tacc[resource.provider.id] = resource.provider\n\t\t\t\t\t\tacc[resource.provider.id].resources = []\n\t\t\t\t\t}\n\n\t\t\t\t\tif (resource.provider.id === this.providerId && resource.id === String(this.itemId)) {\n\t\t\t\t\t\treturn acc\n\t\t\t\t\t}\n\n\t\t\t\t\tacc[resource.provider.id].resources.push(resource)\n\t\t\t\t\treturn acc\n\t\t\t\t}, {})\n\t\t\t}\n\t\t},\n\n\t\topen() {\n\t\t\treturn (teamId) => {\n\t\t\t\treturn this.teamOpen.indexOf(teamId) !== -1\n\t\t\t}\n\t\t},\n\t},\n\n\twatch: {\n\t\tproviderId() {\n\t\t\tthis.fetchTeamResources()\n\t\t},\n\n\t\titemId() {\n\t\t\tthis.fetchTeamResources()\n\t\t},\n\t},\n\n\tcreated() {\n\t\tthis.fetchTeamResources()\n\t},\n\n\tmethods: {\n\t\tt,\n\t\tasync fetchTeamResources() {\n\t\t\tif (!teamResourceProviders.includes(this.providerId)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\t\t\t\tconst response = await axios.get(generateOcsUrl(`/teams/resources/${this.providerId}/${this.itemId}`))\n\t\t\t\tthis.teamResources = response.data.ocs.data.teams\n\t\t\t\tthis.teamOpen = [this.teamResources[0]?.teamId]\n\t\t\t} catch (error) {\n\t\t\t\tthis.teamResources = null\n\t\t\t\tlogger.error('Could not fetch Teams resources', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\ttoggleOpen(teamId, open) {\n\t\t\tif (open) {\n\t\t\t\tthis.teamOpen.push(teamId)\n\t\t\t} else {\n\t\t\t\tthis.teamOpen.splice(this.teamOpen.indexOf(teamId), 1)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.team-resources__header {\n\tfont-weight: var(--font-weight-heading, bold);\n\tmargin-bottom: 6px;\n}\n\n.related-team {\n\tborder-radius: var(--border-radius-rounded);\n\tborder: 2px solid var(--color-border-dark);\n\tmargin-bottom: 6px;\n\n\t&__open {\n\t\tborder-color: var(--color-primary-element);\n\t}\n\n\t&__header {\n\t\tpadding: 6px;\n\t\tpadding-right: 24px;\n\t\tdisplay: flex;\n\t\tgap: 12px;\n\t}\n\n\t&__name {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\talign-items: center;\n\t\tgap: 12px;\n\t\tpadding: 6px 12px;\n\t\tfont-weight: var(--font-weight-heading, bold);\n\t\tmargin: 0;\n\t}\n\n\t.related-team-provider {\n\t\tpadding: 6px 12px;\n\n\t\t&__name {\n\t\t\tfont-weight: var(--font-weight-heading, bold);\n\t\t\tmargin-bottom: 3px;\n\t\t}\n\n\t\t&__link {\n\t\t\tdisplay: flex;\n\t\t\tgap: 12px;\n\t\t\tpadding: 6px 12px;\n\t\t\tfont-weight: var(--font-weight-heading, bold);\n\t\t}\n\t}\n\n\t.related-team-resource {\n\t\t&__link {\n\t\t\tdisplay: flex;\n\t\t\tgap: 12px;\n\t\t\theight: var(--default-clickable-area);\n\t\t\talign-items: center;\n\t\t\tborder-radius: var(--border-radius-large);\n\n\t\t\t&:hover {\n\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t}\n\t\t\t&:focus {\n\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t\toutline: 2px solid var(--color-primary-element);\n\t\t\t}\n\t\t}\n\t\t.resource__icon {\n\t\t\twidth: var(--default-clickable-area);\n\t\t\theight: var(--default-clickable-area);\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\ttext-align: center;\n\n\t\t\t& > img {\n\t\t\t\tborder-radius: var(--border-radius-pill);\n\t\t\t\toverflow: hidden;\n\t\t\t\twidth: 32px;\n\t\t\t\theight: 32px;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Usage\n\nUse this component to display the related resources of a given item.\n\n```\n<template>\n\t<NcRelatedResourcesPanel provider-id=\"talk\"\n\t\theader=\"Related resources for talk\"\n\t\t:item-id=\"conversationId\" />\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tconversationId: 1,\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<div>\n\t\t<NcTeamResources\n\t\t\t:provider-id=\"providerId\"\n\t\t\t:item-id=\"itemId\" />\n\n\t\t<div v-if=\"appEnabled && isVisible\" class=\"related-resources\">\n\t\t\t<div class=\"related-resources__header\">\n\t\t\t\t<h5>{{ header }}</h5>\n\t\t\t\t<p>{{ subline }}</p>\n\t\t\t</div>\n\n\t\t\t<NcResource\n\t\t\t\tv-for=\"resource in resources\"\n\t\t\t\t:key=\"resource.itemId\"\n\t\t\t\tclass=\"related-resources__entry\"\n\t\t\t\t:icon=\"resource.icon\"\n\t\t\t\t:name=\"resource.title\"\n\t\t\t\t:url=\"resource.url\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport NcResource from './NcResource.vue'\nimport NcTeamResources from './NcTeamResources.vue'\nimport { t } from '../../l10n.js'\nimport { logger } from '../../utils/logger.ts'\n\nexport default {\n\tname: 'NcRelatedResourcesPanel',\n\n\tcomponents: {\n\t\tNcResource,\n\t\tNcTeamResources,\n\t},\n\n\t/* eslint vue/require-prop-comment: warn -- TODO: Add a proper doc block about what this props do */\n\tprops: {\n\t\t/**\n\t\t * The provider id implemented with `\\OCA\\RelatedResources\\IRelatedResourceProvider::getProviderId()`\n\t\t */\n\t\tproviderId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * The item id which uniquely identities the e.g. Calendar event, Deck board, file, Talk room, etc.\n\t\t */\n\t\titemId: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Limits to specific resource type. i.e. any provider id implemented with `\\OCA\\RelatedResources\\IRelatedResourceProvider::getProviderId()`\n\t\t */\n\t\tresourceType: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Set the maximum number of resources to load\n\t\t */\n\t\tlimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\n\t\t/**\n\t\t * Only used by the files sidebar\n\t\t *\n\t\t * File info is passed when registered with `OCA.Sharing.ShareTabSections.registerSection()`\n\t\t */\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Make the header name dynamic\n\t\t */\n\t\theader: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Related resources'),\n\t\t},\n\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Anything shared with the same group of people will show up here'),\n\t\t},\n\n\t\t/**\n\t\t * If this element is used on a primary element set to true for primary styling.\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\temits: [\n\t\t'has-error',\n\t\t'has-resources',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tappEnabled: OC?.appswebroots?.related_resources !== undefined,\n\t\t\tloading: false,\n\t\t\terror: null,\n\t\t\tresources: [],\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisVisible() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn this.error ?? this.resources.length > 0\n\t\t},\n\n\t\tsubline() {\n\t\t\tif (this.error) {\n\t\t\t\treturn t('Error getting related resources. Please contact your system administrator if you have any questions.')\n\t\t\t}\n\t\t\treturn this.description\n\t\t},\n\n\t\thasResourceInfo() {\n\t\t\tif (this.providerId !== null && this.itemId !== null) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif (this.fileInfo !== null) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\tisFiles() {\n\t\t\treturn this.fileInfo?.id !== undefined\n\t\t},\n\n\t\turl() {\n\t\t\tlet providerId\n\t\t\tlet itemId\n\n\t\t\tif (this.isFiles) {\n\t\t\t\tproviderId = 'files'\n\t\t\t\titemId = this.fileInfo.id\n\t\t\t} else {\n\t\t\t\tproviderId = this.providerId\n\t\t\t\titemId = this.itemId\n\t\t\t}\n\n\t\t\treturn generateOcsUrl('/apps/related_resources/related/{providerId}?itemId={itemId}&resourceType={resourceType}&limit={limit}&format=json', {\n\t\t\t\tproviderId,\n\t\t\t\titemId,\n\t\t\t\tresourceType: this.resourceType,\n\t\t\t\tlimit: this.limit,\n\t\t\t})\n\t\t},\n\t},\n\n\twatch: {\n\t\tproviderId() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\n\t\titemId() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\n\t\tfileInfo() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\n\t\terror(error) {\n\t\t\t/**\n\t\t\t * Emitted when the error value changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('has-error', Boolean(error))\n\t\t},\n\n\t\tresources(resources) {\n\t\t\t/**\n\t\t\t * Emitted when the resources value changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('has-resources', resources.length > 0)\n\t\t},\n\t},\n\n\tcreated() {\n\t\tthis.fetchRelatedResources()\n\t},\n\n\tmethods: {\n\t\tt,\n\t\tasync fetchRelatedResources() {\n\t\t\tif (!this.appEnabled || !this.hasResourceInfo) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.loading = true\n\t\t\tthis.error = null\n\t\t\tthis.resources = []\n\t\t\ttry {\n\t\t\t\tconst response = await axios.get(this.url)\n\t\t\t\tthis.resources = response.data.ocs?.data\n\t\t\t} catch (error) {\n\t\t\t\tthis.error = e\n\t\t\t\tlogger.error('Could not fetch related resources', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.related-resources {\n\t&__header {\n\n\t\th5 {\n\t\t\tfont-weight: var(--font-weight-heading, bold);\n\t\t\tmargin-bottom: 6px;\n\t\t}\n\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n}\n</style>\n"],"names":["_sfc_main","t"],"mappings":"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","x_google_ignoreList":[1,2]}
|
|
1
|
+
{"version":3,"file":"NcRelatedResourcesPanel-BKygMHvP.mjs","sources":["../../src/components/NcRelatedResourcesPanel/NcResource.vue","../../node_modules/vue-material-design-icons/AccountGroup.vue","../../node_modules/vue-material-design-icons/OpenInNew.vue","../../src/components/NcRelatedResourcesPanel/NcTeamResources.vue","../../src/components/NcRelatedResourcesPanel/NcRelatedResourcesPanel.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<li class=\"resource\">\n\t\t<NcButton\n\t\t\tclass=\"resource__button\"\n\t\t\t:aria-label=\"labelTranslated\"\n\t\t\t:to=\"route\"\n\t\t\t:href=\"route ? null : url\"\n\t\t\tvariant=\"tertiary\">\n\t\t\t<template #icon>\n\t\t\t\t<div class=\"resource__icon\">\n\t\t\t\t\t<img :src=\"icon\">\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t{{ name }}\n\t\t</NcButton>\n\t</li>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\nimport NcButton from '../NcButton/index.js'\nimport { getRoute } from '../NcRichText/autolink.js'\n\nexport default {\n\tname: 'NcResource',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\t/* eslint vue/require-prop-comment: warn -- TODO: Add a proper doc block about what this props do */\n\tprops: {\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\turl: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlabelTranslated: t('Open link to \"{resourceName}\"', { resourceName: this.name }),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\troute() {\n\t\t\treturn getRoute(this.$router, this.url)\n\t\t},\n\t},\n\n\tmethods: {\n\t\tt,\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.resource {\n\tdisplay: flex;\n\talign-items: center;\n\theight: var(--default-clickable-area);\n\n\t// Override default NcButton styles\n\t&__button {\n\t\twidth: 100% !important;\n\t\tjustify-content: flex-start !important;\n\t\tpadding: 0 !important;\n\n\t\t&:deep {\n\t\t\t.button-vue__wrapper {\n\t\t\t\tjustify-content: flex-start !important;\n\n\t\t\t\t.button-vue__text {\n\t\t\t\t\tfont-weight: var(--font-weight-default, normal) !important;\n\t\t\t\t\tmargin-left: 2px !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t&__icon {\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tbackground-color: var(--color-text-maxcontrast);\n\t\tborder-radius: 50%;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\timg {\n\t\t\twidth: 16px;\n\t\t\theight: 16px;\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\t}\n}\n</style>\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon account-group-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"AccountGroupIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon open-in-new-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"OpenInNewIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<div v-if=\"appEnabled && isVisible\" class=\"team-resources\">\n\t\t<h5 class=\"team-resources__header\">\n\t\t\t{{ t('Related team resources') }}\n\t\t</h5>\n\t\t<details\n\t\t\tv-for=\"team in teamResources\"\n\t\t\t:key=\"team.teamId\"\n\t\t\tname=\"Team resources\"\n\t\t\tclass=\"related-team\"\n\t\t\t:open=\"open(team.teamId)\"\n\t\t\t@toggle=\"(event) => toggleOpen(team.teamId, event.target.open)\">\n\t\t\t<summary class=\"related-team__header\">\n\t\t\t\t<h5 class=\"related-team__name\">\n\t\t\t\t\t<AccountGroup :size=\"20\" />\n\t\t\t\t\t{{ team.displayName }}\n\t\t\t\t</h5>\n\t\t\t\t<NcButton\n\t\t\t\t\t:aria-label=\"t('View team')\"\n\t\t\t\t\t:href=\"team.link\"\n\t\t\t\t\t:title=\"t('View team')\"\n\t\t\t\t\tvariant=\"tertiary\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<OpenInNew :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\n\t\t\t\t<ChevronUp\n\t\t\t\t\tv-if=\"open(team.teamId)\"\n\t\t\t\t\t:size=\"20\" />\n\t\t\t\t<ChevronDown\n\t\t\t\t\tv-else\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</summary>\n\n\t\t\t<div>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"provider in teamProviders(team.teamId)\"\n\t\t\t\t\t:key=\"provider.id\"\n\t\t\t\t\tclass=\"related-team-provider\">\n\t\t\t\t\t<h6 v-if=\"provider.resources.length > 0\">\n\t\t\t\t\t\t{{ provider.name }}\n\t\t\t\t\t</h6>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li v-for=\"resource in provider.resources\" :key=\"resource.url\" class=\"related-team-resource\">\n\t\t\t\t\t\t\t<a :href=\"resource.url\" class=\"related-team-resource__link\">\n\t\t\t\t\t\t\t\t<span v-if=\"resource.iconEmoji\" class=\"resource__icon\">\n\t\t\t\t\t\t\t\t\t{{ resource.iconEmoji }}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper\n\t\t\t\t\t\t\t\t\tv-else-if=\"resource.iconSvg\"\n\t\t\t\t\t\t\t\t\tclass=\"resource__icon\"\n\t\t\t\t\t\t\t\t\t:svg=\"resource.iconSvg\"\n\t\t\t\t\t\t\t\t\t:size=\"20\" />\n\t\t\t\t\t\t\t\t<span v-else-if=\"resource.iconURL\" class=\"resource__icon\">\n\t\t\t\t\t\t\t\t\t<img :src=\"resource.iconURL\" alt=\"\">\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span class=\"resource__name\">\n\t\t\t\t\t\t\t\t\t{{ resource.label }}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</details>\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport AccountGroup from 'vue-material-design-icons/AccountGroup.vue'\nimport ChevronDown from 'vue-material-design-icons/ChevronDown.vue'\nimport ChevronUp from 'vue-material-design-icons/ChevronUp.vue'\nimport OpenInNew from 'vue-material-design-icons/OpenInNew.vue'\nimport NcButton from '../NcButton/NcButton.vue'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/NcIconSvgWrapper.vue'\nimport { t } from '../../l10n.js'\nimport { logger } from '../../utils/logger.ts'\n\nconst teamResourceProviders = getCapabilities()?.circles?.teamResourceProviders ?? []\n\nexport default {\n\tname: 'NcTeamResources',\n\n\tcomponents: {\n\t\tAccountGroup,\n\t\tChevronDown,\n\t\tChevronUp,\n\t\tOpenInNew,\n\t\tNcButton,\n\t\tNcIconSvgWrapper,\n\t},\n\n\t/* eslint vue/require-prop-comment: warn -- TODO: Add a proper doc block about what this props do */\n\tprops: {\n\t\tproviderId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\titemId: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tappEnabled: OC?.appswebroots?.circles !== undefined && (OC.config.version.split('.')[0] ?? 0) >= 29,\n\t\t\tloading: false,\n\t\t\tteamResources: null,\n\t\t\tteamOpen: [],\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisVisible() {\n\t\t\treturn !this.loading && this.teamResources?.length > 0\n\t\t},\n\n\t\tteamProviders() {\n\t\t\treturn (teamId) => {\n\t\t\t\tconst team = this.teamResources.find((t) => t.teamId === teamId)\n\t\t\t\treturn team.resources?.reduce((acc, resource) => {\n\t\t\t\t\tif (resource.provider.id === this.providerId && resource.id === String(this.itemId)) {\n\t\t\t\t\t\treturn acc\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!acc[resource.provider.id]) {\n\t\t\t\t\t\tacc[resource.provider.id] = resource.provider\n\t\t\t\t\t\tacc[resource.provider.id].resources = []\n\t\t\t\t\t}\n\n\t\t\t\t\tif (resource.provider.id === this.providerId && resource.id === String(this.itemId)) {\n\t\t\t\t\t\treturn acc\n\t\t\t\t\t}\n\n\t\t\t\t\tacc[resource.provider.id].resources.push(resource)\n\t\t\t\t\treturn acc\n\t\t\t\t}, {})\n\t\t\t}\n\t\t},\n\n\t\topen() {\n\t\t\treturn (teamId) => {\n\t\t\t\treturn this.teamOpen.indexOf(teamId) !== -1\n\t\t\t}\n\t\t},\n\t},\n\n\twatch: {\n\t\tproviderId() {\n\t\t\tthis.fetchTeamResources()\n\t\t},\n\n\t\titemId() {\n\t\t\tthis.fetchTeamResources()\n\t\t},\n\t},\n\n\tcreated() {\n\t\tthis.fetchTeamResources()\n\t},\n\n\tmethods: {\n\t\tt,\n\t\tasync fetchTeamResources() {\n\t\t\tif (!teamResourceProviders.includes(this.providerId)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\t\t\t\tconst response = await axios.get(generateOcsUrl(`/teams/resources/${this.providerId}/${this.itemId}`))\n\t\t\t\tthis.teamResources = response.data.ocs.data.teams\n\t\t\t\tthis.teamOpen = [this.teamResources[0]?.teamId]\n\t\t\t} catch (error) {\n\t\t\t\tthis.teamResources = null\n\t\t\t\tlogger.error('Could not fetch Teams resources', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\ttoggleOpen(teamId, open) {\n\t\t\tif (open) {\n\t\t\t\tthis.teamOpen.push(teamId)\n\t\t\t} else {\n\t\t\t\tthis.teamOpen.splice(this.teamOpen.indexOf(teamId), 1)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.team-resources__header {\n\tfont-weight: var(--font-weight-heading, bold);\n\tmargin-bottom: 6px;\n}\n\n.related-team {\n\tborder-radius: var(--border-radius-rounded);\n\tborder: 2px solid var(--color-border-dark);\n\tmargin-bottom: 6px;\n\n\t&__open {\n\t\tborder-color: var(--color-primary-element);\n\t}\n\n\t&__header {\n\t\tpadding: 6px;\n\t\tpadding-right: 24px;\n\t\tdisplay: flex;\n\t\tgap: 12px;\n\t}\n\n\t&__name {\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t\talign-items: center;\n\t\tgap: 12px;\n\t\tpadding: 6px 12px;\n\t\tfont-weight: var(--font-weight-heading, bold);\n\t\tmargin: 0;\n\t}\n\n\t.related-team-provider {\n\t\tpadding: 6px 12px;\n\n\t\t&__name {\n\t\t\tfont-weight: var(--font-weight-heading, bold);\n\t\t\tmargin-bottom: 3px;\n\t\t}\n\n\t\t&__link {\n\t\t\tdisplay: flex;\n\t\t\tgap: 12px;\n\t\t\tpadding: 6px 12px;\n\t\t\tfont-weight: var(--font-weight-heading, bold);\n\t\t}\n\t}\n\n\t.related-team-resource {\n\t\t&__link {\n\t\t\tdisplay: flex;\n\t\t\tgap: 12px;\n\t\t\theight: var(--default-clickable-area);\n\t\t\talign-items: center;\n\t\t\tborder-radius: var(--border-radius-large);\n\n\t\t\t&:hover {\n\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t}\n\t\t\t&:focus {\n\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t\toutline: 2px solid var(--color-primary-element);\n\t\t\t}\n\t\t}\n\t\t.resource__icon {\n\t\t\twidth: var(--default-clickable-area);\n\t\t\theight: var(--default-clickable-area);\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\ttext-align: center;\n\n\t\t\t& > img {\n\t\t\t\tborder-radius: var(--border-radius-pill);\n\t\t\t\toverflow: hidden;\n\t\t\t\twidth: 32px;\n\t\t\t\theight: 32px;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Usage\n\nUse this component to display the related resources of a given item.\n\n```\n<template>\n\t<NcRelatedResourcesPanel provider-id=\"talk\"\n\t\theader=\"Related resources for talk\"\n\t\t:item-id=\"conversationId\" />\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tconversationId: 1,\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<div>\n\t\t<NcTeamResources\n\t\t\t:provider-id=\"providerId\"\n\t\t\t:item-id=\"itemId\" />\n\n\t\t<div v-if=\"appEnabled && isVisible\" class=\"related-resources\">\n\t\t\t<div class=\"related-resources__header\">\n\t\t\t\t<h5>{{ header }}</h5>\n\t\t\t\t<p>{{ subline }}</p>\n\t\t\t</div>\n\n\t\t\t<NcResource\n\t\t\t\tv-for=\"resource in resources\"\n\t\t\t\t:key=\"resource.itemId\"\n\t\t\t\tclass=\"related-resources__entry\"\n\t\t\t\t:icon=\"resource.icon\"\n\t\t\t\t:name=\"resource.title\"\n\t\t\t\t:url=\"resource.url\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport NcResource from './NcResource.vue'\nimport NcTeamResources from './NcTeamResources.vue'\nimport { t } from '../../l10n.js'\nimport { logger } from '../../utils/logger.ts'\n\nexport default {\n\tname: 'NcRelatedResourcesPanel',\n\n\tcomponents: {\n\t\tNcResource,\n\t\tNcTeamResources,\n\t},\n\n\t/* eslint vue/require-prop-comment: warn -- TODO: Add a proper doc block about what this props do */\n\tprops: {\n\t\t/**\n\t\t * The provider id implemented with `\\OCA\\RelatedResources\\IRelatedResourceProvider::getProviderId()`\n\t\t */\n\t\tproviderId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * The item id which uniquely identities the e.g. Calendar event, Deck board, file, Talk room, etc.\n\t\t */\n\t\titemId: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Limits to specific resource type. i.e. any provider id implemented with `\\OCA\\RelatedResources\\IRelatedResourceProvider::getProviderId()`\n\t\t */\n\t\tresourceType: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Set the maximum number of resources to load\n\t\t */\n\t\tlimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\n\t\t/**\n\t\t * Only used by the files sidebar\n\t\t *\n\t\t * File info is passed when registered with `OCA.Sharing.ShareTabSections.registerSection()`\n\t\t */\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Make the header name dynamic\n\t\t */\n\t\theader: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Related resources'),\n\t\t},\n\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Anything shared with the same group of people will show up here'),\n\t\t},\n\n\t\t/**\n\t\t * If this element is used on a primary element set to true for primary styling.\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\temits: [\n\t\t'has-error',\n\t\t'has-resources',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tappEnabled: OC?.appswebroots?.related_resources !== undefined,\n\t\t\tloading: false,\n\t\t\terror: null,\n\t\t\tresources: [],\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisVisible() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn this.error ?? this.resources.length > 0\n\t\t},\n\n\t\tsubline() {\n\t\t\tif (this.error) {\n\t\t\t\treturn t('Error getting related resources. Please contact your system administrator if you have any questions.')\n\t\t\t}\n\t\t\treturn this.description\n\t\t},\n\n\t\thasResourceInfo() {\n\t\t\tif (this.providerId !== null && this.itemId !== null) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif (this.fileInfo !== null) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\tisFiles() {\n\t\t\treturn this.fileInfo?.id !== undefined\n\t\t},\n\n\t\turl() {\n\t\t\tlet providerId\n\t\t\tlet itemId\n\n\t\t\tif (this.isFiles) {\n\t\t\t\tproviderId = 'files'\n\t\t\t\titemId = this.fileInfo.id\n\t\t\t} else {\n\t\t\t\tproviderId = this.providerId\n\t\t\t\titemId = this.itemId\n\t\t\t}\n\n\t\t\treturn generateOcsUrl('/apps/related_resources/related/{providerId}?itemId={itemId}&resourceType={resourceType}&limit={limit}&format=json', {\n\t\t\t\tproviderId,\n\t\t\t\titemId,\n\t\t\t\tresourceType: this.resourceType,\n\t\t\t\tlimit: this.limit,\n\t\t\t})\n\t\t},\n\t},\n\n\twatch: {\n\t\tproviderId() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\n\t\titemId() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\n\t\tfileInfo() {\n\t\t\tthis.fetchRelatedResources()\n\t\t},\n\n\t\terror(error) {\n\t\t\t/**\n\t\t\t * Emitted when the error value changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('has-error', Boolean(error))\n\t\t},\n\n\t\tresources(resources) {\n\t\t\t/**\n\t\t\t * Emitted when the resources value changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('has-resources', resources.length > 0)\n\t\t},\n\t},\n\n\tcreated() {\n\t\tthis.fetchRelatedResources()\n\t},\n\n\tmethods: {\n\t\tt,\n\t\tasync fetchRelatedResources() {\n\t\t\tif (!this.appEnabled || !this.hasResourceInfo) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.loading = true\n\t\t\tthis.error = null\n\t\t\tthis.resources = []\n\t\t\ttry {\n\t\t\t\tconst response = await axios.get(this.url)\n\t\t\t\tthis.resources = response.data.ocs?.data\n\t\t\t} catch (error) {\n\t\t\t\tthis.error = e\n\t\t\t\tlogger.error('Could not fetch related resources', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.related-resources {\n\t&__header {\n\n\t\th5 {\n\t\t\tfont-weight: var(--font-weight-heading, bold);\n\t\t\tmargin-bottom: 6px;\n\t\t}\n\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n}\n</style>\n"],"names":["_sfc_main","t"],"mappings":"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","x_google_ignoreList":[1,2]}
|
package/dist/chunks/{NcRelatedResourcesPanel-C7r-tIz-.cjs → NcRelatedResourcesPanel-CjmzJ9Ex.cjs}
RENAMED
|
@@ -2,9 +2,9 @@ require('../assets/NcRelatedResourcesPanel-D5DxWJPc.css');
|
|
|
2
2
|
"use strict";
|
|
3
3
|
const axios = require("@nextcloud/axios");
|
|
4
4
|
const router = require("@nextcloud/router");
|
|
5
|
-
const _l10n = require("./_l10n-
|
|
6
|
-
const NcButton = require("./NcButton-
|
|
7
|
-
const autolink = require("./autolink-
|
|
5
|
+
const _l10n = require("./_l10n-Be-gO5QO.cjs");
|
|
6
|
+
const NcButton = require("./NcButton-W3wDpCdX.cjs");
|
|
7
|
+
const autolink = require("./autolink-BHlqTULT.cjs");
|
|
8
8
|
const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
9
9
|
const capabilities = require("@nextcloud/capabilities");
|
|
10
10
|
const ChevronDown = require("./ChevronDown-BlfyuflD.cjs");
|
|
@@ -13,7 +13,7 @@ const NcIconSvgWrapper = require("./NcIconSvgWrapper-Bbl4kXZI.cjs");
|
|
|
13
13
|
const logger = require("./logger-3HuiEIF6.cjs");
|
|
14
14
|
const _interopDefault = (e2) => e2 && e2.__esModule ? e2 : { default: e2 };
|
|
15
15
|
const axios__default = /* @__PURE__ */ _interopDefault(axios);
|
|
16
|
-
_l10n.register(_l10n.
|
|
16
|
+
_l10n.register(_l10n.t39);
|
|
17
17
|
const _sfc_main$4 = {
|
|
18
18
|
name: "NcResource",
|
|
19
19
|
components: {
|
|
@@ -130,7 +130,7 @@ var __component__$2 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
|
130
130
|
null
|
|
131
131
|
);
|
|
132
132
|
const OpenInNew = __component__$2.exports;
|
|
133
|
-
_l10n.register(_l10n.
|
|
133
|
+
_l10n.register(_l10n.t43);
|
|
134
134
|
const teamResourceProviders = capabilities.getCapabilities()?.circles?.teamResourceProviders ?? [];
|
|
135
135
|
const _sfc_main$1 = {
|
|
136
136
|
name: "NcTeamResources",
|
|
@@ -250,7 +250,7 @@ var __component__$1 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
|
250
250
|
"82938a03"
|
|
251
251
|
);
|
|
252
252
|
const NcTeamResources = __component__$1.exports;
|
|
253
|
-
_l10n.register(_l10n.
|
|
253
|
+
_l10n.register(_l10n.t10);
|
|
254
254
|
const _sfc_main = {
|
|
255
255
|
name: "NcRelatedResourcesPanel",
|
|
256
256
|
components: {
|
|
@@ -428,4 +428,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
|
428
428
|
);
|
|
429
429
|
const NcRelatedResourcesPanel = __component__.exports;
|
|
430
430
|
exports.NcRelatedResourcesPanel = NcRelatedResourcesPanel;
|
|
431
|
-
//# sourceMappingURL=NcRelatedResourcesPanel-
|
|
431
|
+
//# sourceMappingURL=NcRelatedResourcesPanel-CjmzJ9Ex.cjs.map
|