@nextcloud/vue 9.5.0 → 9.6.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 +16 -0
- package/dist/assets/{NcAppContent-BqcaybfQ.css → NcAppContent-BC7DBer3.css} +22 -19
- package/dist/assets/{NcButton-Ch8zyY_U.css → NcButton-CCY9S6Db.css} +48 -48
- package/dist/assets/NcFilePicker-CimiKIH1.css +6 -0
- package/dist/assets/{NcInputField-B0lNBgr9.css → NcInputField-DR0FULeu.css} +44 -44
- package/dist/assets/{NcModal-bYmoCrzo.css → NcModal-CUh8AdAE.css} +62 -63
- package/dist/assets/{NcRichContenteditable-C4KtXEvK.css → NcRichContenteditable-Do20Rmk1.css} +11 -11
- package/dist/assets/{NcRichText-3BHy89Ls.css → NcRichText-ZpC0uhOy.css} +93 -93
- package/dist/assets/{NcTextArea-_-yGXq-j.css → NcTextArea-DF9NgPUa.css} +30 -28
- package/dist/chunks/{ArrowRight-DRKHUZMH.mjs → ArrowRight-B1ncAhus.mjs} +2 -2
- package/dist/chunks/{ArrowRight-DRKHUZMH.mjs.map → ArrowRight-B1ncAhus.mjs.map} +1 -1
- package/dist/chunks/{ChevronDown-FiGpp0KT.mjs → ChevronDown-C6gc637b.mjs} +2 -2
- package/dist/chunks/{ChevronDown-FiGpp0KT.mjs.map → ChevronDown-C6gc637b.mjs.map} +1 -1
- package/dist/chunks/{ChevronUp-DPXFp1ss.mjs → ChevronUp-ChH8oB7p.mjs} +2 -2
- package/dist/chunks/{ChevronUp-DPXFp1ss.mjs.map → ChevronUp-ChH8oB7p.mjs.map} +1 -1
- package/dist/chunks/{Close-D6ngJ4t9.mjs → Close-CuhcJnX2.mjs} +2 -2
- package/dist/chunks/{Close-D6ngJ4t9.mjs.map → Close-CuhcJnX2.mjs.map} +1 -1
- package/dist/chunks/{NcActionButton-DNXoAooH.mjs → NcActionButton-BuRnYpJX.mjs} +3 -3
- package/dist/chunks/{NcActionButton-DNXoAooH.mjs.map → NcActionButton-BuRnYpJX.mjs.map} +1 -1
- package/dist/chunks/{NcActionButtonGroup-C7ej9wLo.mjs → NcActionButtonGroup-CrbcMWK-.mjs} +3 -3
- package/dist/chunks/{NcActionButtonGroup-C7ej9wLo.mjs.map → NcActionButtonGroup-CrbcMWK-.mjs.map} +1 -1
- package/dist/chunks/{NcActionCaption-Cgd3J8jw.mjs → NcActionCaption-f7L9gBlT.mjs} +2 -2
- package/dist/chunks/{NcActionCaption-Cgd3J8jw.mjs.map → NcActionCaption-f7L9gBlT.mjs.map} +1 -1
- package/dist/chunks/{NcActionCheckbox-DeHAMd23.mjs → NcActionCheckbox-CjawS972.mjs} +3 -3
- package/dist/chunks/{NcActionCheckbox-DeHAMd23.mjs.map → NcActionCheckbox-CjawS972.mjs.map} +1 -1
- package/dist/chunks/{NcActionInput-1xeJpD6P.mjs → NcActionInput-BrI5iKHo.mjs} +7 -7
- package/dist/chunks/{NcActionInput-1xeJpD6P.mjs.map → NcActionInput-BrI5iKHo.mjs.map} +1 -1
- package/dist/chunks/{NcActionLink-Cd69py4e.mjs → NcActionLink-CCszAEdZ.mjs} +2 -2
- package/dist/chunks/{NcActionLink-Cd69py4e.mjs.map → NcActionLink-CCszAEdZ.mjs.map} +1 -1
- package/dist/chunks/{NcActionRadio-DILn0DxW.mjs → NcActionRadio-BV9Ra5tq.mjs} +3 -3
- package/dist/chunks/{NcActionRadio-DILn0DxW.mjs.map → NcActionRadio-BV9Ra5tq.mjs.map} +1 -1
- package/dist/chunks/{NcActionRouter-DtxPh20B.mjs → NcActionRouter-CvDVCQiQ.mjs} +2 -2
- package/dist/chunks/{NcActionRouter-DtxPh20B.mjs.map → NcActionRouter-CvDVCQiQ.mjs.map} +1 -1
- package/dist/chunks/{NcActionSeparator-Doekl1NX.mjs → NcActionSeparator-B9pNQaji.mjs} +2 -2
- package/dist/chunks/{NcActionSeparator-Doekl1NX.mjs.map → NcActionSeparator-B9pNQaji.mjs.map} +1 -1
- package/dist/chunks/{NcActionText-Bd1fgVqA.mjs → NcActionText-SU4ghOlw.mjs} +2 -2
- package/dist/chunks/{NcActionText-Bd1fgVqA.mjs.map → NcActionText-SU4ghOlw.mjs.map} +1 -1
- package/dist/chunks/{NcActionTextEditable-DL4idmon.mjs → NcActionTextEditable-BC66QDvV.mjs} +3 -3
- package/dist/chunks/{NcActionTextEditable-DL4idmon.mjs.map → NcActionTextEditable-BC66QDvV.mjs.map} +1 -1
- package/dist/chunks/{NcActions-BWDsG06k.mjs → NcActions-B_QR93qv.mjs} +5 -5
- package/dist/chunks/{NcActions-BWDsG06k.mjs.map → NcActions-B_QR93qv.mjs.map} +1 -1
- package/dist/chunks/{NcAppContent-njY3MCzi.mjs → NcAppContent-D27Kyq5N.mjs} +11 -10
- package/dist/chunks/NcAppContent-D27Kyq5N.mjs.map +1 -0
- package/dist/chunks/{NcAppContentDetails.vue_vue_type_script_setup_true_lang-Dnf4r_Ng.mjs → NcAppContentDetails.vue_vue_type_script_setup_true_lang-BWl5Pw5g.mjs} +2 -2
- package/dist/chunks/{NcAppContentDetails.vue_vue_type_script_setup_true_lang-Dnf4r_Ng.mjs.map → NcAppContentDetails.vue_vue_type_script_setup_true_lang-BWl5Pw5g.mjs.map} +1 -1
- package/dist/chunks/{NcAppContentList-DYFsuDKh.mjs → NcAppContentList-Copx3Ver.mjs} +2 -2
- package/dist/chunks/{NcAppContentList-DYFsuDKh.mjs.map → NcAppContentList-Copx3Ver.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigation-Bpdpz-wF.mjs → NcAppNavigation-DQzgUarc.mjs} +6 -6
- package/dist/chunks/{NcAppNavigation-Bpdpz-wF.mjs.map → NcAppNavigation-DQzgUarc.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationCaption-CyEhlxoS.mjs → NcAppNavigationCaption-DsM6rzrK.mjs} +3 -3
- package/dist/chunks/{NcAppNavigationCaption-CyEhlxoS.mjs.map → NcAppNavigationCaption-DsM6rzrK.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationIconBullet-PrlhOoE9.mjs → NcAppNavigationIconBullet-BmU-dPcY.mjs} +2 -2
- package/dist/chunks/{NcAppNavigationIconBullet-PrlhOoE9.mjs.map → NcAppNavigationIconBullet-BmU-dPcY.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationItem-Ny1Po7Rd.mjs → NcAppNavigationItem-XSXn3qhJ.mjs} +11 -11
- package/dist/chunks/{NcAppNavigationItem-Ny1Po7Rd.mjs.map → NcAppNavigationItem-XSXn3qhJ.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationList-BX0wE-dB.mjs → NcAppNavigationList-CGSWabRB.mjs} +2 -2
- package/dist/chunks/{NcAppNavigationList-BX0wE-dB.mjs.map → NcAppNavigationList-CGSWabRB.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNew-CJpxzq_I.mjs → NcAppNavigationNew-BkybFzV0.mjs} +3 -3
- package/dist/chunks/{NcAppNavigationNew-CJpxzq_I.mjs.map → NcAppNavigationNew-BkybFzV0.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNewItem-hsUDrzT-.mjs → NcAppNavigationNewItem-CNb-I7xZ.mjs} +4 -4
- package/dist/chunks/{NcAppNavigationNewItem-hsUDrzT-.mjs.map → NcAppNavigationNewItem-CNb-I7xZ.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSearch-C5RAT6JQ.mjs → NcAppNavigationSearch-DpcjjmY5.mjs} +6 -6
- package/dist/chunks/{NcAppNavigationSearch-C5RAT6JQ.mjs.map → NcAppNavigationSearch-DpcjjmY5.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSettings-BPLJktWz.mjs → NcAppNavigationSettings-CxjLIB1E.mjs} +6 -6
- package/dist/chunks/{NcAppNavigationSettings-BPLJktWz.mjs.map → NcAppNavigationSettings-CxjLIB1E.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSpacer-BvkBfuVw.mjs → NcAppNavigationSpacer-CIRC4ZEj.mjs} +2 -2
- package/dist/chunks/{NcAppNavigationSpacer-BvkBfuVw.mjs.map → NcAppNavigationSpacer-CIRC4ZEj.mjs.map} +1 -1
- package/dist/chunks/{NcAppSettingsDialog-DddRGyYJ.mjs → NcAppSettingsDialog-Brgi3W2x.mjs} +5 -5
- package/dist/chunks/{NcAppSettingsDialog-DddRGyYJ.mjs.map → NcAppSettingsDialog-Brgi3W2x.mjs.map} +1 -1
- package/dist/chunks/{NcAppSettingsSection-B2pFK0UK.mjs → NcAppSettingsSection-B-ak1kbx.mjs} +2 -2
- package/dist/chunks/{NcAppSettingsSection-B2pFK0UK.mjs.map → NcAppSettingsSection-B-ak1kbx.mjs.map} +1 -1
- package/dist/chunks/{NcAppSettingsShortcutsSection-D07KOJfT.mjs → NcAppSettingsShortcutsSection-HmIjAN0a.mjs} +4 -4
- package/dist/chunks/{NcAppSettingsShortcutsSection-D07KOJfT.mjs.map → NcAppSettingsShortcutsSection-HmIjAN0a.mjs.map} +1 -1
- package/dist/chunks/{NcAppSidebar-BAnJD3ea.mjs → NcAppSidebar-KwLsRcZO.mjs} +10 -10
- package/dist/chunks/{NcAppSidebar-BAnJD3ea.mjs.map → NcAppSidebar-KwLsRcZO.mjs.map} +1 -1
- package/dist/chunks/{NcAppSidebarHeader.vue_vue_type_script_setup_true_lang-0j0aFDeK.mjs → NcAppSidebarHeader.vue_vue_type_script_setup_true_lang-Bk4yFBHY.mjs} +2 -2
- package/dist/chunks/{NcAppSidebarHeader.vue_vue_type_script_setup_true_lang-0j0aFDeK.mjs.map → NcAppSidebarHeader.vue_vue_type_script_setup_true_lang-Bk4yFBHY.mjs.map} +1 -1
- package/dist/chunks/{NcAppSidebarTab-Cjetm3Fs.mjs → NcAppSidebarTab-DOSDDbGA.mjs} +2 -2
- package/dist/chunks/{NcAppSidebarTab-Cjetm3Fs.mjs.map → NcAppSidebarTab-DOSDDbGA.mjs.map} +1 -1
- package/dist/chunks/{NcAssistantButton-CkFCuTft.mjs → NcAssistantButton-DxNbEbqt.mjs} +5 -5
- package/dist/chunks/{NcAssistantButton-CkFCuTft.mjs.map → NcAssistantButton-DxNbEbqt.mjs.map} +1 -1
- package/dist/chunks/{NcAssistantContent-BR3lWBWC.mjs → NcAssistantContent-DWv2sak_.mjs} +2 -2
- package/dist/chunks/{NcAssistantContent-BR3lWBWC.mjs.map → NcAssistantContent-DWv2sak_.mjs.map} +1 -1
- package/dist/chunks/{NcAssistantIcon-DsJh5rb7.mjs → NcAssistantIcon-Cf0B3EsL.mjs} +2 -2
- package/dist/chunks/{NcAssistantIcon-DsJh5rb7.mjs.map → NcAssistantIcon-Cf0B3EsL.mjs.map} +1 -1
- package/dist/chunks/{NcAvatar-C9d7Wrc8.mjs → NcAvatar-ruClKRzS.mjs} +12 -12
- package/dist/chunks/{NcAvatar-C9d7Wrc8.mjs.map → NcAvatar-ruClKRzS.mjs.map} +1 -1
- package/dist/chunks/{NcBlurHash-Cp7enp4q.mjs → NcBlurHash-B3MufoB_.mjs} +2 -2
- package/dist/chunks/{NcBlurHash-Cp7enp4q.mjs.map → NcBlurHash-B3MufoB_.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumb-BRt3l6x6.mjs → NcBreadcrumb-D2NtMTnk.mjs} +4 -4
- package/dist/chunks/{NcBreadcrumb-BRt3l6x6.mjs.map → NcBreadcrumb-D2NtMTnk.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumbs-CIsUSeJx.mjs → NcBreadcrumbs-DDutZRtm.mjs} +7 -7
- package/dist/chunks/{NcBreadcrumbs-CIsUSeJx.mjs.map → NcBreadcrumbs-DDutZRtm.mjs.map} +1 -1
- package/dist/chunks/{NcButton-C9D47Igd.mjs → NcButton-lQra4n2g.mjs} +4 -4
- package/dist/chunks/{NcButton-C9D47Igd.mjs.map → NcButton-lQra4n2g.mjs.map} +1 -1
- package/dist/chunks/{NcCheckboxRadioSwitch-BMsPx74L.mjs → NcCheckboxRadioSwitch-D0gFwEVl.mjs} +5 -5
- package/dist/chunks/{NcCheckboxRadioSwitch-BMsPx74L.mjs.map → NcCheckboxRadioSwitch-D0gFwEVl.mjs.map} +1 -1
- package/dist/chunks/{NcChip-B71t2Ny2.mjs → NcChip-CrVOU2RM.mjs} +6 -6
- package/dist/chunks/{NcChip-B71t2Ny2.mjs.map → NcChip-CrVOU2RM.mjs.map} +1 -1
- package/dist/chunks/{NcCollectionList-BLDdPjtu.mjs → NcCollectionList-pWG42SU1.mjs} +7 -7
- package/dist/chunks/{NcCollectionList-BLDdPjtu.mjs.map → NcCollectionList-pWG42SU1.mjs.map} +1 -1
- package/dist/chunks/{NcColorPicker-DDHxR-iN.mjs → NcColorPicker-D07Se8Xb.mjs} +7 -7
- package/dist/chunks/{NcColorPicker-DDHxR-iN.mjs.map → NcColorPicker-D07Se8Xb.mjs.map} +1 -1
- package/dist/chunks/{NcContent-O-bMKi-3.mjs → NcContent-D69ktIEB.mjs} +5 -5
- package/dist/chunks/{NcContent-O-bMKi-3.mjs.map → NcContent-D69ktIEB.mjs.map} +1 -1
- package/dist/chunks/{NcCounterBubble-CxxHHh8i.mjs → NcCounterBubble-VUNXKsnk.mjs} +2 -2
- package/dist/chunks/{NcCounterBubble-CxxHHh8i.mjs.map → NcCounterBubble-VUNXKsnk.mjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidget-DCBQdRFz.mjs → NcDashboardWidget-CvpYMKur.mjs} +6 -6
- package/dist/chunks/{NcDashboardWidget-DCBQdRFz.mjs.map → NcDashboardWidget-CvpYMKur.mjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidgetItem-ygUG05Ut.mjs → NcDashboardWidgetItem-ZKImQn7Y.mjs} +5 -5
- package/dist/chunks/{NcDashboardWidgetItem-ygUG05Ut.mjs.map → NcDashboardWidgetItem-ZKImQn7Y.mjs.map} +1 -1
- package/dist/chunks/{NcDateTime.vue_vue_type_script_setup_true_lang-BhB8yA4U.mjs → NcDateTime.vue_vue_type_script_setup_true_lang-B4upiZjL.mjs} +2 -2
- package/dist/chunks/{NcDateTime.vue_vue_type_script_setup_true_lang-BhB8yA4U.mjs.map → NcDateTime.vue_vue_type_script_setup_true_lang-B4upiZjL.mjs.map} +1 -1
- package/dist/chunks/{NcDateTimePicker-RLihgV8b.mjs → NcDateTimePicker-DksKisgE.mjs} +6 -6
- package/dist/chunks/{NcDateTimePicker-RLihgV8b.mjs.map → NcDateTimePicker-DksKisgE.mjs.map} +1 -1
- package/dist/chunks/{NcDateTimePickerNative-C_4mwR_o.mjs → NcDateTimePickerNative-BvtMQDIe.mjs} +4 -4
- package/dist/chunks/{NcDateTimePickerNative-C_4mwR_o.mjs.map → NcDateTimePickerNative-BvtMQDIe.mjs.map} +1 -1
- package/dist/chunks/{NcDialog-BG9t4Psg.mjs → NcDialog-nDc1gW50.mjs} +4 -4
- package/dist/chunks/{NcDialog-BG9t4Psg.mjs.map → NcDialog-nDc1gW50.mjs.map} +1 -1
- package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-DABuSwSR.mjs → NcDialogButton.vue_vue_type_script_setup_true_lang-Z_bOZAn_.mjs} +6 -6
- package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-DABuSwSR.mjs.map → NcDialogButton.vue_vue_type_script_setup_true_lang-Z_bOZAn_.mjs.map} +1 -1
- package/dist/chunks/{NcEllipsisedOption-dT-CtXYp.mjs → NcEllipsisedOption-D6Amb91K.mjs} +2 -2
- package/dist/chunks/{NcEllipsisedOption-dT-CtXYp.mjs.map → NcEllipsisedOption-D6Amb91K.mjs.map} +1 -1
- package/dist/chunks/{NcEmojiPicker-Djc9a0gw.mjs → NcEmojiPicker-DGgqTnHp.mjs} +10 -10
- package/dist/chunks/{NcEmojiPicker-Djc9a0gw.mjs.map → NcEmojiPicker-DGgqTnHp.mjs.map} +1 -1
- package/dist/chunks/{NcEmptyContent-B8-90BSI.mjs → NcEmptyContent-CDgWCt_m.mjs} +2 -2
- package/dist/chunks/{NcEmptyContent-B8-90BSI.mjs.map → NcEmptyContent-CDgWCt_m.mjs.map} +1 -1
- package/dist/chunks/NcFilePicker-DtOsHB4q.mjs +303 -0
- package/dist/chunks/NcFilePicker-DtOsHB4q.mjs.map +1 -0
- package/dist/chunks/{NcFormBox-BYjllt0m.mjs → NcFormBox-wP5mpW88.mjs} +2 -2
- package/dist/chunks/{NcFormBox-BYjllt0m.mjs.map → NcFormBox-wP5mpW88.mjs.map} +1 -1
- package/dist/chunks/{NcFormBoxButton-RDIKiZIH.mjs → NcFormBoxButton-JvZ6_2E3.mjs} +4 -4
- package/dist/chunks/{NcFormBoxButton-RDIKiZIH.mjs.map → NcFormBoxButton-JvZ6_2E3.mjs.map} +1 -1
- package/dist/chunks/{NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-CIPhWmeP.mjs → NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-CjJ09v8E.mjs} +5 -5
- package/dist/chunks/{NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-CIPhWmeP.mjs.map → NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-CjJ09v8E.mjs.map} +1 -1
- package/dist/chunks/{NcFormBoxItem-BAAPOa6z.mjs → NcFormBoxItem-B7YVodqN.mjs} +2 -2
- package/dist/chunks/{NcFormBoxItem-BAAPOa6z.mjs.map → NcFormBoxItem-B7YVodqN.mjs.map} +1 -1
- package/dist/chunks/{NcFormBoxSwitch-m9uRjJzl.mjs → NcFormBoxSwitch-DP4dD4xe.mjs} +4 -4
- package/dist/chunks/{NcFormBoxSwitch-m9uRjJzl.mjs.map → NcFormBoxSwitch-DP4dD4xe.mjs.map} +1 -1
- package/dist/chunks/{NcFormGroup-Bf8Mme1o.mjs → NcFormGroup-B3a2iUnT.mjs} +2 -2
- package/dist/chunks/{NcFormGroup-Bf8Mme1o.mjs.map → NcFormGroup-B3a2iUnT.mjs.map} +1 -1
- package/dist/chunks/{NcGuestContent-CfCh49o0.mjs → NcGuestContent-_z22nZMF.mjs} +2 -2
- package/dist/chunks/{NcGuestContent-CfCh49o0.mjs.map → NcGuestContent-_z22nZMF.mjs.map} +1 -1
- package/dist/chunks/{NcHeaderButton-DZ7Sd9pu.mjs → NcHeaderButton-CXu9xIQP.mjs} +3 -3
- package/dist/chunks/{NcHeaderButton-DZ7Sd9pu.mjs.map → NcHeaderButton-CXu9xIQP.mjs.map} +1 -1
- package/dist/chunks/{NcHeaderMenu-D9WjsIsy.mjs → NcHeaderMenu-CYU4Y3h5.mjs} +3 -3
- package/dist/chunks/{NcHeaderMenu-D9WjsIsy.mjs.map → NcHeaderMenu-CYU4Y3h5.mjs.map} +1 -1
- package/dist/chunks/{NcHotkey-Bd-gNn3a.mjs → NcHotkey-DYevuX3i.mjs} +3 -3
- package/dist/chunks/{NcHotkey-Bd-gNn3a.mjs.map → NcHotkey-DYevuX3i.mjs.map} +1 -1
- package/dist/chunks/{NcHotkeyList-D8hkh6o6.mjs → NcHotkeyList-CHLWkWfY.mjs} +3 -3
- package/dist/chunks/{NcHotkeyList-D8hkh6o6.mjs.map → NcHotkeyList-CHLWkWfY.mjs.map} +1 -1
- package/dist/chunks/{NcIconSvgWrapper-BvLanNaW.mjs → NcIconSvgWrapper-De-2-ukl.mjs} +2 -2
- package/dist/chunks/{NcIconSvgWrapper-BvLanNaW.mjs.map → NcIconSvgWrapper-De-2-ukl.mjs.map} +1 -1
- package/dist/chunks/{NcIconToggleSwitch-CSrdR61T.mjs → NcIconToggleSwitch-B7kfYo0B.mjs} +3 -3
- package/dist/chunks/{NcIconToggleSwitch-CSrdR61T.mjs.map → NcIconToggleSwitch-B7kfYo0B.mjs.map} +1 -1
- package/dist/chunks/{NcInputConfirmCancel-ClnOVtrc.mjs → NcInputConfirmCancel-Ch0byKa3.mjs} +6 -6
- package/dist/chunks/{NcInputConfirmCancel-ClnOVtrc.mjs.map → NcInputConfirmCancel-Ch0byKa3.mjs.map} +1 -1
- package/dist/chunks/{NcInputField-o5OFv3z6.mjs → NcInputField-CPL-a_MM.mjs} +6 -6
- package/dist/chunks/{NcInputField-o5OFv3z6.mjs.map → NcInputField-CPL-a_MM.mjs.map} +1 -1
- package/dist/chunks/{NcKbd-DzE_4Z3y.mjs → NcKbd-DE1emmb_.mjs} +3 -3
- package/dist/chunks/{NcKbd-DzE_4Z3y.mjs.map → NcKbd-DE1emmb_.mjs.map} +1 -1
- package/dist/chunks/{NcListItem-DSdLnQJX.mjs → NcListItem-DfFmqnmW.mjs} +4 -4
- package/dist/chunks/{NcListItem-DSdLnQJX.mjs.map → NcListItem-DfFmqnmW.mjs.map} +1 -1
- package/dist/chunks/{NcListItemIcon-C_yQkDIv.mjs → NcListItemIcon-DJJR4RtI.mjs} +4 -4
- package/dist/chunks/{NcListItemIcon-C_yQkDIv.mjs.map → NcListItemIcon-DJJR4RtI.mjs.map} +1 -1
- package/dist/chunks/{NcLoadingIcon-b_ajZ_nQ.mjs → NcLoadingIcon-CInLzPtA.mjs} +2 -2
- package/dist/chunks/{NcLoadingIcon-b_ajZ_nQ.mjs.map → NcLoadingIcon-CInLzPtA.mjs.map} +1 -1
- package/dist/chunks/{NcModal-DHryP_87.mjs → NcModal-kyWZ3UFC.mjs} +24 -9
- package/dist/chunks/NcModal-kyWZ3UFC.mjs.map +1 -0
- package/dist/chunks/{NcNoteCard-Cok_4Fld.mjs → NcNoteCard-CWiO3Dse.mjs} +3 -3
- package/dist/chunks/{NcNoteCard-Cok_4Fld.mjs.map → NcNoteCard-CWiO3Dse.mjs.map} +1 -1
- package/dist/chunks/{NcPasswordField-uaMO2pdt.mjs → NcPasswordField-BOLzDHBJ.mjs} +5 -5
- package/dist/chunks/{NcPasswordField-uaMO2pdt.mjs.map → NcPasswordField-BOLzDHBJ.mjs.map} +1 -1
- package/dist/chunks/{NcPopover-OqcYrWOx.mjs → NcPopover-CtdLAkEU.mjs} +2 -2
- package/dist/chunks/{NcPopover-OqcYrWOx.mjs.map → NcPopover-CtdLAkEU.mjs.map} +1 -1
- package/dist/chunks/{NcProgressBar-OIWW1Sei.mjs → NcProgressBar-JyXXoHLT.mjs} +2 -2
- package/dist/chunks/{NcProgressBar-OIWW1Sei.mjs.map → NcProgressBar-JyXXoHLT.mjs.map} +1 -1
- package/dist/chunks/{NcRadioGroup-Bjl3n_1z.mjs → NcRadioGroup-LkOsE5Mc.mjs} +4 -4
- package/dist/chunks/{NcRadioGroup-Bjl3n_1z.mjs.map → NcRadioGroup-LkOsE5Mc.mjs.map} +1 -1
- package/dist/chunks/{NcRadioGroupButton-BWPOKDMR.mjs → NcRadioGroupButton-BtE_SLVd.mjs} +2 -2
- package/dist/chunks/{NcRadioGroupButton-BWPOKDMR.mjs.map → NcRadioGroupButton-BtE_SLVd.mjs.map} +1 -1
- package/dist/chunks/{NcRelatedResourcesPanel-BndhQA8u.mjs → NcRelatedResourcesPanel-Cn27rj0H.mjs} +8 -8
- package/dist/chunks/{NcRelatedResourcesPanel-BndhQA8u.mjs.map → NcRelatedResourcesPanel-Cn27rj0H.mjs.map} +1 -1
- package/dist/chunks/{NcRichContenteditable-CjuPClU1.mjs → NcRichContenteditable-BREsny-v.mjs} +58 -39
- package/dist/chunks/NcRichContenteditable-BREsny-v.mjs.map +1 -0
- package/dist/chunks/{NcRichText-DJlaHs_Q.mjs → NcRichText-D_ssz6sB.mjs} +41 -10
- package/dist/chunks/NcRichText-D_ssz6sB.mjs.map +1 -0
- package/dist/chunks/{NcSavingIndicatorIcon.vue_vue_type_script_setup_true_lang-jUf1K561.mjs → NcSavingIndicatorIcon.vue_vue_type_script_setup_true_lang-CA0r_04W.mjs} +2 -2
- package/dist/chunks/{NcSavingIndicatorIcon.vue_vue_type_script_setup_true_lang-jUf1K561.mjs.map → NcSavingIndicatorIcon.vue_vue_type_script_setup_true_lang-CA0r_04W.mjs.map} +1 -1
- package/dist/chunks/{NcSelect-DLheQ2yp.mjs → NcSelect-B1uITk_3.mjs} +7 -7
- package/dist/chunks/{NcSelect-DLheQ2yp.mjs.map → NcSelect-B1uITk_3.mjs.map} +1 -1
- package/dist/chunks/{NcSelectTags-CTHyuMcq.mjs → NcSelectTags-B3_tcJAf.mjs} +5 -5
- package/dist/chunks/{NcSelectTags-CTHyuMcq.mjs.map → NcSelectTags-B3_tcJAf.mjs.map} +1 -1
- package/dist/chunks/{NcSelectUsers-BlMjKkJ3.mjs → NcSelectUsers-B9ZFtd6B.mjs} +4 -4
- package/dist/chunks/{NcSelectUsers-BlMjKkJ3.mjs.map → NcSelectUsers-B9ZFtd6B.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSection-BiX5No3C.mjs → NcSettingsSection-DIcgD1vo.mjs} +3 -3
- package/dist/chunks/{NcSettingsSection-BiX5No3C.mjs.map → NcSettingsSection-DIcgD1vo.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-B69Mhcar.mjs → NcSettingsSelectGroup-CupkYUPJ.mjs} +5 -5
- package/dist/chunks/{NcSettingsSelectGroup-B69Mhcar.mjs.map → NcSettingsSelectGroup-CupkYUPJ.mjs.map} +1 -1
- package/dist/chunks/{NcTextArea-CWA3KOiC.mjs → NcTextArea-CseOD9aM.mjs} +5 -5
- package/dist/chunks/{NcTextArea-CWA3KOiC.mjs.map → NcTextArea-CseOD9aM.mjs.map} +1 -1
- package/dist/chunks/{NcTextField.vue_vue_type_script_setup_true_lang-BxkYy7wv.mjs → NcTextField.vue_vue_type_script_setup_true_lang-B-4HNjYH.mjs} +6 -6
- package/dist/chunks/{NcTextField.vue_vue_type_script_setup_true_lang-BxkYy7wv.mjs.map → NcTextField.vue_vue_type_script_setup_true_lang-B-4HNjYH.mjs.map} +1 -1
- package/dist/chunks/{NcThemeProvider.vue_vue_type_script_setup_true_lang-DWn1DRTx.mjs → NcThemeProvider.vue_vue_type_script_setup_true_lang-wie70gn4.mjs} +2 -2
- package/dist/chunks/{NcThemeProvider.vue_vue_type_script_setup_true_lang-DWn1DRTx.mjs.map → NcThemeProvider.vue_vue_type_script_setup_true_lang-wie70gn4.mjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker.vue_vue_type_script_setup_true_lang-B7nhSDot.mjs → NcTimezonePicker.vue_vue_type_script_setup_true_lang-8CBGI3yi.mjs} +5 -5
- package/dist/chunks/{NcTimezonePicker.vue_vue_type_script_setup_true_lang-B7nhSDot.mjs.map → NcTimezonePicker.vue_vue_type_script_setup_true_lang-8CBGI3yi.mjs.map} +1 -1
- package/dist/chunks/{NcUserBubble-vOAXLHB5.mjs → NcUserBubble-BE6yD-R0.mjs} +4 -4
- package/dist/chunks/{NcUserBubble-vOAXLHB5.mjs.map → NcUserBubble-BE6yD-R0.mjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-XiwrgeCm.mjs → NcUserStatusIcon-JWiuiAXe.mjs} +4 -4
- package/dist/chunks/{NcUserStatusIcon-XiwrgeCm.mjs.map → NcUserStatusIcon-JWiuiAXe.mjs.map} +1 -1
- package/dist/chunks/{_l10n-Dq_eYxz_.mjs → _l10n-BklkVPDO.mjs} +66 -66
- package/dist/chunks/_l10n-BklkVPDO.mjs.map +1 -0
- package/dist/chunks/{colors-BHGKZFDI.mjs → colors-BfjxNgsx.mjs} +2 -2
- package/dist/chunks/{colors-BHGKZFDI.mjs.map → colors-BfjxNgsx.mjs.map} +1 -1
- package/dist/chunks/{customPickerElements-4pQTZUnk.mjs → customPickerElements-Cu7bLbap.mjs} +9 -9
- package/dist/chunks/{customPickerElements-4pQTZUnk.mjs.map → customPickerElements-Cu7bLbap.mjs.map} +1 -1
- package/dist/chunks/{emoji-BY_D0V5K.mjs → emoji-V9hqFgPs.mjs} +16 -5
- package/dist/chunks/emoji-V9hqFgPs.mjs.map +1 -0
- package/dist/chunks/{referencePickerModal-D9HwChP3.mjs → referencePickerModal-D09ZVhqa.mjs} +14 -14
- package/dist/chunks/{referencePickerModal-D9HwChP3.mjs.map → referencePickerModal-D09ZVhqa.mjs.map} +1 -1
- package/dist/chunks/{useCopy-CfYsbB0V.mjs → useCopy-Dgw864OI.mjs} +2 -2
- package/dist/chunks/{useCopy-CfYsbB0V.mjs.map → useCopy-Dgw864OI.mjs.map} +1 -1
- package/dist/components/NcActionButton/index.mjs +1 -1
- package/dist/components/NcActionButtonGroup/index.mjs +1 -1
- package/dist/components/NcActionCaption/index.mjs +1 -1
- package/dist/components/NcActionCheckbox/index.mjs +1 -1
- package/dist/components/NcActionInput/index.mjs +1 -1
- package/dist/components/NcActionLink/index.mjs +1 -1
- package/dist/components/NcActionRadio/index.mjs +1 -1
- package/dist/components/NcActionRouter/index.mjs +1 -1
- package/dist/components/NcActionSeparator/index.mjs +1 -1
- package/dist/components/NcActionText/index.mjs +1 -1
- package/dist/components/NcActionTextEditable/index.mjs +1 -1
- package/dist/components/NcActions/index.mjs +1 -1
- package/dist/components/NcAppContent/index.mjs +1 -1
- package/dist/components/NcAppContentDetails/index.mjs +1 -1
- package/dist/components/NcAppContentList/index.mjs +1 -1
- package/dist/components/NcAppNavigation/index.mjs +1 -1
- package/dist/components/NcAppNavigationCaption/index.mjs +1 -1
- package/dist/components/NcAppNavigationIconBullet/index.mjs +1 -1
- package/dist/components/NcAppNavigationItem/index.mjs +1 -1
- package/dist/components/NcAppNavigationList/index.mjs +1 -1
- package/dist/components/NcAppNavigationNew/index.mjs +1 -1
- package/dist/components/NcAppNavigationNewItem/index.mjs +1 -1
- package/dist/components/NcAppNavigationSearch/index.mjs +1 -1
- package/dist/components/NcAppNavigationSettings/index.mjs +1 -1
- package/dist/components/NcAppNavigationSpacer/index.mjs +1 -1
- package/dist/components/NcAppSettingsDialog/index.mjs +1 -1
- package/dist/components/NcAppSettingsSection/index.mjs +1 -1
- package/dist/components/NcAppSettingsSectionShortcuts/index.mjs +1 -1
- package/dist/components/NcAppSettingsShortcutsSection/index.mjs +1 -1
- package/dist/components/NcAppSidebar/index.mjs +1 -1
- package/dist/components/NcAppSidebarHeader/index.mjs +1 -1
- package/dist/components/NcAppSidebarTab/index.mjs +1 -1
- package/dist/components/NcAssistantButton/index.mjs +1 -1
- package/dist/components/NcAssistantContent/index.mjs +1 -1
- package/dist/components/NcAssistantIcon/index.mjs +1 -1
- package/dist/components/NcAvatar/index.mjs +1 -1
- package/dist/components/NcBlurHash/index.mjs +1 -1
- package/dist/components/NcBreadcrumb/index.mjs +1 -1
- package/dist/components/NcBreadcrumbs/index.mjs +1 -1
- package/dist/components/NcButton/index.mjs +1 -1
- package/dist/components/NcCheckboxRadioSwitch/index.mjs +1 -1
- package/dist/components/NcChip/index.mjs +1 -1
- package/dist/components/NcCollectionList/index.mjs +1 -1
- package/dist/components/NcColorPicker/index.mjs +1 -1
- package/dist/components/NcContent/index.mjs +1 -1
- package/dist/components/NcCounterBubble/index.mjs +1 -1
- package/dist/components/NcDashboardWidget/index.mjs +1 -1
- package/dist/components/NcDashboardWidgetItem/index.mjs +1 -1
- package/dist/components/NcDateTime/index.mjs +1 -1
- package/dist/components/NcDateTimePicker/index.mjs +1 -1
- package/dist/components/NcDateTimePickerNative/index.mjs +1 -1
- package/dist/components/NcDialog/index.mjs +1 -1
- package/dist/components/NcDialogButton/index.mjs +1 -1
- package/dist/components/NcEllipsisedOption/index.mjs +1 -1
- package/dist/components/NcEmojiPicker/NcEmojiPicker.vue.d.ts +1 -1
- package/dist/components/NcEmojiPicker/index.mjs +1 -1
- package/dist/components/NcEmptyContent/index.mjs +1 -1
- package/dist/components/NcFilePicker/NcFilePicker.vue.d.ts +132 -0
- package/dist/components/NcFilePicker/index.d.ts +6 -0
- package/dist/components/NcFilePicker/index.mjs +5 -0
- package/dist/components/NcFilePicker/index.mjs.map +1 -0
- package/dist/components/NcFormBox/index.mjs +1 -1
- package/dist/components/NcFormBoxButton/index.mjs +1 -1
- package/dist/components/NcFormBoxCopyButton/index.mjs +1 -1
- package/dist/components/NcFormBoxSwitch/index.mjs +1 -1
- package/dist/components/NcFormGroup/index.mjs +1 -1
- package/dist/components/NcGuestContent/index.mjs +1 -1
- package/dist/components/NcHeaderButton/index.mjs +1 -1
- package/dist/components/NcHeaderMenu/index.mjs +1 -1
- package/dist/components/NcHotkey/index.mjs +1 -1
- package/dist/components/NcHotkeyList/index.mjs +1 -1
- package/dist/components/NcIconSvgWrapper/index.mjs +1 -1
- package/dist/components/NcInputField/index.mjs +1 -1
- package/dist/components/NcKbd/index.mjs +1 -1
- package/dist/components/NcListItem/index.mjs +1 -1
- package/dist/components/NcListItemIcon/index.mjs +1 -1
- package/dist/components/NcLoadingIcon/index.mjs +1 -1
- package/dist/components/NcModal/index.mjs +1 -1
- package/dist/components/NcNoteCard/index.mjs +1 -1
- package/dist/components/NcPasswordField/index.mjs +1 -1
- package/dist/components/NcPopover/index.mjs +1 -1
- package/dist/components/NcProgressBar/index.mjs +1 -1
- package/dist/components/NcRadioGroup/index.mjs +1 -1
- package/dist/components/NcRadioGroupButton/index.mjs +1 -1
- package/dist/components/NcRelatedResourcesPanel/index.mjs +1 -1
- package/dist/components/NcRichContenteditable/NcRichContenteditable.vue.d.ts +5 -3
- package/dist/components/NcRichContenteditable/index.mjs +3 -3
- package/dist/components/NcRichText/NcRichText.vue.d.ts +7 -0
- package/dist/components/NcRichText/index.mjs +10 -10
- package/dist/components/NcRichText/remarkStripCode.d.ts +2 -0
- package/dist/components/NcSavingIndicatorIcon/index.mjs +1 -1
- package/dist/components/NcSelect/index.mjs +1 -1
- package/dist/components/NcSelectTags/index.mjs +1 -1
- package/dist/components/NcSelectUsers/index.mjs +1 -1
- package/dist/components/NcSettingsSection/index.mjs +1 -1
- package/dist/components/NcSettingsSelectGroup/index.mjs +1 -1
- package/dist/components/NcTextArea/index.mjs +1 -1
- package/dist/components/NcTextField/index.mjs +1 -1
- package/dist/components/NcThemeProvider/index.mjs +1 -1
- package/dist/components/NcTimezonePicker/index.mjs +1 -1
- package/dist/components/NcUserBubble/index.mjs +1 -1
- package/dist/components/NcUserStatusIcon/index.mjs +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/composables/useFormatDateTime/index.mjs +1 -1
- package/dist/functions/emoji/emoji.d.ts +11 -5
- package/dist/functions/emoji/index.mjs +3 -3
- package/dist/functions/reference/index.mjs +10 -10
- package/dist/functions/registerReference/index.mjs +9 -9
- package/dist/functions/usernameToColor/index.mjs +1 -1
- package/dist/index.mjs +141 -139
- package/dist/index.mjs.map +1 -1
- package/package.json +24 -23
- package/dist/chunks/NcAppContent-njY3MCzi.mjs.map +0 -1
- package/dist/chunks/NcModal-DHryP_87.mjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-CjuPClU1.mjs.map +0 -1
- package/dist/chunks/NcRichText-DJlaHs_Q.mjs.map +0 -1
- package/dist/chunks/_l10n-Dq_eYxz_.mjs.map +0 -1
- package/dist/chunks/emoji-BY_D0V5K.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcRadioGroup-
|
|
1
|
+
{"version":3,"file":"NcRadioGroup-LkOsE5Mc.mjs","sources":["../../src/components/NcRadioGroup/NcRadioGroup.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport type { Slot } from 'vue'\n\nimport { computed, provide, ref, warn } from 'vue'\nimport NcFormBox from '../NcFormBox/NcFormBox.vue'\nimport NcFormGroup from '../NcFormGroup/NcFormGroup.vue'\nimport { INSIDE_RADIO_GROUP_KEY } from './useNcRadioGroup.ts'\n\nconst modelValue = defineModel<string>({ required: false, default: '' })\n\ndefineProps<{\n\t/**\n\t * Label of the radio group (accessible name).\n\t * It can be hidden visually if needed using `hide-label` prop.\n\t */\n\tlabel: string\n\n\t/**\n\t * If set the label of the button group will not be shown visually but only for accessibility purposes.\n\t *\n\t * @deprecated Use `hide-label` instead.\n\t */\n\tlabelHidden?: boolean\n\n\t/**\n\t * If set the label of the button group will not be shown visually but only for accessibility purposes.\n\t */\n\thideLabel?: boolean\n\n\t/**\n\t * Optional visual description of the radio group.\n\t */\n\tdescription?: string\n}>()\n\ndefineSlots<{\n\t/**\n\t * Slot for the included radio buttons (`NcCheckboxRadioSwitch`).\n\t * The `type` prop of the `NcCheckboxRadioSwitch` will be automatically set (and forced) to `radio`.\n\t *\n\t * If you want the button variant, then you have to use `NcRadioGroupButton`.\n\t */\n\tdefault?: Slot\n}>()\n\nconst buttonVariant = ref<boolean>()\n\nprovide(INSIDE_RADIO_GROUP_KEY, computed(() => ({\n\tregister,\n\tmodelValue: modelValue.value,\n\tonUpdate,\n})))\n\n/**\n * Register a child component\n *\n * @param isButton - Whether the registered child component is a button or normal radio\n */\nfunction register(isButton: boolean): void {\n\tif (buttonVariant.value !== undefined && buttonVariant.value !== isButton) {\n\t\twarn('[NcRadioGroup] Mixing NcCheckboxRadioSwitch and NcRadioGroupButton is not possible!')\n\t}\n\tbuttonVariant.value = isButton\n}\n\n/**\n * Handle updating the current model value\n *\n * @param value - The new value\n */\nfunction onUpdate(value: string) {\n\tmodelValue.value = value\n}\n</script>\n\n<template>\n\t<NcFormGroup\n\t\t:label\n\t\t:description\n\t\t:hideLabel=\"labelHidden || hideLabel\">\n\t\t<NcFormBox v-if=\"buttonVariant\" row>\n\t\t\t<slot />\n\t\t</NcFormBox>\n\t\t<span v-else :class=\"$style.radioGroup_checkboxRadioContainer\">\n\t\t\t<slot />\n\t\t</span>\n\t</NcFormGroup>\n</template>\n\n<style module lang=\"scss\">\n.radioGroup_checkboxRadioContainer :global(.checkbox-content) {\n\tmax-width: unset !important;\n}\n</style>\n\n<docs>\n## Usage example\n\n### Grouping multiple radio buttons\n\nThe radio group allows to group radio buttons into semantical groups.\nThe `v-model` only needs to be bound to the group component, also the `type` will automatically be set to `radio`.\n\n```vue\n<template>\n\t<NcRadioGroup v-model=\"selectedSides\" class=\"radio-group\" label=\"Sides\" description=\"Please choose the sides for your menu.\">\n\t\t<NcCheckboxRadioSwitch value=\"fries\">\n\t\t\tFries\n\t\t</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch value=\"salad\">\n\t\t\tSalad\n\t\t</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch value=\"none\">\n\t\t\tNothing\n\t\t</NcCheckboxRadioSwitch>\n\t</NcRadioGroup>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tselectedSides: 'none',\n\t\t}\n\t},\n}\n</script>\n\n<style scoped>\n.radio-group {\n\tmax-width: 400px\n}\n</style>\n```\n\n### Radio buttons with button styling\n\nThe radio group also allows to create a button like styling together with the `NcRadioGroupButton` component:\n\n```vue\n<template>\n\t<div>\n\t\t<h4>With text labels</h4>\n\t\t<div style=\"max-width: 400px\">\n\t\t\t<NcRadioGroup v-model=\"alignment\" label=\"Example alignment\" hide-label>\n\t\t\t\t<NcRadioGroupButton label=\"Start\" value=\"start\" />\n\t\t\t\t<NcRadioGroupButton label=\"Center\" value=\"center\" />\n\t\t\t\t<NcRadioGroupButton label=\"End\" value=\"end\" />\n\t\t\t</NcRadioGroup>\n\t\t</div>\n\n\t\t<br>\n\n\t\t<h4>With icons</h4>\n\t\t<div style=\"max-width: 250px\">\n\t\t\t<NcRadioGroup v-model=\"alignment\" label=\"Example alignment with icons\" hide-label>\n\t\t\t\t<NcRadioGroupButton aria-label=\"Start\" value=\"start\" disabled>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<NcIconSvgWrapper directional :path=\"mdiAlignHorizontalLeft\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcRadioGroupButton>\n\t\t\t\t<NcRadioGroupButton aria-label=\"Center\" value=\"center\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiAlignHorizontalCenter\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcRadioGroupButton>\n\t\t\t\t<NcRadioGroupButton aria-label=\"End\" value=\"end\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<NcIconSvgWrapper directional :path=\"mdiAlignHorizontalRight\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcRadioGroupButton>\n\t\t\t</NcRadioGroup>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { mdiAlignHorizontalCenter, mdiAlignHorizontalLeft, mdiAlignHorizontalRight } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\treturn {\n\t\t\tmdiAlignHorizontalCenter,\n\t\t\tmdiAlignHorizontalLeft,\n\t\t\tmdiAlignHorizontalRight,\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\talignment: 'center',\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n"],"names":["_useModel","_createBlock","label","description","labelHidden","hideLabel","_renderSlot","_createElementBlock","_normalizeClass","$style"],"mappings":";;;;;;;;;;;;;;;;;;AAaA,UAAM,aAAaA,SAAmB,SAAA,YAAiC;AAqCvE,UAAM,gBAAgB,IAAA;AAEtB,YAAQ,wBAAwB,SAAS,OAAO;AAAA,MAC/C;AAAA,MACA,YAAY,WAAW;AAAA,MACvB;AAAA,IAAA,EACC,CAAC;AAOH,aAAS,SAAS,UAAyB;AAC1C,UAAI,cAAc,UAAU,UAAa,cAAc,UAAU,UAAU;AAC1E,aAAK,qFAAqF;AAAA,MAC3F;AACA,oBAAc,QAAQ;AAAA,IACvB;AAOA,aAAS,SAAS,OAAe;AAChC,iBAAW,QAAQ;AAAA,IACpB;;0BAICC,YAUc,aAAA;AAAA,QATZ,OAAAC,KAAAA;AAAAA,QACA,aAAAC,KAAAA;AAAAA,QACA,WAAWC,KAAAA,eAAeC,KAAAA;AAAAA,MAAAA;yBAC3B,MAEY;AAAA,UAFK,cAAA,sBAAjBJ,YAEY,WAAA;AAAA;YAFoB,KAAA;AAAA,UAAA;6BAC/B,MAAQ;AAAA,cAARK,WAAQ,KAAA,QAAA,SAAA;AAAA,YAAA;;8BAETC,mBAEO,QAAA;AAAA;YAFO,OAAKC,eAAEC,KAAAA,OAAO,iCAAiC;AAAA,UAAA;YAC5DH,WAAQ,KAAA,QAAA,SAAA;AAAA,UAAA;;;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import '../assets/NcRadioGroupButton-xGU7fVa3.css';
|
|
2
|
-
import { defineComponent, onMounted, computed,
|
|
2
|
+
import { defineComponent, onMounted, computed, openBlock, createElementBlock, normalizeClass, unref, renderSlot, createCommentVNode, toDisplayString, createElementVNode } from "vue";
|
|
3
3
|
import { c as createElementId } from "./createElementId-DhjFt1I9.mjs";
|
|
4
4
|
import { u as useNcFormBox } from "./useNcFormBox-Djlh582y.mjs";
|
|
5
5
|
import { u as useInsideRadioGroup } from "./useNcRadioGroup-D6llQmAl.mjs";
|
|
@@ -80,4 +80,4 @@ const NcRadioGroupButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModule
|
|
|
80
80
|
export {
|
|
81
81
|
NcRadioGroupButton as N
|
|
82
82
|
};
|
|
83
|
-
//# sourceMappingURL=NcRadioGroupButton-
|
|
83
|
+
//# sourceMappingURL=NcRadioGroupButton-BtE_SLVd.mjs.map
|
package/dist/chunks/{NcRadioGroupButton-BWPOKDMR.mjs.map → NcRadioGroupButton-BtE_SLVd.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcRadioGroupButton-
|
|
1
|
+
{"version":3,"file":"NcRadioGroupButton-BtE_SLVd.mjs","sources":["../../src/components/NcRadioGroupButton/NcRadioGroupButton.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport type { Slot } from 'vue'\n\nimport { computed, onMounted } from 'vue'\nimport { createElementId } from '../../utils/createElementId.ts'\nimport { useNcFormBox } from '../NcFormBox/useNcFormBox.ts'\nimport { useInsideRadioGroup } from '../NcRadioGroup/useNcRadioGroup.ts'\n\nconst props = defineProps<{\n\t/**\n\t * Non visible label for accessibility when no `label` is passed.\n\t */\n\tariaLabel?: string\n\n\t/**\n\t * The visual label of the radio button\n\t */\n\tlabel?: string\n\n\t/**\n\t * The value that should be assigned to the `modelValue` of the `NcRadioGroup`.\n\t */\n\tvalue: string\n\n\t/**\n\t * Disabled state of the radio button\n\t */\n\tdisabled?: boolean\n}>()\n\ndefineSlots<{\n\t/**\n\t * Optional icon slot\n\t */\n\ticon?: Slot\n}>()\n\nconst labelId = createElementId()\nconst radioGroup = useInsideRadioGroup()\nconst { formBoxItemClass } = useNcFormBox()\n\nonMounted(() => radioGroup!.value.register(true))\n\nconst isChecked = computed(() => radioGroup?.value.modelValue === props.value)\n\n/**\n * Handle updating the current model value\n */\nfunction onUpdate() {\n\tif (props.disabled) {\n\t\treturn\n\t}\n\n\tradioGroup!.value.onUpdate(props.value)\n}\n</script>\n\n<template>\n\t<div\n\t\t:class=\"[{\n\t\t\t[$style.radioGroupButton_active]: isChecked,\n\t\t\t[$style.radioGroupButton_disabled]: disabled,\n\t\t}, $style.radioGroupButton, formBoxItemClass]\"\n\t\t@click=\"onUpdate\">\n\t\t<div v-if=\"$slots.icon\" :class=\"$style.radioGroupButton__icon\">\n\t\t\t<slot name=\"icon\" />\n\t\t</div>\n\n\t\t<div v-if=\"label\" :id=\"labelId\" :class=\"$style.radioGroupButton__label\">\n\t\t\t{{ label }}\n\t\t</div>\n\n\t\t<input\n\t\t\t:aria-labelledby=\"label ? labelId : undefined\"\n\t\t\t:aria-label=\"label ? undefined : ariaLabel\"\n\t\t\tclass=\"hidden-visually\"\n\t\t\t:checked=\"isChecked\"\n\t\t\ttype=\"radio\"\n\t\t\t:disabled\n\t\t\t:value\n\t\t\t@input=\"onUpdate\">\n\t</div>\n</template>\n\n<style module lang=\"scss\">\n.radioGroupButton {\n\t--radio-group-button--border-radius: var(--border-radius-small);\n\t--radio-group-button--border-width: 1px;\n\t--radio-group-button--color: var(--color-primary-element-light-text);\n\t--radio-group-button--background-color: var(--color-primary-element-light);\n\t--radio-group-button--background-color-hover: var(--color-primary-element-light-hover);\n\t--radio-group-button--padding: 1px;\n\tcursor: pointer;\n\tcolor: var(--radio-group-button--color);\n\tbackground-color: var(--radio-group-button--background-color);\n\ttransition: var(--animation-quick) background-color;\n\tborder: var(--radio-group-button--border-width) solid var(--radio-group-button--background-color-hover);\n\tborder-bottom-width: 2px;\n\tborder-radius: var(--radio-group-button--border-radius);\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: center;\n\ttext-align: center;\n\tmin-height: var(--default-clickable-area);\n\t// ensure that the content is centered because of uneven border\n\tpadding-block: var(--radio-group-button--padding) 0;\n\tpadding-inline: var(--radio-group-button--padding);\n\n\t* {\n\t\tcursor: pointer;\n\t}\n\n\t&:has(&__label) {\n\t\tpadding-inline: calc(var(--radio-group-button--padding) + var(--border-radius-element));\n\t}\n\n\t&:has(&__icon) {\n\t\tpadding-inline-start: var(--radio-group-button--padding);\n\t}\n\n\t&:hover:not(.radioGroupButton_disabled) {\n\t\tbackground-color: var(--radio-group-button--background-color-hover);\n\t}\n\n\t&:focus-within {\n\t\t--radio-group-button--border-width: 2px;\n\t\t--radio-group-button--padding: 0px;\n\t\tborder: var(--radio-group-button--border-width) solid var(--color-main-text) !important;\n\t\toutline: calc(var(--default-grid-baseline) / 2) var(--color-main-background);\n\t}\n}\n\n.radioGroupButton_active {\n\t--radio-group-button--color: var(--color-primary-element-text);\n\t--radio-group-button--background-color: var(--color-primary-element);\n\t--radio-group-button--background-color-hover: var(--color-primary-element-hover);\n}\n\n.radioGroupButton__label {\n\tfont-weight: bold;\n}\n\n.radioGroupButton_disabled {\n\tfilter: saturate($opacity_normal);\n\topacity: $opacity_disabled;\n\n\t// Reset the cursor\n\tcursor: default;\n\t* {\n\t\tcursor: default;\n\t}\n}\n\n.radioGroupButton__icon {\n\t--radio-group-button--icon-size: calc(var(--default-clickable-area) - 4px);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\theight: 100%;\n\twidth: var(--radio-group-button--icon-size);\n\n\t// make sure the icon is a bit smaller to account for border\n\t* {\n\t\t--default-clickable-area: var(--radio-group-button--icon-size);\n\t}\n}\n</style>\n"],"names":["_createElementBlock","_normalizeClass","$style","disabled","_unref","$slots","_renderSlot","label","_createElementVNode","ariaLabel","value"],"mappings":";;;;;;;;;;;;;;;;AAaA,UAAM,QAAQ;AA6Bd,UAAM,UAAU,gBAAA;AAChB,UAAM,aAAa,oBAAA;AACnB,UAAM,EAAE,iBAAA,IAAqB,aAAA;AAE7B,cAAU,MAAM,WAAY,MAAM,SAAS,IAAI,CAAC;AAEhD,UAAM,YAAY,SAAS,MAAM,YAAY,MAAM,eAAe,MAAM,KAAK;AAK7E,aAAS,WAAW;AACnB,UAAI,MAAM,UAAU;AACnB;AAAA,MACD;AAEA,iBAAY,MAAM,SAAS,MAAM,KAAK;AAAA,IACvC;;0BAICA,mBAuBM,OAAA;AAAA,QAtBJ,OAAKC,eAAA,CAAA;AAAA,WAASC,KAAAA,OAAO,uBAAuB,GAAG,UAAA;AAAA,WAAeA,KAAAA,OAAO,yBAAyB,GAAGC,KAAAA;AAAAA,QAAAA,GAAeD,KAAAA,OAAO,kBAAkBE,MAAA,gBAAA,CAAgB,CAAA;AAAA,QAIzJ,SAAO;AAAA,MAAA;QACGC,KAAAA,OAAO,qBAAlBL,mBAEM,OAAA;AAAA;UAFmB,OAAKC,eAAEC,KAAAA,OAAO,sBAAsB;AAAA,QAAA;UAC5DI,WAAoB,KAAA,QAAA,MAAA;AAAA,QAAA;QAGVC,KAAAA,sBAAXP,mBAEM,OAAA;AAAA;UAFa,IAAII,MAAA,OAAA;AAAA,UAAU,OAAKH,eAAEC,KAAAA,OAAO,uBAAuB;AAAA,QAAA,mBAClEK,KAAAA,KAAK,GAAA,IAAA,UAAA;QAGTC,mBAQmB,SAAA;AAAA,UAPjB,mBAAiBD,KAAAA,QAAQH,MAAA,OAAA,IAAU;AAAA,UACnC,cAAYG,KAAAA,QAAQ,SAAYE,KAAAA;AAAAA,UACjC,OAAM;AAAA,UACL,SAAS,UAAA;AAAA,UACV,MAAK;AAAA,UACJ,UAAAN,KAAAA;AAAAA,UACA,OAAAO,KAAAA;AAAAA,UACA,SAAO;AAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/chunks/{NcRelatedResourcesPanel-BndhQA8u.mjs → NcRelatedResourcesPanel-Cn27rj0H.mjs}
RENAMED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import '../assets/NcRelatedResourcesPanel-D1efpH8E.css';
|
|
2
2
|
import axios from "@nextcloud/axios";
|
|
3
3
|
import { generateOcsUrl } from "@nextcloud/router";
|
|
4
|
-
import { r as register, S as t38, a as t, T as
|
|
5
|
-
import { N as NcButton } from "./NcButton-
|
|
4
|
+
import { r as register, S as t38, a as t, T as t42, U as t9 } from "./_l10n-BklkVPDO.mjs";
|
|
5
|
+
import { N as NcButton } from "./NcButton-lQra4n2g.mjs";
|
|
6
6
|
import { g as getRoute } from "./autolink-U5pBzLgI.mjs";
|
|
7
|
-
import { resolveComponent,
|
|
7
|
+
import { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, createTextVNode, toDisplayString, createElementVNode, mergeProps, createCommentVNode, Fragment, renderList, createBlock } from "vue";
|
|
8
8
|
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
|
|
9
9
|
import { getCapabilities } from "@nextcloud/capabilities";
|
|
10
|
-
import { C as ChevronDown } from "./ChevronDown-
|
|
11
|
-
import { C as ChevronUp } from "./ChevronUp-
|
|
12
|
-
import { N as NcIconSvgWrapper } from "./NcIconSvgWrapper-
|
|
10
|
+
import { C as ChevronDown } from "./ChevronDown-C6gc637b.mjs";
|
|
11
|
+
import { C as ChevronUp } from "./ChevronUp-ChH8oB7p.mjs";
|
|
12
|
+
import { N as NcIconSvgWrapper } from "./NcIconSvgWrapper-De-2-ukl.mjs";
|
|
13
13
|
import { l as logger } from "./logger-D3RVzcfQ.mjs";
|
|
14
14
|
register(t38);
|
|
15
15
|
const _sfc_main$4 = {
|
|
@@ -158,7 +158,7 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
158
158
|
], 16, _hoisted_1$2);
|
|
159
159
|
}
|
|
160
160
|
const OpenInNew = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2]]);
|
|
161
|
-
register(
|
|
161
|
+
register(t42);
|
|
162
162
|
const teamResourceProviders = getCapabilities()?.circles?.teamResourceProviders ?? [];
|
|
163
163
|
const _sfc_main$1 = {
|
|
164
164
|
name: "NcTeamResources",
|
|
@@ -553,4 +553,4 @@ const NcRelatedResourcesPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["render
|
|
|
553
553
|
export {
|
|
554
554
|
NcRelatedResourcesPanel as N
|
|
555
555
|
};
|
|
556
|
-
//# sourceMappingURL=NcRelatedResourcesPanel-
|
|
556
|
+
//# sourceMappingURL=NcRelatedResourcesPanel-Cn27rj0H.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcRelatedResourcesPanel-BndhQA8u.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.ts'\nimport NcButton from '../NcButton/index.ts'\nimport { getRoute } from '../NcRichText/autolink.ts'\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(.button-vue__wrapper) {\n\t\t\tjustify-content: flex-start !important;\n\n\t\t\t.button-vue__text {\n\t\t\t\tfont-weight: normal !important;\n\t\t\t\tmargin-inline-start: 2px !important;\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.ts'\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('[NcTeamResources] Failed to fetch 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: bold;\n\tmargin-bottom: 6px;\n}\n\n.related-team {\n\tborder-radius: var(--border-radius-container);\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-inline-end: 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: 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: 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: 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-element);\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:providerId=\"providerId\"\n\t\t\t:itemId=\"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.ts'\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'hasError',\n\t\t'hasResources',\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 = null\n\t\t\tlet itemId = null\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('hasError', 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('hasResources', 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 = error\n\t\t\t\tlogger.error('[NcRelatedResourcesPanel] Failed to fetch 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: 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","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_createVNode","_createElementVNode","_hoisted_3","_createTextVNode","_mergeProps","t","_toDisplayString","_Fragment","_renderList","_createBlock"],"mappings":";;;;;;;;;;;;;AA4BA,MAAKA,cAAU;AAAA,EACd,MAAM;AAAA,EAEN,YAAY;AAAA,IACX;AAAA;;EAID,OAAO;AAAA,IACN,MAAM;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA;IAGX,MAAM;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA;IAGX,KAAK;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA;;EAIZ,OAAO;AACN,WAAO;AAAA,MACN,iBAAiB,EAAE,iCAAiC,EAAE,cAAc,KAAK,MAAM;AAAA,IAChF;AAAA,EACD;AAAA,EAEA,UAAU;AAAA,IACT,QAAQ;AACP,aAAO,SAAS,KAAK,SAAS,KAAK,GAAG;AAAA,IACvC;AAAA;EAGD,SAAS;AAAA,IACR;AAAA;AAEF;AA9DK,MAAAC,eAAA,EAAA,OAAM,WAAU;AAQZ,MAAAC,eAAA,EAAA,OAAM,iBAAgB;;;;AAR9B,SAAAC,UAAA,GAAAC,mBAcK,MAdLH,cAcK;AAAA,IAbJI,YAYW,qBAAA;AAAA,MAXV,OAAM;AAAA,MACL,cAAY,MAAA;AAAA,MACZ,IAAI,SAAA;AAAA,MACJ,MAAM,SAAA,QAAK,OAAU,OAAA;AAAA,MACtB,SAAQ;AAAA;MACG,cACV,MAEM;AAAA,QAFNC,mBAEM,OAFNJ,cAEM;AAAA,UADLI,mBAAiB,OAAA,EAAX,KAAK,OAAA,QAAI,MAAA,GAAAC,YAAA;AAAA;;uBAEN,MACX;AAAA,QADWC,gBAAA,sBACR,OAAA,IAAI,GAAA,CAAA;AAAA;;;;;;ACEV,MAAKR,cAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO,CAAC,OAAO;AAAA,EACf,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA;IAER,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AACF;;;AAxBY,MAAAO,eAAA,EAAA,GAAE,mkBAAkkB;;;sBAX9kBH,mBAeO,QAfPK,WAAc,KAAA,QAAM;AAAA,IACb,eAAa,OAAA,QAAK,OAAA;AAAA,IAClB,cAAY,OAAA;AAAA,IACb,OAAM;AAAA,IACN,MAAK;AAAA,IACJ,SAAK,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,YAAE,KAAA,MAAK,SAAU,MAAM;AAAA;kBACjCL,mBAQM,OAAA;AAAA,MARA,MAAM,OAAA;AAAA,MACP,OAAM;AAAA,MACL,OAAO,OAAA;AAAA,MACP,QAAQ,OAAA;AAAA,MACT,SAAQ;AAAA;MACXE,mBAEO,QAFPC,cAEO;AAAA,QADQ,OAAA,SAAbJ,UAAA,GAAAC,mBAAuC,uCAAhB,OAAA,KAAK,GAAA,CAAA;;;;;;ACOpC,MAAKJ,cAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO,CAAC,OAAO;AAAA,EACf,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA;IAER,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AACF;;;AAxBY,MAAAO,eAAA,EAAA,GAAE,uIAAsI;;;sBAXlJH,mBAeO,QAfPK,WAAc,KAAA,QAAM;AAAA,IACb,eAAa,OAAA,QAAK,OAAA;AAAA,IAClB,cAAY,OAAA;AAAA,IACb,OAAM;AAAA,IACN,MAAK;AAAA,IACJ,SAAK,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,YAAE,KAAA,MAAK,SAAU,MAAM;AAAA;kBACjCL,mBAQM,OAAA;AAAA,MARA,MAAM,OAAA;AAAA,MACP,OAAM;AAAA,MACL,OAAO,OAAA;AAAA,MACP,QAAQ,OAAA;AAAA,MACT,SAAQ;AAAA;MACXE,mBAEO,QAFPC,cAEO;AAAA,QADQ,OAAA,SAAbJ,UAAA,GAAAC,mBAAuC,uCAAhB,OAAA,KAAK,GAAA,CAAA;;;;;;;ACyEpC,MAAM,wBAAwB,gBAAe,GAAI,SAAS,yBAAyB,CAAA;AAEnF,MAAKJ,cAAU;AAAA,EACd,MAAM;AAAA,EAEN,YAAY;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;;EAID,OAAO;AAAA,IACN,YAAY;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;IAGV,QAAQ;AAAA,MACP,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA;;EAIX,OAAO;AACN,WAAO;AAAA,MACN,YAAY,IAAI,cAAc,YAAY,WAAc,GAAG,OAAO,QAAQ,MAAM,GAAG,EAAE,CAAC,KAAK,MAAM;AAAA,MACjG,SAAS;AAAA,MACT,eAAe;AAAA,MACf,UAAU,CAAA;AAAA,IACX;AAAA,EACD;AAAA,EAEA,UAAU;AAAA,IACT,YAAY;AACX,aAAO,CAAC,KAAK,WAAW,KAAK,eAAe,SAAS;AAAA,IACtD;AAAA,IAEA,gBAAgB;AACf,aAAO,CAAC,WAAW;AAClB,cAAM,OAAO,KAAK,cAAc,KAAK,CAACU,OAAMA,GAAE,WAAW,MAAM;AAC/D,eAAO,KAAK,WAAW,OAAO,CAAC,KAAK,aAAa;AAChD,cAAI,SAAS,SAAS,OAAO,KAAK,cAAc,SAAS,OAAO,OAAO,KAAK,MAAM,GAAG;AACpF,mBAAO;AAAA,UACR;AAEA,cAAI,CAAC,IAAI,SAAS,SAAS,EAAE,GAAG;AAC/B,gBAAI,SAAS,SAAS,EAAE,IAAI,SAAS;AACrC,gBAAI,SAAS,SAAS,EAAE,EAAE,YAAY,CAAA;AAAA,UACvC;AAEA,cAAI,SAAS,SAAS,OAAO,KAAK,cAAc,SAAS,OAAO,OAAO,KAAK,MAAM,GAAG;AACpF,mBAAO;AAAA,UACR;AAEA,cAAI,SAAS,SAAS,EAAE,EAAE,UAAU,KAAK,QAAQ;AACjD,iBAAO;AAAA,QACR,GAAG,CAAA,CAAE;AAAA,MACN;AAAA,IACD;AAAA,IAEA,OAAO;AACN,aAAO,CAAC,WAAW;AAClB,eAAO,KAAK,SAAS,QAAQ,MAAM,MAAM;AAAA,MAC1C;AAAA,IACD;AAAA;EAGD,OAAO;AAAA,IACN,aAAa;AACZ,WAAK,mBAAkB;AAAA,IACxB;AAAA,IAEA,SAAS;AACR,WAAK,mBAAkB;AAAA,IACxB;AAAA;EAGD,UAAU;AACT,SAAK,mBAAkB;AAAA,EACxB;AAAA,EAEA,SAAS;AAAA,IACR;AAAA,IACA,MAAM,qBAAqB;AAC1B,UAAI,CAAC,sBAAsB,SAAS,KAAK,UAAU,GAAG;AACrD;AAAA,MACD;AACA,UAAI;AACH,aAAK,UAAU;AACf,cAAM,WAAW,MAAM,MAAM,IAAI,eAAe,oBAAoB,KAAK,UAAU,IAAI,KAAK,MAAM,EAAE,CAAC;AACrG,aAAK,gBAAgB,SAAS,KAAK,IAAI,KAAK;AAC5C,aAAK,WAAW,CAAC,KAAK,cAAc,CAAC,GAAG,MAAM;AAAA,MAC/C,SAAS,OAAO;AACf,aAAK,gBAAgB;AACrB,eAAO,MAAM,+CAA+C,EAAE,MAAI,CAAG;AAAA,MACtE,UAAA;AACC,aAAK,UAAU;AAAA,MAChB;AAAA,IACD;AAAA,IAEA,WAAW,QAAQ,MAAM;AACxB,UAAI,MAAM;AACT,aAAK,SAAS,KAAK,MAAM;AAAA,MAC1B,OAAO;AACN,aAAK,SAAS,OAAO,KAAK,SAAS,QAAQ,MAAM,GAAG,CAAC;AAAA,MACtD;AAAA,IACD;AAAA;AAEF;;;EAjMqC,OAAM;;AACrC,MAAAR,eAAA,EAAA,OAAM,yBAAwB;;AAUxB,MAAA,aAAA,EAAA,OAAM,uBAAsB;AAChC,MAAA,aAAA,EAAA,OAAM,qBAAoB;;;;;EAiCM,OAAM;;;;EAQH,OAAM;;;AAGnC,MAAA,cAAA,EAAA,OAAM,iBAAgB;;;;;;;;AAxDxB,SAAA,MAAA,cAAc,SAAA,aAAzBC,aAAAC,mBAiEM,OAjENH,cAiEM;AAAA,IAhELK,mBAEK,MAFLJ,cAEKS,gBADD,SAAA,EAAC,wBAAA,CAAA,GAAA,CAAA;AAAA,sBAELP,mBA4DUQ,UAAA,MAAAC,WA3DM,MAAA,eAAa,CAArB,SAAI;0BADZT,mBA4DU,WAAA;AAAA,QA1DR,KAAK,KAAK;AAAA,QACX,MAAK;AAAA,QACL,OAAM;AAAA,QACL,MAAM,SAAA,KAAK,KAAK,MAAM;AAAA,QACtB,UAAM,CAAG,UAAU,SAAA,WAAW,KAAK,QAAQ,MAAM,OAAO,IAAI;AAAA;QAC7DE,mBAqBU,WArBV,YAqBU;AAAA,UApBTA,mBAGK,MAHL,YAGK;AAAA,YAFJD,YAA2B,yBAAA,EAAZ,MAAM,GAAE,CAAA;AAAA,4BAAI,MAC3BM,gBAAG,KAAK,WAAW,GAAA,CAAA;AAAA;UAEpBN,YAQW,qBAAA;AAAA,YAPT,cAAY,SAAA,EAAC,WAAA;AAAA,YACb,MAAM,KAAK;AAAA,YACX,OAAO,SAAA,EAAC,WAAA;AAAA,YACT,SAAQ;AAAA;YACG,cACV,MAAwB;AAAA,cAAxBA,YAAwB,sBAAA,EAAZ,MAAM,GAAE,CAAA;AAAA;;;UAKf,SAAA,KAAK,KAAK,MAAM,kBADvBS,YAEc,sBAAA;AAAA;YAAZ,MAAM;AAAA,8BACRA,YAEc,wBAAA;AAAA;YAAZ,MAAM;AAAA;;QAGTR,mBA6BM,OAAA,MAAA;AAAA,WA5BLH,UAAA,IAAA,GAAAC,mBA2BMQ,2BA1Bc,SAAA,cAAc,KAAK,MAAM,IAArC,aAAQ;gCADhBR,mBA2BM,OAAA;AAAA,cAzBJ,KAAK,SAAS;AAAA,cACf,OAAM;AAAA;cACI,SAAS,UAAU,SAAM,kBAAnCA,mBAEK,MAAA,YAAAO,gBADD,SAAS,IAAI,GAAA,CAAA;cAEjBL,mBAmBK,MAAA,MAAA;AAAA,iBAlBJH,UAAA,IAAA,GAAAC,mBAiBKQ,UAAA,MAAAC,WAjBkB,SAAS,YAArB,aAAQ;sCAAnBT,mBAiBK,MAAA;AAAA,oBAjBuC,KAAK,SAAS;AAAA,oBAAK,OAAM;AAAA;oBACpEE,mBAeI,KAAA;AAAA,sBAfA,MAAM,SAAS;AAAA,sBAAK,OAAM;AAAA;sBACjB,SAAS,aAArBH,UAAA,GAAAC,mBAEO,QAFP,YAEOO,gBADH,SAAS,SAAS,GAAA,CAAA,KAGV,SAAS,wBADrBG,YAIc,6BAAA;AAAA;wBAFb,OAAM;AAAA,wBACL,KAAK,SAAS;AAAA,wBACd,MAAM;AAAA,8CACS,SAAS,WAA1BX,aAAAC,mBAEO,QAFP,YAEO;AAAA,wBADNE,mBAAoC,OAAA;AAAA,0BAA9B,KAAK,SAAS;AAAA,0BAAS,KAAI;AAAA;;sBAElCA,mBAEO,QAFP,aAEOK,gBADH,SAAS,KAAK,GAAA,CAAA;AAAA;;;;;;;;;;;;;ACF1B,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EAEN,YAAY;AAAA,IACX;AAAA,IACA;AAAA;;EAID,OAAO;AAAA;AAAA;AAAA;AAAA,IAIN,YAAY;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;;;;IAMV,QAAQ;AAAA,MACP,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA;;;;IAMV,cAAc;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA;;;;IAMV,OAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;;;;;;IAQV,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;;;IAMV,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,SAAS,EAAE,mBAAmB;AAAA;IAG/B,aAAa;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,EAAE,iEAAiE;AAAA;;;;IAM7E,SAAS;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;;EAIX,OAAO;AAAA,IACN;AAAA,IACA;AAAA;EAGD,OAAO;AACN,WAAO;AAAA,MACN,YAAY,IAAI,cAAc,sBAAsB;AAAA,MACpD,SAAS;AAAA,MACT,OAAO;AAAA,MACP,WAAW,CAAA;AAAA,IACZ;AAAA,EACD;AAAA,EAEA,UAAU;AAAA,IACT,YAAY;AACX,UAAI,KAAK,SAAS;AACjB,eAAO;AAAA,MACR;AACA,aAAO,KAAK,SAAS,KAAK,UAAU,SAAS;AAAA,IAC9C;AAAA,IAEA,UAAU;AACT,UAAI,KAAK,OAAO;AACf,eAAO,EAAE,sGAAsG;AAAA,MAChH;AACA,aAAO,KAAK;AAAA,IACb;AAAA,IAEA,kBAAkB;AACjB,UAAI,KAAK,eAAe,QAAQ,KAAK,WAAW,MAAM;AACrD,eAAO;AAAA,MACR;AACA,UAAI,KAAK,aAAa,MAAM;AAC3B,eAAO;AAAA,MACR;AACA,aAAO;AAAA,IACR;AAAA,IAEA,UAAU;AACT,aAAO,KAAK,UAAU,OAAO;AAAA,IAC9B;AAAA,IAEA,MAAM;AACL,UAAI,aAAa;AACjB,UAAI,SAAS;AAEb,UAAI,KAAK,SAAS;AACjB,qBAAa;AACb,iBAAS,KAAK,SAAS;AAAA,MACxB,OAAO;AACN,qBAAa,KAAK;AAClB,iBAAS,KAAK;AAAA,MACf;AAEA,aAAO,eAAe,sHAAsH;AAAA,QAC3I;AAAA,QACA;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,OAAO,KAAK;AAAA,OACZ;AAAA,IACF;AAAA;EAGD,OAAO;AAAA,IACN,aAAa;AACZ,WAAK,sBAAqB;AAAA,IAC3B;AAAA,IAEA,SAAS;AACR,WAAK,sBAAqB;AAAA,IAC3B;AAAA,IAEA,WAAW;AACV,WAAK,sBAAqB;AAAA,IAC3B;AAAA,IAEA,MAAM,OAAO;AAMZ,WAAK,MAAM,YAAY,QAAQ,KAAK,CAAC;AAAA,IACtC;AAAA,IAEA,UAAU,WAAW;AAMpB,WAAK,MAAM,gBAAgB,UAAU,SAAS,CAAC;AAAA,IAChD;AAAA;EAGD,UAAU;AACT,SAAK,sBAAqB;AAAA,EAC3B;AAAA,EAEA,SAAS;AAAA,IACR;AAAA,IACA,MAAM,wBAAwB;AAC7B,UAAI,CAAC,KAAK,cAAc,CAAC,KAAK,iBAAiB;AAC9C;AAAA,MACD;AAEA,WAAK,UAAU;AACf,WAAK,QAAQ;AACb,WAAK,YAAY,CAAA;AACjB,UAAI;AACH,cAAM,WAAW,MAAM,MAAM,IAAI,KAAK,GAAG;AACzC,aAAK,YAAY,SAAS,KAAK,KAAK;AAAA,MACrC,SAAS,OAAO;AACf,aAAK,QAAQ;AACb,eAAO,MAAM,uDAAuD,EAAE,OAAO;AAAA,MAC9E,UAAA;AACC,aAAK,UAAU;AAAA,MAChB;AAAA,IACD;AAAA;AAEF;;;EA5NsC,OAAM;;AACpC,MAAA,aAAA,EAAA,OAAM,4BAA2B;;;;sBANxCP,mBAmBM,OAAA,MAAA;AAAA,IAlBLC,YAEoB,4BAAA;AAAA,MADlB,YAAY,OAAA;AAAA,MACZ,QAAQ,OAAA;AAAA;IAEC,MAAA,cAAc,SAAA,aAAzBF,aAAAC,mBAaM,OAbN,YAaM;AAAA,MAZLE,mBAGM,OAHN,YAGM;AAAA,QAFLA,mBAAqB,4BAAd,OAAA,MAAM,GAAA,CAAA;AAAA,QACbA,mBAAoB,2BAAd,SAAA,OAAO,GAAA,CAAA;AAAA;wBAGdF,mBAMuBQ,UAAA,MAAAC,WALH,MAAA,WAAS,CAArB,aAAQ;4BADhBC,YAMuB,uBAAA;AAAA,UAJrB,KAAK,SAAS;AAAA,UACf,OAAM;AAAA,UACL,MAAM,SAAS;AAAA,UACf,MAAM,SAAS;AAAA,UACf,KAAK,SAAS;AAAA;;;;;;","x_google_ignoreList":[1,2]}
|
|
1
|
+
{"version":3,"file":"NcRelatedResourcesPanel-Cn27rj0H.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.ts'\nimport NcButton from '../NcButton/index.ts'\nimport { getRoute } from '../NcRichText/autolink.ts'\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(.button-vue__wrapper) {\n\t\t\tjustify-content: flex-start !important;\n\n\t\t\t.button-vue__text {\n\t\t\t\tfont-weight: normal !important;\n\t\t\t\tmargin-inline-start: 2px !important;\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.ts'\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('[NcTeamResources] Failed to fetch 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: bold;\n\tmargin-bottom: 6px;\n}\n\n.related-team {\n\tborder-radius: var(--border-radius-container);\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-inline-end: 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: 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: 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: 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-element);\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:providerId=\"providerId\"\n\t\t\t:itemId=\"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.ts'\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'hasError',\n\t\t'hasResources',\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 = null\n\t\t\tlet itemId = null\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('hasError', 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('hasResources', 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 = error\n\t\t\t\tlogger.error('[NcRelatedResourcesPanel] Failed to fetch 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: 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","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_createVNode","_createElementVNode","_hoisted_3","_createTextVNode","_mergeProps","t","_toDisplayString","_Fragment","_renderList","_createBlock"],"mappings":"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","x_google_ignoreList":[1,2]}
|
package/dist/chunks/{NcRichContenteditable-CjuPClU1.mjs → NcRichContenteditable-BREsny-v.mjs}
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import '../assets/NcRichContenteditable-
|
|
1
|
+
import '../assets/NcRichContenteditable-Do20Rmk1.css';
|
|
2
2
|
import debounce from "debounce";
|
|
3
3
|
import Tribute from "tributejs/dist/tribute.esm.js";
|
|
4
4
|
import { useIsDarkTheme } from "../composables/useIsDarkTheme/index.mjs";
|
|
5
5
|
import { g as getAvatarUrl } from "./NcMentionBubble.vue_vue_type_style_index_0_scoped_45238efd_lang-D6LzDiYf.mjs";
|
|
6
|
-
import { N as NcUserStatusIcon } from "./NcUserStatusIcon-
|
|
7
|
-
import {
|
|
6
|
+
import { N as NcUserStatusIcon } from "./NcUserStatusIcon-JWiuiAXe.mjs";
|
|
7
|
+
import { openBlock, createElementBlock, normalizeClass, createElementVNode, normalizeStyle, toDisplayString, createApp, resolveComponent, createBlock, createCommentVNode, mergeProps, withModifiers, withKeys } from "vue";
|
|
8
8
|
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
|
|
9
|
-
import {
|
|
10
|
-
import { r as register, s as t37, J as t34, a as t, K as n } from "./_l10n-
|
|
9
|
+
import { a as emojiSearch, e as emojiAddRecent } from "./emoji-V9hqFgPs.mjs";
|
|
10
|
+
import { r as register, s as t37, J as t34, a as t, K as n } from "./_l10n-BklkVPDO.mjs";
|
|
11
11
|
import escapeHTML from "escape-html";
|
|
12
12
|
import stripTags from "striptags";
|
|
13
13
|
import { c as createElementId } from "./createElementId-DhjFt1I9.mjs";
|
|
@@ -19,27 +19,27 @@ import "@nextcloud/sharing/public";
|
|
|
19
19
|
import "@vueuse/core";
|
|
20
20
|
import "vue-router";
|
|
21
21
|
import "./legacy-DcjXBL_t.mjs";
|
|
22
|
-
import "./NcButton-
|
|
23
|
-
import { g as getLinkWithPicker, s as searchProvider } from "./referencePickerModal-
|
|
24
|
-
import "./customPickerElements-
|
|
22
|
+
import "./NcButton-lQra4n2g.mjs";
|
|
23
|
+
import { g as getLinkWithPicker, s as searchProvider } from "./referencePickerModal-D09ZVhqa.mjs";
|
|
24
|
+
import "./customPickerElements-Cu7bLbap.mjs";
|
|
25
25
|
import "./autolink-U5pBzLgI.mjs";
|
|
26
|
-
import "./NcRichText-
|
|
27
|
-
import "./NcEmptyContent-
|
|
26
|
+
import "./NcRichText-D_ssz6sB.mjs";
|
|
27
|
+
import "./NcEmptyContent-CDgWCt_m.mjs";
|
|
28
28
|
import "./NcHighlight.vue_vue_type_script_lang-DnWQDM_2.mjs";
|
|
29
|
-
import "./NcSelect-
|
|
30
|
-
import "./NcLoadingIcon-
|
|
31
|
-
import "./NcTextField.vue_vue_type_script_setup_true_lang-
|
|
29
|
+
import "./NcSelect-B1uITk_3.mjs";
|
|
30
|
+
import "./NcLoadingIcon-CInLzPtA.mjs";
|
|
31
|
+
import "./NcTextField.vue_vue_type_script_setup_true_lang-B-4HNjYH.mjs";
|
|
32
32
|
import "dompurify";
|
|
33
|
-
import "./NcIconSvgWrapper-
|
|
34
|
-
import "./NcInputField-
|
|
33
|
+
import "./NcIconSvgWrapper-De-2-ukl.mjs";
|
|
34
|
+
import "./NcInputField-CPL-a_MM.mjs";
|
|
35
35
|
import "@nextcloud/event-bus";
|
|
36
36
|
import "focus-trap";
|
|
37
|
-
import "./NcActions-
|
|
37
|
+
import "./NcActions-B_QR93qv.mjs";
|
|
38
38
|
import "../composables/useFormatDateTime/index.mjs";
|
|
39
39
|
import "../composables/useHotKey/index.mjs";
|
|
40
40
|
import "../composables/useIsFullscreen/index.mjs";
|
|
41
41
|
import "../composables/useIsMobile/index.mjs";
|
|
42
|
-
import "./NcModal-
|
|
42
|
+
import "./NcModal-kyWZ3UFC.mjs";
|
|
43
43
|
import "./rtl-v0UOPAM7.mjs";
|
|
44
44
|
const _sfc_main$2 = {
|
|
45
45
|
name: "NcMentionBubble",
|
|
@@ -340,6 +340,7 @@ smilesCharacters.forEach((char) => {
|
|
|
340
340
|
textSmiles.push(":" + char);
|
|
341
341
|
textSmiles.push(":-" + char);
|
|
342
342
|
});
|
|
343
|
+
let isPlaintextOnlySupported = null;
|
|
343
344
|
const _sfc_main = {
|
|
344
345
|
name: "NcRichContenteditable",
|
|
345
346
|
mixins: [richEditor],
|
|
@@ -449,6 +450,15 @@ const _sfc_main = {
|
|
|
449
450
|
],
|
|
450
451
|
setup() {
|
|
451
452
|
const segmenter = new Intl.Segmenter();
|
|
453
|
+
if (isPlaintextOnlySupported === null) {
|
|
454
|
+
try {
|
|
455
|
+
document.createElement("div").contentEditable = "plaintext-only";
|
|
456
|
+
isPlaintextOnlySupported = true;
|
|
457
|
+
} catch (error) {
|
|
458
|
+
logger.debug("[NcRichContenteditable] Unsupported attribute value:", { error });
|
|
459
|
+
isPlaintextOnlySupported = false;
|
|
460
|
+
}
|
|
461
|
+
}
|
|
452
462
|
return {
|
|
453
463
|
// Constants
|
|
454
464
|
labelId: createElementId(),
|
|
@@ -510,12 +520,17 @@ const _sfc_main = {
|
|
|
510
520
|
return n("Message limit of %n character reached", "Message limit of %n characters reached", this.maxlength);
|
|
511
521
|
},
|
|
512
522
|
/**
|
|
513
|
-
* Edit is only allowed when
|
|
523
|
+
* Edit is only allowed when contenteditable is:
|
|
524
|
+
* 'true' (all browsers since 2015)
|
|
525
|
+
* 'plaintext-only' (most browsers since 2015, Firefox since 136+)
|
|
514
526
|
*
|
|
515
|
-
* @return {
|
|
527
|
+
* @return {string}
|
|
516
528
|
*/
|
|
517
|
-
|
|
518
|
-
|
|
529
|
+
contenteditableAttributeValue() {
|
|
530
|
+
if (this.contenteditable && !this.disabled) {
|
|
531
|
+
return isPlaintextOnlySupported ? "plaintext-only" : "true";
|
|
532
|
+
}
|
|
533
|
+
return "false";
|
|
519
534
|
},
|
|
520
535
|
/**
|
|
521
536
|
* Compute debounce function for the autocomplete function
|
|
@@ -541,7 +556,7 @@ const _sfc_main = {
|
|
|
541
556
|
mounted() {
|
|
542
557
|
this.initializeTribute();
|
|
543
558
|
this.updateContent(this.modelValue);
|
|
544
|
-
this.$refs.contenteditable.contentEditable = this.
|
|
559
|
+
this.$refs.contenteditable.contentEditable = this.contenteditableAttributeValue;
|
|
545
560
|
},
|
|
546
561
|
beforeUnmount() {
|
|
547
562
|
if (this.tribute) {
|
|
@@ -711,21 +726,25 @@ const _sfc_main = {
|
|
|
711
726
|
* @fires Event paste the original paste event
|
|
712
727
|
*/
|
|
713
728
|
onPaste(event) {
|
|
714
|
-
if (!this.
|
|
729
|
+
if (!this.contenteditable || this.disabled) {
|
|
715
730
|
return;
|
|
716
731
|
}
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
732
|
+
if (isPlaintextOnlySupported) {
|
|
733
|
+
this.$emit("paste", event);
|
|
734
|
+
} else {
|
|
735
|
+
event.preventDefault();
|
|
736
|
+
const clipboardData = event.clipboardData;
|
|
737
|
+
this.$emit("paste", event);
|
|
738
|
+
if (clipboardData.files.length !== 0 || !Object.values(clipboardData.items).find((item) => item?.type.startsWith("text"))) {
|
|
739
|
+
return;
|
|
740
|
+
}
|
|
741
|
+
const text = clipboardData.getData("text");
|
|
742
|
+
const selection = window.getSelection();
|
|
743
|
+
const range = selection.getRangeAt(0);
|
|
744
|
+
range.deleteContents();
|
|
745
|
+
range.insertNode(document.createTextNode(text));
|
|
746
|
+
range.collapse(false);
|
|
722
747
|
}
|
|
723
|
-
const text = clipboardData.getData("text");
|
|
724
|
-
const selection = window.getSelection();
|
|
725
|
-
const range = selection.getRangeAt(0);
|
|
726
|
-
range.deleteContents();
|
|
727
|
-
range.insertNode(document.createTextNode(text));
|
|
728
|
-
range.collapse(false);
|
|
729
748
|
this.updateValue(this.$refs.contenteditable.innerHTML);
|
|
730
749
|
},
|
|
731
750
|
/**
|
|
@@ -904,7 +923,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
904
923
|
"rich-contenteditable__input--overflow": $options.isOverMaxlength,
|
|
905
924
|
"rich-contenteditable__input--disabled": $props.disabled
|
|
906
925
|
}, "rich-contenteditable__input"],
|
|
907
|
-
contenteditable: $options.
|
|
926
|
+
contenteditable: $options.contenteditableAttributeValue,
|
|
908
927
|
"aria-labelledby": $props.label ? $setup.labelId : void 0,
|
|
909
928
|
"aria-placeholder": $props.placeholder,
|
|
910
929
|
"aria-multiline": "true",
|
|
@@ -942,10 +961,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
942
961
|
const cssModules = {
|
|
943
962
|
"$style": style1
|
|
944
963
|
};
|
|
945
|
-
const NcRichContenteditable = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__cssModules", cssModules], ["__scopeId", "data-v-
|
|
964
|
+
const NcRichContenteditable = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__cssModules", cssModules], ["__scopeId", "data-v-426785d7"]]);
|
|
946
965
|
export {
|
|
947
|
-
|
|
948
|
-
|
|
966
|
+
NcAutoCompleteResult as N,
|
|
967
|
+
NcMentionBubble as a,
|
|
949
968
|
NcRichContenteditable as b
|
|
950
969
|
};
|
|
951
|
-
//# sourceMappingURL=NcRichContenteditable-
|
|
970
|
+
//# sourceMappingURL=NcRichContenteditable-BREsny-v.mjs.map
|