@nextcloud/vue 8.39.0 â 8.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +99 -77
- package/dist/Components/NcActionButton.cjs +1 -1
- package/dist/Components/NcActionButton.mjs +1 -1
- package/dist/Components/NcActionButtonGroup.cjs +1 -1
- package/dist/Components/NcActionButtonGroup.mjs +1 -1
- package/dist/Components/NcActionCheckbox.cjs +1 -1
- package/dist/Components/NcActionCheckbox.mjs +1 -1
- package/dist/Components/NcActionInput.cjs +1 -1
- package/dist/Components/NcActionInput.mjs +1 -1
- package/dist/Components/NcActionLink.cjs +1 -1
- package/dist/Components/NcActionLink.mjs +1 -1
- package/dist/Components/NcActionRadio.cjs +1 -1
- package/dist/Components/NcActionRadio.mjs +1 -1
- package/dist/Components/NcActionRouter.cjs +1 -1
- package/dist/Components/NcActionRouter.mjs +1 -1
- package/dist/Components/NcActionText.cjs +1 -1
- package/dist/Components/NcActionText.mjs +1 -1
- package/dist/Components/NcActionTextEditable.cjs +1 -1
- package/dist/Components/NcActionTextEditable.mjs +1 -1
- package/dist/Components/NcActions.cjs +1 -1
- package/dist/Components/NcActions.mjs +1 -1
- package/dist/Components/NcAppContent.cjs +1 -1
- package/dist/Components/NcAppContent.mjs +1 -1
- package/dist/Components/NcAppNavigation.cjs +1 -1
- package/dist/Components/NcAppNavigation.mjs +1 -1
- package/dist/Components/NcAppNavigationCaption.cjs +1 -1
- package/dist/Components/NcAppNavigationCaption.mjs +1 -1
- package/dist/Components/NcAppNavigationItem.cjs +1 -1
- package/dist/Components/NcAppNavigationItem.mjs +1 -1
- package/dist/Components/NcAppNavigationNew.cjs +1 -1
- package/dist/Components/NcAppNavigationNew.mjs +1 -1
- package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
- package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
- package/dist/Components/NcAppNavigationSearch.cjs +1 -1
- package/dist/Components/NcAppNavigationSearch.mjs +1 -1
- package/dist/Components/NcAppNavigationSettings.cjs +1 -1
- package/dist/Components/NcAppNavigationSettings.mjs +1 -1
- package/dist/Components/NcAppNavigationToggle.cjs +1 -1
- package/dist/Components/NcAppNavigationToggle.mjs +1 -1
- package/dist/Components/NcAppSettingsDialog.cjs +1 -1
- package/dist/Components/NcAppSettingsDialog.mjs +1 -1
- package/dist/Components/NcAppSettingsSection.cjs +1 -1
- package/dist/Components/NcAppSettingsSection.mjs +1 -1
- package/dist/Components/NcAppSettingsSectionShortcuts.cjs +1 -1
- package/dist/Components/NcAppSettingsSectionShortcuts.mjs +1 -1
- package/dist/Components/NcAppSettingsShortcutsSection.cjs +1 -1
- package/dist/Components/NcAppSettingsShortcutsSection.mjs +1 -1
- package/dist/Components/NcAppSidebar.cjs +1 -1
- package/dist/Components/NcAppSidebar.mjs +1 -1
- package/dist/Components/NcAssistantButton.cjs +1 -1
- package/dist/Components/NcAssistantButton.mjs +1 -1
- package/dist/Components/NcAssistantContent.cjs +4 -4
- package/dist/Components/NcAssistantContent.mjs +4 -4
- package/dist/Components/NcAssistantIcon.cjs +1 -1
- package/dist/Components/NcAssistantIcon.mjs +1 -1
- package/dist/Components/NcAvatar.cjs +1 -1
- package/dist/Components/NcAvatar.mjs +1 -1
- package/dist/Components/NcBlurHash.cjs +1 -1
- package/dist/Components/NcBlurHash.mjs +1 -1
- package/dist/Components/NcBreadcrumb.cjs +1 -1
- package/dist/Components/NcBreadcrumb.mjs +1 -1
- package/dist/Components/NcBreadcrumbs.cjs +1 -1
- package/dist/Components/NcBreadcrumbs.mjs +1 -1
- package/dist/Components/NcButton.cjs +1 -1
- package/dist/Components/NcButton.mjs +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
- package/dist/Components/NcChip.cjs +4 -4
- package/dist/Components/NcChip.mjs +4 -4
- package/dist/Components/NcCollectionList.cjs +1 -1
- package/dist/Components/NcCollectionList.mjs +1 -1
- package/dist/Components/NcColorPicker.cjs +1 -1
- package/dist/Components/NcColorPicker.mjs +1 -1
- package/dist/Components/NcContent.cjs +1 -1
- package/dist/Components/NcContent.mjs +1 -1
- package/dist/Components/NcDashboardWidget.cjs +1 -1
- package/dist/Components/NcDashboardWidget.mjs +1 -1
- package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
- package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
- package/dist/Components/NcDateTimePicker.cjs +6 -6
- package/dist/Components/NcDateTimePicker.mjs +6 -6
- package/dist/Components/NcDateTimePickerNative.cjs +1 -1
- package/dist/Components/NcDateTimePickerNative.mjs +1 -1
- package/dist/Components/NcDialog.cjs +1 -1
- package/dist/Components/NcDialog.mjs +1 -1
- package/dist/Components/NcDialogButton.cjs +1 -1
- package/dist/Components/NcDialogButton.mjs +1 -1
- package/dist/Components/NcEmojiPicker.cjs +1 -1
- package/dist/Components/NcEmojiPicker.mjs +1 -1
- package/dist/Components/NcEmptyContent.cjs +2 -2
- package/dist/Components/NcEmptyContent.cjs.map +1 -1
- package/dist/Components/NcEmptyContent.mjs +2 -2
- package/dist/Components/NcEmptyContent.mjs.map +1 -1
- package/dist/Components/NcFilePicker.cjs +1 -1
- package/dist/Components/NcFilePicker.mjs +1 -1
- package/dist/Components/NcFormBox.cjs +1 -1
- package/dist/Components/NcFormBox.mjs +1 -1
- package/dist/Components/NcFormBoxButton.cjs +1 -1
- package/dist/Components/NcFormBoxButton.mjs +1 -1
- package/dist/Components/NcFormBoxCopyButton.cjs +1 -1
- package/dist/Components/NcFormBoxCopyButton.mjs +1 -1
- package/dist/Components/NcFormBoxSwitch.cjs +1 -1
- package/dist/Components/NcFormBoxSwitch.mjs +1 -1
- package/dist/Components/NcFormGroup.cjs +1 -1
- package/dist/Components/NcFormGroup.mjs +1 -1
- package/dist/Components/NcGuestContent.cjs +3 -9
- package/dist/Components/NcGuestContent.cjs.map +1 -1
- package/dist/Components/NcGuestContent.mjs +3 -9
- package/dist/Components/NcGuestContent.mjs.map +1 -1
- package/dist/Components/NcHeaderButton.cjs +1 -1
- package/dist/Components/NcHeaderButton.mjs +1 -1
- package/dist/Components/NcHeaderMenu.cjs +1 -1
- package/dist/Components/NcHeaderMenu.mjs +1 -1
- package/dist/Components/NcHotkey.cjs +1 -1
- package/dist/Components/NcHotkey.mjs +1 -1
- package/dist/Components/NcHotkeyList.cjs +1 -1
- package/dist/Components/NcHotkeyList.mjs +1 -1
- package/dist/Components/NcInputField.cjs +1 -1
- package/dist/Components/NcInputField.mjs +1 -1
- package/dist/Components/NcKbd.cjs +1 -1
- package/dist/Components/NcKbd.mjs +1 -1
- package/dist/Components/NcListItem.cjs +1 -1
- package/dist/Components/NcListItem.mjs +1 -1
- package/dist/Components/NcListItemIcon.cjs +1 -1
- package/dist/Components/NcListItemIcon.mjs +1 -1
- package/dist/Components/NcModal.cjs +5 -5
- package/dist/Components/NcModal.mjs +5 -5
- package/dist/Components/NcNoteCard.cjs +3 -3
- package/dist/Components/NcNoteCard.cjs.map +1 -1
- package/dist/Components/NcNoteCard.mjs +3 -3
- package/dist/Components/NcNoteCard.mjs.map +1 -1
- package/dist/Components/NcPasswordField.cjs +1 -1
- package/dist/Components/NcPasswordField.mjs +1 -1
- package/dist/Components/NcPopover.cjs +1 -1
- package/dist/Components/NcPopover.mjs +1 -1
- package/dist/Components/NcProfileHoverCard.cjs +4 -0
- package/dist/Components/NcProfileHoverCard.cjs.map +1 -0
- package/dist/Components/NcProfileHoverCard.mjs +5 -0
- package/dist/Components/NcProfileHoverCard.mjs.map +1 -0
- package/dist/Components/NcRadioGroup.cjs +1 -1
- package/dist/Components/NcRadioGroup.mjs +1 -1
- package/dist/Components/NcRadioGroupButton.cjs +1 -1
- package/dist/Components/NcRadioGroupButton.mjs +1 -1
- package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
- package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
- package/dist/Components/NcRichContenteditable.cjs +1 -1
- package/dist/Components/NcRichContenteditable.mjs +1 -1
- package/dist/Components/NcRichText.cjs +9 -7
- package/dist/Components/NcRichText.cjs.map +1 -1
- package/dist/Components/NcRichText.mjs +15 -13
- package/dist/Components/NcRichText.mjs.map +1 -1
- package/dist/Components/NcSelect.cjs +1 -1
- package/dist/Components/NcSelect.mjs +1 -1
- package/dist/Components/NcSelectTags.cjs +1 -1
- package/dist/Components/NcSelectTags.mjs +1 -1
- package/dist/Components/NcSelectUsers.cjs +1 -1
- package/dist/Components/NcSelectUsers.mjs +1 -1
- package/dist/Components/NcSettingsInputText.cjs +1 -1
- package/dist/Components/NcSettingsInputText.mjs +1 -1
- package/dist/Components/NcSettingsSection.cjs +1 -1
- package/dist/Components/NcSettingsSection.mjs +1 -1
- package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
- package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
- package/dist/Components/NcTextArea.cjs +1 -1
- package/dist/Components/NcTextArea.mjs +1 -1
- package/dist/Components/NcTextField.cjs +1 -1
- package/dist/Components/NcTextField.mjs +1 -1
- package/dist/Components/NcTimezonePicker.cjs +1 -1
- package/dist/Components/NcTimezonePicker.mjs +1 -1
- package/dist/Components/NcUserBubble.cjs +1 -1
- package/dist/Components/NcUserBubble.mjs +1 -1
- package/dist/Components/NcUserStatusIcon.cjs +1 -1
- package/dist/Components/NcUserStatusIcon.mjs +1 -1
- package/dist/Composables/useFormatDateTime.cjs +11 -5
- package/dist/Composables/useFormatDateTime.cjs.map +1 -1
- package/dist/Composables/useFormatDateTime.mjs +11 -5
- package/dist/Composables/useFormatDateTime.mjs.map +1 -1
- package/dist/Functions/reference.cjs +11 -10
- package/dist/Functions/reference.cjs.map +1 -1
- package/dist/Functions/reference.mjs +7 -6
- package/dist/Functions/reference.mjs.map +1 -1
- package/dist/Functions/registerReference.cjs +6 -5
- package/dist/Functions/registerReference.cjs.map +1 -1
- package/dist/Functions/registerReference.mjs +6 -5
- package/dist/Functions/registerReference.mjs.map +1 -1
- package/dist/Functions/usernameToColor.cjs +1 -1
- package/dist/Functions/usernameToColor.mjs +1 -1
- package/dist/assets/{NcActionButton-CjKx3679.css â NcActionButton-CwGeOQFe.css} +3 -2
- package/dist/assets/{NcActionCheckbox-CzUElysW.css â NcActionCheckbox-DG9SyAAy.css} +3 -2
- package/dist/assets/{NcActionInput-CPu4Btyq.css â NcActionInput-ESkvZDNh.css} +66 -66
- package/dist/assets/{NcActionLink-Bt-73iBm.css â NcActionLink-CB74Y-9f.css} +3 -2
- package/dist/assets/{NcActionRadio-CROsOVZe.css â NcActionRadio-4a1cWuYb.css} +3 -2
- package/dist/assets/{NcActionRouter-Bpv5Ywxq.css â NcActionRouter-CyyaRzft.css} +3 -2
- package/dist/assets/{NcActionText-IMOkntPi.css â NcActionText-BMO_HKvg.css} +3 -2
- package/dist/assets/{NcActionTextEditable-AuLw5QVP.css â NcActionTextEditable-DPpx-OUr.css} +66 -66
- package/dist/assets/{NcAppContent-CKJUs-ZZ.css â NcAppContent-DyFYmhvX.css} +20 -20
- package/dist/assets/{NcAppNavigation-DfsSMVgo.css â NcAppNavigation-B-X0bAXx.css} +14 -16
- package/dist/assets/{NcAppNavigationCaption-C7GtQb_y.css â NcAppNavigationCaption-NX44RnkW.css} +8 -8
- package/dist/assets/{NcAppNavigationItem-CksjxOVP.css â NcAppNavigationItem-D4T7UQqz.css} +8 -7
- package/dist/assets/{NcAppNavigationNewItem-Dn_iz3og.css â NcAppNavigationNewItem-CtObIA-e.css} +4 -3
- package/dist/assets/{NcAppNavigationSettings-2Wh1E3Hq.css â NcAppNavigationSettings-DGkLlCyq.css} +11 -11
- package/dist/assets/{NcAppNavigationToggle-DgwbZOWc.css â NcAppNavigationToggle-D1K2TRZ-.css} +3 -3
- package/dist/assets/{NcAppSettingsDialog-DRyLeR3T.css â NcAppSettingsDialog-Cu7QAD8V.css} +34 -34
- package/dist/assets/{NcAppSettingsSection-Yg4NYCih.css â NcAppSettingsSection-DU9FOAnJ.css} +7 -7
- package/dist/assets/{NcAppSettingsShortcutsSection-C_DMnyUy.css â NcAppSettingsShortcutsSection-D-FcvAWd.css} +3 -3
- package/dist/assets/{NcAppSidebar-B1bkEVQA.css â NcAppSidebar-DPorFaqk.css} +73 -73
- package/dist/assets/{NcAssistantButton-BNEXluSq.css â NcAssistantButton-C6d88UPB.css} +9 -9
- package/dist/assets/{NcAssistantContent-DrswfkY-.css â NcAssistantContent-DTHxHZ09.css} +3 -3
- package/dist/assets/{NcAssistantIcon-CdtR1Psu.css â NcAssistantIcon-BV1uZpAb.css} +4 -4
- package/dist/assets/{NcAvatar-CK9ipsjF.css â NcAvatar-BdHHFwV3.css} +41 -26
- package/dist/assets/{NcBlurHash-CT92vFpc.css â NcBlurHash-Zj5Z9WKv.css} +2 -2
- package/dist/assets/{NcBreadcrumb-0xB19h6f.css â NcBreadcrumb-DyXnSA6l.css} +16 -16
- package/dist/assets/{NcButton-o3s2D3Dl.css â NcButton-C-bkSL_r.css} +49 -49
- package/dist/assets/{NcCheckboxRadioSwitch-BojbloxL.css â NcCheckboxRadioSwitch-DCSWiHVq.css} +53 -51
- package/dist/assets/{NcColorPicker-CCqpXoam.css â NcColorPicker-DjmfbD2K.css} +32 -32
- package/dist/assets/{NcContent-URJTZQq1.css â NcContent-rDfulBCh.css} +12 -13
- package/dist/assets/{NcDateTimePicker-DknygOcQ.css â NcDateTimePicker-CD0ZGUBz.css} +15 -15
- package/dist/assets/{NcEmptyContent-CUFc_Dds.css â NcEmptyContent-DAR2ze6H.css} +10 -10
- package/dist/assets/{NcFilePicker-BokX813z.css â NcFilePicker-BjFpDu4R.css} +1 -1
- package/dist/assets/{NcFormBox-9NY7pxez.css â NcFormBox-DoEpsPVV.css} +11 -11
- package/dist/assets/{NcFormBoxButton-BlS280R1.css â NcFormBoxButton-CFtdjCfy.css} +2 -2
- package/dist/assets/{NcFormBoxItem-BdFKDYqL.css â NcFormBoxItem-C918I2qS.css} +17 -13
- package/dist/assets/{NcFormBoxSwitch-CXtmxIfB.css â NcFormBoxSwitch-C4cbxBBA.css} +2 -2
- package/dist/assets/{NcFormGroup-uKT9TTrz.css â NcFormGroup-CUFSO_ru.css} +8 -8
- package/dist/assets/{NcGuestContent-BkegjnLL.css â NcGuestContent-27hnc8yQ.css} +3 -3
- package/dist/assets/{NcHotkey-9k8cxWO5.css â NcHotkey-D_InvA0N.css} +8 -8
- package/dist/assets/{NcHotkeyList-CNWXE5jg.css â NcHotkeyList-XE5Xd_iE.css} +3 -3
- package/dist/assets/{NcIconToggleSwitch-sDZkWAmc.css â NcIconToggleSwitch-DO_sv5_o.css} +4 -4
- package/dist/assets/{NcInputConfirmCancel-Brp9ZfY5.css â NcInputConfirmCancel-DRZviUxz.css} +8 -8
- package/dist/assets/{NcInputField-Cc-l-KGd.css â NcInputField-KvlF4emB.css} +46 -46
- package/dist/assets/{NcKbd-8TOrFNAw.css â NcKbd-IflT8hS_.css} +3 -3
- package/dist/assets/{NcListItem-DP1egljH.css â NcListItem-3a4Lafwa.css} +47 -47
- package/dist/assets/{NcNoteCard-CwNXZ4vV.css â NcNoteCard-C4SocW9G.css} +13 -13
- package/dist/assets/{NcPopover-CJgeCuwk.css â NcPopover-nBCZ8J9Q.css} +13 -13
- package/dist/assets/NcProfileHoverCard-D3V682nS.css +340 -0
- package/dist/assets/{NcRadioGroup-Dss0ok3g.css â NcRadioGroup-Bq7x-xEK.css} +2 -2
- package/dist/assets/{NcRadioGroupButton-CMOW3Q4J.css â NcRadioGroupButton-i11p0wHX.css} +14 -14
- package/dist/assets/NcReferenceWidget-Cg4xOL_8.css +150 -0
- package/dist/assets/{NcRelatedResourcesPanel-CTpqdDL9.css â NcRelatedResourcesPanel-D5DxWJPc.css} +30 -30
- package/dist/assets/{NcRichContenteditable-DwS6PNCv.css â NcRichContenteditable-DRPzKa4Z.css} +29 -29
- package/dist/assets/{NcRichText-Cp_5tfBy.css â NcRichText-D0xtzoWq.css} +91 -91
- package/dist/assets/{NcSettingsSection-D_qeKnRb.css â NcSettingsSection-Fyy2lFk_.css} +9 -9
- package/dist/assets/{NcTextArea-BtG5_qHD.css â NcTextArea-BMPUvHVL.css} +28 -28
- package/dist/assets/{autolink-KPdaBewQ.css â autolink-CEziQYgN.css} +3 -3
- package/dist/assets/{referencePickerModal-CGtNx7ew.css â referencePickerModal-0oYth4rX.css} +0 -114
- package/dist/chunks/DockRight-B0D52yCO.mjs +38 -0
- package/dist/chunks/DockRight-B0D52yCO.mjs.map +1 -0
- package/dist/chunks/DockRight-CXafXJaH.cjs +37 -0
- package/dist/chunks/DockRight-CXafXJaH.cjs.map +1 -0
- package/dist/chunks/{NcActionButton-CiYel4_C.cjs â NcActionButton-B1jvJWjl.cjs} +2 -2
- package/dist/chunks/{NcActionButton-CiYel4_C.cjs.map â NcActionButton-B1jvJWjl.cjs.map} +1 -1
- package/dist/chunks/{NcActionButton-K4jUGMlW.mjs â NcActionButton-D7uypboC.mjs} +2 -2
- package/dist/chunks/{NcActionButton-K4jUGMlW.mjs.map â NcActionButton-D7uypboC.mjs.map} +1 -1
- package/dist/chunks/{NcActionButtonGroup-B95wg_Q6.mjs â NcActionButtonGroup-C3eUBbt4.mjs} +2 -2
- package/dist/chunks/{NcActionButtonGroup-B95wg_Q6.mjs.map â NcActionButtonGroup-C3eUBbt4.mjs.map} +1 -1
- package/dist/chunks/{NcActionButtonGroup-CFGCmzTM.cjs â NcActionButtonGroup-CsOhQH6p.cjs} +2 -2
- package/dist/chunks/{NcActionButtonGroup-CFGCmzTM.cjs.map â NcActionButtonGroup-CsOhQH6p.cjs.map} +1 -1
- package/dist/chunks/{NcActionCheckbox-BGCUJhg_.cjs â NcActionCheckbox-B3vUOSeb.cjs} +2 -2
- package/dist/chunks/{NcActionCheckbox-BGCUJhg_.cjs.map â NcActionCheckbox-B3vUOSeb.cjs.map} +1 -1
- package/dist/chunks/{NcActionCheckbox-23CmleUh.mjs â NcActionCheckbox-Cbg5yktN.mjs} +2 -2
- package/dist/chunks/{NcActionCheckbox-23CmleUh.mjs.map â NcActionCheckbox-Cbg5yktN.mjs.map} +1 -1
- package/dist/chunks/{NcActionInput-CcA3XFGe.cjs â NcActionInput-C-j7Mehu.cjs} +7 -7
- package/dist/chunks/{NcActionInput-CcA3XFGe.cjs.map â NcActionInput-C-j7Mehu.cjs.map} +1 -1
- package/dist/chunks/{NcActionInput-BoKGVBu8.mjs â NcActionInput-CMLDgnF_.mjs} +7 -7
- package/dist/chunks/{NcActionInput-BoKGVBu8.mjs.map â NcActionInput-CMLDgnF_.mjs.map} +1 -1
- package/dist/chunks/{NcActionRadio-Dd3CsuiD.mjs â NcActionRadio-B2bgbBHw.mjs} +2 -2
- package/dist/chunks/{NcActionRadio-Dd3CsuiD.mjs.map â NcActionRadio-B2bgbBHw.mjs.map} +1 -1
- package/dist/chunks/{NcActionRadio-DbkRiTHX.cjs â NcActionRadio-BJSZBI9N.cjs} +2 -2
- package/dist/chunks/{NcActionRadio-DbkRiTHX.cjs.map â NcActionRadio-BJSZBI9N.cjs.map} +1 -1
- package/dist/chunks/{NcActionTextEditable-YqvZGY07.mjs â NcActionTextEditable-BykT5Byh.mjs} +3 -3
- package/dist/chunks/{NcActionTextEditable-BqJ5wONY.cjs.map â NcActionTextEditable-BykT5Byh.mjs.map} +1 -1
- package/dist/chunks/{NcActionTextEditable-BqJ5wONY.cjs â NcActionTextEditable-D4nvhJff.cjs} +3 -3
- package/dist/chunks/{NcActionTextEditable-YqvZGY07.mjs.map â NcActionTextEditable-D4nvhJff.cjs.map} +1 -1
- package/dist/chunks/{NcActions-DbPerbGE.mjs â NcActions-CX1MSord.mjs} +5 -5
- package/dist/chunks/{NcActions-DbPerbGE.mjs.map â NcActions-CX1MSord.mjs.map} +1 -1
- package/dist/chunks/{NcActions-D51W1X9v.cjs â NcActions-H0GXWVPU.cjs} +5 -5
- package/dist/chunks/{NcActions-D51W1X9v.cjs.map â NcActions-H0GXWVPU.cjs.map} +1 -1
- package/dist/chunks/{NcAppContent-DAN0qPID.mjs â NcAppContent-7ziLICwJ.mjs} +7 -8
- package/dist/chunks/NcAppContent-7ziLICwJ.mjs.map +1 -0
- package/dist/chunks/{NcAppContent-0hbQMH35.cjs â NcAppContent-BCYyp6nc.cjs} +9 -10
- package/dist/chunks/NcAppContent-BCYyp6nc.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigation-DGufDPoi.mjs â NcAppNavigation-BDyBoXA1.mjs} +5 -5
- package/dist/chunks/{NcAppNavigation-DGufDPoi.mjs.map â NcAppNavigation-BDyBoXA1.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigation-DB3HqxPL.cjs â NcAppNavigation-BEor4mmi.cjs} +5 -5
- package/dist/chunks/{NcAppNavigation-DB3HqxPL.cjs.map â NcAppNavigation-BEor4mmi.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationCaption-BZwuqQcm.mjs â NcAppNavigationCaption-DYdHKPv7.mjs} +4 -4
- package/dist/chunks/{NcAppNavigationCaption-WVnxSeIf.cjs.map â NcAppNavigationCaption-DYdHKPv7.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationCaption-WVnxSeIf.cjs â NcAppNavigationCaption-drD-T2kk.cjs} +4 -4
- package/dist/chunks/{NcAppNavigationCaption-BZwuqQcm.mjs.map â NcAppNavigationCaption-drD-T2kk.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationItem-0zDqIuUZ.cjs â NcAppNavigationItem-Ccy8CT50.cjs} +14 -14
- package/dist/chunks/{NcAppNavigationItem-0zDqIuUZ.cjs.map â NcAppNavigationItem-Ccy8CT50.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationItem-CgYgq_nb.mjs â NcAppNavigationItem-Dg-2s6bP.mjs} +14 -14
- package/dist/chunks/{NcAppNavigationItem-CgYgq_nb.mjs.map â NcAppNavigationItem-Dg-2s6bP.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNew-DRdPwKOi.cjs â NcAppNavigationNew-4O3IsPEz.cjs} +2 -2
- package/dist/chunks/{NcAppNavigationNew-DRdPwKOi.cjs.map â NcAppNavigationNew-4O3IsPEz.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNew-BUVnumWS.mjs â NcAppNavigationNew-B8Ny1xKx.mjs} +2 -2
- package/dist/chunks/{NcAppNavigationNew-BUVnumWS.mjs.map â NcAppNavigationNew-B8Ny1xKx.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNewItem-Nz2HecTz.mjs â NcAppNavigationNewItem-BHnL_502.mjs} +3 -3
- package/dist/chunks/{NcAppNavigationNewItem-Nz2HecTz.mjs.map â NcAppNavigationNewItem-BHnL_502.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNewItem-SR744REn.cjs â NcAppNavigationNewItem-CW4Y7Hz9.cjs} +3 -3
- package/dist/chunks/{NcAppNavigationNewItem-SR744REn.cjs.map â NcAppNavigationNewItem-CW4Y7Hz9.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSearch-CzhlljAU.mjs â NcAppNavigationSearch-DIO0S2TU.mjs} +4 -4
- package/dist/chunks/{NcAppNavigationSearch-CzhlljAU.mjs.map â NcAppNavigationSearch-DIO0S2TU.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSearch-Czcwiin4.cjs â NcAppNavigationSearch-DZEqsYpD.cjs} +4 -4
- package/dist/chunks/{NcAppNavigationSearch-Czcwiin4.cjs.map â NcAppNavigationSearch-DZEqsYpD.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSettings-BaO-G72x.mjs â NcAppNavigationSettings-3jZKd9et.mjs} +7 -7
- package/dist/chunks/{NcAppNavigationSettings-BaO-G72x.mjs.map â NcAppNavigationSettings-3jZKd9et.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSettings-CotFe5aD.cjs â NcAppNavigationSettings-DpIprW-E.cjs} +7 -7
- package/dist/chunks/{NcAppNavigationSettings-CotFe5aD.cjs.map â NcAppNavigationSettings-DpIprW-E.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationToggle-CkDMk16T.cjs â NcAppNavigationToggle-DFGuYTE8.cjs} +23 -52
- package/dist/chunks/NcAppNavigationToggle-DFGuYTE8.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationToggle-CXX1MFrf.mjs â NcAppNavigationToggle-DQZ2LWw4.mjs} +23 -52
- package/dist/chunks/NcAppNavigationToggle-DQZ2LWw4.mjs.map +1 -0
- package/dist/chunks/{NcAppSettingsDialog-Fa5DTfig.cjs â NcAppSettingsDialog-BoHdpAtG.cjs} +10 -10
- package/dist/chunks/NcAppSettingsDialog-BoHdpAtG.cjs.map +1 -0
- package/dist/chunks/{NcAppSettingsDialog-MxrFh-Ln.mjs â NcAppSettingsDialog-JB67n8yt.mjs} +10 -10
- package/dist/chunks/NcAppSettingsDialog-JB67n8yt.mjs.map +1 -0
- package/dist/chunks/{NcAppSettingsSection-BjQllLEA.mjs â NcAppSettingsSection-CsGyNFSh.mjs} +3 -3
- package/dist/chunks/{NcAppSettingsSection-BjQllLEA.mjs.map â NcAppSettingsSection-CsGyNFSh.mjs.map} +1 -1
- package/dist/chunks/{NcAppSettingsSection-CDLQ-AjK.cjs â NcAppSettingsSection-De6vkXOF.cjs} +3 -3
- package/dist/chunks/{NcAppSettingsSection-CDLQ-AjK.cjs.map â NcAppSettingsSection-De6vkXOF.cjs.map} +1 -1
- package/dist/chunks/{NcAppSettingsShortcutsSection-DgGU8-cF.cjs â NcAppSettingsShortcutsSection-Bli0fYba.cjs} +7 -7
- package/dist/chunks/NcAppSettingsShortcutsSection-Bli0fYba.cjs.map +1 -0
- package/dist/chunks/{NcAppSettingsShortcutsSection-DblUBaWP.mjs â NcAppSettingsShortcutsSection-BpUlnEbQ.mjs} +7 -7
- package/dist/chunks/NcAppSettingsShortcutsSection-BpUlnEbQ.mjs.map +1 -0
- package/dist/chunks/{NcAppSidebar-B7GuNZ4C.mjs â NcAppSidebar-B2F66PCc.mjs} +16 -48
- package/dist/chunks/NcAppSidebar-B2F66PCc.mjs.map +1 -0
- package/dist/chunks/{NcAppSidebar-DXEl0_ou.cjs â NcAppSidebar-CMHPTlTQ.cjs} +16 -48
- package/dist/chunks/NcAppSidebar-CMHPTlTQ.cjs.map +1 -0
- package/dist/chunks/{NcAssistantButton-B7BLAkwW.mjs â NcAssistantButton-D2gOuok6.mjs} +11 -11
- package/dist/chunks/{NcAssistantButton-B7BLAkwW.mjs.map â NcAssistantButton-D2gOuok6.mjs.map} +1 -1
- package/dist/chunks/{NcAssistantButton-XS3UdAKm.cjs â NcAssistantButton-po8AW9pX.cjs} +11 -11
- package/dist/chunks/{NcAssistantButton-XS3UdAKm.cjs.map â NcAssistantButton-po8AW9pX.cjs.map} +1 -1
- package/dist/chunks/{NcAssistantIcon-DCx6AaSW.mjs â NcAssistantIcon-CTTn1608.mjs} +6 -6
- package/dist/chunks/{NcAssistantIcon-DCx6AaSW.mjs.map â NcAssistantIcon-CTTn1608.mjs.map} +1 -1
- package/dist/chunks/{NcAssistantIcon-CD5mu9O1.cjs â NcAssistantIcon-D_1fcbQU.cjs} +6 -6
- package/dist/chunks/{NcAssistantIcon-CD5mu9O1.cjs.map â NcAssistantIcon-D_1fcbQU.cjs.map} +1 -1
- package/dist/chunks/{NcAvatar-D09ZAgeJ.cjs â NcAvatar-BbR_mZyT.cjs} +126 -21
- package/dist/chunks/NcAvatar-BbR_mZyT.cjs.map +1 -0
- package/dist/chunks/{NcAvatar-DkAX4nqq.mjs â NcAvatar-C1ty7wsG.mjs} +125 -21
- package/dist/chunks/NcAvatar-C1ty7wsG.mjs.map +1 -0
- package/dist/chunks/{NcBlurHash-D0wcwBet.cjs â NcBlurHash-CXPnoVsM.cjs} +4 -4
- package/dist/chunks/{NcBlurHash-D0wcwBet.cjs.map â NcBlurHash-CXPnoVsM.cjs.map} +1 -1
- package/dist/chunks/{NcBlurHash-KSj0HXbX.mjs â NcBlurHash-DKfLn7BC.mjs} +4 -4
- package/dist/chunks/{NcBlurHash-KSj0HXbX.mjs.map â NcBlurHash-DKfLn7BC.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumb-D8xA3KcG.mjs â NcBreadcrumb-BPaEIFrD.mjs} +5 -5
- package/dist/chunks/{NcBreadcrumb-14OmaYrH.cjs.map â NcBreadcrumb-BPaEIFrD.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumb-14OmaYrH.cjs â NcBreadcrumb-ZV3_rxwo.cjs} +5 -5
- package/dist/chunks/{NcBreadcrumb-D8xA3KcG.mjs.map â NcBreadcrumb-ZV3_rxwo.cjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumbs-CesoXxTs.mjs â NcBreadcrumbs-BN_Nk5sm.mjs} +4 -4
- package/dist/chunks/{NcBreadcrumbs-CesoXxTs.mjs.map â NcBreadcrumbs-BN_Nk5sm.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumbs-CZt3UuyO.cjs â NcBreadcrumbs-lgJctYCF.cjs} +4 -4
- package/dist/chunks/{NcBreadcrumbs-CZt3UuyO.cjs.map â NcBreadcrumbs-lgJctYCF.cjs.map} +1 -1
- package/dist/chunks/{NcButton-CCWEL9Ci.mjs â NcButton-DAGirW_B.mjs} +4 -4
- package/dist/chunks/NcButton-DAGirW_B.mjs.map +1 -0
- package/dist/chunks/{NcButton-ByTFUhwJ.cjs â NcButton-W3wDpCdX.cjs} +4 -4
- package/dist/chunks/NcButton-W3wDpCdX.cjs.map +1 -0
- package/dist/chunks/{NcCheckboxRadioSwitch-D4IV4zWy.mjs â NcCheckboxRadioSwitch-BAjRm8PQ.mjs} +18 -9
- package/dist/chunks/NcCheckboxRadioSwitch-BAjRm8PQ.mjs.map +1 -0
- package/dist/chunks/{NcCheckboxRadioSwitch-BQeglWXd.cjs â NcCheckboxRadioSwitch-Bc1iPxKK.cjs} +18 -9
- package/dist/chunks/NcCheckboxRadioSwitch-Bc1iPxKK.cjs.map +1 -0
- package/dist/chunks/{NcCollectionList-DOAZ13vO.mjs â NcCollectionList-75D50pZU.mjs} +9 -9
- package/dist/chunks/NcCollectionList-75D50pZU.mjs.map +1 -0
- package/dist/chunks/{NcCollectionList-2jk5XCm8.cjs â NcCollectionList-CX9fHs--.cjs} +9 -9
- package/dist/chunks/NcCollectionList-CX9fHs--.cjs.map +1 -0
- package/dist/chunks/{NcColorPicker-SlazeVcI.mjs â NcColorPicker-BwqjqV32.mjs} +8 -8
- package/dist/chunks/{NcColorPicker-SlazeVcI.mjs.map â NcColorPicker-BwqjqV32.mjs.map} +1 -1
- package/dist/chunks/{NcColorPicker-BTiAa5mm.cjs â NcColorPicker-oQVwX8dO.cjs} +8 -8
- package/dist/chunks/{NcColorPicker-BTiAa5mm.cjs.map â NcColorPicker-oQVwX8dO.cjs.map} +1 -1
- package/dist/chunks/{NcContent-BB-v-amq.cjs â NcContent-BlABZ4r6.cjs} +7 -7
- package/dist/chunks/{NcContent-BB-v-amq.cjs.map â NcContent-BlABZ4r6.cjs.map} +1 -1
- package/dist/chunks/{NcContent-BuTh0ZPb.mjs â NcContent-nvVwz9xO.mjs} +7 -7
- package/dist/chunks/{NcContent-BuTh0ZPb.mjs.map â NcContent-nvVwz9xO.mjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidget-dMwnFBzc.cjs â NcDashboardWidget-CY9oWI6e.cjs} +5 -5
- package/dist/chunks/{NcDashboardWidget-dMwnFBzc.cjs.map â NcDashboardWidget-CY9oWI6e.cjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidget-CO1z9VUN.mjs â NcDashboardWidget-d_eqooRR.mjs} +5 -5
- package/dist/chunks/{NcDashboardWidget-CO1z9VUN.mjs.map â NcDashboardWidget-d_eqooRR.mjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidgetItem-9tQgaPXS.cjs â NcDashboardWidgetItem-BWELTjeT.cjs} +4 -4
- package/dist/chunks/{NcDashboardWidgetItem-9tQgaPXS.cjs.map â NcDashboardWidgetItem-BWELTjeT.cjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidgetItem-2VgB9qj2.mjs â NcDashboardWidgetItem-BiZ8QNOR.mjs} +4 -4
- package/dist/chunks/{NcDashboardWidgetItem-2VgB9qj2.mjs.map â NcDashboardWidgetItem-BiZ8QNOR.mjs.map} +1 -1
- package/dist/chunks/NcDateTime-DE-ltgw2.cjs.map +1 -1
- package/dist/chunks/NcDateTime-enXYuwj8.mjs.map +1 -1
- package/dist/chunks/{NcDialog-Qak1QTrv.cjs â NcDialog-CiuR4ZK0.cjs} +2 -2
- package/dist/chunks/{NcDialog-Qak1QTrv.cjs.map â NcDialog-CiuR4ZK0.cjs.map} +1 -1
- package/dist/chunks/{NcDialog-DZ7xq7XA.mjs â NcDialog-DoGsI2_6.mjs} +2 -2
- package/dist/chunks/{NcDialog-DZ7xq7XA.mjs.map â NcDialog-DoGsI2_6.mjs.map} +1 -1
- package/dist/chunks/{NcDialogButton-BoetK2zm.cjs â NcDialogButton-BR6KI4--.cjs} +4 -4
- package/dist/chunks/{NcDialogButton-BoetK2zm.cjs.map â NcDialogButton-BR6KI4--.cjs.map} +1 -1
- package/dist/chunks/{NcDialogButton-KNF3Co74.mjs â NcDialogButton-D5yuDtSF.mjs} +4 -4
- package/dist/chunks/{NcDialogButton-KNF3Co74.mjs.map â NcDialogButton-D5yuDtSF.mjs.map} +1 -1
- package/dist/chunks/{NcEmojiPicker-DNxcceCn.mjs â NcEmojiPicker-C_88_f6x.mjs} +8 -8
- package/dist/chunks/{NcEmojiPicker-DNxcceCn.mjs.map â NcEmojiPicker-C_88_f6x.mjs.map} +1 -1
- package/dist/chunks/{NcEmojiPicker-2KIJVstd.cjs â NcEmojiPicker-Dyqwkm_d.cjs} +8 -8
- package/dist/chunks/{NcEmojiPicker-2KIJVstd.cjs.map â NcEmojiPicker-Dyqwkm_d.cjs.map} +1 -1
- package/dist/chunks/{NcFilePicker-BL6iajt2.cjs â NcFilePicker-Cdc1TsXy.cjs} +7 -7
- package/dist/chunks/{NcFilePicker-BL6iajt2.cjs.map â NcFilePicker-Cdc1TsXy.cjs.map} +1 -1
- package/dist/chunks/{NcFilePicker-Ck9o-ia3.mjs â NcFilePicker-Dg6UqMN1.mjs} +7 -7
- package/dist/chunks/{NcFilePicker-Ck9o-ia3.mjs.map â NcFilePicker-Dg6UqMN1.mjs.map} +1 -1
- package/dist/chunks/{NcFormBox-DtoCXLMx.mjs â NcFormBox-C38-8CH6.mjs} +7 -7
- package/dist/chunks/{NcFormBox-DtoCXLMx.mjs.map â NcFormBox-C38-8CH6.mjs.map} +1 -1
- package/dist/chunks/{NcFormBox-DRGVpFeZ.cjs â NcFormBox-C8LDr6nF.cjs} +7 -7
- package/dist/chunks/{NcFormBox-DRGVpFeZ.cjs.map â NcFormBox-C8LDr6nF.cjs.map} +1 -1
- package/dist/chunks/{NcFormBoxButton-ozVuTgCZ.cjs â NcFormBoxButton-Bk-1cqbj.cjs} +5 -5
- package/dist/chunks/{NcFormBoxButton-ozVuTgCZ.cjs.map â NcFormBoxButton-Bk-1cqbj.cjs.map} +1 -1
- package/dist/chunks/{NcFormBoxButton-CFWCJ0-X.mjs â NcFormBoxButton-DFqqtbav.mjs} +5 -5
- package/dist/chunks/{NcFormBoxButton-CFWCJ0-X.mjs.map â NcFormBoxButton-DFqqtbav.mjs.map} +1 -1
- package/dist/chunks/{NcFormBoxCopyButton-BS9aM994.cjs â NcFormBoxCopyButton-LEjPAg3D.cjs} +3 -3
- package/dist/chunks/{NcFormBoxCopyButton-BS9aM994.cjs.map â NcFormBoxCopyButton-LEjPAg3D.cjs.map} +1 -1
- package/dist/chunks/{NcFormBoxCopyButton-Da8RuDH1.mjs â NcFormBoxCopyButton-_KxKabAB.mjs} +3 -3
- package/dist/chunks/{NcFormBoxCopyButton-Da8RuDH1.mjs.map â NcFormBoxCopyButton-_KxKabAB.mjs.map} +1 -1
- package/dist/chunks/{NcFormBoxItem-3lI7Bu3S.cjs â NcFormBoxItem-BAJxkxRf.cjs} +12 -12
- package/dist/chunks/{NcFormBoxItem-3lI7Bu3S.cjs.map â NcFormBoxItem-BAJxkxRf.cjs.map} +1 -1
- package/dist/chunks/{NcFormBoxItem-Bz-P0lVG.mjs â NcFormBoxItem-CmfqBL1k.mjs} +12 -12
- package/dist/chunks/{NcFormBoxItem-Bz-P0lVG.mjs.map â NcFormBoxItem-CmfqBL1k.mjs.map} +1 -1
- package/dist/chunks/{NcFormBoxSwitch-DaaMuPnk.mjs â NcFormBoxSwitch-B34n4EwU.mjs} +6 -6
- package/dist/chunks/NcFormBoxSwitch-B34n4EwU.mjs.map +1 -0
- package/dist/chunks/{NcFormBoxSwitch-7R8iAj1R.cjs â NcFormBoxSwitch-Bw2utaCz.cjs} +6 -6
- package/dist/chunks/NcFormBoxSwitch-Bw2utaCz.cjs.map +1 -0
- package/dist/chunks/{NcFormGroup-AxkxubKD.cjs â NcFormGroup-dH5AXvsT.cjs} +9 -9
- package/dist/chunks/{NcFormGroup-AxkxubKD.cjs.map â NcFormGroup-dH5AXvsT.cjs.map} +1 -1
- package/dist/chunks/{NcFormGroup-DblLoFMf.mjs â NcFormGroup-geUvdoIG.mjs} +9 -9
- package/dist/chunks/{NcFormGroup-DblLoFMf.mjs.map â NcFormGroup-geUvdoIG.mjs.map} +1 -1
- package/dist/chunks/{NcHeaderButton-GtIbBhEd.mjs â NcHeaderButton-BqjMDSal.mjs} +2 -2
- package/dist/chunks/{NcHeaderButton-GtIbBhEd.mjs.map â NcHeaderButton-BqjMDSal.mjs.map} +1 -1
- package/dist/chunks/{NcHeaderButton-BndVfb3e.cjs â NcHeaderButton-ChwiTpxY.cjs} +2 -2
- package/dist/chunks/{NcHeaderButton-BndVfb3e.cjs.map â NcHeaderButton-ChwiTpxY.cjs.map} +1 -1
- package/dist/chunks/{NcHeaderMenu-elBE_Ukl.mjs â NcHeaderMenu-BB2r8v-X.mjs} +2 -2
- package/dist/chunks/{NcHeaderMenu-elBE_Ukl.mjs.map â NcHeaderMenu-BB2r8v-X.mjs.map} +1 -1
- package/dist/chunks/{NcHeaderMenu-DUQ4pqU-.cjs â NcHeaderMenu-BivYykFA.cjs} +2 -2
- package/dist/chunks/{NcHeaderMenu-DUQ4pqU-.cjs.map â NcHeaderMenu-BivYykFA.cjs.map} +1 -1
- package/dist/chunks/{NcHotkey-CLLtt9LG.mjs â NcHotkey-B6KIqqii.mjs} +7 -7
- package/dist/chunks/{NcHotkey-CLLtt9LG.mjs.map â NcHotkey-B6KIqqii.mjs.map} +1 -1
- package/dist/chunks/{NcHotkey-vKyDZ2a7.cjs â NcHotkey-BVSKiKpz.cjs} +7 -7
- package/dist/chunks/{NcHotkey-vKyDZ2a7.cjs.map â NcHotkey-BVSKiKpz.cjs.map} +1 -1
- package/dist/chunks/{NcHotkeyList-Co7MBL5U.mjs â NcHotkeyList-BACQoMeA.mjs} +6 -6
- package/dist/chunks/NcHotkeyList-BACQoMeA.mjs.map +1 -0
- package/dist/chunks/{NcHotkeyList-DhFQdopw.cjs â NcHotkeyList-Crj5V-KW.cjs} +6 -6
- package/dist/chunks/NcHotkeyList-Crj5V-KW.cjs.map +1 -0
- package/dist/chunks/{NcIconToggleSwitch-0NTw7i-t.mjs â NcIconToggleSwitch-B19dt_oD.mjs} +4 -4
- package/dist/chunks/{NcIconToggleSwitch-0NTw7i-t.mjs.map â NcIconToggleSwitch-B19dt_oD.mjs.map} +1 -1
- package/dist/chunks/{NcIconToggleSwitch-LTgdIBoC.cjs â NcIconToggleSwitch-DZSBCDbH.cjs} +4 -4
- package/dist/chunks/{NcIconToggleSwitch-LTgdIBoC.cjs.map â NcIconToggleSwitch-DZSBCDbH.cjs.map} +1 -1
- package/dist/chunks/{NcInputConfirmCancel-CwuZqsuC.mjs â NcInputConfirmCancel-44rhjqEA.mjs} +10 -10
- package/dist/chunks/{NcInputConfirmCancel-CwuZqsuC.mjs.map â NcInputConfirmCancel-44rhjqEA.mjs.map} +1 -1
- package/dist/chunks/{NcInputConfirmCancel-CEZVhgJR.cjs â NcInputConfirmCancel-CaCFiQnc.cjs} +10 -10
- package/dist/chunks/{NcInputConfirmCancel-CEZVhgJR.cjs.map â NcInputConfirmCancel-CaCFiQnc.cjs.map} +1 -1
- package/dist/chunks/{NcInputField-Brpn446B.cjs â NcInputField-BcmWwfT5.cjs} +5 -5
- package/dist/chunks/{NcInputField-Brpn446B.cjs.map â NcInputField-BcmWwfT5.cjs.map} +1 -1
- package/dist/chunks/{NcInputField-i4Z8nb4b.mjs â NcInputField-Cym5GuvB.mjs} +5 -5
- package/dist/chunks/{NcInputField-i4Z8nb4b.mjs.map â NcInputField-Cym5GuvB.mjs.map} +1 -1
- package/dist/chunks/{NcKbd-DbjnDaJH.cjs â NcKbd-CrXHar_q.cjs} +6 -6
- package/dist/chunks/{NcKbd-DbjnDaJH.cjs.map â NcKbd-CrXHar_q.cjs.map} +1 -1
- package/dist/chunks/{NcKbd-GB8FuSAU.mjs â NcKbd-D86qGvDb.mjs} +6 -6
- package/dist/chunks/{NcKbd-GB8FuSAU.mjs.map â NcKbd-D86qGvDb.mjs.map} +1 -1
- package/dist/chunks/{NcListItem-C-e9iA9w.cjs â NcListItem-5_QrKITf.cjs} +4 -4
- package/dist/chunks/{NcListItem-CaosvdEe.mjs.map â NcListItem-5_QrKITf.cjs.map} +1 -1
- package/dist/chunks/{NcListItem-CaosvdEe.mjs â NcListItem-DFrhF-DU.mjs} +4 -4
- package/dist/chunks/{NcListItem-C-e9iA9w.cjs.map â NcListItem-DFrhF-DU.mjs.map} +1 -1
- package/dist/chunks/{NcListItemIcon-BQ0f65Vg.cjs â NcListItemIcon-BpEOUL7y.cjs} +2 -2
- package/dist/chunks/{NcListItemIcon-BQ0f65Vg.cjs.map â NcListItemIcon-BpEOUL7y.cjs.map} +1 -1
- package/dist/chunks/{NcListItemIcon-DCKYv8Jr.mjs â NcListItemIcon-DIecVacf.mjs} +2 -2
- package/dist/chunks/{NcListItemIcon-DCKYv8Jr.mjs.map â NcListItemIcon-DIecVacf.mjs.map} +1 -1
- package/dist/chunks/{NcPasswordField-D4OFjLza.mjs â NcPasswordField-2woxTjbl.mjs} +4 -4
- package/dist/chunks/{NcPasswordField-D4OFjLza.mjs.map â NcPasswordField-2woxTjbl.mjs.map} +1 -1
- package/dist/chunks/{NcPasswordField-PQt7wMbW.cjs â NcPasswordField-C1FGaXn4.cjs} +4 -4
- package/dist/chunks/{NcPasswordField-PQt7wMbW.cjs.map â NcPasswordField-C1FGaXn4.cjs.map} +1 -1
- package/dist/chunks/{NcPopover-UAg26Qdd.mjs â NcPopover-BaHX3QSG.mjs} +4 -4
- package/dist/chunks/{NcPopover-UAg26Qdd.mjs.map â NcPopover-BaHX3QSG.mjs.map} +1 -1
- package/dist/chunks/{NcPopover-Ujf9nIvN.cjs â NcPopover-Bq-bsaqt.cjs} +4 -4
- package/dist/chunks/{NcPopover-Ujf9nIvN.cjs.map â NcPopover-Bq-bsaqt.cjs.map} +1 -1
- package/dist/chunks/NcProfileHoverCard-DK5YkGF0.mjs +479 -0
- package/dist/chunks/NcProfileHoverCard-DK5YkGF0.mjs.map +1 -0
- package/dist/chunks/NcProfileHoverCard-rEanhQqc.cjs +481 -0
- package/dist/chunks/NcProfileHoverCard-rEanhQqc.cjs.map +1 -0
- package/dist/chunks/{NcRadioGroup-CsPmwGlc.cjs â NcRadioGroup-C2lG1kIj.cjs} +6 -6
- package/dist/chunks/{NcRadioGroup-CsPmwGlc.cjs.map â NcRadioGroup-C2lG1kIj.cjs.map} +1 -1
- package/dist/chunks/{NcRadioGroup-BbBX9X2J.mjs â NcRadioGroup-D_7OAyQ4.mjs} +6 -6
- package/dist/chunks/{NcRadioGroup-BbBX9X2J.mjs.map â NcRadioGroup-D_7OAyQ4.mjs.map} +1 -1
- package/dist/chunks/{NcRadioGroupButton-BkxlxjIA.mjs â NcRadioGroupButton-CkpB4myv.mjs} +8 -8
- package/dist/chunks/{NcRadioGroupButton-BkxlxjIA.mjs.map â NcRadioGroupButton-CkpB4myv.mjs.map} +1 -1
- package/dist/chunks/{NcRadioGroupButton-6skMHhr7.cjs â NcRadioGroupButton-DcU_Yagn.cjs} +8 -8
- package/dist/chunks/{NcRadioGroupButton-6skMHhr7.cjs.map â NcRadioGroupButton-DcU_Yagn.cjs.map} +1 -1
- package/dist/chunks/NcReferenceWidget-Br8ecSQw.cjs +280 -0
- package/dist/chunks/NcReferenceWidget-Br8ecSQw.cjs.map +1 -0
- package/dist/chunks/NcReferenceWidget-CMq5QVka.mjs +281 -0
- package/dist/chunks/NcReferenceWidget-CMq5QVka.mjs.map +1 -0
- package/dist/chunks/{NcRelatedResourcesPanel-I2ZOB3cx.mjs â NcRelatedResourcesPanel-BKygMHvP.mjs} +11 -11
- package/dist/chunks/NcRelatedResourcesPanel-BKygMHvP.mjs.map +1 -0
- package/dist/chunks/{NcRelatedResourcesPanel-l1AlGr83.cjs â NcRelatedResourcesPanel-CjmzJ9Ex.cjs} +11 -11
- package/dist/chunks/NcRelatedResourcesPanel-CjmzJ9Ex.cjs.map +1 -0
- package/dist/chunks/{NcRichContenteditable-DZjIiOKo.cjs â NcRichContenteditable-CaDBJIrd.cjs} +28 -32
- package/dist/chunks/NcRichContenteditable-CaDBJIrd.cjs.map +1 -0
- package/dist/chunks/{NcRichContenteditable-8ZA_LArB.mjs â NcRichContenteditable-rJPX28V6.mjs} +28 -32
- package/dist/chunks/NcRichContenteditable-rJPX28V6.mjs.map +1 -0
- package/dist/chunks/{NcRichText-pqvg5l27.cjs â NcRichText-BC9lKFPb.cjs} +10 -10
- package/dist/chunks/{NcRichText-pqvg5l27.cjs.map â NcRichText-BC9lKFPb.cjs.map} +1 -1
- package/dist/chunks/{NcRichText-ByLPwUvM.mjs â NcRichText-K2ZjNIbK.mjs} +9 -9
- package/dist/chunks/{NcRichText-ByLPwUvM.mjs.map â NcRichText-K2ZjNIbK.mjs.map} +1 -1
- package/dist/chunks/{NcSelect-CHc1QupB.mjs â NcSelect-CxHfXvZV.mjs} +5 -5
- package/dist/chunks/{NcSelect-CHc1QupB.mjs.map â NcSelect-CxHfXvZV.mjs.map} +1 -1
- package/dist/chunks/{NcSelect-BCcSawYf.cjs â NcSelect-DW5W3ZIM.cjs} +5 -5
- package/dist/chunks/{NcSelect-BCcSawYf.cjs.map â NcSelect-DW5W3ZIM.cjs.map} +1 -1
- package/dist/chunks/{NcSelectTags-Bokig7ar.mjs â NcSelectTags-BWTTPN2O.mjs} +3 -3
- package/dist/chunks/{NcSelectTags-Bokig7ar.mjs.map â NcSelectTags-BWTTPN2O.mjs.map} +1 -1
- package/dist/chunks/{NcSelectTags-uU_mHbSm.cjs â NcSelectTags-Bk4doVG3.cjs} +3 -3
- package/dist/chunks/{NcSelectTags-uU_mHbSm.cjs.map â NcSelectTags-Bk4doVG3.cjs.map} +1 -1
- package/dist/chunks/{NcSelectUsers-BB9ZIHeB.cjs â NcSelectUsers-BxmxyFcE.cjs} +5 -5
- package/dist/chunks/{NcSelectUsers-BB9ZIHeB.cjs.map â NcSelectUsers-BxmxyFcE.cjs.map} +1 -1
- package/dist/chunks/{NcSelectUsers-B4w9UC_d.mjs â NcSelectUsers-D2jOjPs4.mjs} +5 -5
- package/dist/chunks/{NcSelectUsers-B4w9UC_d.mjs.map â NcSelectUsers-D2jOjPs4.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsInputText-BF5437Q7.cjs â NcSettingsInputText-BAMF6udc.cjs} +3 -3
- package/dist/chunks/{NcSettingsInputText-BF5437Q7.cjs.map â NcSettingsInputText-BAMF6udc.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsInputText-BwnkZzWL.mjs â NcSettingsInputText-Cc7cCwNm.mjs} +3 -3
- package/dist/chunks/{NcSettingsInputText-BwnkZzWL.mjs.map â NcSettingsInputText-Cc7cCwNm.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSection-BrIKMh-B.cjs â NcSettingsSection-D48jcXDL.cjs} +5 -5
- package/dist/chunks/{NcSettingsSection-BrIKMh-B.cjs.map â NcSettingsSection-D48jcXDL.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsSection-Dz_b9rcq.mjs â NcSettingsSection-D9qxzYDc.mjs} +5 -5
- package/dist/chunks/{NcSettingsSection-Dz_b9rcq.mjs.map â NcSettingsSection-D9qxzYDc.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-BtNFBX1V.cjs â NcSettingsSelectGroup-CJGf5mxJ.cjs} +4 -4
- package/dist/chunks/{NcSettingsSelectGroup-BtNFBX1V.cjs.map â NcSettingsSelectGroup-CJGf5mxJ.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-BdXf7ytX.mjs â NcSettingsSelectGroup-DzzNyHN_.mjs} +4 -4
- package/dist/chunks/{NcSettingsSelectGroup-BdXf7ytX.mjs.map â NcSettingsSelectGroup-DzzNyHN_.mjs.map} +1 -1
- package/dist/chunks/{NcTextArea-B9Vn3rQC.cjs â NcTextArea-GxhBi7Z3.cjs} +4 -4
- package/dist/chunks/{NcTextArea-B9Vn3rQC.cjs.map â NcTextArea-GxhBi7Z3.cjs.map} +1 -1
- package/dist/chunks/{NcTextArea-DPJWqlJb.mjs â NcTextArea-T9totbme.mjs} +4 -4
- package/dist/chunks/{NcTextArea-DPJWqlJb.mjs.map â NcTextArea-T9totbme.mjs.map} +1 -1
- package/dist/chunks/{NcTextField-Czr9S6YO.mjs â NcTextField-CQp8XS4C.mjs} +4 -4
- package/dist/chunks/{NcTextField-Czr9S6YO.mjs.map â NcTextField-CQp8XS4C.mjs.map} +1 -1
- package/dist/chunks/{NcTextField-B92lM77I.cjs â NcTextField-DMxdmT5a.cjs} +4 -4
- package/dist/chunks/{NcTextField-B92lM77I.cjs.map â NcTextField-DMxdmT5a.cjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-D2e7hW-Z.cjs â NcTimezonePicker-B0rvWaty.cjs} +4 -4
- package/dist/chunks/{NcTimezonePicker-D2e7hW-Z.cjs.map â NcTimezonePicker-B0rvWaty.cjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-n9kr9A4o.mjs â NcTimezonePicker-BfSjyBxq.mjs} +4 -4
- package/dist/chunks/{NcTimezonePicker-n9kr9A4o.mjs.map â NcTimezonePicker-BfSjyBxq.mjs.map} +1 -1
- package/dist/chunks/{NcUserBubble-CNQJUk2l.cjs â NcUserBubble-BR5bw7lO.cjs} +3 -3
- package/dist/chunks/{NcUserBubble-CNQJUk2l.cjs.map â NcUserBubble-BR5bw7lO.cjs.map} +1 -1
- package/dist/chunks/{NcUserBubble-BGfZAi4c.mjs â NcUserBubble-Bd-PEfyK.mjs} +3 -3
- package/dist/chunks/{NcUserBubble-BGfZAi4c.mjs.map â NcUserBubble-Bd-PEfyK.mjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-BnGtoiCy.cjs â NcUserStatusIcon-BP2cHGxs.cjs} +5 -5
- package/dist/chunks/{NcUserStatusIcon-BnGtoiCy.cjs.map â NcUserStatusIcon-BP2cHGxs.cjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-DdPPN-cP.mjs â NcUserStatusIcon-gpl3yJFX.mjs} +5 -5
- package/dist/chunks/{NcUserStatusIcon-DdPPN-cP.mjs.map â NcUserStatusIcon-gpl3yJFX.mjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-77Az-4PS.mjs â ScopeComponent-Df3JYkxQ.mjs} +2 -2
- package/dist/chunks/{ScopeComponent-77Az-4PS.mjs.map â ScopeComponent-Df3JYkxQ.mjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-BLaRYUFv.cjs â ScopeComponent-O4dfHJkP.cjs} +2 -2
- package/dist/chunks/{ScopeComponent-BLaRYUFv.cjs.map â ScopeComponent-O4dfHJkP.cjs.map} +1 -1
- package/dist/chunks/{_l10n-skrZri3h.cjs â _l10n-Be-gO5QO.cjs} +56 -54
- package/dist/chunks/{_l10n-skrZri3h.cjs.map â _l10n-Be-gO5QO.cjs.map} +1 -1
- package/dist/chunks/{_l10n-DVz9Qdzk.mjs â _l10n-CAnZaLWU.mjs} +110 -108
- package/dist/chunks/_l10n-CAnZaLWU.mjs.map +1 -0
- package/dist/chunks/{autolink-VQMuzjxl.cjs â autolink-BHlqTULT.cjs} +5 -5
- package/dist/chunks/{autolink-VQMuzjxl.cjs.map â autolink-BHlqTULT.cjs.map} +1 -1
- package/dist/chunks/{autolink-CeB9uxD9.mjs â autolink-COrOqbJu.mjs} +5 -5
- package/dist/chunks/{autolink-CeB9uxD9.mjs.map â autolink-COrOqbJu.mjs.map} +1 -1
- package/dist/chunks/{colors-Bp0JzIQ4.mjs â colors-B_oqiKWY.mjs} +3 -3
- package/dist/chunks/{colors-Bp0JzIQ4.mjs.map â colors-B_oqiKWY.mjs.map} +1 -1
- package/dist/chunks/{colors-CyIwf6gH.cjs â colors-DF9O093h.cjs} +3 -3
- package/dist/chunks/{colors-CyIwf6gH.cjs.map â colors-DF9O093h.cjs.map} +1 -1
- package/dist/chunks/customPickerElements-CYpmyl0b.mjs +61 -0
- package/dist/chunks/customPickerElements-CYpmyl0b.mjs.map +1 -0
- package/dist/chunks/{customPickerElements-GyIIOHiQ.cjs â customPickerElements-DNevxofg.cjs} +1 -58
- package/dist/chunks/customPickerElements-DNevxofg.cjs.map +1 -0
- package/dist/chunks/{legacy-Bk0qQxIg.cjs â legacy-BpZw2Eww.cjs} +4 -2
- package/dist/chunks/legacy-BpZw2Eww.cjs.map +1 -0
- package/dist/chunks/legacy-Cy3dCXuB.mjs +11 -0
- package/dist/chunks/legacy-Cy3dCXuB.mjs.map +1 -0
- package/dist/chunks/{referencePickerModal-BGYbZYrX.cjs â referencePickerModal-D2nYmN67.cjs} +23 -198
- package/dist/chunks/referencePickerModal-D2nYmN67.cjs.map +1 -0
- package/dist/chunks/{referencePickerModal-B69WouiU.mjs â referencePickerModal-P_15xB7f.mjs} +24 -199
- package/dist/chunks/referencePickerModal-P_15xB7f.mjs.map +1 -0
- package/dist/chunks/rtl-DLuwcTlm.cjs +5 -0
- package/dist/chunks/rtl-DLuwcTlm.cjs.map +1 -0
- package/dist/chunks/rtl-v0UOPAM7.mjs +6 -0
- package/dist/chunks/rtl-v0UOPAM7.mjs.map +1 -0
- package/dist/chunks/{useCopy-DDDe5RYH.mjs â useCopy-C-jNoLry.mjs} +3 -3
- package/dist/chunks/{useCopy-DDDe5RYH.mjs.map â useCopy-C-jNoLry.mjs.map} +1 -1
- package/dist/chunks/{useCopy-3m2jDiIN.cjs â useCopy-DXXjl8MD.cjs} +3 -3
- package/dist/chunks/{useCopy-3m2jDiIN.cjs.map â useCopy-DXXjl8MD.cjs.map} +1 -1
- package/dist/chunks/widgets-DoYhefYe.cjs +65 -0
- package/dist/chunks/widgets-DoYhefYe.cjs.map +1 -0
- package/dist/chunks/widgets-XxirL-2f.mjs +66 -0
- package/dist/chunks/widgets-XxirL-2f.mjs.map +1 -0
- package/dist/components/NcProfileHoverCard/index.d.ts +5 -0
- package/dist/components/NcProfileHoverCard/profileCache.d.ts +31 -0
- package/dist/functions/reference/index.d.ts +6 -3
- package/dist/functions/reference/widgets.d.ts +11 -1
- package/dist/index.cjs +83 -84
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +85 -86
- package/dist/index.mjs.map +1 -1
- package/dist/utils/legacy.d.ts +2 -0
- package/package.json +18 -18
- package/dist/chunks/NcAppContent-0hbQMH35.cjs.map +0 -1
- package/dist/chunks/NcAppContent-DAN0qPID.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-CXX1MFrf.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-CkDMk16T.cjs.map +0 -1
- package/dist/chunks/NcAppSettingsDialog-Fa5DTfig.cjs.map +0 -1
- package/dist/chunks/NcAppSettingsDialog-MxrFh-Ln.mjs.map +0 -1
- package/dist/chunks/NcAppSettingsShortcutsSection-DblUBaWP.mjs.map +0 -1
- package/dist/chunks/NcAppSettingsShortcutsSection-DgGU8-cF.cjs.map +0 -1
- package/dist/chunks/NcAppSidebar-B7GuNZ4C.mjs.map +0 -1
- package/dist/chunks/NcAppSidebar-DXEl0_ou.cjs.map +0 -1
- package/dist/chunks/NcAvatar-D09ZAgeJ.cjs.map +0 -1
- package/dist/chunks/NcAvatar-DkAX4nqq.mjs.map +0 -1
- package/dist/chunks/NcButton-ByTFUhwJ.cjs.map +0 -1
- package/dist/chunks/NcButton-CCWEL9Ci.mjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch-BQeglWXd.cjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch-D4IV4zWy.mjs.map +0 -1
- package/dist/chunks/NcCollectionList-2jk5XCm8.cjs.map +0 -1
- package/dist/chunks/NcCollectionList-DOAZ13vO.mjs.map +0 -1
- package/dist/chunks/NcFormBoxSwitch-7R8iAj1R.cjs.map +0 -1
- package/dist/chunks/NcFormBoxSwitch-DaaMuPnk.mjs.map +0 -1
- package/dist/chunks/NcHotkeyList-Co7MBL5U.mjs.map +0 -1
- package/dist/chunks/NcHotkeyList-DhFQdopw.cjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-I2ZOB3cx.mjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-l1AlGr83.cjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-8ZA_LArB.mjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-DZjIiOKo.cjs.map +0 -1
- package/dist/chunks/_l10n-DVz9Qdzk.mjs.map +0 -1
- package/dist/chunks/customPickerElements-DLFtgReB.mjs +0 -118
- package/dist/chunks/customPickerElements-DLFtgReB.mjs.map +0 -1
- package/dist/chunks/customPickerElements-GyIIOHiQ.cjs.map +0 -1
- package/dist/chunks/legacy-Bk0qQxIg.cjs.map +0 -1
- package/dist/chunks/legacy-DV3mGZdh.mjs +0 -9
- package/dist/chunks/legacy-DV3mGZdh.mjs.map +0 -1
- package/dist/chunks/referencePickerModal-B69WouiU.mjs.map +0 -1
- package/dist/chunks/referencePickerModal-BGYbZYrX.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcAssistantIcon-
|
|
1
|
+
{"version":3,"file":"NcAssistantIcon-CTTn1608.mjs","sources":["../../src/components/NcAssistantIcon/NcAssistantIcon.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n```vue\n<template>\n\t<NcThemeProvider class=\"wrapper\" :dark=\"userTheme === 'dark'\">\n\t\t\t<fieldset class=\"controls\">\n\t\t\t\t<legend>\n\t\t\t\t\tColor theme\n\t\t\t\t</legend>\n\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\tv-model=\"providerTheme\"\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\tvalue=\"dark\">\n\t\t\t\t\tDark\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\tv-model=\"providerTheme\"\n\t\t\t\t\tvalue=\"light\"\n\t\t\t\t\ttype=\"radio\">\n\t\t\t\t\tLight\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t</div>\n\t\t</fieldset>\n\t\t<NcThemeProvider\n\t\t\t:dark=\"providerTheme === 'dark'\"\n\t\t\t:light=\"providerTheme === 'light'\">\n\t\t\t<div class=\"theme-preview\">\n\t\t\t\t<NcAssistantIcon />\n\t\t\t</div>\n\t\t</NcThemeProvider>\n\t</NcThemeProvider>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tproviderTheme: 'light',\n\t\t}\n\t}\n}\n</script>\n<style scoped>\n.wrapper {\n\tbackground-color: var(--color-main-background);\n\tcolor: var(--color-main-text);\n}\n\n.controls {\n\tdisplay: flex;\n\tjustify-content: center;\n\tgap: 2lh;\n}\n\nlegend {\n\twidth: 100%;\n\ttext-align: center;\n}\n\n.theme-preview {\n\tbackground-color: var(--color-main-background);\n\tcolor: var(--color-main-text);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-top: 0.5lh;\n\tmin-height: 2lh;\n}\n</style>\n```\n\n### Usage as inline icon\n```vue\n<template>\n\t<p>\n\t\tLorem ipsum dolor sit amet <NcAssistantIcon inline /> consetetur sadipscing elitr.\n\t</p>\n</template>\n```\n</docs>\n\n<script setup>\nimport { mdiCreation } from '@mdi/js'\nimport { computed } from 'vue'\nimport { useIsDarkTheme } from '../../composables/useIsDarkTheme/index.ts'\nimport { createElementId } from '../../utils/createElementId.ts'\n\nconst props = defineProps({\n\t/**\n\t * Set if the icon should be used as inline content e.g. within text.\n\t * By default the icon is made a block element for use inside `icon`-slots.\n\t */\n\tinline: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Size of the icon.\n\t * Defaults to the proper size to be used in buttons and other interactive elements\n\t * like all `Nc*` components with an icon slot.\n\t */\n\tsize: {\n\t\ttype: Number,\n\t\tdefault: 20,\n\t},\n})\n\nconst isDarkTheme = useIsDarkTheme()\nconst gradientId = createElementId()\nconst sizePx = computed(() => `${props.size}px`)\n</script>\n\n<template>\n\t<span\n\t\taria-hidden=\"true\"\n\t\t:class=\"[$style.assistantIcon, inline && $style.assistantIcon_inline]\"\n\t\trole=\"img\">\n\t\t<svg :class=\"$style.assistantIcon__svg\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t<defs>\n\t\t\t\t<linearGradient v-if=\"isDarkTheme\" :id=\"gradientId\" gradientTransform=\"rotateX(285)\">\n\t\t\t\t\t<stop offset=\"15%\" stop-color=\"#CDACE7\" />\n\t\t\t\t\t<stop offset=\"40%\" stop-color=\"#008FDB\" />\n\t\t\t\t\t<stop offset=\"82%\" stop-color=\"#A180E0\" />\n\t\t\t\t</linearGradient>\n\t\t\t\t<linearGradient v-else :id=\"gradientId\" gradientTransform=\"rotateX(285)\">\n\t\t\t\t\t<stop offset=\"15%\" stop-color=\"#9669D3\" />\n\t\t\t\t\t<stop offset=\"40%\" stop-color=\"#00679E\" />\n\t\t\t\t\t<stop offset=\"80%\" stop-color=\"#492083\" />\n\t\t\t\t</linearGradient>\n\t\t\t</defs>\n\t\t\t<path :d=\"mdiCreation\" :fill=\"`url('#${gradientId}')`\" />\n\t\t</svg>\n\t</span>\n</template>\n\n<style module lang=\"scss\">\n.assistantIcon {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t&:not(&_inline) {\n\t\tdisplay: flex;\n\t\tmin-height: var(--default-clickable-area);\n\t\tmin-width: var(--default-clickable-area);\n\t}\n\n\t&__svg {\n\t\tdisplay: inline-block;\n\t\twidth: v-bind('sizePx');\n\t\theight: v-bind('sizePx');\n\t\tmax-width: v-bind('sizePx');\n\t\tmax-height: v-bind('sizePx');\n\t}\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+GA,UAAM,cAAc,eAAc;AAClC,UAAM,aAAa,gBAAe;AAClC,UAAM,SAAS,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
require('../assets/NcAssistantIcon-
|
|
1
|
+
require('../assets/NcAssistantIcon-BV1uZpAb.css');
|
|
2
2
|
"use strict";
|
|
3
3
|
const Vue = require("vue");
|
|
4
4
|
const mdi = require("./mdi-DTiP6a6e.cjs");
|
|
5
5
|
const Composables_useIsDarkTheme = require("../Composables/useIsDarkTheme.cjs");
|
|
6
6
|
const createElementId = require("./createElementId-lalylSCf.cjs");
|
|
7
7
|
const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
8
|
-
const assistantIcon = "
|
|
9
|
-
const assistantIcon_inline = "
|
|
10
|
-
const assistantIcon__svg = "
|
|
8
|
+
const assistantIcon = "_assistantIcon_3MK6c";
|
|
9
|
+
const assistantIcon_inline = "_assistantIcon_inline_pc5i3";
|
|
10
|
+
const assistantIcon__svg = "_assistantIcon__svg_rnCkc";
|
|
11
11
|
const style0 = {
|
|
12
|
-
"material-design-icon": "_material-design-
|
|
12
|
+
"material-design-icon": "_material-design-icon_TSBWs",
|
|
13
13
|
assistantIcon,
|
|
14
14
|
assistantIcon_inline,
|
|
15
15
|
assistantIcon__svg
|
|
@@ -69,4 +69,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
|
69
69
|
);
|
|
70
70
|
const NcAssistantIcon = __component__.exports;
|
|
71
71
|
exports.NcAssistantIcon = NcAssistantIcon;
|
|
72
|
-
//# sourceMappingURL=NcAssistantIcon-
|
|
72
|
+
//# sourceMappingURL=NcAssistantIcon-D_1fcbQU.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcAssistantIcon-
|
|
1
|
+
{"version":3,"file":"NcAssistantIcon-D_1fcbQU.cjs","sources":["../../src/components/NcAssistantIcon/NcAssistantIcon.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n```vue\n<template>\n\t<NcThemeProvider class=\"wrapper\" :dark=\"userTheme === 'dark'\">\n\t\t\t<fieldset class=\"controls\">\n\t\t\t\t<legend>\n\t\t\t\t\tColor theme\n\t\t\t\t</legend>\n\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\tv-model=\"providerTheme\"\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\tvalue=\"dark\">\n\t\t\t\t\tDark\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\tv-model=\"providerTheme\"\n\t\t\t\t\tvalue=\"light\"\n\t\t\t\t\ttype=\"radio\">\n\t\t\t\t\tLight\n\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t</div>\n\t\t</fieldset>\n\t\t<NcThemeProvider\n\t\t\t:dark=\"providerTheme === 'dark'\"\n\t\t\t:light=\"providerTheme === 'light'\">\n\t\t\t<div class=\"theme-preview\">\n\t\t\t\t<NcAssistantIcon />\n\t\t\t</div>\n\t\t</NcThemeProvider>\n\t</NcThemeProvider>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tproviderTheme: 'light',\n\t\t}\n\t}\n}\n</script>\n<style scoped>\n.wrapper {\n\tbackground-color: var(--color-main-background);\n\tcolor: var(--color-main-text);\n}\n\n.controls {\n\tdisplay: flex;\n\tjustify-content: center;\n\tgap: 2lh;\n}\n\nlegend {\n\twidth: 100%;\n\ttext-align: center;\n}\n\n.theme-preview {\n\tbackground-color: var(--color-main-background);\n\tcolor: var(--color-main-text);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-top: 0.5lh;\n\tmin-height: 2lh;\n}\n</style>\n```\n\n### Usage as inline icon\n```vue\n<template>\n\t<p>\n\t\tLorem ipsum dolor sit amet <NcAssistantIcon inline /> consetetur sadipscing elitr.\n\t</p>\n</template>\n```\n</docs>\n\n<script setup>\nimport { mdiCreation } from '@mdi/js'\nimport { computed } from 'vue'\nimport { useIsDarkTheme } from '../../composables/useIsDarkTheme/index.ts'\nimport { createElementId } from '../../utils/createElementId.ts'\n\nconst props = defineProps({\n\t/**\n\t * Set if the icon should be used as inline content e.g. within text.\n\t * By default the icon is made a block element for use inside `icon`-slots.\n\t */\n\tinline: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Size of the icon.\n\t * Defaults to the proper size to be used in buttons and other interactive elements\n\t * like all `Nc*` components with an icon slot.\n\t */\n\tsize: {\n\t\ttype: Number,\n\t\tdefault: 20,\n\t},\n})\n\nconst isDarkTheme = useIsDarkTheme()\nconst gradientId = createElementId()\nconst sizePx = computed(() => `${props.size}px`)\n</script>\n\n<template>\n\t<span\n\t\taria-hidden=\"true\"\n\t\t:class=\"[$style.assistantIcon, inline && $style.assistantIcon_inline]\"\n\t\trole=\"img\">\n\t\t<svg :class=\"$style.assistantIcon__svg\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t<defs>\n\t\t\t\t<linearGradient v-if=\"isDarkTheme\" :id=\"gradientId\" gradientTransform=\"rotateX(285)\">\n\t\t\t\t\t<stop offset=\"15%\" stop-color=\"#CDACE7\" />\n\t\t\t\t\t<stop offset=\"40%\" stop-color=\"#008FDB\" />\n\t\t\t\t\t<stop offset=\"82%\" stop-color=\"#A180E0\" />\n\t\t\t\t</linearGradient>\n\t\t\t\t<linearGradient v-else :id=\"gradientId\" gradientTransform=\"rotateX(285)\">\n\t\t\t\t\t<stop offset=\"15%\" stop-color=\"#9669D3\" />\n\t\t\t\t\t<stop offset=\"40%\" stop-color=\"#00679E\" />\n\t\t\t\t\t<stop offset=\"80%\" stop-color=\"#492083\" />\n\t\t\t\t</linearGradient>\n\t\t\t</defs>\n\t\t\t<path :d=\"mdiCreation\" :fill=\"`url('#${gradientId}')`\" />\n\t\t</svg>\n\t</span>\n</template>\n\n<style module lang=\"scss\">\n.assistantIcon {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t&:not(&_inline) {\n\t\tdisplay: flex;\n\t\tmin-height: var(--default-clickable-area);\n\t\tmin-width: var(--default-clickable-area);\n\t}\n\n\t&__svg {\n\t\tdisplay: inline-block;\n\t\twidth: v-bind('sizePx');\n\t\theight: v-bind('sizePx');\n\t\tmax-width: v-bind('sizePx');\n\t\tmax-height: v-bind('sizePx');\n\t}\n}\n</style>\n"],"names":["useIsDarkTheme","createElementId","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+GA,UAAM,cAAcA,2BAAAA,eAAc;AAClC,UAAM,aAAaC,gBAAAA,gBAAe;AAClC,UAAM,SAASC,IAAAA,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require('../assets/NcMentionBubble-CaztX9Pv.css');
|
|
2
|
-
require('../assets/NcAvatar-
|
|
2
|
+
require('../assets/NcAvatar-BdHHFwV3.css');
|
|
3
3
|
"use strict";
|
|
4
4
|
const auth = require("@nextcloud/auth");
|
|
5
5
|
const axios = require("@nextcloud/axios");
|
|
@@ -7,33 +7,37 @@ const browserStorage$1 = require("@nextcloud/browser-storage");
|
|
|
7
7
|
const eventBus = require("@nextcloud/event-bus");
|
|
8
8
|
const router = require("@nextcloud/router");
|
|
9
9
|
const components = require("@vueuse/components");
|
|
10
|
-
const
|
|
11
|
-
const
|
|
10
|
+
const debounce = require("debounce");
|
|
11
|
+
const Vue = require("vue");
|
|
12
|
+
const NcActions = require("./NcActions-H0GXWVPU.cjs");
|
|
13
|
+
const autolink = require("./autolink-BHlqTULT.cjs");
|
|
12
14
|
const Composables_useIsDarkTheme = require("../Composables/useIsDarkTheme.cjs");
|
|
13
15
|
const Functions_contactsMenu = require("../Functions/contactsMenu.cjs");
|
|
14
16
|
const Functions_usernameToColor = require("../Functions/usernameToColor.cjs");
|
|
15
|
-
const _l10n = require("./_l10n-
|
|
17
|
+
const _l10n = require("./_l10n-Be-gO5QO.cjs");
|
|
16
18
|
require("../Composables/useIsFullscreen.cjs");
|
|
17
19
|
require("../Composables/useIsMobile.cjs");
|
|
18
20
|
require("escape-html");
|
|
19
21
|
require("striptags");
|
|
20
|
-
require("vue");
|
|
21
22
|
const getAvatarUrl = require("./getAvatarUrl-4HsuXa3l.cjs");
|
|
22
23
|
;/* empty css */
|
|
23
24
|
const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
24
25
|
const capabilities = require("@nextcloud/capabilities");
|
|
25
26
|
const logger = require("./logger-3HuiEIF6.cjs");
|
|
26
|
-
const
|
|
27
|
-
const
|
|
27
|
+
const legacy = require("./legacy-BpZw2Eww.cjs");
|
|
28
|
+
const NcUserStatusIcon = require("./NcUserStatusIcon-BP2cHGxs.cjs");
|
|
29
|
+
const NcActionButton = require("./NcActionButton-B1jvJWjl.cjs");
|
|
28
30
|
const Components_NcActionLink = require("../Components/NcActionLink.cjs");
|
|
29
31
|
const Components_NcActionRouter = require("../Components/NcActionRouter.cjs");
|
|
30
32
|
const Components_NcActionText = require("../Components/NcActionText.cjs");
|
|
31
|
-
const NcButton = require("./NcButton-
|
|
33
|
+
const NcButton = require("./NcButton-W3wDpCdX.cjs");
|
|
32
34
|
const NcIconSvgWrapper = require("./NcIconSvgWrapper-Bbl4kXZI.cjs");
|
|
33
35
|
const Components_NcLoadingIcon = require("../Components/NcLoadingIcon.cjs");
|
|
36
|
+
const NcPopover = require("./NcPopover-Bq-bsaqt.cjs");
|
|
34
37
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
35
38
|
const axios__default = /* @__PURE__ */ _interopDefault(axios);
|
|
36
|
-
|
|
39
|
+
const debounce__default = /* @__PURE__ */ _interopDefault(debounce);
|
|
40
|
+
_l10n.register(_l10n.t11);
|
|
37
41
|
const userStatus = {
|
|
38
42
|
data() {
|
|
39
43
|
return {
|
|
@@ -113,6 +117,8 @@ const _sfc_main = {
|
|
|
113
117
|
NcButton: NcButton.NcButton,
|
|
114
118
|
NcIconSvgWrapper: NcIconSvgWrapper.NcIconSvgWrapper,
|
|
115
119
|
NcLoadingIcon: Components_NcLoadingIcon,
|
|
120
|
+
NcPopover: NcPopover.NcPopover,
|
|
121
|
+
NcProfileHoverCard: Vue.defineAsyncComponent(() => Promise.resolve().then(() => require("./NcProfileHoverCard-rEanhQqc.cjs"))),
|
|
116
122
|
NcUserStatusIcon: NcUserStatusIcon.NcUserStatusIcon
|
|
117
123
|
},
|
|
118
124
|
mixins: [userStatus],
|
|
@@ -268,7 +274,8 @@ const _sfc_main = {
|
|
|
268
274
|
setup() {
|
|
269
275
|
const isDarkTheme = Composables_useIsDarkTheme.useIsDarkTheme();
|
|
270
276
|
return {
|
|
271
|
-
isDarkTheme
|
|
277
|
+
isDarkTheme,
|
|
278
|
+
isLegacy35: legacy.isLegacy35
|
|
272
279
|
};
|
|
273
280
|
},
|
|
274
281
|
data() {
|
|
@@ -326,10 +333,13 @@ const _sfc_main = {
|
|
|
326
333
|
if (this.disableMenu) {
|
|
327
334
|
return false;
|
|
328
335
|
}
|
|
329
|
-
if (this.
|
|
330
|
-
|
|
336
|
+
if (this.isLegacy35) {
|
|
337
|
+
if (this.isMenuLoaded) {
|
|
338
|
+
return this.menu.length > 0;
|
|
339
|
+
}
|
|
340
|
+
return !(this.user === auth.getCurrentUser()?.uid || this.userDoesNotExist || this.url);
|
|
331
341
|
}
|
|
332
|
-
return
|
|
342
|
+
return Boolean(this.user) && !this.isNoUser && !this.url && !this.userDoesNotExist;
|
|
333
343
|
},
|
|
334
344
|
/**
|
|
335
345
|
* True if initials should be shown as the user icon fallback
|
|
@@ -379,7 +389,7 @@ const _sfc_main = {
|
|
|
379
389
|
if (!filteredChars) {
|
|
380
390
|
return initials;
|
|
381
391
|
}
|
|
382
|
-
const filtered = filteredChars.join("");
|
|
392
|
+
const filtered = filteredChars.join("").trim();
|
|
383
393
|
const idx = filtered.lastIndexOf(" ");
|
|
384
394
|
initials = String.fromCodePoint(filtered.codePointAt(0));
|
|
385
395
|
if (idx !== -1) {
|
|
@@ -388,7 +398,71 @@ const _sfc_main = {
|
|
|
388
398
|
}
|
|
389
399
|
return initials.toLocaleUpperCase();
|
|
390
400
|
},
|
|
401
|
+
/**
|
|
402
|
+
* Contacts menu actions for the hover card.
|
|
403
|
+
* `null` until actions are loaded so the card can fall back to profile API actions.
|
|
404
|
+
*
|
|
405
|
+
* @return {Array|null}
|
|
406
|
+
*/
|
|
407
|
+
hoverCardActions() {
|
|
408
|
+
if (this.isLegacy35 || !this.isMenuLoaded) {
|
|
409
|
+
return null;
|
|
410
|
+
}
|
|
411
|
+
return this.menu.length > 0 ? this.menu : null;
|
|
412
|
+
},
|
|
413
|
+
/**
|
|
414
|
+
* Status already known by this avatar so the hover card does not fetch it again.
|
|
415
|
+
* Omitted while status is still the empty default (fetch in progress).
|
|
416
|
+
*
|
|
417
|
+
* @return {object|undefined}
|
|
418
|
+
*/
|
|
419
|
+
hoverCardPreloadedUserStatus() {
|
|
420
|
+
if (this.preloadedUserStatus) {
|
|
421
|
+
return this.userStatus;
|
|
422
|
+
}
|
|
423
|
+
if (this.userStatus.status || this.userStatus.icon || this.userStatus.message) {
|
|
424
|
+
return this.userStatus;
|
|
425
|
+
}
|
|
426
|
+
return void 0;
|
|
427
|
+
},
|
|
391
428
|
menu() {
|
|
429
|
+
if (this.isLegacy35) {
|
|
430
|
+
return this.legacyMenu;
|
|
431
|
+
}
|
|
432
|
+
const actions = this.contactsMenuActions.map((item) => {
|
|
433
|
+
const route = autolink.getRoute(this.$router, item.hyperlink);
|
|
434
|
+
return {
|
|
435
|
+
id: item.id,
|
|
436
|
+
appId: item.appId,
|
|
437
|
+
text: item.title,
|
|
438
|
+
href: route ? void 0 : item.hyperlink,
|
|
439
|
+
to: route || void 0,
|
|
440
|
+
icon: item.icon
|
|
441
|
+
};
|
|
442
|
+
});
|
|
443
|
+
for (const action of Functions_contactsMenu.getEnabledContactsMenuActions(this.contactsMenuData)) {
|
|
444
|
+
try {
|
|
445
|
+
actions.push({
|
|
446
|
+
id: action.id,
|
|
447
|
+
text: action.displayName(this.contactsMenuData),
|
|
448
|
+
iconSvg: action.iconSvg(this.contactsMenuData),
|
|
449
|
+
onClick: () => action.callback(this.contactsMenuData)
|
|
450
|
+
});
|
|
451
|
+
} catch (error) {
|
|
452
|
+
logger.logger.error(`Failed to render ContactsMenu action ${action.id}`, {
|
|
453
|
+
error,
|
|
454
|
+
action
|
|
455
|
+
});
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
return actions;
|
|
459
|
+
},
|
|
460
|
+
/**
|
|
461
|
+
* Legacy NcActions menu entries for Nextcloud 32â34.
|
|
462
|
+
*
|
|
463
|
+
* @return {Array}
|
|
464
|
+
*/
|
|
465
|
+
legacyMenu() {
|
|
392
466
|
const actions = this.contactsMenuActions.map((item) => {
|
|
393
467
|
const route = autolink.getRoute(this.$router, item.hyperlink);
|
|
394
468
|
return {
|
|
@@ -450,8 +524,26 @@ const _sfc_main = {
|
|
|
450
524
|
this.userDoesNotExist = false;
|
|
451
525
|
this.isMenuLoaded = false;
|
|
452
526
|
this.loadAvatarUrl();
|
|
527
|
+
},
|
|
528
|
+
preloadedUserStatus(status) {
|
|
529
|
+
if (status) {
|
|
530
|
+
this.setUserStatus(status);
|
|
531
|
+
}
|
|
532
|
+
},
|
|
533
|
+
contactsMenuOpenState(shown) {
|
|
534
|
+
if (this.isLegacy35) {
|
|
535
|
+
return;
|
|
536
|
+
}
|
|
537
|
+
if (shown) {
|
|
538
|
+
this.debouncedFetchContactsMenu();
|
|
539
|
+
} else {
|
|
540
|
+
this.debouncedFetchContactsMenu.clear();
|
|
541
|
+
}
|
|
453
542
|
}
|
|
454
543
|
},
|
|
544
|
+
created() {
|
|
545
|
+
this.debouncedFetchContactsMenu = debounce__default.default(this.fetchContactsMenu, 300);
|
|
546
|
+
},
|
|
455
547
|
mounted() {
|
|
456
548
|
this.loadAvatarUrl();
|
|
457
549
|
eventBus.subscribe("settings:avatar:updated", this.loadAvatarUrl);
|
|
@@ -468,6 +560,7 @@ const _sfc_main = {
|
|
|
468
560
|
}
|
|
469
561
|
},
|
|
470
562
|
beforeDestroy() {
|
|
563
|
+
this.debouncedFetchContactsMenu.clear();
|
|
471
564
|
eventBus.unsubscribe("settings:avatar:updated", this.loadAvatarUrl);
|
|
472
565
|
eventBus.unsubscribe("settings:display-name:updated", this.loadAvatarUrl);
|
|
473
566
|
eventBus.unsubscribe("user_status:status.updated", this.handleUserStatusUpdated);
|
|
@@ -485,7 +578,7 @@ const _sfc_main = {
|
|
|
485
578
|
}
|
|
486
579
|
},
|
|
487
580
|
/**
|
|
488
|
-
* Toggle the popover menu on click or enter
|
|
581
|
+
* Toggle the legacy popover menu on click or enter
|
|
489
582
|
*
|
|
490
583
|
* @param {KeyboardEvent|MouseEvent} event the UI event
|
|
491
584
|
*/
|
|
@@ -499,6 +592,9 @@ const _sfc_main = {
|
|
|
499
592
|
this.contactsMenuOpenState = !this.contactsMenuOpenState;
|
|
500
593
|
},
|
|
501
594
|
closeMenu() {
|
|
595
|
+
if (!this.isLegacy35) {
|
|
596
|
+
return;
|
|
597
|
+
}
|
|
502
598
|
this.contactsMenuOpenState = false;
|
|
503
599
|
},
|
|
504
600
|
async fetchContactsMenu() {
|
|
@@ -509,7 +605,11 @@ const _sfc_main = {
|
|
|
509
605
|
this.contactsMenuData = data;
|
|
510
606
|
this.contactsMenuActions = data.topAction ? [data.topAction].concat(data.actions) : data.actions;
|
|
511
607
|
} catch {
|
|
512
|
-
this.
|
|
608
|
+
this.contactsMenuData = {};
|
|
609
|
+
this.contactsMenuActions = [];
|
|
610
|
+
if (this.isLegacy35) {
|
|
611
|
+
this.contactsMenuOpenState = false;
|
|
612
|
+
}
|
|
513
613
|
}
|
|
514
614
|
this.contactsMenuLoading = false;
|
|
515
615
|
this.isMenuLoaded = true;
|
|
@@ -606,12 +706,13 @@ var _sfc_render = function render() {
|
|
|
606
706
|
return _c("span", { directives: [{ name: "click-outside", rawName: "v-click-outside", value: _vm.closeMenu, expression: "closeMenu" }], staticClass: "avatardiv popovermenu-wrapper", class: {
|
|
607
707
|
"avatardiv--unknown": _vm.userDoesNotExist,
|
|
608
708
|
"avatardiv--with-menu": _vm.hasMenu,
|
|
709
|
+
"avatardiv--with-legacy-menu": _vm.hasMenu && _vm.isLegacy35,
|
|
609
710
|
"avatardiv--with-menu-loading": _vm.contactsMenuLoading
|
|
610
711
|
}, style: _vm.avatarStyle, attrs: { "title": _vm.tooltip } }, [_vm._t("icon", function() {
|
|
611
712
|
return [_vm.iconClass ? _c("span", { staticClass: "avatar-class-icon", class: _vm.iconClass }) : _vm.isAvatarLoaded && !_vm.userDoesNotExist ? _c("img", { attrs: { "src": _vm.avatarUrlLoaded, "srcset": _vm.avatarSrcSetLoaded, "alt": "" } }) : _vm._e()];
|
|
612
|
-
}), _vm.
|
|
713
|
+
}), _vm.isLegacy35 && _vm.hasMenu ? [_vm.menu.length === 0 ? _c("NcButton", { staticClass: "action-item action-item__menutoggle", attrs: { "aria-label": _vm.avatarAriaLabel, "variant": "tertiary-no-background" }, on: { "click": _vm.toggleMenu }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
|
|
613
714
|
return [_vm.contactsMenuLoading ? _c("NcLoadingIcon") : _c("IconDotsHorizontal", { attrs: { "size": 20 } })];
|
|
614
|
-
}, proxy: true }], null, false, 1269954734) }) :
|
|
715
|
+
}, proxy: true }], null, false, 1269954734) }) : _c("NcActions", { attrs: { "aria-label": _vm.avatarAriaLabel, "container": _vm.menuContainer, "force-menu": "", "manual-open": "", "open": _vm.contactsMenuOpenState, "variant": "tertiary-no-background" }, on: { "update:open": function($event) {
|
|
615
716
|
_vm.contactsMenuOpenState = $event;
|
|
616
717
|
}, "click": _vm.toggleMenu }, scopedSlots: _vm._u([_vm.contactsMenuLoading ? { key: "icon", fn: function() {
|
|
617
718
|
return [_c("NcLoadingIcon")];
|
|
@@ -619,7 +720,11 @@ var _sfc_render = function render() {
|
|
|
619
720
|
return _c(item.ncActionComponent, _vm._g(_vm._b({ key, tag: "component", scopedSlots: _vm._u([item.iconSvg ? { key: "icon", fn: function() {
|
|
620
721
|
return [_c("NcIconSvgWrapper", { attrs: { "svg": item.iconSvg } })];
|
|
621
722
|
}, proxy: true } : null], null, true) }, "component", item.ncActionComponentProps, false), item.ncActionComponentHandlers), [_vm._v(" " + _vm._s(item.text) + " ")]);
|
|
622
|
-
}), 1) : _vm.
|
|
723
|
+
}), 1)] : _vm.hasMenu ? _c("NcPopover", { staticClass: "avatar-profile-popover", attrs: { "shown": _vm.contactsMenuOpenState, "container": _vm.menuContainer, "delay": { show: 400, hide: 0 }, "popover-triggers": ["hover"], "triggers": ["hover", "focus", "click"], "no-focus-trap": "", "popup-role": "dialog" }, on: { "update:shown": function($event) {
|
|
724
|
+
_vm.contactsMenuOpenState = $event;
|
|
725
|
+
} }, scopedSlots: _vm._u([{ key: "trigger", fn: function({ attrs }) {
|
|
726
|
+
return [_c("span", _vm._b({ staticClass: "avatar-profile-popover__trigger", attrs: { "role": "button", "tabindex": "0", "aria-label": _vm.avatarAriaLabel } }, "span", attrs, false))];
|
|
727
|
+
} }]) }, [_c("NcProfileHoverCard", { attrs: { "user": _vm.user, "open": _vm.contactsMenuOpenState, "actions": _vm.hoverCardActions, "actions-loading": _vm.contactsMenuLoading, "preloaded-user-status": _vm.hoverCardPreloadedUserStatus } })], 1) : _vm._e(), _vm.showUserStatusIconOnAvatar ? _c("span", { staticClass: "avatardiv__user-status avatardiv__user-status--icon" }, [_vm._v(" " + _vm._s(_vm.userStatus.icon) + " ")]) : _vm.canDisplayUserStatus ? _c("NcUserStatusIcon", { staticClass: "avatardiv__user-status", attrs: { "status": _vm.userStatus.status, "aria-hidden": String(_vm.hasMenu) } }) : _vm._e(), _vm.showInitials ? _c("span", { staticClass: "avatardiv__initials-wrapper", style: _vm.initialsWrapperStyle }, [_c("span", { staticClass: "avatardiv__initials", style: _vm.initialsStyle }, [_vm._v(" " + _vm._s(_vm.initials) + " ")])]) : _vm._e()], 2);
|
|
623
728
|
};
|
|
624
729
|
var _sfc_staticRenderFns = [];
|
|
625
730
|
var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
@@ -628,9 +733,9 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
|
628
733
|
_sfc_staticRenderFns,
|
|
629
734
|
false,
|
|
630
735
|
null,
|
|
631
|
-
"
|
|
736
|
+
"c3ee4dd7"
|
|
632
737
|
);
|
|
633
738
|
const NcAvatar = __component__.exports;
|
|
634
739
|
exports.NcAvatar = NcAvatar;
|
|
635
740
|
exports.userStatus = userStatus;
|
|
636
|
-
//# sourceMappingURL=NcAvatar-
|
|
741
|
+
//# sourceMappingURL=NcAvatar-BbR_mZyT.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcAvatar-BbR_mZyT.cjs","sources":["../../src/mixins/userStatus.js","../../src/components/NcAvatar/NcAvatar.vue"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { logger } from '../utils/logger.ts'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\thasStatus: false,\n\t\t\tuserStatus: {\n\t\t\t\tstatus: null,\n\t\t\t\tmessage: null,\n\t\t\t\ticon: null,\n\t\t\t},\n\t\t}\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Fetches the user-status from the server\n\t\t *\n\t\t * @param {string} userId UserId of the user to fetch the status for\n\t\t *\n\t\t * @return {Promise<void>}\n\t\t */\n\t\tasync fetchUserStatus(userId) {\n\t\t\tif (!userId) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst capabilities = getCapabilities()\n\t\t\tif (!Object.hasOwn(capabilities, 'user_status') || !capabilities.user_status.enabled) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// User status endpoint is not available for guests.\n\t\t\tif (!getCurrentUser()) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst { data } = await axios.get(generateOcsUrl('apps/user_status/api/v1/statuses/{userId}', { userId }))\n\t\t\t\tthis.setUserStatus(data.ocs.data)\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response.status === 404 && error.response.data.ocs?.data?.length === 0) {\n\t\t\t\t\t// User just has no status set, so don't log it\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tlogger.error('Could not fetch user status', { error })\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Sets the user status\n\t\t *\n\t\t * @param {string} status user's status\n\t\t * @param {string} message user's message\n\t\t * @param {string} icon user's icon\n\t\t */\n\t\tsetUserStatus({ status, message, icon }) {\n\t\t\tthis.userStatus.status = status || ''\n\t\t\tthis.userStatus.message = message || ''\n\t\t\tthis.userStatus.icon = icon || ''\n\t\t\tthis.hasStatus = !!status\n\t\t},\n\t},\n}\n","<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n### Basic user avatar\n\n```vue\n\t<NcAvatar user=\"willywonka\" display-name=\"Willy Wonka\" />\n```\n\n### Avatar with image\n\n```vue\n\t<NcAvatar url=\"favicon-touch.png\" />\n```\n\n### Avatar with material design icon\n\n```\n<template>\n\t<NcAvatar>\n\t\t<template #icon>\n\t\t\t<IconAccountMultipleOutline :size=\"20\" />\n\t\t</template>\n\t</NcAvatar>\n</template>\n<script>\nimport IconAccountMultipleOutline from 'vue-material-design-icons/AccountMultipleOutline.vue'\n\nexport default {\n\tcomponents: {\n\t\tIconAccountMultipleOutline,\n\t},\n}\n</script>\n```\n\n### Avatar with preloaded status\n```\n<template>\n\t<div>\n\t\t<NcAvatar user=\"janedoe\"\n\t\t\tdisplay-name=\"Jane Doe\"\n\t\t\t:preloaded-user-status=\"status.online\">\n\t\t</NcAvatar>\n\t\t<NcAvatar user=\"janedoe\"\n\t\t\tdisplay-name=\"Jane Doe\"\n\t\t\t:preloaded-user-status=\"status.away\">\n\t\t</NcAvatar>\n\t\t<NcAvatar user=\"janedoe\"\n\t\t\tdisplay-name=\"Jane Doe\"\n\t\t\t:preloaded-user-status=\"status.dnd\">\n\t\t</NcAvatar>\n\t\t<NcAvatar user=\"janedoe\"\n\t\t\tdisplay-name=\"Jane Doe\"\n\t\t\t:preloaded-user-status=\"status.custom\">\n\t\t</NcAvatar>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tstatus: {\n\t\t\t\tonline: {\n\t\t\t\t\ticon: '',\n\t\t\t\t\tstatus: 'online',\n\t\t\t\t\tmessage: 'Available',\n\t\t\t\t},\n\t\t\t\taway: {\n\t\t\t\t\ticon: '',\n\t\t\t\t\tstatus: 'away',\n\t\t\t\t\tmessage: 'Away',\n\t\t\t\t},\n\t\t\t\tdnd: {\n\t\t\t\t\ticon: '',\n\t\t\t\t\tstatus: 'dnd',\n\t\t\t\t\tmessage: 'Busy',\n\t\t\t\t},\n\t\t\t\tcustom: {\n\t\t\t\t\ticon: 'đ',\n\t\t\t\t\tstatus: 'online',\n\t\t\t\t\tmessage: 'In a meeting',\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t},\n}\n</script>\n```\n\n### Avatar for non-users\n\n```vue\n\t<NcAvatar display-name=\"Robbie Hyeon-Jeong\" :is-no-user=\"true\" />\n```\n\n### Avatar on complex background\n\n```\n<template>\n\t<div class=\"avatar-background\">\n\t\t<NcAvatar class=\"avatar\" :is-no-user=\"true\" display-name=\"Cecilia Rohese\" />\n\t</div>\n</template>\n<style scoped>\n.avatar-background {\n\twidth: 80px;\n\theight: 60px;\n\tbackground: linear-gradient(to bottom, #0057b8 0%, #0057b8 49.99%, #ffd700 50%, #ffd700 100%);\n}\n\n.avatar {\n\tmargin: 15px 25px;\n}\n</style>\n```\n\n### Avatar size\n\n```vue\n<template>\n\t<div>\n\t\t<div v-for=\"size in [15, 24, 34, 44, 180]\">\n\t\t\t<span>\n\t\t\t\t{{ size }}px\n\t\t\t</span>\n\t\t\t<NcAvatar user=\"alice-smith\"\n\t\t\t\tdisplay-name=\"Alice Smith\"\n\t\t\t\t:size=\"size\"\n\t\t\t\t:preloaded-user-status=\"status.online\" />\n\t\t\t<NcAvatar user=\"bob-doe\"\n\t\t\t\tdisplay-name=\"Bob Doe\"\n\t\t\t\t:size=\"size\"\n\t\t\t\t:preloaded-user-status=\"status.meeting\" />\n\t\t</div>\n\t\t<div>\n\t\t\t<div>\n\t\t\t\tCustom: {{ customSize }}px\n\t\t\t</div>\n\t\t\t<NcAvatar user=\"alice-smith\"\n\t\t\t\tdisplay-name=\"Alice Smith\"\n\t\t\t\t:size=\"customSize\"\n\t\t\t\t:preloaded-user-status=\"status.online\" />\n\t\t\t<NcAvatar user=\"bob-doe\"\n\t\t\t\tdisplay-name=\"Bob Doe\"\n\t\t\t\t:size=\"customSize\"\n\t\t\t\t:preloaded-user-status=\"status.meeting\" />\n\t\t</div>\n\t\t<div>\n\t\t\t<input type=\"range\" v-model=\"customSize\" :min=\"15\" :max=\"180\" step=\"1\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport AccountMultiple from 'vue-material-design-icons/AccountMultiple.vue'\n\nexport default {\n\tcomponents: {\n\t\tAccountMultiple,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcustomSize: 20,\n\t\t\tstatus: {\n\t\t\t\tonline: {\n\t\t\t\t\ticon: '',\n\t\t\t\t\tstatus: 'online',\n\t\t\t\t\tmessage: 'Available',\n\t\t\t\t},\n\t\t\t\tmeeting: {\n\t\t\t\t\ticon: 'đ',\n\t\t\t\t\tstatus: 'online',\n\t\t\t\t\tmessage: 'In a meeting',\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\t},\n}\n</script>\n```\n\n</docs>\n\n<template>\n\t<span\n\t\tv-click-outside=\"closeMenu\"\n\t\t:title=\"tooltip\"\n\t\t:class=\"{\n\t\t\t'avatardiv--unknown': userDoesNotExist,\n\t\t\t'avatardiv--with-menu': hasMenu,\n\t\t\t'avatardiv--with-legacy-menu': hasMenu && isLegacy35,\n\t\t\t'avatardiv--with-menu-loading': contactsMenuLoading,\n\t\t}\"\n\t\t:style=\"avatarStyle\"\n\t\tclass=\"avatardiv popovermenu-wrapper\">\n\t\t<!-- @slot Icon slot -->\n\t\t<slot name=\"icon\">\n\t\t\t<!-- Avatar icon or image -->\n\t\t\t<span v-if=\"iconClass\" :class=\"iconClass\" class=\"avatar-class-icon\" />\n\t\t\t<img\n\t\t\t\tv-else-if=\"isAvatarLoaded && !userDoesNotExist\"\n\t\t\t\t:src=\"avatarUrlLoaded\"\n\t\t\t\t:srcset=\"avatarSrcSetLoaded\"\n\t\t\t\talt=\"\">\n\t\t</slot>\n\n\t\t<!-- Legacy contacts menu (Nextcloud 32â34) -->\n\t\t<template v-if=\"isLegacy35 && hasMenu\">\n\t\t\t<!-- We show a button if the menu is not loaded yet. -->\n\t\t\t<NcButton\n\t\t\t\tv-if=\"menu.length === 0\"\n\t\t\t\t:aria-label=\"avatarAriaLabel\"\n\t\t\t\tclass=\"action-item action-item__menutoggle\"\n\t\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t\t@click=\"toggleMenu\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcLoadingIcon v-if=\"contactsMenuLoading\" />\n\t\t\t\t\t<IconDotsHorizontal v-else :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\t\t\t<NcActions\n\t\t\t\tv-else\n\t\t\t\t:aria-label=\"avatarAriaLabel\"\n\t\t\t\t:container=\"menuContainer\"\n\t\t\t\tforce-menu\n\t\t\t\tmanual-open\n\t\t\t\t:open.sync=\"contactsMenuOpenState\"\n\t\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t\t@click=\"toggleMenu\">\n\t\t\t\t<component\n\t\t\t\t\t:is=\"item.ncActionComponent\"\n\t\t\t\t\tv-for=\"(item, key) in menu\"\n\t\t\t\t\t:key=\"key\"\n\t\t\t\t\tv-bind=\"item.ncActionComponentProps\"\n\t\t\t\t\tv-on=\"item.ncActionComponentHandlers\">\n\t\t\t\t\t<template v-if=\"item.iconSvg\" #icon>\n\t\t\t\t\t\t<NcIconSvgWrapper :svg=\"item.iconSvg\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ item.text }}\n\t\t\t\t</component>\n\t\t\t\t<template v-if=\"contactsMenuLoading\" #icon>\n\t\t\t\t\t<NcLoadingIcon />\n\t\t\t\t</template>\n\t\t\t</NcActions>\n\t\t</template>\n\n\t\t<!-- Profile hover card (Nextcloud 35+) -->\n\t\t<NcPopover\n\t\t\tv-else-if=\"hasMenu\"\n\t\t\t:shown.sync=\"contactsMenuOpenState\"\n\t\t\tclass=\"avatar-profile-popover\"\n\t\t\t:container=\"menuContainer\"\n\t\t\t:delay=\"{ show: 400, hide: 0 }\"\n\t\t\t:popover-triggers=\"['hover']\"\n\t\t\t:triggers=\"['hover', 'focus', 'click']\"\n\t\t\tno-focus-trap\n\t\t\tpopup-role=\"dialog\">\n\t\t\t<template #trigger=\"{ attrs }\">\n\t\t\t\t<span\n\t\t\t\t\tclass=\"avatar-profile-popover__trigger\"\n\t\t\t\t\tv-bind=\"attrs\"\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t:aria-label=\"avatarAriaLabel\" />\n\t\t\t</template>\n\t\t\t<NcProfileHoverCard\n\t\t\t\t:user=\"user\"\n\t\t\t\t:open=\"contactsMenuOpenState\"\n\t\t\t\t:actions=\"hoverCardActions\"\n\t\t\t\t:actions-loading=\"contactsMenuLoading\"\n\t\t\t\t:preloaded-user-status=\"hoverCardPreloadedUserStatus\" />\n\t\t</NcPopover>\n\n\t\t<!-- Avatar status -->\n\t\t<span v-if=\"showUserStatusIconOnAvatar\" class=\"avatardiv__user-status avatardiv__user-status--icon\">\n\t\t\t{{ userStatus.icon }}\n\t\t</span>\n\t\t<NcUserStatusIcon\n\t\t\tv-else-if=\"canDisplayUserStatus\"\n\t\t\tclass=\"avatardiv__user-status\"\n\t\t\t:status=\"userStatus.status\"\n\t\t\t:aria-hidden=\"String(hasMenu)\" />\n\n\t\t<!-- Show the letter if no avatar nor icon class -->\n\t\t<span\n\t\t\tv-if=\"showInitials\"\n\t\t\t:style=\"initialsWrapperStyle\"\n\t\t\tclass=\"avatardiv__initials-wrapper\">\n\t\t\t<span :style=\"initialsStyle\" class=\"avatardiv__initials\">\n\t\t\t\t{{ initials }}\n\t\t\t</span>\n\t\t</span>\n\t</span>\n</template>\n\n<script>\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport { generateUrl } from '@nextcloud/router'\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\nimport debounce from 'debounce'\nimport { defineAsyncComponent } from 'vue'\nimport IconDotsHorizontal from 'vue-material-design-icons/DotsHorizontal.vue'\nimport { getRoute } from '../../components/NcRichText/autolink.js'\nimport { useIsDarkTheme } from '../../composables/useIsDarkTheme/index.ts'\nimport { getEnabledContactsMenuActions } from '../../functions/contactsMenu/index.ts'\nimport usernameToColor from '../../functions/usernameToColor/index.js'\nimport { t } from '../../l10n.js'\nimport { userStatus } from '../../mixins/index.js'\nimport { getAvatarUrl } from '../../utils/getAvatarUrl.ts'\nimport { isLegacy35 } from '../../utils/legacy.ts'\nimport { logger } from '../../utils/logger.ts'\nimport { getUserStatusText } from '../../utils/UserStatus.ts'\nimport NcActionButton from '../NcActionButton/index.js'\nimport NcActionLink from '../NcActionLink/index.js'\nimport NcActionRouter from '../NcActionRouter/index.js'\nimport NcActions from '../NcActions/index.js'\nimport NcActionText from '../NcActionText/index.js'\nimport NcButton from '../NcButton/index.js'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/index.js'\nimport NcLoadingIcon from '../NcLoadingIcon/index.js'\nimport NcPopover from '../NcPopover/index.js'\nimport NcUserStatusIcon from '../NcUserStatusIcon/index.js'\n\nconst browserStorage = getBuilder('nextcloud').persist().build()\n\n/**\n * @param {string} userId The id of the user\n */\nfunction getUserHasAvatar(userId) {\n\tconst flag = browserStorage.getItem('user-has-avatar.' + userId)\n\tif (typeof flag === 'string') {\n\t\treturn Boolean(flag)\n\t}\n\treturn null\n}\n\n/**\n * @param {string} userId The id of the user\n * @param {boolean} flag Has the user an avatar\n */\nfunction setUserHasAvatar(userId, flag) {\n\tif (userId) {\n\t\tbrowserStorage.setItem('user-has-avatar.' + userId, flag)\n\t}\n}\n\nexport default {\n\tname: 'NcAvatar',\n\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tcomponents: {\n\t\tIconDotsHorizontal,\n\t\tNcActions,\n\t\tNcButton,\n\t\tNcIconSvgWrapper,\n\t\tNcLoadingIcon,\n\t\tNcPopover,\n\t\tNcProfileHoverCard: defineAsyncComponent(() => import('../NcProfileHoverCard/NcProfileHoverCard.vue')),\n\t\tNcUserStatusIcon,\n\t},\n\n\tmixins: [userStatus],\n\tprops: {\n\t\t/**\n\t\t * Set a custom url to the avatar image\n\t\t * either the url, user or displayName property must be defined\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Set a css icon-class for an icon to be used instead of the avatar.\n\t\t */\n\t\ticonClass: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Set the user id to fetch the avatar\n\t\t * either the url, user or displayName property must be defined\n\t\t */\n\t\tuser: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Do not show the user status on the avatar.\n\t\t */\n\t\thideStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Whether or not to display the user-status.\n\t\t *\n\t\t * @deprecated - Use `hideStatus` instead. Will be removed with v9.\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\t// eslint-disable-next-line vue/no-boolean-default\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Show the verbose user status (e.g. \"online\" / \"away\") instead of just the status icon.\n\t\t */\n\t\tverboseStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Whether or not to the status-icon should be used instead of online/away\n\t\t *\n\t\t * @deprecated - Use `verboseStatus` instead. Will be removed with v9.\n\t\t */\n\t\tshowUserStatusCompact: {\n\t\t\ttype: Boolean,\n\t\t\t// eslint-disable-next-line vue/no-boolean-default\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * When the user status was preloaded via another source it can be handed in with this property to save the request.\n\t\t * If this property is not set the status will be fetched automatically.\n\t\t * If a preloaded no-status is available provide this object with properties \"status\", \"icon\" and \"message\" set to null.\n\t\t */\n\t\tpreloadedUserStatus: {\n\t\t\ttype: Object,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Is the user a guest user (then we have to user a different endpoint)\n\t\t */\n\t\tisGuest: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Set a display name that will be rendered as a tooltip\n\t\t * either the url, user or displayName property must be defined\n\t\t * specify just the displayname to generate a placeholder avatar without\n\t\t * trying to fetch the avatar based on the user id\n\t\t */\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Set a size in px for the rendered avatar\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 32,\n\t\t},\n\n\t\t/**\n\t\t * Do not automatically generate a placeholder avatars if there is no real avatar is available.\n\t\t */\n\t\tnoPlaceholder: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Placeholder avatars will be automatically generated when this is set to true.\n\t\t *\n\t\t * @deprecated - Use `noPlaceholder` instead. Will be removed in v9.\n\t\t */\n\t\tallowPlaceholder: {\n\t\t\ttype: Boolean,\n\t\t\t// eslint-disable-next-line vue/no-boolean-default\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Disable the tooltip\n\t\t */\n\t\tdisableTooltip: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Disable the menu\n\t\t */\n\t\tdisableMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Declares a custom tooltip when not null\n\t\t * Fallback will be the displayName\n\t\t *\n\t\t * requires disableTooltip not to be set to true\n\t\t */\n\t\ttooltipMessage: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Declares username is not a user's name, when true.\n\t\t * Prevents loading user's avatar from server and forces generating colored initials,\n\t\t * i.e. if the user is a group\n\t\t */\n\t\tisNoUser: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Selector for the popover menu container\n\t\t */\n\t\tmenuContainer: {\n\t\t\ttype: [Boolean, String, Object, Element],\n\t\t\tdefault: 'body',\n\t\t},\n\t},\n\n\tsetup() {\n\t\tconst isDarkTheme = useIsDarkTheme()\n\n\t\treturn {\n\t\t\tisDarkTheme,\n\t\t\tisLegacy35,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tavatarUrlLoaded: null,\n\t\t\tavatarSrcSetLoaded: null,\n\t\t\tuserDoesNotExist: false,\n\t\t\tisAvatarLoaded: false,\n\t\t\tisMenuLoaded: false,\n\t\t\tcontactsMenuLoading: false,\n\t\t\tcontactsMenuData: {},\n\t\t\tcontactsMenuActions: [],\n\t\t\tcontactsMenuOpenState: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tavatarAriaLabel() {\n\t\t\t// aria-label is only allowed on interactive elements\n\t\t\tif (!this.hasMenu) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (this.canDisplayUserStatus || this.showUserStatusIconOnAvatar) {\n\t\t\t\treturn t('Avatar of {displayName}, {status}', { displayName: this.displayName ?? this.user, status: getUserStatusText(this.userStatus.status) })\n\t\t\t}\n\t\t\treturn t('Avatar of {displayName}', { displayName: this.displayName ?? this.user })\n\t\t},\n\n\t\tcanDisplayUserStatus() {\n\t\t\treturn !this.hideStatus\n\t\t\t\t&& this.showUserStatus\n\t\t\t\t&& this.hasStatus\n\t\t\t\t&& ['online', 'away', 'busy', 'dnd'].includes(this.userStatus.status)\n\t\t},\n\n\t\tshowUserStatusIconOnAvatar() {\n\t\t\treturn !this.hideStatus\n\t\t\t\t&& this.showUserStatus\n\t\t\t\t&& !this.verboseStatus\n\t\t\t\t&& this.showUserStatusCompact\n\t\t\t\t&& this.hasStatus\n\t\t\t\t&& this.userStatus.status !== 'dnd'\n\t\t\t\t&& this.userStatus.icon\n\t\t},\n\n\t\t/**\n\t\t * The user identifier, either the display name if set or the user property\n\t\t * If both properties are not set an empty string is returned\n\t\t */\n\t\tuserIdentifier() {\n\t\t\tif (this.isDisplayNameDefined) {\n\t\t\t\treturn this.displayName\n\t\t\t}\n\t\t\tif (this.isUserDefined) {\n\t\t\t\treturn this.user\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\n\t\tisUserDefined() {\n\t\t\treturn typeof this.user !== 'undefined'\n\t\t},\n\n\t\tisDisplayNameDefined() {\n\t\t\treturn typeof this.displayName !== 'undefined'\n\t\t},\n\n\t\tisUrlDefined() {\n\t\t\treturn typeof this.url !== 'undefined'\n\t\t},\n\n\t\thasMenu() {\n\t\t\tif (this.disableMenu) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.isLegacy35) {\n\t\t\t\t// Legacy contacts menu: hide for current user / invalid avatars.\n\t\t\t\tif (this.isMenuLoaded) {\n\t\t\t\t\treturn this.menu.length > 0\n\t\t\t\t}\n\t\t\t\treturn !(this.user === getCurrentUser()?.uid || this.userDoesNotExist || this.url)\n\t\t\t}\n\t\t\t// Profile hover card for any real user avatar, including the current user.\n\t\t\treturn Boolean(this.user) && !this.isNoUser && !this.url && !this.userDoesNotExist\n\t\t},\n\n\t\t/**\n\t\t * True if initials should be shown as the user icon fallback\n\t\t */\n\t\tshowInitials() {\n\t\t\treturn !this.noPlaceholder && this.allowPlaceholder && this.userDoesNotExist && !(this.iconClass || this.$scopedSlots.icon)\n\t\t},\n\n\t\tavatarStyle() {\n\t\t\treturn {\n\t\t\t\t'--avatar-size': this.size + 'px',\n\t\t\t\tlineHeight: this.showInitials ? (this.size + 'px') : 0,\n\t\t\t\tfontSize: Math.round(this.size * 0.45) + 'px',\n\t\t\t}\n\t\t},\n\n\t\tinitialsWrapperStyle() {\n\t\t\tconst { r, g, b } = usernameToColor(this.userIdentifier)\n\t\t\treturn {\n\t\t\t\tbackgroundColor: `rgba(${r}, ${g}, ${b}, 0.1)`,\n\t\t\t}\n\t\t},\n\n\t\tinitialsStyle() {\n\t\t\tconst { r, g, b } = usernameToColor(this.userIdentifier)\n\t\t\treturn {\n\t\t\t\tcolor: `rgb(${r}, ${g}, ${b})`,\n\t\t\t}\n\t\t},\n\n\t\ttooltip() {\n\t\t\tif (this.disableTooltip) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.tooltipMessage) {\n\t\t\t\treturn this.tooltipMessage\n\t\t\t}\n\n\t\t\treturn this.displayName\n\t\t},\n\n\t\t/**\n\t\t * Get the (max. two) initials of the user as uppcase string\n\t\t */\n\t\tinitials() {\n\t\t\tlet initials = '?'\n\t\t\tif (this.showInitials) {\n\t\t\t\tconst user = this.userIdentifier.trim()\n\t\t\t\tif (user === '') {\n\t\t\t\t\treturn initials\n\t\t\t\t}\n\n\t\t\t\t/**\n\t\t\t\t * Filtered user name, without special characters so only letters and numbers are allowed (prevent e.g. '(' as an initial)\n\t\t\t\t * \\p{L}: Letters of all languages\n\t\t\t\t * \\p{N}: Numbers of all languages\n\t\t\t\t * \\s: White space for breaking the string\n\t\t\t\t *\n\t\t\t\t * @type {string}\n\t\t\t\t */\n\t\t\t\tconst filteredChars = user.match(/[\\p{L}\\p{N}\\s]/gu)\n\t\t\t\tif (!filteredChars) {\n\t\t\t\t\treturn initials\n\t\t\t\t}\n\n\t\t\t\tconst filtered = filteredChars.join('').trim()\n\t\t\t\tconst idx = filtered.lastIndexOf(' ')\n\t\t\t\tinitials = String.fromCodePoint(filtered.codePointAt(0))\n\t\t\t\tif (idx !== -1) {\n\t\t\t\t\tinitials = initials.concat(String.fromCodePoint(filtered.codePointAt(idx + 1)))\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn initials.toLocaleUpperCase()\n\t\t},\n\n\t\t/**\n\t\t * Contacts menu actions for the hover card.\n\t\t * `null` until actions are loaded so the card can fall back to profile API actions.\n\t\t *\n\t\t * @return {Array|null}\n\t\t */\n\t\thoverCardActions() {\n\t\t\tif (this.isLegacy35 || !this.isMenuLoaded) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn this.menu.length > 0 ? this.menu : null\n\t\t},\n\n\t\t/**\n\t\t * Status already known by this avatar so the hover card does not fetch it again.\n\t\t * Omitted while status is still the empty default (fetch in progress).\n\t\t *\n\t\t * @return {object|undefined}\n\t\t */\n\t\thoverCardPreloadedUserStatus() {\n\t\t\tif (this.preloadedUserStatus) {\n\t\t\t\treturn this.userStatus\n\t\t\t}\n\t\t\tif (this.userStatus.status || this.userStatus.icon || this.userStatus.message) {\n\t\t\t\treturn this.userStatus\n\t\t\t}\n\t\t\treturn undefined\n\t\t},\n\n\t\tmenu() {\n\t\t\tif (this.isLegacy35) {\n\t\t\t\treturn this.legacyMenu\n\t\t\t}\n\n\t\t\tconst actions = this.contactsMenuActions.map((item) => {\n\t\t\t\tconst route = getRoute(this.$router, item.hyperlink)\n\t\t\t\treturn {\n\t\t\t\t\tid: item.id,\n\t\t\t\t\tappId: item.appId,\n\t\t\t\t\ttext: item.title,\n\t\t\t\t\thref: route ? undefined : item.hyperlink,\n\t\t\t\t\tto: route || undefined,\n\t\t\t\t\ticon: item.icon,\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tfor (const action of getEnabledContactsMenuActions(this.contactsMenuData)) {\n\t\t\t\ttry {\n\t\t\t\t\tactions.push({\n\t\t\t\t\t\tid: action.id,\n\t\t\t\t\t\ttext: action.displayName(this.contactsMenuData),\n\t\t\t\t\t\ticonSvg: action.iconSvg(this.contactsMenuData),\n\t\t\t\t\t\tonClick: () => action.callback(this.contactsMenuData),\n\t\t\t\t\t})\n\t\t\t\t} catch (error) {\n\t\t\t\t\tlogger.error(`Failed to render ContactsMenu action ${action.id}`, {\n\t\t\t\t\t\terror,\n\t\t\t\t\t\taction,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn actions\n\t\t},\n\n\t\t/**\n\t\t * Legacy NcActions menu entries for Nextcloud 32â34.\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\tlegacyMenu() {\n\t\t\tconst actions = this.contactsMenuActions.map((item) => {\n\t\t\t\tconst route = getRoute(this.$router, item.hyperlink)\n\t\t\t\treturn {\n\t\t\t\t\tncActionComponent: route ? NcActionRouter : NcActionLink,\n\t\t\t\t\tncActionComponentProps: route\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tto: route,\n\t\t\t\t\t\t\t\ticon: item.icon,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\thref: item.hyperlink,\n\t\t\t\t\t\t\t\ticon: item.icon,\n\t\t\t\t\t\t\t},\n\t\t\t\t\ttext: item.title,\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tfor (const action of getEnabledContactsMenuActions(this.contactsMenuData)) {\n\t\t\t\ttry {\n\t\t\t\t\tactions.push({\n\t\t\t\t\t\tncActionComponent: NcActionButton,\n\t\t\t\t\t\tncActionComponentProps: {},\n\t\t\t\t\t\tncActionComponentHandlers: {\n\t\t\t\t\t\t\tclick: () => action.callback(this.contactsMenuData),\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttext: action.displayName(this.contactsMenuData),\n\t\t\t\t\t\ticonSvg: action.iconSvg(this.contactsMenuData),\n\t\t\t\t\t})\n\t\t\t\t} catch (error) {\n\t\t\t\t\tlogger.error(`Failed to render ContactsMenu action ${action.id}`, {\n\t\t\t\t\t\terror,\n\t\t\t\t\t\taction,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * @param {string} html The HTML to escape\n\t\t\t */\n\t\t\tfunction escape(html) {\n\t\t\t\tconst text = document.createTextNode(html)\n\t\t\t\tconst p = document.createElement('p')\n\t\t\t\tp.appendChild(text)\n\t\t\t\treturn p.innerHTML\n\t\t\t}\n\n\t\t\tif (!this.hideStatus && this.showUserStatus && (this.userStatus.icon || this.userStatus.message)) {\n\t\t\t\t// NcAction's URL icons are inverted in dark mode, so we need to pass SVG image in the icon slot\n\t\t\t\tconst emojiIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n\t\t\t\t\t<text x=\"50%\" y=\"50%\" text-anchor=\"middle\" style=\"dominant-baseline: central; font-size: 85%\">${escape(this.userStatus.icon)}</text>\n\t\t\t\t</svg>`\n\t\t\t\treturn [{\n\t\t\t\t\tncActionComponent: NcActionText,\n\t\t\t\t\tncActionComponentProps: {},\n\t\t\t\t\ticonSvg: this.userStatus.icon ? emojiIcon : undefined,\n\t\t\t\t\ttext: `${this.userStatus.message}`,\n\t\t\t\t}].concat(actions)\n\t\t\t}\n\n\t\t\treturn actions\n\t\t},\n\t},\n\n\twatch: {\n\t\turl() {\n\t\t\tthis.userDoesNotExist = false\n\t\t\tthis.loadAvatarUrl()\n\t\t},\n\n\t\tuser() {\n\t\t\tthis.userDoesNotExist = false\n\t\t\tthis.isMenuLoaded = false\n\t\t\tthis.loadAvatarUrl()\n\t\t},\n\n\t\tpreloadedUserStatus(status) {\n\t\t\tif (status) {\n\t\t\t\tthis.setUserStatus(status)\n\t\t\t}\n\t\t},\n\n\t\tcontactsMenuOpenState(shown) {\n\t\t\t// Hover card opens on hover/focus; debounce the contacts menu fetch.\n\t\t\t// Legacy NcActions loads on click via toggleMenu.\n\t\t\tif (this.isLegacy35) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (shown) {\n\t\t\t\tthis.debouncedFetchContactsMenu()\n\t\t\t} else {\n\t\t\t\tthis.debouncedFetchContactsMenu.clear()\n\t\t\t}\n\t\t},\n\t},\n\n\tcreated() {\n\t\tthis.debouncedFetchContactsMenu = debounce(this.fetchContactsMenu, 300)\n\t},\n\n\tmounted() {\n\t\tthis.loadAvatarUrl()\n\t\tsubscribe('settings:avatar:updated', this.loadAvatarUrl)\n\t\tsubscribe('settings:display-name:updated', this.loadAvatarUrl)\n\t\tif (!this.hideStatus && this.showUserStatus && this.user && !this.isNoUser) {\n\t\t\tif (!this.preloadedUserStatus) {\n\t\t\t\tthis.fetchUserStatus(this.user)\n\t\t\t} else {\n\t\t\t\tthis.setUserStatus(this.preloadedUserStatus)\n\t\t\t}\n\t\t\tsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t\t} else if (!this.hideStatus && this.preloadedUserStatus) {\n\t\t\t// Always set preloaded status if provided\n\t\t\tthis.setUserStatus(this.preloadedUserStatus)\n\t\t}\n\t},\n\n\tbeforeDestroy() {\n\t\tthis.debouncedFetchContactsMenu.clear()\n\t\tunsubscribe('settings:avatar:updated', this.loadAvatarUrl)\n\t\tunsubscribe('settings:display-name:updated', this.loadAvatarUrl)\n\t\tunsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t},\n\n\tmethods: {\n\t\tt,\n\t\thandleUserStatusUpdated(state) {\n\t\t\tif (this.user === state.userId) {\n\t\t\t\tthis.userStatus = {\n\t\t\t\t\tstatus: state.status,\n\t\t\t\t\ticon: state.icon,\n\t\t\t\t\tmessage: state.message,\n\t\t\t\t}\n\t\t\t\tthis.hasStatus = state.status !== null\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Toggle the legacy popover menu on click or enter\n\t\t *\n\t\t * @param {KeyboardEvent|MouseEvent} event the UI event\n\t\t */\n\t\tasync toggleMenu(event) {\n\t\t\tif (event.type === 'keydown' && event.key !== 'Enter') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (!this.contactsMenuOpenState) {\n\t\t\t\tawait this.fetchContactsMenu()\n\t\t\t}\n\t\t\tthis.contactsMenuOpenState = !this.contactsMenuOpenState\n\t\t},\n\n\t\tcloseMenu() {\n\t\t\t// Only used by the legacy NcActions path (click-outside).\n\t\t\tif (!this.isLegacy35) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.contactsMenuOpenState = false\n\t\t},\n\n\t\tasync fetchContactsMenu() {\n\t\t\tthis.contactsMenuLoading = true\n\t\t\ttry {\n\t\t\t\tconst user = encodeURIComponent(this.user)\n\t\t\t\tconst { data } = await axios.post(generateUrl('contactsmenu/findOne'), `shareType=0&shareWith=${user}`)\n\t\t\t\tthis.contactsMenuData = data\n\t\t\t\tthis.contactsMenuActions = data.topAction ? [data.topAction].concat(data.actions) : data.actions\n\t\t\t} catch {\n\t\t\t\tthis.contactsMenuData = {}\n\t\t\t\tthis.contactsMenuActions = []\n\t\t\t\tif (this.isLegacy35) {\n\t\t\t\t\tthis.contactsMenuOpenState = false\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.contactsMenuLoading = false\n\t\t\tthis.isMenuLoaded = true\n\t\t},\n\n\t\t/**\n\t\t * Handle avatar loading if user or url defined\n\t\t */\n\t\tloadAvatarUrl() {\n\t\t\tthis.isAvatarLoaded = false\n\n\t\t\t/** Only run avatar image loading if either user or url property is defined */\n\t\t\tif (!this.isUrlDefined && (!this.isUserDefined || this.isNoUser || this.iconClass || this.$scopedSlots.icon)) {\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Directly use the url if defined\n\t\t\tif (this.isUrlDefined) {\n\t\t\t\tthis.updateImageIfValid(this.url)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.size <= 64) {\n\t\t\t\tconst avatarUrl = this.avatarUrlGenerator(this.user, 64)\n\t\t\t\tconst srcset = [\n\t\t\t\t\tavatarUrl + ' 1x',\n\t\t\t\t\tthis.avatarUrlGenerator(this.user, 512) + ' 8x',\n\t\t\t\t].join(', ')\n\n\t\t\t\tthis.updateImageIfValid(avatarUrl, srcset)\n\t\t\t} else {\n\t\t\t\tconst avatarUrl = this.avatarUrlGenerator(this.user, 512)\n\t\t\t\tthis.updateImageIfValid(avatarUrl)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Generate an avatar url from the server's avatar endpoint\n\t\t *\n\t\t * @param {string} user the user id\n\t\t * @param {number} size the desired size\n\t\t * @return {string}\n\t\t */\n\t\tavatarUrlGenerator(user, size) {\n\t\t\tlet avatarUrl = getAvatarUrl(user, {\n\t\t\t\tsize,\n\t\t\t\tisDarkTheme: this.isDarkTheme,\n\t\t\t\tisGuest: this.isGuest,\n\t\t\t})\n\n\t\t\tif (user === getCurrentUser()?.uid && typeof window.oc_userconfig !== 'undefined') {\n\t\t\t\tavatarUrl += '?v=' + window.oc_userconfig.avatar.version\n\t\t\t}\n\n\t\t\treturn avatarUrl\n\t\t},\n\n\t\t/**\n\t\t * Check if the provided url is valid and update Avatar if so\n\t\t *\n\t\t * @param {string} url the avatar url\n\t\t * @param {Array} srcset the avatar srcset\n\t\t */\n\t\tupdateImageIfValid(url, srcset = null) {\n\t\t\t// skip loading\n\t\t\tconst userHasAvatar = getUserHasAvatar(this.user)\n\t\t\tif (this.isUserDefined && typeof userHasAvatar === 'boolean') {\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\tthis.avatarUrlLoaded = url\n\t\t\t\tif (srcset) {\n\t\t\t\t\tthis.avatarSrcSetLoaded = srcset\n\t\t\t\t}\n\t\t\t\tif (userHasAvatar === false) {\n\t\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst img = new Image()\n\t\t\timg.onload = () => {\n\t\t\t\tthis.avatarUrlLoaded = url\n\t\t\t\tif (srcset) {\n\t\t\t\t\tthis.avatarSrcSetLoaded = srcset\n\t\t\t\t}\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\t// re-get to avoid concurrent access\n\t\t\t\tsetUserHasAvatar(this.user, true)\n\t\t\t}\n\t\t\timg.onerror = (error) => {\n\t\t\t\tlogger.debug('Invalid avatar url', { error, url })\n\t\t\t\t// Avatar is invalid, reset\n\t\t\t\tthis.avatarUrlLoaded = null\n\t\t\t\tthis.avatarSrcSetLoaded = null\n\n\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\tthis.isAvatarLoaded = false\n\t\t\t\tsetUserHasAvatar(this.user, false)\n\t\t\t}\n\n\t\t\tif (srcset) {\n\t\t\t\timg.srcset = srcset\n\t\t\t}\n\t\t\timg.src = url\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.avatardiv {\n\tposition: relative;\n\tdisplay: inline-block;\n\twidth: var(--avatar-size);\n\theight: var(--avatar-size);\n\n\t&--unknown {\n\t\tposition: relative;\n\t\tbackground-color: var(--color-main-background);\n\t\twhite-space: normal;\n\t}\n\n\t&:not(&--unknown) {\n\t\t// White/black background for avatars with transparency\n\t\tbackground-color: var(--color-main-background) !important;\n\t\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\n\t}\n\n\t&--with-menu {\n\t\tcursor: pointer;\n\t\tposition: relative;\n\t}\n\n\t&--with-legacy-menu {\n\t\t.action-item {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tinset-inline-start: 0;\n\t\t}\n\t\t:deep(.action-item__menutoggle) {\n\t\t\tcursor: pointer;\n\t\t\topacity: 0;\n\t\t}\n\t\t&:focus-within,\n\t\t&:hover,\n\t\t&.avatardiv--with-menu-loading {\n\t\t\t:deep(.action-item__menutoggle) {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\timg {\n\t\t\t\topacity: 0.3;\n\t\t\t}\n\t\t}\n\t\t:deep(.action-item__menutoggle),\n\t\timg {\n\t\t\ttransition: opacity var(--animation-quick);\n\t\t}\n\t\t:deep() {\n\t\t\t.button-vue,\n\t\t\t.button-vue__icon {\n\t\t\t\theight: var(--avatar-size);\n\t\t\t\tmin-height: var(--avatar-size);\n\t\t\t\twidth: var(--avatar-size) !important;\n\t\t\t\tmin-width: var(--avatar-size);\n\t\t\t}\n\t\t}\n\t\t& > :deep(.button-vue),\n\t\t& > :deep(.action-item .button-vue) {\n\t\t\t--button-radius: calc(var(--avatar-size) / 2);\n\t\t}\n\t}\n\n\t.avatar-profile-popover {\n\t\tposition: absolute;\n\t\tinset: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tz-index: 1;\n\n\t\t&__trigger {\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\tborder-radius: inherit;\n\t\t\toutline: none;\n\t\t}\n\t}\n\n\t.avatardiv__initials-wrapper {\n\t\tdisplay: block;\n\t\theight: var(--avatar-size);\n\t\twidth: var(--avatar-size);\n\t\tbackground-color: var(--color-main-background);\n\t\tborder-radius: calc(var(--avatar-size) / 2);\n\n\t\t.avatardiv__initials {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t\ttext-align: center;\n\t\t\tfont-weight: var(--font-weight-default, normal);\n\t\t}\n\t}\n\n\timg {\n\t\t// Cover entire area\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\t// Keep ratio\n\t\tobject-fit: cover;\n\t}\n\n\t.material-design-icon {\n\t\twidth: var(--avatar-size);\n\t\theight: var(--avatar-size);\n\t}\n\n\t.avatardiv__user-status {\n\t\t// Size of the status icon to make it:\n\t\t// - đĢ Orbital: the status icon's center is positioned on the avatar circle\n\t\t// - âšī¸ Best-fit: the status icon is as large as possible without exceeding the avatar box\n\t\t// See PR for math explanation: PR #6004\n\t\t--avatar-status-size-orbital: calc(var(--avatar-size) * (1 - 1 / sqrt(2)));\n\t\t// Limit the status icon size to minimum font size to keep it readable\n\t\t// Ideally avatars with a smaller should not be used with the status icon at all\n\t\t--avatar-status-size-min: var(--font-size-small);\n\t\t--avatar-status-size: max(var(--avatar-status-size-orbital), var(--avatar-status-size-min));\n\t\tbox-sizing: border-box;\n\t\tposition: absolute;\n\t\tinset-inline-end: 0;\n\t\tinset-block-end: 0;\n\t\theight: var(--avatar-status-size);\n\t\twidth: var(--avatar-status-size);\n\t\tline-height: 1;\n\t\tfont-size: calc(var(--avatar-status-size) / 1.2);\n\t\tbackground-color: var(--color-main-background);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-size: var(--avatar-status-size);\n\t\tbackground-position: center;\n\t\tborder-radius: 50%;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\t.acli:hover & {\n\t\t\tborder-color: var(--color-background-hover);\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t\t.acli.active & {\n\t\t\tborder-color: var(--color-primary-element-light);\n\t\t\tbackground-color: var(--color-primary-element-light);\n\t\t}\n\n\t\t&--icon {\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t.popovermenu-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n}\n\n.avatar-class-icon {\n\tdisplay: block;\n\tborder-radius: calc(var(--avatar-size) / 2);\n\tbackground-color: var(--color-background-darker);\n\theight: 100%;\n}\n\n</style>\n"],"names":["capabilities","getCapabilities","getCurrentUser","axios","generateOcsUrl","logger","getBuilder","ClickOutside","IconDotsHorizontal","NcActions","NcButton","NcIconSvgWrapper","NcLoadingIcon","NcPopover","defineAsyncComponent","NcUserStatusIcon","useIsDarkTheme","isLegacy35","t","getUserStatusText","usernameToColor","getRoute","getEnabledContactsMenuActions","NcActionRouter","NcActionLink","NcActionButton","NcActionText","debounce","subscribe","unsubscribe","generateUrl","getAvatarUrl"],"mappings":"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"}
|