@nextcloud/vue 9.8.1 → 9.9.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 +34 -0
- package/README.md +21 -0
- package/dist/assets/{NcActions-DOI7rRa0.css → NcActions-y7ehwPSp.css} +14 -11
- package/dist/assets/{NcAppContent-BC7DBer3.css → NcAppContent-TgcZd4AI.css} +20 -20
- package/dist/assets/{NcAppNavigation-2b1jxOXM.css → NcAppNavigation-OHw55TTZ.css} +13 -13
- package/dist/assets/{NcAppNavigationItem-BsuZoJAq.css → NcAppNavigationItem-BZ1xj6Xi.css} +49 -49
- package/dist/assets/{NcAppNavigationSettings-HQEDobBQ.css → NcAppNavigationSettings-mWFhcXm0.css} +6 -6
- package/dist/assets/{NcAppSettingsDialog-HsZoLuDy.css → NcAppSettingsDialog-Dh_scIK4.css} +31 -31
- package/dist/assets/{NcAppSettingsShortcutsSection-BonG0SgH.css → NcAppSettingsShortcutsSection-BHxkQTg2.css} +1 -1
- package/dist/assets/{NcAppSidebar-dHtSShIl.css → NcAppSidebar-oJQ8kUb0.css} +21 -21
- package/dist/assets/{NcAssistantButton-BmD9GrOw.css → NcAssistantButton-CT25wqIs.css} +9 -9
- package/dist/assets/{NcAssistantContent-7THxd33X.css → NcAssistantContent-FV00e96S.css} +3 -3
- package/dist/assets/{NcAssistantIcon-CsBmzIxJ.css → NcAssistantIcon-BMLpMaMJ.css} +4 -4
- package/dist/assets/{NcBlurHash-tWUPu9Oh.css → NcBlurHash-RgrahjEp.css} +2 -2
- package/dist/assets/{NcBreadcrumbs-5gl8Syfa.css → NcBreadcrumbs-B4eyDS9i.css} +6 -6
- package/dist/assets/{NcButton-Bf9wuDV-.css → NcButton-DOrlC_y5.css} +49 -49
- package/dist/assets/{NcDateTimePicker-HT1ZTE-Z.css → NcDateTimePicker-BQ_y9Ihj.css} +235 -235
- package/dist/assets/{NcFilePicker-CimiKIH1.css → NcFilePicker-BdjtiV3h.css} +1 -1
- package/dist/assets/{NcFormBox-CRdHJkrd.css → NcFormBox-TRgICDO3.css} +11 -11
- package/dist/assets/{NcFormBoxButton-BWfU7d2r.css → NcFormBoxButton-ClkxmO-H.css} +2 -2
- package/dist/assets/{NcFormBoxItem-Bjbi17-B.css → NcFormBoxItem-CABDVZLe.css} +14 -14
- package/dist/assets/{NcFormBoxSwitch-Cn-MBAzZ.css → NcFormBoxSwitch-NCjook_Z.css} +2 -2
- package/dist/assets/{NcFormGroup-qFucmL8a.css → NcFormGroup-eh8-PBGB.css} +7 -7
- package/dist/assets/{NcGuestContent-j8ai4O1K.css → NcGuestContent-CM0uWLr1.css} +3 -3
- package/dist/assets/{NcHotkey-CvuY7fQJ.css → NcHotkey-Dm-26TVC.css} +8 -8
- package/dist/assets/{NcHotkeyList-BfrEkKmK.css → NcHotkeyList-BigfRqyr.css} +2 -2
- package/dist/assets/{NcIconToggleSwitch-V-AKJgPA.css → NcIconToggleSwitch-zUXkaJHv.css} +4 -4
- package/dist/assets/{NcInputConfirmCancel-BEmwC87z.css → NcInputConfirmCancel-DZEDRf0t.css} +8 -8
- package/dist/assets/{NcKbd-BeQpGp0b.css → NcKbd-DcC56WbC.css} +3 -3
- package/dist/assets/{NcListItem-1uR7AJIf.css → NcListItem-BjeejGlB.css} +58 -58
- package/dist/assets/{NcMentionBubble-ptHUq68a.css → NcMentionBubble-BeGb2xGc.css} +9 -9
- package/dist/assets/{NcPopover-P1fheee2.css → NcPopover-CAoHhjKa.css} +14 -14
- package/dist/assets/{NcRadioGroup-BoFb0R8S.css → NcRadioGroup-CtXZ4Y8D.css} +2 -2
- package/dist/assets/{NcRadioGroupButton-DUF_3DDU.css → NcRadioGroupButton-BuB-aWeJ.css} +13 -13
- package/dist/assets/{NcRelatedResourcesPanel-CiG_Ixb6.css → NcRelatedResourcesPanel-BZKjkugM.css} +24 -24
- package/dist/assets/{NcRichContenteditable-DNABzVif.css → NcRichContenteditable-BCUBhRqg.css} +37 -37
- package/dist/assets/{NcRichText-BTu-LT3p.css → NcRichText-D0Bu5bbu.css} +93 -93
- package/dist/assets/{autolink-C_iad4O_.css → autolink-XS-VDSVB.css} +3 -3
- package/dist/assets/{referencePickerModal-Dod7nzta.css → referencePickerModal-BNPfxyni.css} +89 -54
- package/dist/chunks/{NcActionButtonGroup-B9LfyE-G.mjs → NcActionButtonGroup-Dd03Oluy.mjs} +2 -2
- package/dist/chunks/{NcActionButtonGroup-B9LfyE-G.mjs.map → NcActionButtonGroup-Dd03Oluy.mjs.map} +1 -1
- package/dist/chunks/{NcActionInput-BO0lB4VP.mjs → NcActionInput-Dr8Yrafu.mjs} +5 -5
- package/dist/chunks/{NcActionInput-BO0lB4VP.mjs.map → NcActionInput-Dr8Yrafu.mjs.map} +1 -1
- package/dist/chunks/{NcActions-CUmcZ3C3.mjs → NcActions-C-wDqSrv.mjs} +23 -8
- package/dist/chunks/NcActions-C-wDqSrv.mjs.map +1 -0
- package/dist/chunks/{NcAppContent--92JdjRr.mjs → NcAppContent-DavgjaFX.mjs} +5 -5
- package/dist/chunks/{NcAppContent--92JdjRr.mjs.map → NcAppContent-DavgjaFX.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigation-Bb9-C2eO.mjs → NcAppNavigation-g57j16pB.mjs} +8 -7
- package/dist/chunks/NcAppNavigation-g57j16pB.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationCaption-E9iJtiQt.mjs → NcAppNavigationCaption-VjSWJ8R4.mjs} +2 -2
- package/dist/chunks/{NcAppNavigationCaption-E9iJtiQt.mjs.map → NcAppNavigationCaption-VjSWJ8R4.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationItem-BFAIHyTL.mjs → NcAppNavigationItem-CDeYtA3E.mjs} +12 -12
- package/dist/chunks/{NcAppNavigationItem-BFAIHyTL.mjs.map → NcAppNavigationItem-CDeYtA3E.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNew-Dspn3-4i.mjs → NcAppNavigationNew-CBNppM7Q.mjs} +2 -2
- package/dist/chunks/{NcAppNavigationNew-Dspn3-4i.mjs.map → NcAppNavigationNew-CBNppM7Q.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNewItem-Cg8IJ6ZV.mjs → NcAppNavigationNewItem-B1RfQkvu.mjs} +2 -2
- package/dist/chunks/{NcAppNavigationNewItem-Cg8IJ6ZV.mjs.map → NcAppNavigationNewItem-B1RfQkvu.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSearch-CiOKjV3M.mjs → NcAppNavigationSearch-CQQWb1Eq.mjs} +3 -3
- package/dist/chunks/{NcAppNavigationSearch-CiOKjV3M.mjs.map → NcAppNavigationSearch-CQQWb1Eq.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSettings-fbuQmy-q.mjs → NcAppNavigationSettings-DoMjRExO.mjs} +10 -10
- package/dist/chunks/{NcAppNavigationSettings-fbuQmy-q.mjs.map → NcAppNavigationSettings-DoMjRExO.mjs.map} +1 -1
- package/dist/chunks/{NcAppSettingsDialog-DByPnndK.mjs → NcAppSettingsDialog-BPcEYLjP.mjs} +8 -8
- package/dist/chunks/NcAppSettingsDialog-BPcEYLjP.mjs.map +1 -0
- package/dist/chunks/{NcAppSettingsShortcutsSection-DgqVuZGx.mjs → NcAppSettingsShortcutsSection-DLwubKV9.mjs} +4 -4
- package/dist/chunks/{NcAppSettingsShortcutsSection-DgqVuZGx.mjs.map → NcAppSettingsShortcutsSection-DLwubKV9.mjs.map} +1 -1
- package/dist/chunks/{NcAppSidebar-Ch7Vp7q5.mjs → NcAppSidebar-C8YzAzrZ.mjs} +12 -12
- package/dist/chunks/{NcAppSidebar-Ch7Vp7q5.mjs.map → NcAppSidebar-C8YzAzrZ.mjs.map} +1 -1
- package/dist/chunks/{NcAssistantButton-CTrCv4CO.mjs → NcAssistantButton-iK491d2v.mjs} +11 -11
- package/dist/chunks/{NcAssistantButton-CTrCv4CO.mjs.map → NcAssistantButton-iK491d2v.mjs.map} +1 -1
- package/dist/chunks/{NcAssistantContent-CeuwcdMY.mjs → NcAssistantContent-iHA4O4cC.mjs} +5 -5
- package/dist/chunks/{NcAssistantContent-CeuwcdMY.mjs.map → NcAssistantContent-iHA4O4cC.mjs.map} +1 -1
- package/dist/chunks/{NcAssistantIcon-Dpp9_LUg.mjs → NcAssistantIcon-C6s4Qm7-.mjs} +6 -6
- package/dist/chunks/{NcAssistantIcon-Dpp9_LUg.mjs.map → NcAssistantIcon-C6s4Qm7-.mjs.map} +1 -1
- package/dist/chunks/{NcAvatar-M3-CbKbq.mjs → NcAvatar-1KxMUN7V.mjs} +11 -10
- package/dist/chunks/NcAvatar-1KxMUN7V.mjs.map +1 -0
- package/dist/chunks/{NcBlurHash-yPfSKY7W.mjs → NcBlurHash-B30Ol8KP.mjs} +4 -4
- package/dist/chunks/{NcBlurHash-yPfSKY7W.mjs.map → NcBlurHash-B30Ol8KP.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumb-BeDMWE_b.mjs → NcBreadcrumb-3Y5NWXnV.mjs} +3 -3
- package/dist/chunks/{NcBreadcrumb-BeDMWE_b.mjs.map → NcBreadcrumb-3Y5NWXnV.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumbs-CuQDDvin.mjs → NcBreadcrumbs-BaTp3Sya.mjs} +5 -6
- package/dist/chunks/{NcBreadcrumbs-CuQDDvin.mjs.map → NcBreadcrumbs-BaTp3Sya.mjs.map} +1 -1
- package/dist/chunks/{NcButton-QbPBynlU.mjs → NcButton-jvoYS2my.mjs} +3 -3
- package/dist/chunks/{NcButton-QbPBynlU.mjs.map → NcButton-jvoYS2my.mjs.map} +1 -1
- package/dist/chunks/{NcCheckboxRadioSwitch-D8Dfv4iw.mjs → NcCheckboxRadioSwitch-DVdt5Hkq.mjs} +3 -3
- package/dist/chunks/{NcCheckboxRadioSwitch-D8Dfv4iw.mjs.map → NcCheckboxRadioSwitch-DVdt5Hkq.mjs.map} +1 -1
- package/dist/chunks/{NcChip-nVHnbjaY.mjs → NcChip-DKRlV47q.mjs} +3 -3
- package/dist/chunks/{NcChip-nVHnbjaY.mjs.map → NcChip-DKRlV47q.mjs.map} +1 -1
- package/dist/chunks/{NcCollectionList-CO-iHqi6.mjs → NcCollectionList-B9qCtjJw.mjs} +6 -6
- package/dist/chunks/NcCollectionList-B9qCtjJw.mjs.map +1 -0
- package/dist/chunks/{NcColorPicker-D6NbBOX3.mjs → NcColorPicker-BCkasLwT.mjs} +5 -5
- package/dist/chunks/{NcColorPicker-D6NbBOX3.mjs.map → NcColorPicker-BCkasLwT.mjs.map} +1 -1
- package/dist/chunks/{NcContent-BhMoPROW.mjs → NcContent-BYh5hWDN.mjs} +3 -3
- package/dist/chunks/{NcContent-BhMoPROW.mjs.map → NcContent-BYh5hWDN.mjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidget-ftOfMTzx.mjs → NcDashboardWidget-zmbDEGL-.mjs} +4 -4
- package/dist/chunks/{NcDashboardWidget-ftOfMTzx.mjs.map → NcDashboardWidget-zmbDEGL-.mjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidgetItem-BwwFiNOL.mjs → NcDashboardWidgetItem-DwDndrm_.mjs} +3 -3
- package/dist/chunks/{NcDashboardWidgetItem-BwwFiNOL.mjs.map → NcDashboardWidgetItem-DwDndrm_.mjs.map} +1 -1
- package/dist/chunks/{NcDateTimePicker-CK4rhfEB.mjs → NcDateTimePicker-qaFC_wUt.mjs} +20 -14
- package/dist/chunks/NcDateTimePicker-qaFC_wUt.mjs.map +1 -0
- package/dist/chunks/{NcDateTimePickerNative-BeM4WOA4.mjs → NcDateTimePickerNative-B8CMOUnH.mjs} +2 -2
- package/dist/chunks/{NcDateTimePickerNative-BeM4WOA4.mjs.map → NcDateTimePickerNative-B8CMOUnH.mjs.map} +1 -1
- package/dist/chunks/{NcDialog-kwzJ3A4X.mjs → NcDialog-D617YI0t.mjs} +3 -3
- package/dist/chunks/{NcDialog-kwzJ3A4X.mjs.map → NcDialog-D617YI0t.mjs.map} +1 -1
- package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-Cn-8O9iZ.mjs → NcDialogButton.vue_vue_type_script_setup_true_lang-Bqfy678u.mjs} +3 -3
- package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-Cn-8O9iZ.mjs.map → NcDialogButton.vue_vue_type_script_setup_true_lang-Bqfy678u.mjs.map} +1 -1
- package/dist/chunks/{NcEmojiPicker-Bpw-68QP.mjs → NcEmojiPicker-UTxgju3f.mjs} +7 -7
- package/dist/chunks/{NcEmojiPicker-Bpw-68QP.mjs.map → NcEmojiPicker-UTxgju3f.mjs.map} +1 -1
- package/dist/chunks/{NcFilePicker-nPCwHMqj.mjs → NcFilePicker-bD2toutn.mjs} +4 -4
- package/dist/chunks/{NcFilePicker-nPCwHMqj.mjs.map → NcFilePicker-bD2toutn.mjs.map} +1 -1
- package/dist/chunks/{NcFormBox-ClWfuBWz.mjs → NcFormBox-Bmqar8nn.mjs} +7 -7
- package/dist/chunks/{NcFormBox-ClWfuBWz.mjs.map → NcFormBox-Bmqar8nn.mjs.map} +1 -1
- package/dist/chunks/{NcFormBoxButton-i4i3Lt_Q.mjs → NcFormBoxButton-G_PkUiQy.mjs} +5 -5
- package/dist/chunks/{NcFormBoxButton-i4i3Lt_Q.mjs.map → NcFormBoxButton-G_PkUiQy.mjs.map} +1 -1
- package/dist/chunks/{NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-NfKiRrIn.mjs → NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-BA_gWnmz.mjs} +3 -3
- package/dist/chunks/{NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-NfKiRrIn.mjs.map → NcFormBoxCopyButton.vue_vue_type_script_setup_true_lang-BA_gWnmz.mjs.map} +1 -1
- package/dist/chunks/{NcFormBoxItem-BTB68AEB.mjs → NcFormBoxItem-Cm8aZaVJ.mjs} +10 -10
- package/dist/chunks/{NcFormBoxItem-BTB68AEB.mjs.map → NcFormBoxItem-Cm8aZaVJ.mjs.map} +1 -1
- package/dist/chunks/{NcFormBoxSwitch-DlNcJ1q7.mjs → NcFormBoxSwitch-DSXiQcnq.mjs} +6 -6
- package/dist/chunks/{NcFormBoxSwitch-DlNcJ1q7.mjs.map → NcFormBoxSwitch-DSXiQcnq.mjs.map} +1 -1
- package/dist/chunks/{NcFormGroup-DvLGFMdb.mjs → NcFormGroup-N7qIFAwN.mjs} +9 -9
- package/dist/chunks/{NcFormGroup-DvLGFMdb.mjs.map → NcFormGroup-N7qIFAwN.mjs.map} +1 -1
- package/dist/chunks/{NcGuestContent-_z22nZMF.mjs → NcGuestContent-CvT6VGt1.mjs} +4 -10
- package/dist/chunks/NcGuestContent-CvT6VGt1.mjs.map +1 -0
- package/dist/chunks/{NcHeaderButton-m4oAOSTa.mjs → NcHeaderButton-BnLwYCog.mjs} +2 -2
- package/dist/chunks/{NcHeaderButton-m4oAOSTa.mjs.map → NcHeaderButton-BnLwYCog.mjs.map} +1 -1
- package/dist/chunks/{NcHeaderMenu-DRxcyWNX.mjs → NcHeaderMenu-ktQJV2SW.mjs} +2 -2
- package/dist/chunks/{NcHeaderMenu-DRxcyWNX.mjs.map → NcHeaderMenu-ktQJV2SW.mjs.map} +1 -1
- package/dist/chunks/{NcHotkey-C-TYyC8X.mjs → NcHotkey-BDGeF3eH.mjs} +7 -7
- package/dist/chunks/{NcHotkey-C-TYyC8X.mjs.map → NcHotkey-BDGeF3eH.mjs.map} +1 -1
- package/dist/chunks/{NcHotkeyList-CmMgGhMr.mjs → NcHotkeyList-B4WjTLAp.mjs} +5 -5
- package/dist/chunks/{NcHotkeyList-CmMgGhMr.mjs.map → NcHotkeyList-B4WjTLAp.mjs.map} +1 -1
- package/dist/chunks/{NcIconToggleSwitch-CbfRwb67.mjs → NcIconToggleSwitch-CRvGt4su.mjs} +4 -4
- package/dist/chunks/{NcIconToggleSwitch-CbfRwb67.mjs.map → NcIconToggleSwitch-CRvGt4su.mjs.map} +1 -1
- package/dist/chunks/{NcInputConfirmCancel-B6qC3s63.mjs → NcInputConfirmCancel-CGTllrXj.mjs} +8 -8
- package/dist/chunks/{NcInputConfirmCancel-B6qC3s63.mjs.map → NcInputConfirmCancel-CGTllrXj.mjs.map} +1 -1
- package/dist/chunks/{NcInputField-B1bGxYHt.mjs → NcInputField-5Sg6EUP6.mjs} +2 -2
- package/dist/chunks/{NcInputField-B1bGxYHt.mjs.map → NcInputField-5Sg6EUP6.mjs.map} +1 -1
- package/dist/chunks/{NcKbd-Iyp0KDp4.mjs → NcKbd-Bh_Tk6Ar.mjs} +5 -5
- package/dist/chunks/{NcKbd-Iyp0KDp4.mjs.map → NcKbd-Bh_Tk6Ar.mjs.map} +1 -1
- package/dist/chunks/{NcListItem-Y5a098Cw.mjs → NcListItem-BliLJpvU.mjs} +8 -8
- package/dist/chunks/{NcListItem-Y5a098Cw.mjs.map → NcListItem-BliLJpvU.mjs.map} +1 -1
- package/dist/chunks/{NcListItemIcon-D_f5AGrh.mjs → NcListItemIcon-Dl_tfkk9.mjs} +3 -3
- package/dist/chunks/{NcListItemIcon-D_f5AGrh.mjs.map → NcListItemIcon-Dl_tfkk9.mjs.map} +1 -1
- package/dist/chunks/{NcMentionBubble.vue_vue_type_style_index_0_scoped_45238efd_lang-BX_KxRP-.mjs → NcMentionBubble.vue_vue_type_style_index_0_scoped_3c4a673d_lang-DyqakLm5.mjs} +2 -2
- package/dist/chunks/{NcMentionBubble.vue_vue_type_style_index_0_scoped_45238efd_lang-BX_KxRP-.mjs.map → NcMentionBubble.vue_vue_type_style_index_0_scoped_3c4a673d_lang-DyqakLm5.mjs.map} +1 -1
- package/dist/chunks/{NcModal-DUWLRm_F.mjs → NcModal-DiDvgcU8.mjs} +4 -4
- package/dist/chunks/{NcModal-DUWLRm_F.mjs.map → NcModal-DiDvgcU8.mjs.map} +1 -1
- package/dist/chunks/{NcPasswordField-Be5_qcfm.mjs → NcPasswordField-BFyzHTOO.mjs} +3 -3
- package/dist/chunks/{NcPasswordField-Be5_qcfm.mjs.map → NcPasswordField-BFyzHTOO.mjs.map} +1 -1
- package/dist/chunks/{NcPopover-CtdLAkEU.mjs → NcPopover-B87bEPLq.mjs} +4 -4
- package/dist/chunks/{NcPopover-CtdLAkEU.mjs.map → NcPopover-B87bEPLq.mjs.map} +1 -1
- package/dist/chunks/{NcRadioGroup-BzW4XHoK.mjs → NcRadioGroup-B4qmS2UD.mjs} +6 -6
- package/dist/chunks/{NcRadioGroup-BzW4XHoK.mjs.map → NcRadioGroup-B4qmS2UD.mjs.map} +1 -1
- package/dist/chunks/{NcRadioGroupButton-CXKQMID9.mjs → NcRadioGroupButton-CZykGwv3.mjs} +8 -8
- package/dist/chunks/{NcRadioGroupButton-CXKQMID9.mjs.map → NcRadioGroupButton-CZykGwv3.mjs.map} +1 -1
- package/dist/chunks/{NcRelatedResourcesPanel-C0j0Fs4r.mjs → NcRelatedResourcesPanel-D_Ttpg5_.mjs} +27 -11
- package/dist/chunks/NcRelatedResourcesPanel-D_Ttpg5_.mjs.map +1 -0
- package/dist/chunks/{NcRichContenteditable-DO3_WniI.mjs → NcRichContenteditable-Qw614bJ5.mjs} +37 -28
- package/dist/chunks/NcRichContenteditable-Qw614bJ5.mjs.map +1 -0
- package/dist/chunks/{NcRichText-BOBQq7Od.mjs → NcRichText-BO_4KtBA.mjs} +39 -10
- package/dist/chunks/NcRichText-BO_4KtBA.mjs.map +1 -0
- package/dist/chunks/{NcSelect-BOFzoCwK.mjs → NcSelect--kERLlBK.mjs} +5 -5
- package/dist/chunks/NcSelect--kERLlBK.mjs.map +1 -0
- package/dist/chunks/{NcSelectTags-D7qWNjXa.mjs → NcSelectTags-I2hJaNax.mjs} +3 -3
- package/dist/chunks/{NcSelectTags-D7qWNjXa.mjs.map → NcSelectTags-I2hJaNax.mjs.map} +1 -1
- package/dist/chunks/{NcSelectUsers-CI8twLn9.mjs → NcSelectUsers-K14Bepkq.mjs} +3 -3
- package/dist/chunks/{NcSelectUsers-CI8twLn9.mjs.map → NcSelectUsers-K14Bepkq.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSection-DmfxX2se.mjs → NcSettingsSection-Caz1fuWt.mjs} +2 -2
- package/dist/chunks/{NcSettingsSection-DmfxX2se.mjs.map → NcSettingsSection-Caz1fuWt.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-TN64yH4k.mjs → NcSettingsSelectGroup-SYJ8-XlR.mjs} +3 -3
- package/dist/chunks/{NcSettingsSelectGroup-TN64yH4k.mjs.map → NcSettingsSelectGroup-SYJ8-XlR.mjs.map} +1 -1
- package/dist/chunks/{NcTextField.vue_vue_type_script_setup_true_lang-BQHjkK8r.mjs → NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2.mjs} +3 -3
- package/dist/chunks/{NcTextField.vue_vue_type_script_setup_true_lang-BQHjkK8r.mjs.map → NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2.mjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker.vue_vue_type_script_setup_true_lang-Csd1JQe6.mjs → NcTimezonePicker.vue_vue_type_script_setup_true_lang-D7ZHgnwW.mjs} +3 -3
- package/dist/chunks/{NcTimezonePicker.vue_vue_type_script_setup_true_lang-Csd1JQe6.mjs.map → NcTimezonePicker.vue_vue_type_script_setup_true_lang-D7ZHgnwW.mjs.map} +1 -1
- package/dist/chunks/{NcUserBubble-CDQa0hGy.mjs → NcUserBubble-BXR7vT0V.mjs} +3 -3
- package/dist/chunks/{NcUserBubble-CDQa0hGy.mjs.map → NcUserBubble-BXR7vT0V.mjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-DsviB2Cr.mjs → NcUserStatusIcon-BF5OEQFU.mjs} +2 -2
- package/dist/chunks/{NcUserStatusIcon-DsviB2Cr.mjs.map → NcUserStatusIcon-BF5OEQFU.mjs.map} +1 -1
- package/dist/chunks/{_l10n-CG4CuN3H.mjs → _l10n-wdIzZwir.mjs} +2 -2
- package/dist/chunks/_l10n-wdIzZwir.mjs.map +1 -0
- package/dist/chunks/{autolink-BT8u-IL-.mjs → autolink-DrIurosL.mjs} +5 -5
- package/dist/chunks/autolink-DrIurosL.mjs.map +1 -0
- package/dist/chunks/{colors-BDeMBgfq.mjs → colors-Cv9F-jWS.mjs} +2 -2
- package/dist/chunks/{colors-BDeMBgfq.mjs.map → colors-Cv9F-jWS.mjs.map} +1 -1
- package/dist/chunks/{customPickerElements-Cu7bLbap.mjs → customPickerElements-BqbDcaEu.mjs} +6 -1
- package/dist/chunks/customPickerElements-BqbDcaEu.mjs.map +1 -0
- package/dist/chunks/{referencePickerModal-B4bsiMOy.mjs → referencePickerModal-CnKdEDwu.mjs} +212 -48
- package/dist/chunks/referencePickerModal-CnKdEDwu.mjs.map +1 -0
- package/dist/chunks/{useCopy-PckLYUAU.mjs → useCopy-6F-qWHq0.mjs} +2 -2
- package/dist/chunks/{useCopy-PckLYUAU.mjs.map → useCopy-6F-qWHq0.mjs.map} +1 -1
- package/dist/components/NcActionButtonGroup/index.mjs +1 -1
- package/dist/components/NcActionInput/NcActionInput.vue.d.ts +4 -4
- package/dist/components/NcActionInput/index.mjs +1 -1
- package/dist/components/NcActions/NcActions.vue.d.ts +15 -0
- package/dist/components/NcActions/index.mjs +1 -1
- package/dist/components/NcAppContent/index.mjs +1 -1
- package/dist/components/NcAppNavigation/index.mjs +1 -1
- package/dist/components/NcAppNavigationCaption/NcAppNavigationCaption.vue.d.ts +9 -0
- package/dist/components/NcAppNavigationCaption/index.mjs +1 -1
- package/dist/components/NcAppNavigationItem/NcAppNavigationItem.vue.d.ts +11 -2
- package/dist/components/NcAppNavigationItem/index.mjs +1 -1
- package/dist/components/NcAppNavigationNew/index.mjs +1 -1
- package/dist/components/NcAppNavigationNewItem/index.mjs +1 -1
- package/dist/components/NcAppNavigationSearch/index.mjs +1 -1
- package/dist/components/NcAppNavigationSettings/index.mjs +1 -1
- package/dist/components/NcAppSettingsDialog/index.mjs +1 -1
- package/dist/components/NcAppSettingsSectionShortcuts/index.mjs +1 -1
- package/dist/components/NcAppSettingsShortcutsSection/index.mjs +1 -1
- package/dist/components/NcAppSidebar/NcAppSidebar.vue.d.ts +9 -0
- package/dist/components/NcAppSidebar/index.mjs +1 -1
- package/dist/components/NcAssistantButton/index.mjs +1 -1
- package/dist/components/NcAssistantContent/index.mjs +1 -1
- package/dist/components/NcAssistantIcon/index.mjs +1 -1
- package/dist/components/NcAvatar/NcAvatar.vue.d.ts +10 -1
- package/dist/components/NcAvatar/index.mjs +1 -1
- package/dist/components/NcBlurHash/index.mjs +1 -1
- package/dist/components/NcBreadcrumb/NcBreadcrumb.vue.d.ts +9 -0
- package/dist/components/NcBreadcrumb/index.mjs +1 -1
- package/dist/components/NcBreadcrumbs/NcBreadcrumbs.vue.d.ts +18 -0
- package/dist/components/NcBreadcrumbs/index.mjs +1 -1
- package/dist/components/NcButton/index.mjs +1 -1
- package/dist/components/NcCheckboxRadioSwitch/index.mjs +1 -1
- package/dist/components/NcChip/index.mjs +1 -1
- package/dist/components/NcCollectionList/NcCollectionList.vue.d.ts +34 -3
- package/dist/components/NcCollectionList/NcCollectionListItem.vue.d.ts +19 -1
- package/dist/components/NcCollectionList/index.mjs +1 -1
- package/dist/components/NcCollectionList/useCollections.d.ts +5 -1
- package/dist/components/NcColorPicker/index.mjs +1 -1
- package/dist/components/NcContent/index.mjs +1 -1
- package/dist/components/NcDashboardWidget/NcDashboardWidget.vue.d.ts +29 -2
- package/dist/components/NcDashboardWidget/index.mjs +1 -1
- package/dist/components/NcDashboardWidgetItem/NcDashboardWidgetItem.vue.d.ts +19 -1
- package/dist/components/NcDashboardWidgetItem/index.mjs +1 -1
- package/dist/components/NcDateTimePicker/NcDateTimePicker.vue.d.ts +7 -5
- package/dist/components/NcDateTimePicker/index.mjs +1 -1
- package/dist/components/NcDateTimePickerNative/index.mjs +1 -1
- package/dist/components/NcDialog/NcDialog.vue.d.ts +1 -1
- package/dist/components/NcDialog/index.mjs +1 -1
- package/dist/components/NcDialogButton/index.mjs +1 -1
- package/dist/components/NcEmojiPicker/index.mjs +1 -1
- package/dist/components/NcFilePicker/index.mjs +1 -1
- package/dist/components/NcFormBox/index.mjs +1 -1
- package/dist/components/NcFormBoxButton/index.mjs +1 -1
- package/dist/components/NcFormBoxCopyButton/index.mjs +1 -1
- package/dist/components/NcFormBoxSwitch/index.mjs +1 -1
- package/dist/components/NcFormGroup/index.mjs +1 -1
- package/dist/components/NcGuestContent/index.mjs +1 -1
- package/dist/components/NcHeaderButton/index.mjs +1 -1
- package/dist/components/NcHeaderMenu/index.mjs +1 -1
- package/dist/components/NcHotkey/index.mjs +1 -1
- package/dist/components/NcHotkeyList/index.mjs +1 -1
- package/dist/components/NcInputField/index.mjs +1 -1
- package/dist/components/NcKbd/index.mjs +1 -1
- package/dist/components/NcListItem/NcListItem.vue.d.ts +11 -2
- package/dist/components/NcListItem/index.mjs +1 -1
- package/dist/components/NcListItemIcon/NcListItemIcon.vue.d.ts +11 -2
- package/dist/components/NcListItemIcon/index.mjs +1 -1
- package/dist/components/NcModal/index.mjs +1 -1
- package/dist/components/NcPasswordField/index.mjs +1 -1
- package/dist/components/NcPopover/index.mjs +1 -1
- package/dist/components/NcRadioGroup/index.mjs +1 -1
- package/dist/components/NcRadioGroupButton/index.mjs +1 -1
- package/dist/components/NcRelatedResourcesPanel/NcRelatedResourcesPanel.vue.d.ts +8 -2
- package/dist/components/NcRelatedResourcesPanel/NcResource.vue.d.ts +18 -0
- package/dist/components/NcRelatedResourcesPanel/NcTeamResources.vue.d.ts +12 -0
- package/dist/components/NcRelatedResourcesPanel/index.mjs +1 -1
- package/dist/components/NcRichContenteditable/NcAutoCompleteResult.vue.d.ts +12 -0
- package/dist/components/NcRichContenteditable/NcMentionBubble.vue.d.ts +6 -0
- package/dist/components/NcRichContenteditable/NcRichContenteditable.vue.d.ts +1 -1
- package/dist/components/NcRichContenteditable/index.mjs +1 -1
- package/dist/components/NcRichText/NcReferenceList.vue.d.ts +37 -0
- package/dist/components/NcRichText/NcReferencePicker/NcCustomPickerElement.vue.d.ts +3 -1
- package/dist/components/NcRichText/NcReferencePicker/NcProviderList.vue.d.ts +2 -1
- package/dist/components/NcRichText/NcReferencePicker/NcRawLinkInput.vue.d.ts +3 -1
- package/dist/components/NcRichText/NcReferencePicker/NcReferencePicker.vue.d.ts +13 -5
- package/dist/components/NcRichText/NcReferencePicker/NcReferencePickerModal.vue.d.ts +16 -6
- package/dist/components/NcRichText/NcReferencePicker/NcSearch.vue.d.ts +8 -1
- package/dist/components/NcRichText/NcReferenceWidget.vue.d.ts +1 -0
- package/dist/components/NcRichText/NcRichText.vue.d.ts +25 -0
- package/dist/components/NcRichText/autolink.d.ts +7 -5
- package/dist/components/NcRichText/index.d.ts +2 -2
- package/dist/components/NcRichText/index.mjs +10 -9
- package/dist/components/NcSelect/index.mjs +1 -1
- package/dist/components/NcSelectTags/index.mjs +1 -1
- package/dist/components/NcSelectUsers/index.mjs +1 -1
- package/dist/components/NcSettingsSection/index.mjs +1 -1
- package/dist/components/NcSettingsSelectGroup/index.mjs +1 -1
- package/dist/components/NcTextField/index.mjs +1 -1
- package/dist/components/NcTimezonePicker/index.mjs +1 -1
- package/dist/components/NcUserBubble/index.mjs +1 -1
- package/dist/components/NcUserStatusIcon/index.mjs +1 -1
- package/dist/composables/useFormatDateTime/index.mjs +1 -1
- package/dist/functions/reference/index.d.ts +7 -4
- package/dist/functions/reference/index.mjs +4 -3
- package/dist/functions/reference/referencePickerModal.d.ts +16 -1
- package/dist/functions/reference/widgets.d.ts +11 -1
- package/dist/functions/registerReference/index.mjs +1 -1
- package/dist/functions/usernameToColor/index.mjs +1 -1
- package/dist/index.mjs +74 -72
- package/dist/index.mjs.map +1 -1
- package/dist/mixins/userStatus.d.ts +5 -4
- package/package.json +21 -21
- package/dist/chunks/NcActions-CUmcZ3C3.mjs.map +0 -1
- package/dist/chunks/NcAppNavigation-Bb9-C2eO.mjs.map +0 -1
- package/dist/chunks/NcAppSettingsDialog-DByPnndK.mjs.map +0 -1
- package/dist/chunks/NcAvatar-M3-CbKbq.mjs.map +0 -1
- package/dist/chunks/NcCollectionList-CO-iHqi6.mjs.map +0 -1
- package/dist/chunks/NcDateTimePicker-CK4rhfEB.mjs.map +0 -1
- package/dist/chunks/NcGuestContent-_z22nZMF.mjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-C0j0Fs4r.mjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-DO3_WniI.mjs.map +0 -1
- package/dist/chunks/NcRichText-BOBQq7Od.mjs.map +0 -1
- package/dist/chunks/NcSelect-BOFzoCwK.mjs.map +0 -1
- package/dist/chunks/_l10n-CG4CuN3H.mjs.map +0 -1
- package/dist/chunks/autolink-BT8u-IL-.mjs.map +0 -1
- package/dist/chunks/customPickerElements-Cu7bLbap.mjs.map +0 -1
- package/dist/chunks/referencePickerModal-B4bsiMOy.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcUserBubble-
|
|
1
|
+
{"version":3,"file":"NcUserBubble-BXR7vT0V.mjs","sources":["../../src/components/NcUserBubble/NcUserBubbleDiv.vue","../../src/components/NcUserBubble/NcUserBubble.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div>\n\t\t<slot name=\"trigger\" />\n\t</div>\n</template>\n","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n### General description\n\nThis component displays a user together with a small avatar in a grey bubble.\nIt's possible to use an actual user's avatar, just an image/icon as a url or an icon-class,\nto link the bubble to e.g. a users profile\nand to show a popover on hover with e.g. the full user name handle / email address or something else.\n\nThis component has the following slot:\n* a default slot which is for the content of the popover (this is passed to the popover component directly).\n\n### Examples\n\n```vue\n<p>\n\tSome text before <NcUserBubble user=\"admin\" display-name=\"Admin Example\" url=\"/test\">@admin@foreign-host.com</NcUserBubble> and after the bubble.\n\t<NcUserBubble avatar-image=\"icon-group\" display-name=\"test group xyz\" :primary=\"true\">Hey there!</NcUserBubble>\n</p>\n```\n\n### Example with name slot\n\n```vue\n<template>\n<NcUserBubble\n\t:size=\"34\"\n\tdisplay-name=\"Administrator\"\n\tuser=\"admin\">\n\t<template #name>\n\t\t<NcButton aria-label=\"Remove user\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click=\"alert\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :path=\"mdiClose\" />\n\t\t\t</template>\n\t\t</NcButton>\n\t</template>\n</NcUserBubble>\n</template>\n<script>\nimport { mdiClose } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\treturn {\n\t\t\tmdiClose,\n\t\t}\n\t},\n\tmethods: {\n\t\talert() {\n\t\t\talert('Removed')\n\t\t},\n\t},\n}\n</script>\n```\n\n</docs>\n\n<script setup lang=\"ts\">\nimport type { Slot } from 'vue'\nimport type { RouteLocation } from 'vue-router'\n\nimport { computed, warn, watch } from 'vue'\nimport { RouterLink } from 'vue-router'\nimport NcAvatar from '../NcAvatar/NcAvatar.vue'\nimport NcPopover from '../NcPopover/NcPopover.vue'\nimport NcUserBubbleDiv from './NcUserBubbleDiv.vue'\n\n/**\n * Default popover state. Requires the UserBubble\n * to have some content to render inside the popover\n */\nconst isOpen = defineModel<boolean>('open')\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * Override generated avatar, can be an url or an icon class\n\t */\n\tavatarImage?: string\n\n\t/**\n\t * Provide the user id if this is a user\n\t */\n\tuser?: string\n\n\t/**\n\t * Displayed label\n\t */\n\tdisplayName?: string\n\n\t/**\n\t * Whether or not to display the user-status\n\t */\n\tshowUserStatus?: boolean\n\n\t/**\n\t * Define the whole bubble as a link\n\t */\n\turl?: string\n\n\t/**\n\t * Use bubble as a router-link for in-app navigation\n\t */\n\tto?: RouteLocation\n\n\t/**\n\t * Use the primary colour\n\t */\n\tprimary?: boolean\n\n\t/**\n\t * This is the height of the component\n\t */\n\tsize?: number\n\n\t/**\n\t * This is the margin of the avatar (size - margin = avatar size)\n\t */\n\tmargin?: number\n}>(), {\n\tavatarImage: undefined,\n\tdisplayName: undefined,\n\tuser: undefined,\n\turl: undefined,\n\tto: undefined,\n\tmargin: 2,\n\tsize: 20,\n})\n\nconst emit = defineEmits<{\n\t/**\n\t * The mouse click event\n\t */\n\tclick: [event: MouseEvent]\n}>()\n\ndefineSlots<{\n\t/**\n\t * Main Popover content on userbubble hover/focus\n\t */\n\tdefault?: Slot\n\n\t/**\n\t * Optional slot just after the name\n\t */\n\tname?: Slot\n}>()\n\n/**\n * Is the provided avatar url valid or not\n */\nconst isAvatarUrl = computed(() => {\n\tif (!props.avatarImage) {\n\t\treturn false\n\t}\n\n\ttry {\n\t\tconst url = new URL(props.avatarImage)\n\t\treturn !!url\n\t} catch {\n\t\treturn false\n\t}\n})\n\n/**\n * Do we have a custom avatar or not\n */\nconst isCustomAvatar = computed(() => !!props.avatarImage)\n\nconst avatarStyle = computed(() => ({\n\tmarginInlineStart: `${props.margin}px`,\n}))\n\n/**\n * Is the URL prop set\n */\nconst hasUrl = computed(() => {\n\tif (!props.url || props.url.trim() === '') {\n\t\treturn false\n\t}\n\ttry {\n\t\tconst url = new URL(props.url, props.url?.startsWith?.('/') ? window.location.href : undefined)\n\t\treturn !!url\n\t} catch {\n\t\twarn('[NcUserBubble] Invalid URL passed', { url: props.url })\n\t\treturn false\n\t}\n})\n\n/**\n * href attribute to pass to content container\n */\nconst href = computed(() => hasUrl.value ? props.url : undefined)\n\nconst contentComponent = computed(() => {\n\tif (hasUrl.value) {\n\t\treturn 'a'\n\t} else if (props.to) {\n\t\treturn RouterLink\n\t} else {\n\t\treturn 'div'\n\t}\n})\n\nconst contentStyle = computed(() => ({\n\theight: `${props.size}px`,\n\tlineHeight: `${props.size}px`,\n\tborderRadius: `${props.size / 2}px`,\n}))\n\nwatch([() => props.displayName, () => props.user], () => {\n\tif (!props.displayName && !props.user) {\n\t\twarn('[NcUserBubble] At least `displayName` or `user` property should be set.')\n\t}\n})\n</script>\n\n<template>\n\t<component\n\t\t:is=\"!!$slots.default ? NcPopover : NcUserBubbleDiv\"\n\t\tv-model:shown=\"isOpen\"\n\t\tclass=\"user-bubble__wrapper\"\n\t\ttrigger=\"hover focus\">\n\t\t<!-- Main userbubble structure -->\n\t\t<template #trigger=\"{ attrs }\">\n\t\t\t<component\n\t\t\t\t:is=\"contentComponent\"\n\t\t\t\tclass=\"user-bubble__content\"\n\t\t\t\t:class=\"{ 'user-bubble__content--primary': primary }\"\n\t\t\t\t:style=\"contentStyle\"\n\t\t\t\t:to\n\t\t\t\t:href\n\t\t\t\tv-bind=\"attrs\"\n\t\t\t\t@click=\"emit('click', $event)\">\n\t\t\t\t<!-- NcAvatar -->\n\t\t\t\t<NcAvatar\n\t\t\t\t\t:url=\"isCustomAvatar && isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:iconClass=\"isCustomAvatar && !isAvatarUrl ? avatarImage : undefined\"\n\t\t\t\t\t:user=\"user\"\n\t\t\t\t\t:displayName=\"displayName\"\n\t\t\t\t\t:size=\"size - (margin * 2)\"\n\t\t\t\t\t:style=\"avatarStyle\"\n\t\t\t\t\tdisableTooltip\n\t\t\t\t\tdisableMenu\n\t\t\t\t\t:hideStatus=\"!showUserStatus\"\n\t\t\t\t\tclass=\"user-bubble__avatar\" />\n\n\t\t\t\t<!-- Name -->\n\t\t\t\t<span class=\"user-bubble__name\">\n\t\t\t\t\t{{ displayName || user }}\n\t\t\t\t</span>\n\n\t\t\t\t<span v-if=\"!!$slots.name\" class=\"user-bubble__secondary\">\n\t\t\t\t\t<slot name=\"name\" />\n\t\t\t\t</span>\n\t\t\t</component>\n\t\t</template>\n\n\t\t<slot />\n\t</component>\n</template>\n\n<style lang=\"scss\" scoped>\n.user-bubble {\n\t&__wrapper {\n\t\t// align inline with text\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\t// shrink and allow grow to fit\n\t\tmin-width: 0;\n\t\tmax-width: 100%;\n\t}\n\n\t&__content {\n\t\tdisplay: inline-flex;\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-background-dark);\n\n\t\t&--primary {\n\t\t\tcolor: var(--color-primary-element-text);\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\n\t\t> :last-child {\n\t\t\t// border radius end padding\n\t\t\tpadding-inline-end: 8px;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\talign-self: center;\n\t}\n\n\t&__name {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__name,\n\t&__secondary {\n\t\t// proper spacing between avatar, name & slot\n\t\tpadding-block: 0;\n\t\tpadding-inline: 4px 0;\n\t}\n}\n</style>\n"],"names":["_createElementBlock","_renderSlot","_useModel","_openBlock","_createBlock","_resolveDynamicComponent","$slots","_withCtx","_mergeProps","_createVNode","_createElementVNode","_toDisplayString"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { defineComponent, useModel, computed, watch, openBlock, createElementBlo
|
|
|
3
3
|
import axios from "@nextcloud/axios";
|
|
4
4
|
import { getCapabilities } from "@nextcloud/capabilities";
|
|
5
5
|
import { generateOcsUrl } from "@nextcloud/router";
|
|
6
|
-
import { r as register, Q as t52, R as t11, a as t } from "./_l10n-
|
|
6
|
+
import { r as register, Q as t52, R as t11, a as t } from "./_l10n-wdIzZwir.mjs";
|
|
7
7
|
import { l as logger } from "./logger-D3RVzcfQ.mjs";
|
|
8
8
|
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
|
|
9
9
|
const awaySvg = '<!--\n - SPDX-FileCopyrightText: 2020 Google Inc.\n - SPDX-License-Identifier: Apache-2.0\n-->\n<svg viewBox="0 -960 960 960" width="24px" height="24px" xmlns="http://www.w3.org/2000/svg">\n <path\n fill="var(--user-status-color-away, var(--color-warning, #C88800))"\n d="m612-292 56-56-148-148v-184h-80v216l172 172ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z"/>\n</svg>\n';
|
|
@@ -86,4 +86,4 @@ export {
|
|
|
86
86
|
NcUserStatusIcon as N,
|
|
87
87
|
getUserStatusText as g
|
|
88
88
|
};
|
|
89
|
-
//# sourceMappingURL=NcUserStatusIcon-
|
|
89
|
+
//# sourceMappingURL=NcUserStatusIcon-BF5OEQFU.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcUserStatusIcon-DsviB2Cr.mjs","sources":["../../src/assets/status-icons/user-status-away.svg?raw","../../src/assets/status-icons/user-status-busy.svg?raw","../../src/assets/status-icons/user-status-dnd.svg?raw","../../src/assets/status-icons/user-status-invisible.svg?raw","../../src/assets/status-icons/user-status-online.svg?raw","../../src/utils/UserStatus.ts","../../src/components/NcUserStatusIcon/NcUserStatusIcon.vue"],"sourcesContent":["export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-away, var(--color-warning, #C88800))\\\"\\n\\t\\td=\\\"m612-292 56-56-148-148v-184h-80v216l172 172ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\\\"/>\\n</svg>\\n\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-busy, var(--color-error, #DB0606))\\\"\\n\\t\\td=\\\"M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\\\"/>\\n</svg>\\n\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-busy, var(--color-error, #DB0606))\\\"\\n\\t\\td=\\\"M280-440h400v-80H280v80ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\\\"/>\\n</svg>\\n\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-offline, var(--color-text-maxcontrast, #6B6B6B))\\\"\\n\\t\\td=\\\"M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z\\\"/>\\n</svg>\\n\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-online, var(--color-success, #2D7B41))\\\"\\n\\t\\td=\\\"m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\\\"/>\\n</svg>\\n\"","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { t } from '../l10n.ts'\n\ntype Status = 'online' | 'away' | 'busy' | 'dnd' | 'invisible' | 'offline'\n\n/**\n * Get the translated label for a given user status\n *\n * @param status - The user status\n */\nexport function getUserStatusText(status: Status): string {\n\tswitch (status) {\n\t\tcase 'away': return t('away') // TRANSLATORS: User status if the user is currently away from keyboard\n\t\tcase 'busy': return t('busy')\n\t\tcase 'dnd': return t('do not disturb')\n\t\tcase 'online': return t('online')\n\t\tcase 'invisible': return t('invisible')\n\t\tcase 'offline': return t('offline')\n\t\tdefault: return status\n\t}\n}\n","<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\n\nThis component displays a user status icon.\n\n### Example\n\n```vue\n<template>\n\t<div class=\"flex\">\n\t\t<div class=\"grid\">\n\t\t\t<NcUserStatusIcon status=\"online\" />\n\t\t\t<span>Online</span>\n\t\t\t<NcUserStatusIcon status=\"away\" />\n\t\t\t<span>Away</span>\n\t\t\t<NcUserStatusIcon status=\"busy\" />\n\t\t\t<span>Busy</span>\n\t\t\t<NcUserStatusIcon status=\"dnd\" />\n\t\t\t<span>Do not disturb</span>\n\t\t\t<NcUserStatusIcon status=\"invisible\" />\n\t\t\t<span>Invisible</span>\n\t\t\t<NcUserStatusIcon status=\"offline\" />\n\t\t\t<span>Offline</span>\n\t\t</div>\n\n\t\t<NcThemeProvider dark>\n\t\t\t<div class=\"grid\">\n\t\t\t\t<NcUserStatusIcon status=\"online\" />\n\t\t\t\t<span>Online</span>\n\t\t\t\t<NcUserStatusIcon status=\"away\" />\n\t\t\t\t<span>Away</span>\n\t\t\t\t<NcUserStatusIcon status=\"busy\" />\n\t\t\t\t<span>Busy</span>\n\t\t\t\t<NcUserStatusIcon status=\"dnd\" />\n\t\t\t\t<span>Do not disturb</span>\n\t\t\t\t<NcUserStatusIcon status=\"invisible\" />\n\t\t\t\t<span>Invisible</span>\n\t\t\t\t<NcUserStatusIcon status=\"offline\" />\n\t\t\t\t<span>Offline</span>\n\t\t\t</div>\n\t\t</NcThemeProvider>\n\t</div>\n</template>\n\n<style>\n.flex {\n\tdisplay: flex;\n\tgap: 4px;\n}\n\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: 20px 1fr;\n\tgap: 8px;\n\talign-items: center;\n\tpadding: 4px;\n\twidth: fit-content;\n\tbackground-color: var(--color-main-background);\n\tcolor: var(--color-main-text);\n}\n</style>\n```\n</docs>\n\n<script setup lang=\"ts\">\nimport axios from '@nextcloud/axios'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { computed, watch } from 'vue'\nimport awaySvg from '../../assets/status-icons/user-status-away.svg?raw'\nimport busySvg from '../../assets/status-icons/user-status-busy.svg?raw'\nimport dndSvg from '../../assets/status-icons/user-status-dnd.svg?raw'\nimport invisibleSvg from '../../assets/status-icons/user-status-invisible.svg?raw'\nimport onlineSvg from '../../assets/status-icons/user-status-online.svg?raw'\nimport { t } from '../../l10n.ts'\nimport { logger } from '../../utils/logger.ts'\nimport { getUserStatusText } from '../../utils/UserStatus.ts'\n\n/**\n * The user preloaded user status.\n */\nconst status = defineModel<'online' | 'away' | 'busy' | 'dnd' | 'invisible' | 'offline'>('status')\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * Set the user id to fetch the status\n\t */\n\tuser?: string\n\n\t/**\n\t * Set the `aria-hidden` attribute\n\t */\n\tariaHidden?: boolean | 'true' | 'false'\n}>(), {\n\tuser: undefined,\n\tariaHidden: false,\n})\n\nconst isInvisible = computed(() => status.value && ['invisible', 'offline'].includes(status.value))\n\n/**\n * Aria label to set on the element (will be set when ariaHidden is not set)\n */\nconst ariaLabel = computed(() => (\n\tstatus.value && (!props.ariaHidden || props.ariaHidden === 'false')\n\t\t? t('User status: {status}', { status: getUserStatusText(status.value) })\n\t\t: undefined\n))\n\nwatch(() => props.user, async (user) => {\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tif (!status.value && user && (getCapabilities() as any)?.user_status?.enabled) {\n\t\ttry {\n\t\t\tconst { data } = await axios.get(generateOcsUrl('/apps/user_status/api/v1/statuses/{user}', { user }))\n\t\t\tstatus.value = data.ocs?.data?.status\n\t\t} catch (error) {\n\t\t\tlogger.debug('Error while fetching user status', { error })\n\t\t}\n\t}\n}, { immediate: true })\n\nconst matchSvg = {\n\tonline: onlineSvg,\n\taway: awaySvg,\n\tbusy: busySvg,\n\tdnd: dndSvg,\n\tinvisible: invisibleSvg,\n\toffline: invisibleSvg,\n}\nconst activeSvg = computed(() => status.value && matchSvg[status.value])\n</script>\n\n<template>\n\t<span\n\t\tv-if=\"status\"\n\t\tclass=\"user-status-icon\"\n\t\t:class=\"{\n\t\t\t'user-status-icon--invisible': isInvisible,\n\t\t}\"\n\t\t:aria-hidden=\"!ariaLabel || undefined\"\n\t\t:aria-label\n\t\trole=\"img\"\n\t\tv-html=\"activeSvg\" /> <!-- eslint-disable-line vue/no-v-html -->\n</template>\n\n<style lang=\"scss\" scoped>\n.user-status-icon {\n\t// Custom colors for the svg icons, to not rely on server variables\n\t--user-status-color-online: #2D7B41;\n\t--user-status-color-busy: #DB0606;\n\t--user-status-color-away: #C88800;\n\t--user-status-color-offline: #6B6B6B;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\n\t&--invisible {\n\t\tfilter: var(--background-invert-if-dark);\n\t}\n\n\t:deep(svg) {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n}\n</style>\n"],"names":["_useModel","_createElementBlock"],"mappings":";;;;;;;AAAA,MAAA,UAAe;ACAf,MAAA,UAAe;ACAf,MAAA,SAAe;ACAf,MAAA,eAAe;ACAf,MAAA,YAAe;;;ACcR,SAAS,kBAAkB,QAAwB;AACzD,UAAQ,QAAA;AAAA,IACP,KAAK;AAAQ,aAAO,EAAE,MAAM;AAAA;AAAA,IAC5B,KAAK;AAAQ,aAAO,EAAE,MAAM;AAAA,IAC5B,KAAK;AAAO,aAAO,EAAE,gBAAgB;AAAA,IACrC,KAAK;AAAU,aAAO,EAAE,QAAQ;AAAA,IAChC,KAAK;AAAa,aAAO,EAAE,WAAW;AAAA,IACtC,KAAK;AAAW,aAAO,EAAE,SAAS;AAAA,IAClC;AAAS,aAAO;AAAA,EAAA;AAElB;;;;;;;;;;;;;AC8DA,UAAM,SAASA,SAAyE,SAAC,QAAQ;AAEjG,UAAM,QAAQ;AAed,UAAM,cAAc,SAAS,MAAM,OAAO,SAAS,CAAC,aAAa,SAAS,EAAE,SAAS,OAAO,KAAK,CAAC;AAKlG,UAAM,YAAY,SAAS,MAC1B,OAAO,UAAU,CAAC,MAAM,cAAc,MAAM,eAAe,WACxD,EAAE,yBAAyB,EAAE,QAAQ,kBAAkB,OAAO,KAAK,GAAG,IACtE,MACH;AAED,UAAM,MAAM,MAAM,MAAM,OAAO,SAAS;AAEvC,UAAI,CAAC,OAAO,SAAS,QAAS,gBAAA,GAA2B,aAAa,SAAS;AAC9E,YAAI;AACH,gBAAM,EAAE,SAAS,MAAM,MAAM,IAAI,eAAe,4CAA4C,EAAE,KAAA,CAAM,CAAC;AACrG,iBAAO,QAAQ,KAAK,KAAK,MAAM;AAAA,QAChC,SAAS,OAAO;AACf,iBAAO,MAAM,oCAAoC,EAAE,MAAA,CAAO;AAAA,QAC3D;AAAA,MACD;AAAA,IACD,GAAG,EAAE,WAAW,MAAM;AAEtB,UAAM,WAAW;AAAA,MAChB,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,MACL,WAAW;AAAA,MACX,SAAS;AAAA,IAAA;AAEV,UAAM,YAAY,SAAS,MAAM,OAAO,SAAS,SAAS,OAAO,KAAK,CAAC;;aAK/D,OAAA,sBADPC,mBASsB,QAAA;AAAA;QAPrB,uBAAM,oBAAkB;AAAA,yCACoB,YAAA;AAAA,QAAA;QAG3C,eAAW,CAAG,UAAA,SAAa;AAAA,QAC3B,cAAA,UAAA;AAAA,QACD,MAAK;AAAA,QACL,WAAQ,UAAA;AAAA,MAAA;;;;;"}
|
|
1
|
+
{"version":3,"file":"NcUserStatusIcon-BF5OEQFU.mjs","sources":["../../src/assets/status-icons/user-status-away.svg?raw","../../src/assets/status-icons/user-status-busy.svg?raw","../../src/assets/status-icons/user-status-dnd.svg?raw","../../src/assets/status-icons/user-status-invisible.svg?raw","../../src/assets/status-icons/user-status-online.svg?raw","../../src/utils/UserStatus.ts","../../src/components/NcUserStatusIcon/NcUserStatusIcon.vue"],"sourcesContent":["export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-away, var(--color-warning, #C88800))\\\"\\n\\t\\td=\\\"m612-292 56-56-148-148v-184h-80v216l172 172ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\\\"/>\\n</svg>\\n\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-busy, var(--color-error, #DB0606))\\\"\\n\\t\\td=\\\"M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\\\"/>\\n</svg>\\n\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-busy, var(--color-error, #DB0606))\\\"\\n\\t\\td=\\\"M280-440h400v-80H280v80ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\\\"/>\\n</svg>\\n\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-offline, var(--color-text-maxcontrast, #6B6B6B))\\\"\\n\\t\\td=\\\"M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z\\\"/>\\n</svg>\\n\"","export default \"<!--\\n - SPDX-FileCopyrightText: 2020 Google Inc.\\n - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\\\"0 -960 960 960\\\" width=\\\"24px\\\" height=\\\"24px\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\tfill=\\\"var(--user-status-color-online, var(--color-success, #2D7B41))\\\"\\n\\t\\td=\\\"m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\\\"/>\\n</svg>\\n\"","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { t } from '../l10n.ts'\n\ntype Status = 'online' | 'away' | 'busy' | 'dnd' | 'invisible' | 'offline'\n\n/**\n * Get the translated label for a given user status\n *\n * @param status - The user status\n */\nexport function getUserStatusText(status: Status): string {\n\tswitch (status) {\n\t\tcase 'away': return t('away') // TRANSLATORS: User status if the user is currently away from keyboard\n\t\tcase 'busy': return t('busy')\n\t\tcase 'dnd': return t('do not disturb')\n\t\tcase 'online': return t('online')\n\t\tcase 'invisible': return t('invisible')\n\t\tcase 'offline': return t('offline')\n\t\tdefault: return status\n\t}\n}\n","<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\n\nThis component displays a user status icon.\n\n### Example\n\n```vue\n<template>\n\t<div class=\"flex\">\n\t\t<div class=\"grid\">\n\t\t\t<NcUserStatusIcon status=\"online\" />\n\t\t\t<span>Online</span>\n\t\t\t<NcUserStatusIcon status=\"away\" />\n\t\t\t<span>Away</span>\n\t\t\t<NcUserStatusIcon status=\"busy\" />\n\t\t\t<span>Busy</span>\n\t\t\t<NcUserStatusIcon status=\"dnd\" />\n\t\t\t<span>Do not disturb</span>\n\t\t\t<NcUserStatusIcon status=\"invisible\" />\n\t\t\t<span>Invisible</span>\n\t\t\t<NcUserStatusIcon status=\"offline\" />\n\t\t\t<span>Offline</span>\n\t\t</div>\n\n\t\t<NcThemeProvider dark>\n\t\t\t<div class=\"grid\">\n\t\t\t\t<NcUserStatusIcon status=\"online\" />\n\t\t\t\t<span>Online</span>\n\t\t\t\t<NcUserStatusIcon status=\"away\" />\n\t\t\t\t<span>Away</span>\n\t\t\t\t<NcUserStatusIcon status=\"busy\" />\n\t\t\t\t<span>Busy</span>\n\t\t\t\t<NcUserStatusIcon status=\"dnd\" />\n\t\t\t\t<span>Do not disturb</span>\n\t\t\t\t<NcUserStatusIcon status=\"invisible\" />\n\t\t\t\t<span>Invisible</span>\n\t\t\t\t<NcUserStatusIcon status=\"offline\" />\n\t\t\t\t<span>Offline</span>\n\t\t\t</div>\n\t\t</NcThemeProvider>\n\t</div>\n</template>\n\n<style>\n.flex {\n\tdisplay: flex;\n\tgap: 4px;\n}\n\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: 20px 1fr;\n\tgap: 8px;\n\talign-items: center;\n\tpadding: 4px;\n\twidth: fit-content;\n\tbackground-color: var(--color-main-background);\n\tcolor: var(--color-main-text);\n}\n</style>\n```\n</docs>\n\n<script setup lang=\"ts\">\nimport axios from '@nextcloud/axios'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { computed, watch } from 'vue'\nimport awaySvg from '../../assets/status-icons/user-status-away.svg?raw'\nimport busySvg from '../../assets/status-icons/user-status-busy.svg?raw'\nimport dndSvg from '../../assets/status-icons/user-status-dnd.svg?raw'\nimport invisibleSvg from '../../assets/status-icons/user-status-invisible.svg?raw'\nimport onlineSvg from '../../assets/status-icons/user-status-online.svg?raw'\nimport { t } from '../../l10n.ts'\nimport { logger } from '../../utils/logger.ts'\nimport { getUserStatusText } from '../../utils/UserStatus.ts'\n\n/**\n * The user preloaded user status.\n */\nconst status = defineModel<'online' | 'away' | 'busy' | 'dnd' | 'invisible' | 'offline'>('status')\n\nconst props = withDefaults(defineProps<{\n\t/**\n\t * Set the user id to fetch the status\n\t */\n\tuser?: string\n\n\t/**\n\t * Set the `aria-hidden` attribute\n\t */\n\tariaHidden?: boolean | 'true' | 'false'\n}>(), {\n\tuser: undefined,\n\tariaHidden: false,\n})\n\nconst isInvisible = computed(() => status.value && ['invisible', 'offline'].includes(status.value))\n\n/**\n * Aria label to set on the element (will be set when ariaHidden is not set)\n */\nconst ariaLabel = computed(() => (\n\tstatus.value && (!props.ariaHidden || props.ariaHidden === 'false')\n\t\t? t('User status: {status}', { status: getUserStatusText(status.value) })\n\t\t: undefined\n))\n\nwatch(() => props.user, async (user) => {\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tif (!status.value && user && (getCapabilities() as any)?.user_status?.enabled) {\n\t\ttry {\n\t\t\tconst { data } = await axios.get(generateOcsUrl('/apps/user_status/api/v1/statuses/{user}', { user }))\n\t\t\tstatus.value = data.ocs?.data?.status\n\t\t} catch (error) {\n\t\t\tlogger.debug('Error while fetching user status', { error })\n\t\t}\n\t}\n}, { immediate: true })\n\nconst matchSvg = {\n\tonline: onlineSvg,\n\taway: awaySvg,\n\tbusy: busySvg,\n\tdnd: dndSvg,\n\tinvisible: invisibleSvg,\n\toffline: invisibleSvg,\n}\nconst activeSvg = computed(() => status.value && matchSvg[status.value])\n</script>\n\n<template>\n\t<span\n\t\tv-if=\"status\"\n\t\tclass=\"user-status-icon\"\n\t\t:class=\"{\n\t\t\t'user-status-icon--invisible': isInvisible,\n\t\t}\"\n\t\t:aria-hidden=\"!ariaLabel || undefined\"\n\t\t:aria-label\n\t\trole=\"img\"\n\t\tv-html=\"activeSvg\" /> <!-- eslint-disable-line vue/no-v-html -->\n</template>\n\n<style lang=\"scss\" scoped>\n.user-status-icon {\n\t// Custom colors for the svg icons, to not rely on server variables\n\t--user-status-color-online: #2D7B41;\n\t--user-status-color-busy: #DB0606;\n\t--user-status-color-away: #C88800;\n\t--user-status-color-offline: #6B6B6B;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\n\t&--invisible {\n\t\tfilter: var(--background-invert-if-dark);\n\t}\n\n\t:deep(svg) {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n}\n</style>\n"],"names":["_useModel","_createElementBlock"],"mappings":";;;;;;;AAAA,MAAA,UAAe;ACAf,MAAA,UAAe;ACAf,MAAA,SAAe;ACAf,MAAA,eAAe;ACAf,MAAA,YAAe;;;ACcR,SAAS,kBAAkB,QAAwB;AACzD,UAAQ,QAAA;AAAA,IACP,KAAK;AAAQ,aAAO,EAAE,MAAM;AAAA;AAAA,IAC5B,KAAK;AAAQ,aAAO,EAAE,MAAM;AAAA,IAC5B,KAAK;AAAO,aAAO,EAAE,gBAAgB;AAAA,IACrC,KAAK;AAAU,aAAO,EAAE,QAAQ;AAAA,IAChC,KAAK;AAAa,aAAO,EAAE,WAAW;AAAA,IACtC,KAAK;AAAW,aAAO,EAAE,SAAS;AAAA,IAClC;AAAS,aAAO;AAAA,EAAA;AAElB;;;;;;;;;;;;;AC8DA,UAAM,SAASA,SAAyE,SAAC,QAAQ;AAEjG,UAAM,QAAQ;AAed,UAAM,cAAc,SAAS,MAAM,OAAO,SAAS,CAAC,aAAa,SAAS,EAAE,SAAS,OAAO,KAAK,CAAC;AAKlG,UAAM,YAAY,SAAS,MAC1B,OAAO,UAAU,CAAC,MAAM,cAAc,MAAM,eAAe,WACxD,EAAE,yBAAyB,EAAE,QAAQ,kBAAkB,OAAO,KAAK,GAAG,IACtE,MACH;AAED,UAAM,MAAM,MAAM,MAAM,OAAO,SAAS;AAEvC,UAAI,CAAC,OAAO,SAAS,QAAS,gBAAA,GAA2B,aAAa,SAAS;AAC9E,YAAI;AACH,gBAAM,EAAE,SAAS,MAAM,MAAM,IAAI,eAAe,4CAA4C,EAAE,KAAA,CAAM,CAAC;AACrG,iBAAO,QAAQ,KAAK,KAAK,MAAM;AAAA,QAChC,SAAS,OAAO;AACf,iBAAO,MAAM,oCAAoC,EAAE,MAAA,CAAO;AAAA,QAC3D;AAAA,MACD;AAAA,IACD,GAAG,EAAE,WAAW,MAAM;AAEtB,UAAM,WAAW;AAAA,MAChB,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,MACL,WAAW;AAAA,MACX,SAAS;AAAA,IAAA;AAEV,UAAM,YAAY,SAAS,MAAM,OAAO,SAAS,SAAS,OAAO,KAAK,CAAC;;aAK/D,OAAA,sBADPC,mBASsB,QAAA;AAAA;QAPrB,uBAAM,oBAAkB;AAAA,yCACoB,YAAA;AAAA,QAAA;QAG3C,eAAW,CAAG,UAAA,SAAa;AAAA,QAC3B,cAAA,UAAA;AAAA,QACD,MAAK;AAAA,QACL,WAAQ,UAAA;AAAA,MAAA;;;;;"}
|
|
@@ -57,7 +57,7 @@ const t20 = [{ "l": "ar", "t": { "Close navigation": { "v": ["إغلاق الت
|
|
|
57
57
|
const t21 = [{ "l": "ar", "t": { "Collapse menu": { "v": ["طي القائمة"] }, "Open menu": { "v": ["إفتَح القائمة"] } } }, { "l": "ast", "t": { "Collapse menu": { "v": ["Recoyer el menú"] }, "Open menu": { "v": ["Abrir le menú"] } } }, { "l": "br", "t": {} }, { "l": "ca", "t": {} }, { "l": "cs", "t": { "Collapse menu": { "v": ["Sbalit nabídku"] }, "Open menu": { "v": ["Otevřít nabídku"] } } }, { "l": "cs-CZ", "t": { "Collapse menu": { "v": ["Sbalit nabídku"] }, "Open menu": { "v": ["Otevřít nabídku"] } } }, { "l": "da", "t": { "Collapse menu": { "v": ["Skjul menuen"] }, "Open menu": { "v": ["Åben menu"] } } }, { "l": "de", "t": { "Collapse menu": { "v": ["Menü einklappen"] }, "Open menu": { "v": ["Menü öffnen"] } } }, { "l": "de-DE", "t": { "Collapse menu": { "v": ["Menü einklappen"] }, "Open menu": { "v": ["Menü öffnen"] } } }, { "l": "el", "t": { "Collapse menu": { "v": ["Σύμπτυξη μενού"] }, "Open menu": { "v": ["Άνοιγμα μενού"] } } }, { "l": "en-GB", "t": { "Collapse menu": { "v": ["Collapse menu"] }, "Open menu": { "v": ["Open menu"] } } }, { "l": "eo", "t": {} }, { "l": "es", "t": { "Collapse menu": { "v": ["Ocultar menú"] }, "Open menu": { "v": ["Abrir menú"] } } }, { "l": "es-AR", "t": { "Collapse menu": { "v": ["Ocultar menú"] }, "Open menu": { "v": ["Abrir menú"] } } }, { "l": "es-EC", "t": { "Collapse menu": { "v": ["Ocultar menú"] }, "Open menu": { "v": ["Abrir menú"] } } }, { "l": "es-MX", "t": { "Collapse menu": { "v": ["Ocultar menú"] }, "Open menu": { "v": ["Abrir menú"] } } }, { "l": "et-EE", "t": { "Collapse menu": { "v": ["Ahenda menüü"] }, "Open menu": { "v": ["Ava menüü"] } } }, { "l": "eu", "t": { "Collapse menu": { "v": ["Tolestu menua"] }, "Open menu": { "v": ["Ireki menua"] } } }, { "l": "fa", "t": { "Collapse menu": { "v": ["بستن فهرست"] }, "Open menu": { "v": ["باز کردن فهرست"] } } }, { "l": "fi", "t": { "Collapse menu": { "v": ["Supista valikko"] }, "Open menu": { "v": ["Avaa valikko"] } } }, { "l": "fr", "t": { "Collapse menu": { "v": ["Réduire le menu"] }, "Open menu": { "v": ["Ouvrir le menu"] } } }, { "l": "ga", "t": { "Collapse menu": { "v": ["Roghchlár Laghdaigh"] }, "Open menu": { "v": ["Roghchlár a oscailt"] } } }, { "l": "gl", "t": { "Collapse menu": { "v": ["Contraer o menú"] }, "Open menu": { "v": ["Abrir o menú"] } } }, { "l": "he", "t": { "Collapse menu": { "v": ["צמצום התפריט"] }, "Open menu": { "v": ["פתיחת תפריט"] } } }, { "l": "hr", "t": { "Collapse menu": { "v": ["Sakrij izbornik"] }, "Open menu": { "v": ["Otvori izbornik"] } } }, { "l": "hu", "t": { "Collapse menu": { "v": ["Menü összecsukása"] }, "Open menu": { "v": ["Menü megnyitása"] } } }, { "l": "id", "t": { "Collapse menu": { "v": ["Ciutkan menu"] }, "Open menu": { "v": ["Buka menu"] } } }, { "l": "is", "t": { "Collapse menu": { "v": ["Fella valmynd saman"] }, "Open menu": { "v": ["Opna valmynd"] } } }, { "l": "it", "t": { "Collapse menu": { "v": ["Chiudi Menu"] }, "Open menu": { "v": ["Apri il menu"] } } }, { "l": "ja", "t": { "Collapse menu": { "v": ["メニューの折りたたみ"] }, "Open menu": { "v": ["メニューを開く"] } } }, { "l": "ja-JP", "t": { "Collapse menu": { "v": ["メニューの折りたたみ"] }, "Open menu": { "v": ["メニューを開く"] } } }, { "l": "ko", "t": { "Collapse menu": { "v": ["메뉴 접기"] }, "Open menu": { "v": ["메뉴 열기"] } } }, { "l": "lo", "t": { "Collapse menu": { "v": ["ຫຍໍ້ເມນູ"] }, "Open menu": { "v": ["ເປີດເມນູ"] } } }, { "l": "lt-LT", "t": { "Collapse menu": { "v": ["Suskleisti meniu"] }, "Open menu": { "v": ["Atverti meniu"] } } }, { "l": "lv", "t": {} }, { "l": "mk", "t": { "Collapse menu": { "v": ["Скриј мени"] }, "Open menu": { "v": ["Отвори мени"] } } }, { "l": "mn", "t": { "Collapse menu": { "v": ["Цэсийг хураах"] }, "Open menu": { "v": ["Цэсийг нээх"] } } }, { "l": "my", "t": {} }, { "l": "nb", "t": { "Collapse menu": { "v": ["Skjul meny"] }, "Open menu": { "v": ["Åpne meny"] } } }, { "l": "nl", "t": { "Collapse menu": { "v": ["Menu inklappen"] }, "Open menu": { "v": ["Menu openen"] } } }, { "l": "oc", "t": {} }, { "l": "pl", "t": { "Collapse menu": { "v": ["Zwiń menu"] }, "Open menu": { "v": ["Otwórz menu"] } } }, { "l": "pt-BR", "t": { "Collapse menu": { "v": ["Recolher menu"] }, "Open menu": { "v": ["Abrir menu"] } } }, { "l": "pt-PT", "t": { "Collapse menu": { "v": ["Ocultar menu"] }, "Open menu": { "v": ["Abrir menu"] } } }, { "l": "ro", "t": { "Collapse menu": { "v": ["Restrânge meniul"] }, "Open menu": { "v": ["Deschide meniul"] } } }, { "l": "ru", "t": { "Collapse menu": { "v": ["Свернуть меню"] }, "Open menu": { "v": ["Открыть меню"] } } }, { "l": "sk", "t": { "Collapse menu": { "v": ["Zbaliť menu"] }, "Open menu": { "v": ["Otvoriť menu"] } } }, { "l": "sl", "t": {} }, { "l": "sr", "t": { "Collapse menu": { "v": ["Сажми мени"] }, "Open menu": { "v": ["Отвори мени"] } } }, { "l": "sv", "t": { "Collapse menu": { "v": ["Dölj menyn"] }, "Open menu": { "v": ["Öppna menyn"] } } }, { "l": "tr", "t": { "Collapse menu": { "v": ["Menüyü daralt"] }, "Open menu": { "v": ["Menüyü aç"] } } }, { "l": "uk", "t": { "Collapse menu": { "v": ["Згорнути меню"] }, "Open menu": { "v": ["Відкрити меню"] } } }, { "l": "uz", "t": { "Collapse menu": { "v": ["Menyuni yig‘ish"] }, "Open menu": { "v": ["Menyuni oching"] } } }, { "l": "zh-CN", "t": { "Collapse menu": { "v": ["收起菜单"] }, "Open menu": { "v": ["打开菜单"] } } }, { "l": "zh-HK", "t": { "Collapse menu": { "v": ["折疊選單"] }, "Open menu": { "v": ["開啟選單"] } } }, { "l": "zh-TW", "t": { "Collapse menu": { "v": ["折疊選單"] }, "Open menu": { "v": ["開啟選單"] } } }];
|
|
58
58
|
const t22 = [{ "l": "ar", "t": {} }, { "l": "ast", "t": {} }, { "l": "br", "t": {} }, { "l": "ca", "t": {} }, { "l": "cs", "t": { "Copied": { "v": ["Zkopírováno"] }, "Copy to clipboard": { "v": ["Zkopírovat do schránky"] } } }, { "l": "cs-CZ", "t": {} }, { "l": "da", "t": { "Copied": { "v": ["Kopieret"] }, "Copy to clipboard": { "v": ["Kopiér til udklipsholderen"] } } }, { "l": "de", "t": { "Copied": { "v": ["Kopiert"] }, "Copy to clipboard": { "v": ["In die Zwischenablage kopieren"] } } }, { "l": "de-DE", "t": { "Copied": { "v": ["Kopiert"] }, "Copy to clipboard": { "v": ["In die Zwischenablage kopieren"] } } }, { "l": "el", "t": {} }, { "l": "en-GB", "t": { "Copied": { "v": ["Copied"] }, "Copy to clipboard": { "v": ["Copy to clipboard"] } } }, { "l": "eo", "t": {} }, { "l": "es", "t": {} }, { "l": "es-AR", "t": {} }, { "l": "es-EC", "t": {} }, { "l": "es-MX", "t": {} }, { "l": "et-EE", "t": { "Copied": { "v": ["Kopeeritud"] }, "Copy to clipboard": { "v": ["Kopeeri lõikelauale"] } } }, { "l": "eu", "t": {} }, { "l": "fa", "t": {} }, { "l": "fi", "t": {} }, { "l": "fr", "t": { "Copied": { "v": ["Copié"] }, "Copy to clipboard": { "v": ["Copier dans le presse-papiers"] } } }, { "l": "ga", "t": { "Copied": { "v": ["Cóipeáilte"] }, "Copy to clipboard": { "v": ["Cóipeáil chuig an ghearrthaisce"] } } }, { "l": "gl", "t": { "Copied": { "v": ["Copiado"] }, "Copy to clipboard": { "v": ["Copiar ao portapapeis"] } } }, { "l": "he", "t": {} }, { "l": "hr", "t": { "Copied": { "v": ["Kopirano"] }, "Copy to clipboard": { "v": ["Kopiraj u međuspremnik"] } } }, { "l": "hu", "t": { "Copied": { "v": ["Másolva"] }, "Copy to clipboard": { "v": ["Vágólapra másolás"] } } }, { "l": "id", "t": { "Copied": { "v": ["Disalin"] }, "Copy to clipboard": { "v": ["Salin ke clipboard"] } } }, { "l": "is", "t": {} }, { "l": "it", "t": {} }, { "l": "ja", "t": { "Copied": { "v": ["コピーされました"] }, "Copy to clipboard": { "v": ["クリップボードにコピー"] } } }, { "l": "ja-JP", "t": {} }, { "l": "ko", "t": { "Copied": { "v": ["복사됨"] }, "Copy to clipboard": { "v": ["클립보드로 복사"] } } }, { "l": "lo", "t": { "Copied": { "v": ["ສຳເນົາແລ້ວ"] }, "Copy to clipboard": { "v": ["ສຳເນົາໃສ່ຄລິບບອດ"] } } }, { "l": "lt-LT", "t": { "Copied": { "v": ["Nukopijuota"] }, "Copy to clipboard": { "v": ["Kopijuoti į iškarpinę"] } } }, { "l": "lv", "t": {} }, { "l": "mk", "t": { "Copied": { "v": ["Копирано"] }, "Copy to clipboard": { "v": ["Копирај во клипбоард"] } } }, { "l": "mn", "t": { "Copied": { "v": ["Хуулагдлаа"] }, "Copy to clipboard": { "v": ["Санах ой руу хуулах"] } } }, { "l": "my", "t": {} }, { "l": "nb", "t": {} }, { "l": "nl", "t": { "Copied": { "v": ["Gekopieerd"] }, "Copy to clipboard": { "v": ["Kopieer naar klembord"] } } }, { "l": "oc", "t": {} }, { "l": "pl", "t": {} }, { "l": "pt-BR", "t": { "Copied": { "v": ["Copiado"] }, "Copy to clipboard": { "v": ["Copiar para a área de transferência"] } } }, { "l": "pt-PT", "t": {} }, { "l": "ro", "t": {} }, { "l": "ru", "t": { "Copied": { "v": ["Скопировано"] }, "Copy to clipboard": { "v": ["Скопировать в буфер"] } } }, { "l": "sk", "t": {} }, { "l": "sl", "t": {} }, { "l": "sr", "t": {} }, { "l": "sv", "t": { "Copied": { "v": ["Kopierad"] }, "Copy to clipboard": { "v": ["Kopiera till urklipp"] } } }, { "l": "tr", "t": { "Copied": { "v": ["Kopyalandı"] }, "Copy to clipboard": { "v": ["Panoya kopyalandı"] } } }, { "l": "uk", "t": {} }, { "l": "uz", "t": { "Copied": { "v": ["Nusxalandi"] }, "Copy to clipboard": { "v": ["Buferga nusxalash"] } } }, { "l": "zh-CN", "t": {} }, { "l": "zh-HK", "t": { "Copied": { "v": ["已被複製"] }, "Copy to clipboard": { "v": ["複製到剪貼簿"] } } }, { "l": "zh-TW", "t": { "Copied": { "v": ["已被複製"] }, "Copy to clipboard": { "v": ["複製到剪貼簿"] } } }];
|
|
59
59
|
const t23 = [{ "l": "ar", "t": { "Edit item": { "v": ["تعديل عنصر"] } } }, { "l": "ast", "t": { "Edit item": { "v": ["Editar l'elementu"] } } }, { "l": "br", "t": {} }, { "l": "ca", "t": { "Edit item": { "v": ["Edita l'element"] } } }, { "l": "cs", "t": { "Edit item": { "v": ["Upravit položku"] } } }, { "l": "cs-CZ", "t": { "Edit item": { "v": ["Upravit položku"] } } }, { "l": "da", "t": { "Edit item": { "v": ["Rediger emne"] } } }, { "l": "de", "t": { "Edit item": { "v": ["Element bearbeiten"] } } }, { "l": "de-DE", "t": { "Edit item": { "v": ["Element bearbeiten"] } } }, { "l": "el", "t": { "Edit item": { "v": ["Επεξεργασία αντικειμένου"] } } }, { "l": "en-GB", "t": { "Edit item": { "v": ["Edit item"] } } }, { "l": "eo", "t": {} }, { "l": "es", "t": { "Edit item": { "v": ["Editar elemento"] } } }, { "l": "es-AR", "t": { "Edit item": { "v": ["Editar elemento"] } } }, { "l": "es-EC", "t": { "Edit item": { "v": ["Editar elemento"] } } }, { "l": "es-MX", "t": { "Edit item": { "v": ["Editar elemento"] } } }, { "l": "et-EE", "t": { "Edit item": { "v": ["Muuda objekti"] } } }, { "l": "eu", "t": { "Edit item": { "v": ["Editatu elementua"] } } }, { "l": "fa", "t": { "Edit item": { "v": ["ویرایش مورد"] } } }, { "l": "fi", "t": { "Edit item": { "v": ["Muokkaa kohdetta"] } } }, { "l": "fr", "t": { "Edit item": { "v": ["Éditer l'élément"] } } }, { "l": "ga", "t": { "Edit item": { "v": ["Cuir mír in eagar"] } } }, { "l": "gl", "t": { "Edit item": { "v": ["Editar o elemento"] } } }, { "l": "he", "t": { "Edit item": { "v": ["עריכת פריט"] } } }, { "l": "hr", "t": { "Edit item": { "v": ["Uredi stavku"] } } }, { "l": "hu", "t": { "Edit item": { "v": ["Elem szerkesztése"] } } }, { "l": "id", "t": { "Edit item": { "v": ["Edit item"] } } }, { "l": "is", "t": { "Edit item": { "v": ["Breyta atriði"] } } }, { "l": "it", "t": { "Edit item": { "v": ["Modifica l'elemento"] } } }, { "l": "ja", "t": { "Edit item": { "v": ["編集"] } } }, { "l": "ja-JP", "t": { "Edit item": { "v": ["編集"] } } }, { "l": "ko", "t": { "Edit item": { "v": ["항목 수정"] } } }, { "l": "lo", "t": { "Edit item": { "v": ["ແກ້ໄຂລາຍການ"] } } }, { "l": "lt-LT", "t": { "Edit item": { "v": ["Taisyti elementą"] } } }, { "l": "lv", "t": {} }, { "l": "mk", "t": { "Edit item": { "v": ["Уреди"] } } }, { "l": "mn", "t": { "Edit item": { "v": ["Зүйлийг засварлах"] } } }, { "l": "my", "t": {} }, { "l": "nb", "t": { "Edit item": { "v": ["Rediger"] } } }, { "l": "nl", "t": { "Edit item": { "v": ["Item bewerken"] } } }, { "l": "oc", "t": {} }, { "l": "pl", "t": { "Edit item": { "v": ["Edytuj element"] } } }, { "l": "pt-BR", "t": { "Edit item": { "v": ["Editar item"] } } }, { "l": "pt-PT", "t": { "Edit item": { "v": ["Editar item"] } } }, { "l": "ro", "t": { "Edit item": { "v": ["Editați elementul"] } } }, { "l": "ru", "t": { "Edit item": { "v": ["Изменить элемент"] } } }, { "l": "sk", "t": { "Edit item": { "v": ["Upraviť položku"] } } }, { "l": "sl", "t": { "Edit item": { "v": ["Uredi predmet"] } } }, { "l": "sr", "t": { "Edit item": { "v": ["Уреди ставку"] } } }, { "l": "sv", "t": { "Edit item": { "v": ["Redigera objekt"] } } }, { "l": "tr", "t": { "Edit item": { "v": ["Ögeyi düzenle"] } } }, { "l": "uk", "t": { "Edit item": { "v": ["Редагувати елемент"] } } }, { "l": "uz", "t": { "Edit item": { "v": ["Elementni tahrirlash"] } } }, { "l": "zh-CN", "t": { "Edit item": { "v": ["编辑项目"] } } }, { "l": "zh-HK", "t": { "Edit item": { "v": ["編輯項目"] } } }, { "l": "zh-TW", "t": { "Edit item": { "v": ["編輯項目"] } } }];
|
|
60
|
-
const t24 = [{ "l": "ar", "t": { "Enable interactive view": { "v": ["تمكين المنظور التفاعلي"] } } }, { "l": "ast", "t": { "Enable interactive view": { "v": ["Activar la vista interactiva"] } } }, { "l": "br", "t": {} }, { "l": "ca", "t": {} }, { "l": "cs", "t": { "Enable interactive view": { "v": ["Zapnout interaktivní zobrazení"] } } }, { "l": "cs-CZ", "t": {} }, { "l": "da", "t": { "Enable interactive view": { "v": ["Aktiver interaktiv visning"] } } }, { "l": "de", "t": { "Enable interactive view": { "v": ["Die interaktive Ansicht aktivieren"] } } }, { "l": "de-DE", "t": { "Enable interactive view": { "v": ["Die interaktive Ansicht aktivieren"] } } }, { "l": "el", "t": { "Enable interactive view": { "v": ["Ενεργοποίηση διαδραστικής προβολής"] } } }, { "l": "en-GB", "t": { "Enable interactive view": { "v": ["Enable interactive view"] } } }, { "l": "eo", "t": {} }, { "l": "es", "t": { "Enable interactive view": { "v": ["Habilitar vista interactiva"] } } }, { "l": "es-AR", "t": { "Enable interactive view": { "v": ["Habilitar vista interactiva"] } } }, { "l": "es-EC", "t": {} }, { "l": "es-MX", "t": { "Enable interactive view": { "v": ["Habilitar vista interactiva"] } } }, { "l": "et-EE", "t": { "Enable interactive view": { "v": ["Lülita interaktiivne vaade sisse"] } } }, { "l": "eu", "t": {} }, { "l": "fa", "t": { "Enable interactive view": { "v": ["فعالسازی نمای تعاملی"] } } }, { "l": "fi", "t": { "Enable interactive view": { "v": ["Näytä vuorovaikutteinen näkymä"] } } }, { "l": "fr", "t": { "Enable interactive view": { "v": ["Activer la vue interactive"] } } }, { "l": "ga", "t": { "Enable interactive view": { "v": ["Cumasaigh amharc idirghníomhach"] } } }, { "l": "gl", "t": { "Enable interactive view": { "v": ["Activar a vista interactiva"] } } }, { "l": "he", "t": {} }, { "l": "hr", "t": { "Enable interactive view": { "v": ["Omogući interaktivni prikaz"] } } }, { "l": "hu", "t": { "Enable interactive view": { "v": ["Interaktív nézet engedélyezése"] } } }, { "l": "id", "t": { "Enable interactive view": { "v": ["Aktifkan tampilan interaktif"] } } }, { "l": "is", "t": { "Enable interactive view": { "v": ["Virkja gagnvirka sýn"] } } }, { "l": "it", "t": {} }, { "l": "ja", "t": { "Enable interactive view": { "v": ["インタラクティブ・ビューを有効にする"] } } }, { "l": "ja-JP", "t": { "Enable interactive view": { "v": ["インタラクティブ・ビューを有効にする"] } } }, { "l": "ko", "t": { "Enable interactive view": { "v": ["대화형 보기 활성화"] } } }, { "l": "lo", "t": { "Enable interactive view": { "v": ["ເປີດໃຊ້ງານມຸມມອງໂຕ້ຕອບ"] } } }, { "l": "lt-LT", "t": { "Enable interactive view": { "v": ["Įgalinti interaktyvų vaizdą"] } } }, { "l": "lv", "t": {} }, { "l": "mk", "t": { "Enable interactive view": { "v": ["Овозможи интерактивен приказ"] } } }, { "l": "mn", "t": { "Enable interactive view": { "v": ["Интерактив харагдацыг идэвхжүүлэх"] } } }, { "l": "my", "t": {} }, { "l": "nb", "t": { "Enable interactive view": { "v": ["Aktiver interaktiv visning"] } } }, { "l": "nl", "t": { "Enable interactive view": { "v": ["Interactieve weergave inschakelen"] } } }, { "l": "oc", "t": {} }, { "l": "pl", "t": { "Enable interactive view": { "v": ["Włącz widok interaktywny"] } } }, { "l": "pt-BR", "t": { "Enable interactive view": { "v": ["Ativar visualização interativa"] } } }, { "l": "pt-PT", "t": { "Enable interactive view": { "v": ["Ativar vista interativa"] } } }, { "l": "ro", "t": {} }, { "l": "ru", "t": { "Enable interactive view": { "v": ["Включить интерактивный просмотр"] } } }, { "l": "sk", "t": { "Enable interactive view": { "v": ["Povoliť interaktívny pohľad"] } } }, { "l": "sl", "t": {} }, { "l": "sr", "t": { "Enable interactive view": { "v": ["Укључи интерактивни приказ"] } } }, { "l": "sv", "t": { "Enable interactive view": { "v": ["Aktivera interaktiv vy"] } } }, { "l": "tr", "t": { "Enable interactive view": { "v": ["Etkileşimli görünümü aç"] } } }, { "l": "uk", "t": { "Enable interactive view": { "v": ["Увімкнути інтерактивний перегляд"] } } }, { "l": "uz", "t": { "Enable interactive view": { "v": ["Interaktiv ko'rinishni yoqing"] } } }, { "l": "zh-CN", "t": { "Enable interactive view": { "v": ["启用交互视窗"] } } }, { "l": "zh-HK", "t": { "Enable interactive view": { "v": ["啟用互動視圖"] } } }, { "l": "zh-TW", "t": { "Enable interactive view": { "v": ["啟用互動檢視"] } } }];
|
|
60
|
+
const t24 = [{ "l": "ar", "t": { "Enable interactive view": { "v": ["تمكين المنظور التفاعلي"] } } }, { "l": "ast", "t": { "Enable interactive view": { "v": ["Activar la vista interactiva"] } } }, { "l": "br", "t": {} }, { "l": "ca", "t": {} }, { "l": "cs", "t": { "Enable interactive view": { "v": ["Zapnout interaktivní zobrazení"] } } }, { "l": "cs-CZ", "t": {} }, { "l": "da", "t": { "Enable interactive view": { "v": ["Aktiver interaktiv visning"] } } }, { "l": "de", "t": { "Enable interactive view": { "v": ["Die interaktive Ansicht aktivieren"] }, "Widget height": { "v": ["Widget-Höhe"] } } }, { "l": "de-DE", "t": { "Enable interactive view": { "v": ["Die interaktive Ansicht aktivieren"] }, "Widget height": { "v": ["Widget-Höhe"] } } }, { "l": "el", "t": { "Enable interactive view": { "v": ["Ενεργοποίηση διαδραστικής προβολής"] } } }, { "l": "en-GB", "t": { "Enable interactive view": { "v": ["Enable interactive view"] }, "Widget height": { "v": ["Widget height"] } } }, { "l": "eo", "t": {} }, { "l": "es", "t": { "Enable interactive view": { "v": ["Habilitar vista interactiva"] } } }, { "l": "es-AR", "t": { "Enable interactive view": { "v": ["Habilitar vista interactiva"] } } }, { "l": "es-EC", "t": {} }, { "l": "es-MX", "t": { "Enable interactive view": { "v": ["Habilitar vista interactiva"] } } }, { "l": "et-EE", "t": { "Enable interactive view": { "v": ["Lülita interaktiivne vaade sisse"] }, "Widget height": { "v": ["Vidina kõrgus"] } } }, { "l": "eu", "t": {} }, { "l": "fa", "t": { "Enable interactive view": { "v": ["فعالسازی نمای تعاملی"] } } }, { "l": "fi", "t": { "Enable interactive view": { "v": ["Näytä vuorovaikutteinen näkymä"] } } }, { "l": "fr", "t": { "Enable interactive view": { "v": ["Activer la vue interactive"] } } }, { "l": "ga", "t": { "Enable interactive view": { "v": ["Cumasaigh amharc idirghníomhach"] }, "Widget height": { "v": ["Airde an ghiuirléid"] } } }, { "l": "gl", "t": { "Enable interactive view": { "v": ["Activar a vista interactiva"] } } }, { "l": "he", "t": {} }, { "l": "hr", "t": { "Enable interactive view": { "v": ["Omogući interaktivni prikaz"] } } }, { "l": "hu", "t": { "Enable interactive view": { "v": ["Interaktív nézet engedélyezése"] } } }, { "l": "id", "t": { "Enable interactive view": { "v": ["Aktifkan tampilan interaktif"] } } }, { "l": "is", "t": { "Enable interactive view": { "v": ["Virkja gagnvirka sýn"] } } }, { "l": "it", "t": {} }, { "l": "ja", "t": { "Enable interactive view": { "v": ["インタラクティブ・ビューを有効にする"] }, "Widget height": { "v": ["ウィジェットの高さ"] } } }, { "l": "ja-JP", "t": { "Enable interactive view": { "v": ["インタラクティブ・ビューを有効にする"] } } }, { "l": "ko", "t": { "Enable interactive view": { "v": ["대화형 보기 활성화"] } } }, { "l": "lo", "t": { "Enable interactive view": { "v": ["ເປີດໃຊ້ງານມຸມມອງໂຕ້ຕອບ"] } } }, { "l": "lt-LT", "t": { "Enable interactive view": { "v": ["Įgalinti interaktyvų vaizdą"] } } }, { "l": "lv", "t": {} }, { "l": "mk", "t": { "Enable interactive view": { "v": ["Овозможи интерактивен приказ"] } } }, { "l": "mn", "t": { "Enable interactive view": { "v": ["Интерактив харагдацыг идэвхжүүлэх"] } } }, { "l": "my", "t": {} }, { "l": "nb", "t": { "Enable interactive view": { "v": ["Aktiver interaktiv visning"] } } }, { "l": "nl", "t": { "Enable interactive view": { "v": ["Interactieve weergave inschakelen"] } } }, { "l": "oc", "t": {} }, { "l": "pl", "t": { "Enable interactive view": { "v": ["Włącz widok interaktywny"] } } }, { "l": "pt-BR", "t": { "Enable interactive view": { "v": ["Ativar visualização interativa"] }, "Widget height": { "v": ["Altura do widget"] } } }, { "l": "pt-PT", "t": { "Enable interactive view": { "v": ["Ativar vista interativa"] } } }, { "l": "ro", "t": {} }, { "l": "ru", "t": { "Enable interactive view": { "v": ["Включить интерактивный просмотр"] } } }, { "l": "sk", "t": { "Enable interactive view": { "v": ["Povoliť interaktívny pohľad"] } } }, { "l": "sl", "t": {} }, { "l": "sr", "t": { "Enable interactive view": { "v": ["Укључи интерактивни приказ"] } } }, { "l": "sv", "t": { "Enable interactive view": { "v": ["Aktivera interaktiv vy"] }, "Widget height": { "v": ["Widget höjd"] } } }, { "l": "tr", "t": { "Enable interactive view": { "v": ["Etkileşimli görünümü aç"] } } }, { "l": "uk", "t": { "Enable interactive view": { "v": ["Увімкнути інтерактивний перегляд"] } } }, { "l": "uz", "t": { "Enable interactive view": { "v": ["Interaktiv ko'rinishni yoqing"] } } }, { "l": "zh-CN", "t": { "Enable interactive view": { "v": ["启用交互视窗"] } } }, { "l": "zh-HK", "t": { "Enable interactive view": { "v": ["啟用互動視圖"] } } }, { "l": "zh-TW", "t": { "Enable interactive view": { "v": ["啟用互動檢視"] } } }];
|
|
61
61
|
const t25 = [{ "l": "ar", "t": { "Enter link": { "v": ["أدخِل الرابط"] } } }, { "l": "ast", "t": { "Enter link": { "v": ["Introducir l'enllaz"] } } }, { "l": "br", "t": {} }, { "l": "ca", "t": {} }, { "l": "cs", "t": { "Enter link": { "v": ["Zadat odkaz"] } } }, { "l": "cs-CZ", "t": { "Enter link": { "v": ["Zadat odkaz"] } } }, { "l": "da", "t": { "Enter link": { "v": ["Indtast link"] } } }, { "l": "de", "t": { "Enter link": { "v": ["Link eingeben"] } } }, { "l": "de-DE", "t": { "Enter link": { "v": ["Link eingeben"] } } }, { "l": "el", "t": { "Enter link": { "v": ["Εισάγετε σύνδεσμο"] } } }, { "l": "en-GB", "t": { "Enter link": { "v": ["Enter link"] } } }, { "l": "eo", "t": {} }, { "l": "es", "t": { "Enter link": { "v": ["Ingrese enlace"] } } }, { "l": "es-AR", "t": { "Enter link": { "v": ["Ingresar enlace"] } } }, { "l": "es-EC", "t": { "Enter link": { "v": ["Ingresar enlace"] } } }, { "l": "es-MX", "t": { "Enter link": { "v": ["Ingresar enlace"] } } }, { "l": "et-EE", "t": { "Enter link": { "v": ["Sisesta link"] } } }, { "l": "eu", "t": { "Enter link": { "v": ["Sartu esteka"] } } }, { "l": "fa", "t": { "Enter link": { "v": ["لینک را وارد کنید"] } } }, { "l": "fi", "t": { "Enter link": { "v": ["Kirjoita linkki"] } } }, { "l": "fr", "t": { "Enter link": { "v": ["Saisissez le lien"] } } }, { "l": "ga", "t": { "Enter link": { "v": ["Cuir isteach nasc"] } } }, { "l": "gl", "t": { "Enter link": { "v": ["Introducir a ligazón"] } } }, { "l": "he", "t": { "Enter link": { "v": ["מילוי קישור"] } } }, { "l": "hr", "t": { "Enter link": { "v": ["Unesi poveznicu"] } } }, { "l": "hu", "t": { "Enter link": { "v": ["Adja meg a hivatkozást"] } } }, { "l": "id", "t": { "Enter link": { "v": ["Masukkan tautan"] } } }, { "l": "is", "t": { "Enter link": { "v": ["Settu inn tengil"] } } }, { "l": "it", "t": { "Enter link": { "v": ["Inserire il link"] } } }, { "l": "ja", "t": { "Enter link": { "v": ["リンクを入力する"] } } }, { "l": "ja-JP", "t": { "Enter link": { "v": ["リンクを入力する"] } } }, { "l": "ko", "t": { "Enter link": { "v": ["링크 입력"] } } }, { "l": "lo", "t": { "Enter link": { "v": ["ປ້ອນລິງ"] } } }, { "l": "lt-LT", "t": { "Enter link": { "v": ["Įvesti nuorodą"] } } }, { "l": "lv", "t": {} }, { "l": "mk", "t": { "Enter link": { "v": ["Внеси линк"] } } }, { "l": "mn", "t": { "Enter link": { "v": ["Холбоос оруулах"] } } }, { "l": "my", "t": {} }, { "l": "nb", "t": { "Enter link": { "v": ["Skriv inn lenken"] } } }, { "l": "nl", "t": { "Enter link": { "v": ["Link invoeren"] } } }, { "l": "oc", "t": {} }, { "l": "pl", "t": { "Enter link": { "v": ["Wprowadź link"] } } }, { "l": "pt-BR", "t": { "Enter link": { "v": ["Insira o link"] } } }, { "l": "pt-PT", "t": { "Enter link": { "v": ["Inserir hiperligação"] } } }, { "l": "ro", "t": { "Enter link": { "v": ["Introduceți link-ul"] } } }, { "l": "ru", "t": { "Enter link": { "v": ["Введите ссылку"] } } }, { "l": "sk", "t": { "Enter link": { "v": ["Vložiť link"] } } }, { "l": "sl", "t": {} }, { "l": "sr", "t": { "Enter link": { "v": ["Унесите линк"] } } }, { "l": "sv", "t": { "Enter link": { "v": ["Ange länk"] } } }, { "l": "tr", "t": { "Enter link": { "v": ["Bağlantıyı yazın"] } } }, { "l": "uk", "t": { "Enter link": { "v": ["Зазначте посилання"] } } }, { "l": "uz", "t": { "Enter link": { "v": ["Havolani kiriting"] } } }, { "l": "zh-CN", "t": { "Enter link": { "v": ["输入链接"] } } }, { "l": "zh-HK", "t": { "Enter link": { "v": ["輸入連結"] } } }, { "l": "zh-TW", "t": { "Enter link": { "v": ["輸入連結"] } } }];
|
|
62
62
|
const t26 = [{ "l": "ar", "t": {} }, { "l": "ast", "t": {} }, { "l": "br", "t": {} }, { "l": "ca", "t": {} }, { "l": "cs", "t": { "External documentation": { "v": ["Externí dokumentace"] } } }, { "l": "cs-CZ", "t": {} }, { "l": "da", "t": { "External documentation": { "v": ["Ekstern dokumentation"] } } }, { "l": "de", "t": { "External documentation": { "v": ["Externe Dokumentation"] } } }, { "l": "de-DE", "t": { "External documentation": { "v": ["Externe Dokumentation"] } } }, { "l": "el", "t": { "External documentation": { "v": ["Εξωτερική τεκμηρίωση"] } } }, { "l": "en-GB", "t": { "External documentation": { "v": ["External documentation"] } } }, { "l": "eo", "t": {} }, { "l": "es", "t": {} }, { "l": "es-AR", "t": {} }, { "l": "es-EC", "t": {} }, { "l": "es-MX", "t": {} }, { "l": "et-EE", "t": { "External documentation": { "v": ["Dokumentatsioon välises allikas"] } } }, { "l": "eu", "t": {} }, { "l": "fa", "t": {} }, { "l": "fi", "t": {} }, { "l": "fr", "t": { "External documentation": { "v": ["Documentation externe"] } } }, { "l": "ga", "t": { "External documentation": { "v": ["Doiciméadú seachtrach"] } } }, { "l": "gl", "t": { "External documentation": { "v": ["Documentación externa"] } } }, { "l": "he", "t": {} }, { "l": "hr", "t": { "External documentation": { "v": ["Vanjska dokumentacija"] } } }, { "l": "hu", "t": { "External documentation": { "v": ["Külső dokumentáció"] } } }, { "l": "id", "t": { "External documentation": { "v": ["Dokumentasi eksternal"] } } }, { "l": "is", "t": {} }, { "l": "it", "t": {} }, { "l": "ja", "t": { "External documentation": { "v": ["外部ドキュメント"] } } }, { "l": "ja-JP", "t": {} }, { "l": "ko", "t": { "External documentation": { "v": ["외부 문서"] } } }, { "l": "lo", "t": { "External documentation": { "v": ["ເອກະສານພາຍນອກ"] } } }, { "l": "lt-LT", "t": { "External documentation": { "v": ["Išorinė dokumentacija"] } } }, { "l": "lv", "t": {} }, { "l": "mk", "t": { "External documentation": { "v": ["Надворешна документација"] } } }, { "l": "mn", "t": { "External documentation": { "v": ["Гадаад баримт бичиг"] } } }, { "l": "my", "t": {} }, { "l": "nb", "t": {} }, { "l": "nl", "t": { "External documentation": { "v": ["Externe documentatie"] } } }, { "l": "oc", "t": {} }, { "l": "pl", "t": {} }, { "l": "pt-BR", "t": { "External documentation": { "v": ["Documentação externa"] } } }, { "l": "pt-PT", "t": {} }, { "l": "ro", "t": {} }, { "l": "ru", "t": { "External documentation": { "v": ["Внешняя документация"] } } }, { "l": "sk", "t": {} }, { "l": "sl", "t": {} }, { "l": "sr", "t": { "External documentation": { "v": ["Спољна документација"] } } }, { "l": "sv", "t": { "External documentation": { "v": ["Extern dokumentation"] } } }, { "l": "tr", "t": { "External documentation": { "v": ["Dış belgeler"] } } }, { "l": "uk", "t": { "External documentation": { "v": ["Зовнішня документація"] } } }, { "l": "uz", "t": { "External documentation": { "v": ["Tashqi hujjatlar"] } } }, { "l": "zh-CN", "t": {} }, { "l": "zh-HK", "t": { "External documentation": { "v": ["外部文件"] } } }, { "l": "zh-TW", "t": { "External documentation": { "v": ["外部文件"] } } }];
|
|
63
63
|
const t27 = [{ "l": "ar", "t": { "Go back to the list": { "v": ["عودة إلى القائمة"] } } }, { "l": "ast", "t": { "Go back to the list": { "v": ["Volver a la llista"] } } }, { "l": "br", "t": {} }, { "l": "ca", "t": { "Go back to the list": { "v": ["Torna a la llista"] } } }, { "l": "cs", "t": { "Go back to the list": { "v": ["Jít zpět na seznam"] } } }, { "l": "cs-CZ", "t": { "Go back to the list": { "v": ["Jít zpět na seznam"] } } }, { "l": "da", "t": { "Go back to the list": { "v": ["Tilbage til listen"] } } }, { "l": "de", "t": { "Go back to the list": { "v": ["Zurück zur Liste"] } } }, { "l": "de-DE", "t": { "Go back to the list": { "v": ["Zurück zur Liste"] } } }, { "l": "el", "t": { "Go back to the list": { "v": ["Επιστροφή στην αρχική λίστα"] } } }, { "l": "en-GB", "t": { "Go back to the list": { "v": ["Go back to the list"] } } }, { "l": "eo", "t": {} }, { "l": "es", "t": { "Go back to the list": { "v": ["Volver a la lista"] } } }, { "l": "es-AR", "t": { "Go back to the list": { "v": ["Volver a la lista"] } } }, { "l": "es-EC", "t": { "Go back to the list": { "v": ["Volver a la lista"] } } }, { "l": "es-MX", "t": { "Go back to the list": { "v": ["Regresar a la lista"] } } }, { "l": "et-EE", "t": { "Go back to the list": { "v": ["Tagasi nimekirja juurde"] } } }, { "l": "eu", "t": { "Go back to the list": { "v": ["Bueltatu zerrendara"] } } }, { "l": "fa", "t": { "Go back to the list": { "v": ["برگشت به لیست"] } } }, { "l": "fi", "t": { "Go back to the list": { "v": ["Takaisin listaan"] } } }, { "l": "fr", "t": { "Go back to the list": { "v": ["Retourner à la liste"] } } }, { "l": "ga", "t": { "Go back to the list": { "v": ["Téigh ar ais go dtí an liosta"] } } }, { "l": "gl", "t": { "Go back to the list": { "v": ["Volver á lista"] } } }, { "l": "he", "t": { "Go back to the list": { "v": ["חזרה לרשימה"] } } }, { "l": "hr", "t": { "Go back to the list": { "v": ["Vrati se na popis"] } } }, { "l": "hu", "t": { "Go back to the list": { "v": ["Ugrás vissza a listához"] } } }, { "l": "id", "t": { "Go back to the list": { "v": ["Kembali ke daftar"] } } }, { "l": "is", "t": { "Go back to the list": { "v": ["Fara til baka í listann"] } } }, { "l": "it", "t": { "Go back to the list": { "v": ["Torna all'elenco"] } } }, { "l": "ja", "t": { "Go back to the list": { "v": ["リストに戻る"] } } }, { "l": "ja-JP", "t": { "Go back to the list": { "v": ["リストに戻る"] } } }, { "l": "ko", "t": { "Go back to the list": { "v": ["목록으로 돌아가기"] } } }, { "l": "lo", "t": { "Go back to the list": { "v": ["ກັບໄປທີ່ລາຍການ"] } } }, { "l": "lt-LT", "t": { "Go back to the list": { "v": ["Grįžti į sąrašą"] } } }, { "l": "lv", "t": {} }, { "l": "mk", "t": { "Go back to the list": { "v": ["Врати се на листата"] } } }, { "l": "mn", "t": { "Go back to the list": { "v": ["Жагсаалт руу буцах"] } } }, { "l": "my", "t": {} }, { "l": "nb", "t": { "Go back to the list": { "v": ["Gå tilbake til listen"] } } }, { "l": "nl", "t": { "Go back to the list": { "v": ["Ga terug naar de lijst"] } } }, { "l": "oc", "t": {} }, { "l": "pl", "t": { "Go back to the list": { "v": ["Powrót do listy"] } } }, { "l": "pt-BR", "t": { "Go back to the list": { "v": ["Voltar para a lista"] } } }, { "l": "pt-PT", "t": { "Go back to the list": { "v": ["Voltar para a lista"] } } }, { "l": "ro", "t": { "Go back to the list": { "v": ["Întoarceți-vă la listă"] } } }, { "l": "ru", "t": { "Go back to the list": { "v": ["Вернуться к списку"] } } }, { "l": "sk", "t": { "Go back to the list": { "v": ["Späť na zoznam"] } } }, { "l": "sl", "t": { "Go back to the list": { "v": ["Vrni se na seznam"] } } }, { "l": "sr", "t": { "Go back to the list": { "v": ["Назад на листу"] } } }, { "l": "sv", "t": { "Go back to the list": { "v": ["Gå tillbaka till listan"] } } }, { "l": "tr", "t": { "Go back to the list": { "v": ["Listeye dön"] } } }, { "l": "uk", "t": { "Go back to the list": { "v": ["Повернутися до списку"] } } }, { "l": "uz", "t": { "Go back to the list": { "v": ["Ro'yxatga qayting"] } } }, { "l": "zh-CN", "t": { "Go back to the list": { "v": ["返回至列表"] } } }, { "l": "zh-HK", "t": { "Go back to the list": { "v": ["返回清單"] } } }, { "l": "zh-TW", "t": { "Go back to the list": { "v": ["回到清單"] } } }];
|
|
@@ -142,4 +142,4 @@ export {
|
|
|
142
142
|
t13 as y,
|
|
143
143
|
t35 as z
|
|
144
144
|
};
|
|
145
|
-
//# sourceMappingURL=_l10n-
|
|
145
|
+
//# sourceMappingURL=_l10n-wdIzZwir.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_l10n-wdIzZwir.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import '../assets/autolink-
|
|
1
|
+
import '../assets/autolink-XS-VDSVB.css';
|
|
2
2
|
import { getBaseUrl, getRootUrl } from "@nextcloud/router";
|
|
3
3
|
import { u } from "unist-builder";
|
|
4
4
|
import { visitParents, SKIP } from "unist-util-visit-parents";
|
|
@@ -29,10 +29,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
|
-
const externalLink = "
|
|
33
|
-
const externalLink_decorated = "
|
|
32
|
+
const externalLink = "_externalLink_d-mCx";
|
|
33
|
+
const externalLink_decorated = "_externalLink_decorated_W3wuz";
|
|
34
34
|
const style0 = {
|
|
35
|
-
"material-design-icon": "_material-design-
|
|
35
|
+
"material-design-icon": "_material-design-icon_ZJnaR",
|
|
36
36
|
externalLink,
|
|
37
37
|
externalLink_decorated
|
|
38
38
|
};
|
|
@@ -137,4 +137,4 @@ export {
|
|
|
137
137
|
parseUrl as p,
|
|
138
138
|
remarkAutolink as r
|
|
139
139
|
};
|
|
140
|
-
//# sourceMappingURL=autolink-
|
|
140
|
+
//# sourceMappingURL=autolink-DrIurosL.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autolink-DrIurosL.mjs","sources":["../../src/components/NcRichText/NcRichTextExternalLink.vue","../../src/components/NcRichText/helpers.ts","../../src/components/NcRichText/autolink.ts"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nconst { href, decorateExternal = false } = defineProps<{\n\t/** Link attribute to render */\n\thref: string\n\t/** Whether to add the appended arrow decoration */\n\tdecorateExternal?: boolean\n}>()\n</script>\n\n<template>\n\t<a\n\t\t:href=\"href\"\n\t\trel=\"noopener noreferrer\"\n\t\ttarget=\"_blank\"\n\t\t:class=\"[$style.externalLink, {\n\t\t\t[$style.externalLink_decorated]: decorateExternal,\n\t\t}]\">\n\t\t<slot name=\"default\">\n\t\t\t{{ href }}\n\t\t</slot>\n\t</a>\n</template>\n\n<style module lang=\"scss\">\n.externalLink {\n\ttext-decoration: underline;\n}\n\n.externalLink_decorated::after {\n\tcontent: ' ↗';\n}\n</style>\n\n<docs>\nAn internal component\n</docs>\n","/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Literal } from 'unist'\n\n/**\n * Unist literal node with string value like code blocks or text nodes\n */\nexport interface TextNode extends Literal {\n\tvalue: string\n}\n\n/**\n * Regex pattern to match links to be resolved by the link-reference provider\n */\nexport const URL_PATTERN = /(\\s|^)(https?:\\/\\/)([-A-Z0-9+_.]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/ig\n\n/**\n * Regex pattern to identify strings as links and then making them clickable\n */\nexport const URL_PATTERN_AUTOLINK = /(\\s|\\(|^)((https?:\\/\\/)([-A-Z0-9+_.]+[-A-Z0-9]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\\s|\\)|$)/ig\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Node, Parent } from 'unist'\nimport type { Router } from 'vue-router'\n\nimport { getBaseUrl, getRootUrl } from '@nextcloud/router'\nimport { u } from 'unist-builder'\nimport { SKIP, visitParents } from 'unist-util-visit-parents'\nimport NcRichTextExternalLink from './NcRichTextExternalLink.vue'\nimport { logger } from '../../utils/logger.ts'\nimport { URL_PATTERN_AUTOLINK } from './helpers.js'\n\n/**\n * Remark plugin to autolink URLs in text nodes.\n *\n * @param options - Options for the plugin\n * @param options.autolink - Whether to enable autolinking of URLs\n * @param options.useMarkdown - Whether to use markdown parsing\n * @param options.useExtendedMarkdown - Whether to use extended markdown parsing\n */\nexport function remarkAutolink({ autolink, useMarkdown, useExtendedMarkdown }) {\n\treturn function(tree) {\n\t\t// remark-gfm has its own autolink parser which can not be disabled\n\t\t// and thus a local one is not needed\n\t\tif (useExtendedMarkdown || !useMarkdown || !autolink) {\n\t\t\treturn\n\t\t}\n\n\t\tvisitParents(tree, (node) => node.type === 'text', (node, ancestors: Parent[]) => {\n\t\t\t// Do not autolink text already inside a link node\n\t\t\tif (ancestors.some((ancestor) => ancestor.type === 'link' || ancestor.type === 'linkReference')) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst parent = ancestors.at(-1)\n\t\t\tconst index = parent!.children.indexOf(node) ?? 0\n\n\t\t\tconst parsed = parseUrl(node.value)\n\t\t\tconst parsedNodes: Node[] = (typeof parsed === 'string')\n\t\t\t\t? [u('text', parsed)]\n\t\t\t\t: parsed.map((n) => {\n\t\t\t\t\t\tif (typeof n === 'string') {\n\t\t\t\t\t\t\treturn u('text', n)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn u('link', {\n\t\t\t\t\t\t\turl: n.props.href,\n\t\t\t\t\t\t}, [u('text', n.props.href)])\n\t\t\t\t\t})\n\t\t\t\t\t\t.filter((x) => x)\n\t\t\t\t\t\t.flat()\n\n\t\t\tparent!.children.splice(index, 1, ...parsedNodes)\n\t\t\treturn [SKIP, index + parsedNodes.length]\n\t\t})\n\t}\n}\n\n/**\n * Parses a text and returns either an array of text nodes and link nodes or the original text if no links were found.\n *\n * @param text - The text to parse\n */\nexport function parseUrl(text: string) {\n\tlet match = URL_PATTERN_AUTOLINK.exec(text)\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tconst list: (string | Record<string, any>)[] = []\n\tlet start = 0\n\twhile (match !== null) {\n\t\tlet href = match[2]!\n\t\tlet textAfter\n\t\tlet textBefore = text.substring(start, match.index + match[1]!.length)\n\t\tif (href[0] === ' ') {\n\t\t\ttextBefore += href[0]\n\t\t\thref = href.substring(1).trim()\n\t\t}\n\t\tconst lastChar = href[(href.length - 1)]\n\t\tif (lastChar === '.' || lastChar === ',' || lastChar === ';' || (match[0][0] === '(' && lastChar === ')')) {\n\t\t\thref = href.substring(0, href.length - 1)\n\t\t\ttextAfter = lastChar\n\t\t}\n\t\tlist.push(textBefore)\n\t\tlist.push({ component: NcRichTextExternalLink, props: { href: href.trim(), decorateExternal: true } })\n\t\tif (textAfter) {\n\t\t\tlist.push(textAfter)\n\t\t}\n\t\tstart = match.index + match[0].length\n\t\tmatch = URL_PATTERN_AUTOLINK.exec(text)\n\t}\n\tlist.push(text.substring(start))\n\tconst joinedText = list.map((item) => typeof item === 'string' ? item : item.props.href).join('')\n\tif (text === joinedText) {\n\t\treturn list\n\t}\n\tlogger.error('[NcRichText] Failed to reassemble the chunked text: ' + text)\n\treturn text\n}\n\n/**\n * Try to get path for router link from an absolute or relative URL.\n *\n * @param router - VueRouter instance of the router link\n * @param url - absolute URL to parse\n * @return a path that can be used in the router link or null if this URL doesn't match this router config\n * @example http://cloud.ltd/nextcloud/index.php/apps/files/favorites?fileid=2#fragment => /files/favorites?fileid=2#fragment\n */\nexport function getRoute(router: Router | null, url: string): string | null {\n\t/**\n\t * http://cloud.ltd /nextcloud /index.php /apps/files /favorites?fileid=2#fragment\n\t * |_____origin____|___________router-base____________| |\n\t * |__________base____________| |______________relative-url______________|\n\t * | |___root___|_optional_|__app-base__|_________router-path_______|\n\t */\n\n\tconst removePrefix = (str, prefix) => str.startsWith(prefix) ? str.slice(prefix.length) : str\n\tconst removePrefixes = (str, ...prefixes) => prefixes.reduce((acc, prefix) => removePrefix(acc, prefix), str)\n\n\t// Router is not defined in the app => not an app route\n\tif (!router) {\n\t\treturn null\n\t}\n\n\tconst isAbsoluteURL = /^https?:\\/\\//.test(url)\n\n\t// URL is a \"mailto:\", \"tel:\" or any custom app protocol link\n\tconst isNonHttpLink = /^[a-z][a-z0-9+.-]*:.+/.test(url)\n\tif (!isAbsoluteURL && isNonHttpLink) {\n\t\treturn null\n\t}\n\n\t// URL is not a link to this Nextcloud server instance => not an app route\n\tif (isAbsoluteURL && !url.startsWith(getBaseUrl())) {\n\t\treturn null\n\t}\n\n\tif (!isAbsoluteURL && !url.startsWith('/')) {\n\t\t// Relative URL without a leading slash are not allowed\n\t\t// VueRouter handles such urls according to the URL RFC,\n\t\t// for example, being on /call/abc page, link \"def\" is resolved as \"/call/def\" relative to \"/call/\".\n\t\t// We don't want to support such links,\n\t\t// so relative URL MUST start with a slash.\n\t\treturn null\n\t}\n\n\t// URL relative to the instance root\n\tconst relativeUrl = isAbsoluteURL ? removePrefixes(url, getBaseUrl(), '/index.php') : url\n\n\t// Router base relative to the instance root (app-base above)\n\tconst relativeRouterBase = removePrefixes(router.options.history.base, getRootUrl(), '/index.php')\n\n\t// Root route may have an empty '' path, fallback to '/'\n\tconst potentialRouterPath = removePrefixes(relativeUrl, relativeRouterBase) || '/'\n\n\t// Check if there is actually matching route in the router for this path\n\tconst route = router.resolve(potentialRouterPath)\n\n\tif (!route.matched.length) {\n\t\treturn null\n\t}\n\n\treturn route.fullPath\n}\n"],"names":["_createElementBlock","_normalizeClass","$style","_renderSlot"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as register, t as t3, a as t } from "./_l10n-
|
|
1
|
+
import { r as register, t as t3, a as t } from "./_l10n-wdIzZwir.mjs";
|
|
2
2
|
register(t3);
|
|
3
3
|
class Color {
|
|
4
4
|
/**
|
|
@@ -116,4 +116,4 @@ export {
|
|
|
116
116
|
defaultPalette as d,
|
|
117
117
|
generatePalette as g
|
|
118
118
|
};
|
|
119
|
-
//# sourceMappingURL=colors-
|
|
119
|
+
//# sourceMappingURL=colors-Cv9F-jWS.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors-
|
|
1
|
+
{"version":3,"file":"colors-Cv9F-jWS.mjs","sources":["../../src/utils/colors.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { t } from '../l10n.ts'\n\nexport class Color {\n\t/**\n\t * @param r - The red value\n\t * @param g - The green value\n\t * @param b - The blue value\n\t * @param name - The name of the color\n\t */\n\tconstructor(\n\t\tpublic readonly r: number,\n\t\tpublic readonly g: number,\n\t\tpublic readonly b: number,\n\t\tpublic readonly name?: string,\n\t) {\n\t\tthis.r = Math.min(r, 255)\n\t\tthis.g = Math.min(g, 255)\n\t\tthis.b = Math.min(b, 255)\n\t\tthis.name = name\n\t}\n\n\t/**\n\t * The hexadecimal color string.\n\t */\n\tget color(): string {\n\t\tconst toHex = (int: number) => `00${int.toString(16)}`.slice(-2)\n\t\treturn `#${toHex(this.r)}${toHex(this.g)}${toHex(this.b)}`\n\t}\n}\n\n/**\n * Calculate the increment needed to blend color1 into color2 within specified number of steps.\n *\n * @param steps - The number of steps\n * @param color1 - The color to start with\n * @param color2 - The color to end at\n * @return The increment needed per color channel\n */\nfunction calculateStepIncrement(steps: number, color1: Color, color2: Color): { r: number, g: number, b: number } {\n\treturn {\n\t\tr: (color2.r - color1.r) / steps,\n\t\tg: (color2.g - color1.g) / steps,\n\t\tb: (color2.b - color1.b) / steps,\n\t}\n}\n\n/**\n * Create a color palette from two colors\n *\n * @param steps - The number of steps the palette should have\n * @param color1 - The first color to mix\n * @param color2 - The second color to mix\n * @return The created palette array (mixed `color1` and `color2` with `steps` steps)\n */\nfunction mixPalette(steps: number, color1: Color, color2: Color): Color[] {\n\tconst palette: Color[] = []\n\tpalette.push(color1)\n\tconst increment = calculateStepIncrement(steps, color1, color2)\n\tfor (let i = 1; i < steps; i++) {\n\t\tconst r = Math.floor(color1.r + increment.r * i)\n\t\tconst g = Math.floor(color1.g + increment.g * i)\n\t\tconst b = Math.floor(color1.b + increment.b * i)\n\t\tpalette.push(new Color(r, g, b))\n\t}\n\treturn palette\n}\n\n// This are our default base colors we use for mixing palettes\nconst COLOR_RED = new Color(182, 70, 157, t('Purple'))\nconst COLOR_YELLOW = new Color(221, 203, 85, t('Gold'))\nconst COLOR_BLUE = new Color(0, 130, 201, t('Nextcloud blue'))\n// Special \"none\"-colors\nexport const COLOR_BLACK = new Color(0, 0, 0, t('Black'))\nexport const COLOR_WHITE = new Color(255, 255, 255, t('White'))\n\n/**\n * Like GenColor(4) but with labels\n */\nexport const defaultPalette = [\n\tCOLOR_RED,\n\tnew Color(\n\t\t...[191, 103, 139],\n\t\tt('Rosy brown'), // TRANSLATORS: A color name for RGB(191, 103, 139)\n\t),\n\tnew Color(\n\t\t...[201, 136, 121],\n\t\tt('Feldspar'), // TRANSLATORS: A color name for RGB(201, 136, 121)\n\t),\n\tnew Color(\n\t\t...[211, 169, 103],\n\t\tt('Whiskey'), // TRANSLATORS: A color name for RGB(211, 169, 103)\n\t),\n\tCOLOR_YELLOW,\n\tnew Color(\n\t\t...[165, 184, 114],\n\t\tt('Olivine'), // TRANSLATORS: A color name for RGB(165, 184, 114)\n\t),\n\tnew Color(\n\t\t...[110, 166, 143],\n\t\tt('Acapulco'), // TRANSLATORS: A color name for RGB(110, 166, 143)\n\t),\n\tnew Color(\n\t\t...[55, 148, 172],\n\t\tt('Boston Blue'), // TRANSLATORS: A color name for RGB(55, 148, 172)\n\t),\n\tCOLOR_BLUE,\n\tnew Color(\n\t\t...[45, 115, 190],\n\t\tt('Mariner'), // TRANSLATORS: A color name for RGB(45, 115, 190)\n\t),\n\tnew Color(\n\t\t...[91, 100, 179],\n\t\tt('Blue Violet'), // TRANSLATORS: A color name for RGB(91, 100, 179)\n\t),\n\tnew Color(\n\t\t...[136, 85, 168],\n\t\tt('Deluge'), // TRANSLATORS: A color name for RGB(136, 85, 168)\n\t),\n]\n\n/**\n * Generate colors from the official nextcloud color\n * You can provide how many colors you want (multiplied by 3).\n *\n * For example if steps is set to 6, then 3 colors * 6 will result in 18 generated colors.\n *\n * @param steps - Number of steps to go from a color to another\n */\nexport function generatePalette(steps: number): Color[] {\n\tif (steps <= 0) {\n\t\tsteps = 6\n\t}\n\n\tif (steps === 4) {\n\t\treturn [...defaultPalette]\n\t}\n\n\tconst palette1 = mixPalette(steps, COLOR_RED, COLOR_YELLOW)\n\tconst palette2 = mixPalette(steps, COLOR_YELLOW, COLOR_BLUE)\n\tconst palette3 = mixPalette(steps, COLOR_BLUE, COLOR_RED)\n\n\treturn palette1.concat(palette2).concat(palette3)\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ function registerWidget(id, callback, onDestroy = () => {
|
|
|
8
8
|
const propsWithDefaults = {
|
|
9
9
|
hasInteractiveView: true,
|
|
10
10
|
fullWidth: false,
|
|
11
|
+
isResizable: false,
|
|
11
12
|
...props
|
|
12
13
|
};
|
|
13
14
|
if (window._vue_richtext_widgets[id]) {
|
|
@@ -50,6 +51,9 @@ function hasInteractiveView(id) {
|
|
|
50
51
|
function hasFullWidth(id) {
|
|
51
52
|
return !!window._vue_richtext_widgets[id]?.fullWidth;
|
|
52
53
|
}
|
|
54
|
+
function isResizable(id) {
|
|
55
|
+
return !!window._vue_richtext_widgets[id]?.isResizable;
|
|
56
|
+
}
|
|
53
57
|
window._vue_richtext_custom_picker_elements ??= {};
|
|
54
58
|
window._registerCustomPickerElement ??= registerCustomPickerElement;
|
|
55
59
|
class NcCustomPickerRenderResult {
|
|
@@ -113,6 +117,7 @@ export {
|
|
|
113
117
|
hasInteractiveView as h,
|
|
114
118
|
isCustomPickerElementRegistered as i,
|
|
115
119
|
hasFullWidth as j,
|
|
120
|
+
isResizable as k,
|
|
116
121
|
registerCustomPickerElement as r
|
|
117
122
|
};
|
|
118
|
-
//# sourceMappingURL=customPickerElements-
|
|
123
|
+
//# sourceMappingURL=customPickerElements-BqbDcaEu.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customPickerElements-BqbDcaEu.mjs","sources":["../../src/functions/reference/widgets.ts","../../src/functions/reference/customPickerElements.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { logger } from '../../utils/logger.ts'\n\n/** Reference interface (copied from OpenAPI core) */\nexport interface ReferenceWidgetObject {\n\trichObjectType: string\n\trichObject: {\n\t\t[key: string]: Record<string, unknown> | null\n\t}\n\topenGraphObject: {\n\t\tid: string\n\t\tname: string\n\t\tdescription: string | null\n\t\tthumb: string | null\n\t\tlink: string\n\t}\n\taccessible: boolean\n}\n\nexport interface ReferenceWidgetRenderProperties extends ReferenceWidgetObject {\n\tinteractive: boolean\n}\n\ntype ReferenceWidgetRenderCallback = (el: HTMLElement, properties: ReferenceWidgetRenderProperties) => void\ntype ReferenceWidgetDestroyCallback = (el: HTMLElement) => void\n\nexport interface ReferenceWidgetProps {\n\tid: string\n\thasInteractiveView: boolean\n\tfullWidth: boolean\n\tisResizable: boolean\n\tcallback: ReferenceWidgetRenderCallback\n\tonDestroy: ReferenceWidgetDestroyCallback\n}\n\nwindow._vue_richtext_widgets ??= {}\nwindow._registerWidget ??= (id: string, callback: ReferenceWidgetRenderCallback, onDestroy: ReferenceWidgetDestroyCallback, props: Partial<ReferenceWidgetProps>) => {\n\tregisterWidget(id, callback, onDestroy, props)\n}\n\n/**\n * Register a new reference widget\n *\n * @param id - Id tof the widget\n * @param callback - Render callback\n * @param onDestroy - Cleanup callback\n * @param props - Widget props (all optional)\n * @param props.hasInteractiveView - Whether the widget exposes an interactive view (default: true)\n * @param props.fullWidth - Whether the widget renders at full container width (default: false)\n * @param props.isResizable - Whether the user can drag-resize the widget height (default: false)\n */\nexport function registerWidget(\n\tid: string,\n\tcallback: ReferenceWidgetRenderCallback,\n\tonDestroy: ReferenceWidgetDestroyCallback = () => {},\n\tprops?: Partial<ReferenceWidgetProps>,\n) {\n\tconst propsWithDefaults = {\n\t\thasInteractiveView: true,\n\t\tfullWidth: false,\n\t\tisResizable: false,\n\t\t...props,\n\t}\n\n\tif (window._vue_richtext_widgets[id]) {\n\t\tlogger.error(`[ReferencePicker]: Widget for id ${id} already registered`)\n\t\treturn\n\t}\n\n\twindow._vue_richtext_widgets[id] = {\n\t\tid,\n\t\tcallback,\n\t\tonDestroy,\n\t\t...propsWithDefaults,\n\t}\n}\n\n/**\n * Render a reference widget to a given HTML element.\n *\n * @param el - The element to render widget to\n * @param options - render options\n */\nexport function renderWidget(el: HTMLElement, options: ReferenceWidgetRenderProperties) {\n\tconst { richObjectType, richObject, accessible, interactive } = options\n\tif (richObjectType === 'open-graph') {\n\t\treturn\n\t}\n\n\tif (!window._vue_richtext_widgets[richObjectType]) {\n\t\tlogger.error('Widget for rich object type ' + richObjectType + ' not registered')\n\t\treturn\n\t}\n\n\twindow._vue_richtext_widgets[richObjectType].callback(el, { richObjectType, richObject, accessible, interactive })\n}\n\n/**\n * Call the cleanup callback of the reference widget for given object type.\n *\n * @param richObjectType - The object type\n * @param el - The element\n */\nexport function destroyWidget(richObjectType: string, el: HTMLElement) {\n\tif (richObjectType === 'open-graph') {\n\t\treturn\n\t}\n\n\tif (!window._vue_richtext_widgets[richObjectType]) {\n\t\treturn\n\t}\n\n\twindow._vue_richtext_widgets[richObjectType].onDestroy(el)\n}\n\n/**\n * Check if a widget with the give id is registered.\n *\n * @param id - Id of the widget\n */\nexport function isWidgetRegistered(id: string): boolean {\n\treturn !!window._vue_richtext_widgets[id]\n}\n\n/**\n * Check if the given widget has an interactive view.\n *\n * @param id - Id of the widget\n */\nexport function hasInteractiveView(id: string): boolean {\n\treturn !!window._vue_richtext_widgets[id]?.hasInteractiveView\n}\n\n/**\n * Check if the widget supports full width.\n *\n * @param id - Id of the widget\n */\nexport function hasFullWidth(id: string): boolean {\n\treturn !!window._vue_richtext_widgets[id]?.fullWidth\n}\n\n/**\n * Check if the widget is resizable.\n *\n * @param id - Id of the widget\n */\nexport function isResizable(id: string): boolean {\n\treturn !!window._vue_richtext_widgets[id]?.isResizable\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { logger } from '../../utils/logger.ts'\n\nwindow._vue_richtext_custom_picker_elements ??= {}\nwindow._registerCustomPickerElement ??= registerCustomPickerElement\n\n/**\n * Representation of the render callback result\n * It contains a dom element and an object (Vue instance or other fancy things)\n */\nexport class NcCustomPickerRenderResult {\n\tpublic element: HTMLElement\n\tpublic object: object\n\n\t/**\n\t * @param element - The HTML element\n\t * @param object - The object\n\t */\n\tconstructor(element: HTMLElement, object: object) {\n\t\tthis.element = element\n\t\tthis.object = object\n\t}\n}\n\ninterface CustomPickerElementProps {\n\tproviderId: number\n\taccessible: boolean\n}\n\ntype CustomPickerElementRegistrationCallback = (el: HTMLElement, options: CustomPickerElementProps) => void\ntype CustomPickerElementDestroyCallback = (el: HTMLElement, result: NcCustomPickerRenderResult) => void\n\nexport interface CustomPickerElement {\n\tid: string\n\tsize: 'small' | 'normal' | 'large' | 'full'\n\n\tcallback: CustomPickerElementRegistrationCallback\n\tonDestroy: CustomPickerElementDestroyCallback\n}\n\n/**\n * @param id - Id of the element to check\n */\nexport function isCustomPickerElementRegistered(id: string): boolean {\n\treturn !!window._vue_richtext_custom_picker_elements[id]\n}\n\n/**\n * @param id - Id of the element to get\n */\nexport function getCustomPickerElementSize(id: string): 'small' | 'normal' | 'large' | 'full' | null {\n\tconst size = window._vue_richtext_custom_picker_elements[id]?.size\n\tif (size && ['small', 'normal', 'large', 'full'].includes(size)) {\n\t\treturn size\n\t}\n\treturn null\n}\n\n/**\n * @param id - Id of element to register\n * @param callback - Render callback\n * @param onDestroy - Cleanup callback\n * @param size - Size of the element\n */\nexport function registerCustomPickerElement(\n\tid: string,\n\tcallback: CustomPickerElementRegistrationCallback,\n\tonDestroy: CustomPickerElementDestroyCallback = () => {},\n\tsize: CustomPickerElement['size'] = 'large',\n) {\n\tif (window._vue_richtext_custom_picker_elements[id]) {\n\t\tlogger.error(`Custom reference picker element for id ${id} already registered`)\n\t\treturn\n\t}\n\n\twindow._vue_richtext_custom_picker_elements[id] = {\n\t\tid,\n\t\tcallback,\n\t\tonDestroy,\n\t\tsize,\n\t}\n}\n\n/**\n * @param el - element to render to\n * @param options - Element options\n */\nexport function renderCustomPickerElement(el: HTMLElement, options: CustomPickerElementProps) {\n\tconst { providerId, accessible } = options\n\tif (!window._vue_richtext_custom_picker_elements[providerId]) {\n\t\tlogger.error(`Custom reference picker element for reference provider ID ${providerId} not registered`)\n\t\treturn\n\t}\n\n\treturn window._vue_richtext_custom_picker_elements[providerId]\n\t\t.callback(el, { providerId, accessible })\n}\n\n/**\n * @param providerId - Provider id of element to destroy\n * @param el - The element to destroy element from\n * @param renderResult - The render result\n */\nexport function destroyCustomPickerElement(providerId: string, el: HTMLElement, renderResult: NcCustomPickerRenderResult) {\n\tif (!window._vue_richtext_custom_picker_elements[providerId]) {\n\t\treturn\n\t}\n\n\twindow._vue_richtext_custom_picker_elements[providerId]\n\t\t.onDestroy(el, renderResult)\n}\n"],"names":[],"mappings":"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"}
|