@nextcloud/vue 9.0.0-alpha.7 → 9.0.0-alpha.8
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 +228 -138
- package/README.md +9 -5
- package/dist/assets/{NcActionButton-CVjVxm7I.css → NcActionButton-d8aZCq9u.css} +16 -16
- package/dist/assets/{NcActionCaption-BNDtcWJ7.css → NcActionCaption-DnG2OyWa.css} +2 -2
- package/dist/assets/{NcActionCheckbox-CnTyr-NN.css → NcActionCheckbox-tMIOGziy.css} +12 -12
- package/dist/assets/{NcActionInput-D19t1QsM.css → NcActionInput-C-rQsTEA.css} +62 -62
- package/dist/assets/{NcActionLink-DA3ebr8W.css → NcActionLink-jSPFFKV8.css} +12 -12
- package/dist/assets/{NcActionRadio-C7Kqlz6k.css → NcActionRadio-xdrmoEIq.css} +12 -12
- package/dist/assets/{NcActionRouter-BtJqkgqu.css → NcActionRouter-qNNqBZab.css} +15 -15
- package/dist/assets/{NcActionText-FHEPUweO.css → NcActionText-0XNfku_2.css} +17 -17
- package/dist/assets/{NcActionTextEditable-DzNRmwkV.css → NcActionTextEditable-ZlNtR_B_.css} +60 -60
- package/dist/assets/{NcActions-BepWTc-7.css → NcActions-D7gPHaUE.css} +11 -11
- package/dist/assets/{NcAppContent-BZ3rplmb.css → NcAppContent-CLu_1q4O.css} +24 -24
- package/dist/assets/{NcAppNavigation-_K9H-MtG.css → NcAppNavigation-BXItV5BV.css} +13 -13
- package/dist/assets/{NcAppNavigationItem-PKTHyQue.css → NcAppNavigationItem-aVy0uQwf.css} +34 -34
- package/dist/assets/{NcAppNavigationNew-L_VNZNL4.css → NcAppNavigationNew-Ba3wWpcY.css} +3 -3
- package/dist/assets/{NcAppNavigationSearch-Bsr4esEc.css → NcAppNavigationSearch-BAzhDRd7.css} +6 -6
- package/dist/assets/{NcAppNavigationToggle-By3_rHPL.css → NcAppNavigationToggle-DnTKNSH7.css} +3 -3
- package/dist/assets/{NcAppSettingsDialog-c8Xj_A-1.css → NcAppSettingsDialog-DZfD_UEa.css} +11 -11
- package/dist/assets/{NcAppSidebar-g99AGRiQ.css → NcAppSidebar-GFQ62pY2.css} +61 -61
- package/dist/assets/{NcAvatar-Bg20-FW4.css → NcAvatar-DUKfNDGL.css} +26 -26
- package/dist/assets/{NcBreadcrumb-r0TATv9A.css → NcBreadcrumb-CV3DgRKn.css} +15 -15
- package/dist/assets/{NcBreadcrumbs-Bbd8rdwH.css → NcBreadcrumbs-D2wff82k.css} +6 -6
- package/dist/assets/{NcButton-C50FLvfa.css → NcButton-wmjlEdLP.css} +48 -49
- package/dist/assets/{NcCheckboxRadioSwitch-jfJIoM4m.css → NcCheckboxRadioSwitch-uwXbP_jb.css} +42 -42
- package/dist/assets/{NcChip-BWWUudAH.css → NcChip-CKtzzrlA.css} +9 -9
- package/dist/assets/{NcCollectionList-COXbQt16.css → NcCollectionList-DTJgOfCk.css} +29 -29
- package/dist/assets/{NcColorPicker-3h8DrL_S.css → NcColorPicker-Clz7MjCA.css} +29 -29
- package/dist/assets/{NcContent-BgziefsK.css → NcContent-aXaYSfjS.css} +10 -10
- package/dist/assets/{NcDashboardWidget-Cdxxd7ei.css → NcDashboardWidget-xV4o6Cen.css} +14 -15
- package/dist/assets/NcDateTimePicker-AIJmp5dC.css +81 -0
- package/dist/assets/{NcDateTimePickerNative-pbWtBuzt.css → NcDateTimePickerNative-CdHLvH4A.css} +13 -13
- package/dist/assets/{NcDialog-DL7A_udP.css → NcDialog-Dkeikssh.css} +15 -15
- package/dist/assets/{NcEllipsisedOption-DGr9_bIL.css → NcEllipsisedOption-D-IsjXWc.css} +5 -5
- package/dist/assets/{NcEmojiPicker-Bfk2pnZE.css → NcEmojiPicker-DnMU8iEd.css} +5 -5
- package/dist/assets/{NcEmptyContent-DZSuQ2yE.css → NcEmptyContent-D1O466rM.css} +9 -9
- package/dist/assets/{NcHeaderButton-cVjCMSVn.css → NcHeaderButton-BPIasMkw.css} +7 -7
- package/dist/assets/{NcHeaderMenu-QJK2rMK3.css → NcHeaderMenu-ZmtqwEYA.css} +11 -11
- package/dist/assets/{NcInputConfirmCancel-D46m8Alt.css → NcInputConfirmCancel-9YyvRYjw.css} +6 -6
- package/dist/assets/{NcInputField-CRvNH5sg.css → NcInputField-B8J2uFD4.css} +32 -32
- package/dist/assets/{NcListItem-BEfZK5UK.css → NcListItem-Byw-ayOI.css} +44 -44
- package/dist/assets/{NcListItemIcon-E21VFJqd.css → NcListItemIcon-Bnr-Z-SO.css} +14 -14
- package/dist/assets/{NcPasswordField-Bl9fhgy-.css → NcPasswordField-z9gbKnov.css} +2 -2
- package/dist/assets/{NcRelatedResourcesPanel-Chjd8iT7.css → NcRelatedResourcesPanel-DXfywiqL.css} +23 -23
- package/dist/assets/{NcRichContenteditable-BwHgQWPX.css → NcRichContenteditable-Bxi-Ki0j.css} +10 -10
- package/dist/assets/{NcRichText-fo4QE8--.css → NcRichText-Dvt8jvWN.css} +83 -83
- package/dist/assets/{NcSelect-GdIw6cIy.css → NcSelect-B6DUjUdl.css} +2 -2
- package/dist/assets/{NcSettingsInputText-BTOyFeAK.css → NcSettingsInputText-B-V6Y4MD.css} +7 -7
- package/dist/assets/{NcSettingsSelectGroup-DhyosmOr.css → NcSettingsSelectGroup-DZcNr_Dq.css} +2 -2
- package/dist/assets/{NcTextArea-BfSGN55r.css → NcTextArea-DHr9DPOJ.css} +20 -20
- package/dist/assets/{index-BRaTLqzR.css → index-Du_FXiPy.css} +61 -61
- package/dist/assets/{referencePickerModal-Cy43S4js.css → referencePickerModal-CkGgDb19.css} +8 -8
- package/dist/chunks/AlertCircleOutline-DVzpKQVu.mjs +1 -0
- package/dist/chunks/ArrowLeft-CanHG70H.mjs +1 -0
- package/dist/chunks/ArrowRight-DQT24Cb-.mjs +1 -0
- package/dist/chunks/Check-5i4xKnkl.mjs +1 -0
- package/dist/chunks/ChevronDown-FiGpp0KT.mjs +1 -0
- package/dist/chunks/ChevronLeft-FfC-tiIS.mjs +1 -0
- package/dist/chunks/ChevronRight-LvtA5_hq.mjs +1 -0
- package/dist/chunks/ChevronUp-DPXFp1ss.mjs +1 -0
- package/dist/chunks/{Close-idsVwGrC.mjs → Close-D6ngJ4t9.mjs} +3 -2
- package/dist/chunks/{Close-idsVwGrC.mjs.map → Close-D6ngJ4t9.mjs.map} +1 -1
- package/dist/chunks/DotsHorizontal-AMVAlTNH.mjs +1 -0
- package/dist/chunks/{NcActionButton-DBFJTCO5.mjs → NcActionButton-BdQ_qmvW.mjs} +6 -4
- package/dist/chunks/{NcActionButton-DBFJTCO5.mjs.map → NcActionButton-BdQ_qmvW.mjs.map} +1 -1
- package/dist/chunks/{NcActionButtonGroup-nwHeJeV7.mjs → NcActionButtonGroup-TitZerDl.mjs} +6 -4
- package/dist/chunks/NcActionButtonGroup-TitZerDl.mjs.map +1 -0
- package/dist/chunks/{NcActionCaption-DmOKI_Kc.mjs → NcActionCaption-Fumfjzxj.mjs} +5 -3
- package/dist/chunks/NcActionCaption-Fumfjzxj.mjs.map +1 -0
- package/dist/chunks/{NcActionCheckbox-yPCmA5vr.mjs → NcActionCheckbox-CUYbo1rw.mjs} +7 -5
- package/dist/chunks/NcActionCheckbox-CUYbo1rw.mjs.map +1 -0
- package/dist/chunks/{NcActionInput-DTzVHmHn.mjs → NcActionInput-TI648L3V.mjs} +12 -11
- package/dist/chunks/NcActionInput-TI648L3V.mjs.map +1 -0
- package/dist/chunks/{NcActionLink-CG3cKif-.mjs → NcActionLink-cQlsviu9.mjs} +6 -4
- package/dist/chunks/NcActionLink-cQlsviu9.mjs.map +1 -0
- package/dist/chunks/{NcActionRadio-BWPi0DII.mjs → NcActionRadio-tORL1qPt.mjs} +7 -5
- package/dist/chunks/NcActionRadio-tORL1qPt.mjs.map +1 -0
- package/dist/chunks/{NcActionRouter-C7VSuJLq.mjs → NcActionRouter-Bw1tpEZt.mjs} +6 -4
- package/dist/chunks/NcActionRouter-Bw1tpEZt.mjs.map +1 -0
- package/dist/chunks/NcActionSeparator-Doekl1NX.mjs +1 -0
- package/dist/chunks/{NcActionText-ByD1mFXe.mjs → NcActionText-VLCHOiIy.mjs} +6 -4
- package/dist/chunks/NcActionText-VLCHOiIy.mjs.map +1 -0
- package/dist/chunks/{NcActionTextEditable-DLKA6lfe.mjs → NcActionTextEditable-nTbwgRy2.mjs} +7 -6
- package/dist/chunks/NcActionTextEditable-nTbwgRy2.mjs.map +1 -0
- package/dist/chunks/{NcActions-DxTtucKk.mjs → NcActions-CgKHXNbF.mjs} +49 -37
- package/dist/chunks/NcActions-CgKHXNbF.mjs.map +1 -0
- package/dist/chunks/{NcAppContent-Cu9zhNK3.mjs → NcAppContent-C4gBVRQs.mjs} +67 -16
- package/dist/chunks/NcAppContent-C4gBVRQs.mjs.map +1 -0
- package/dist/chunks/NcAppContentDetails-DsEEBJ0U.mjs +1 -0
- package/dist/chunks/NcAppContentList-DnLY_sWw.mjs +1 -0
- package/dist/chunks/{NcAppNavigation-BxUvXgeG.mjs → NcAppNavigation-DbRpHbi9.mjs} +4 -3
- package/dist/chunks/{NcAppNavigation-BxUvXgeG.mjs.map → NcAppNavigation-DbRpHbi9.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationCaption-S_2Jmwqr.mjs → NcAppNavigationCaption-R_UZ7iKw.mjs} +2 -1
- package/dist/chunks/{NcAppNavigationCaption-S_2Jmwqr.mjs.map → NcAppNavigationCaption-R_UZ7iKw.mjs.map} +1 -1
- package/dist/chunks/NcAppNavigationIconBullet-B1kc4u65.mjs +1 -0
- package/dist/chunks/{NcAppNavigationItem-C7bIZuo2.mjs → NcAppNavigationItem-CxYtFEhV.mjs} +16 -15
- package/dist/chunks/NcAppNavigationItem-CxYtFEhV.mjs.map +1 -0
- package/dist/chunks/NcAppNavigationList-DX_Yo23V.mjs +1 -0
- package/dist/chunks/{NcAppNavigationNew-BO-Llutk.mjs → NcAppNavigationNew-sMVo_IoL.mjs} +11 -6
- package/dist/chunks/NcAppNavigationNew-sMVo_IoL.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationNewItem-D7CYmmOm.mjs → NcAppNavigationNewItem-CJZcL6GH.mjs} +2 -1
- package/dist/chunks/{NcAppNavigationNewItem-D7CYmmOm.mjs.map → NcAppNavigationNewItem-CJZcL6GH.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSearch-DLbzvkkq.mjs → NcAppNavigationSearch-Dbhh-Vtw.mjs} +7 -6
- package/dist/chunks/NcAppNavigationSearch-Dbhh-Vtw.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationSettings-vM8ajNNK.mjs → NcAppNavigationSettings-Bfo3EWk_.mjs} +5 -4
- package/dist/chunks/NcAppNavigationSettings-Bfo3EWk_.mjs.map +1 -0
- package/dist/chunks/NcAppNavigationSpacer-CzBLuQL8.mjs +1 -0
- package/dist/chunks/{NcAppNavigationToggle-DBtf139E.mjs → NcAppNavigationToggle-Ys-PjFo3.mjs} +9 -8
- package/dist/chunks/NcAppNavigationToggle-Ys-PjFo3.mjs.map +1 -0
- package/dist/chunks/{NcAppSettingsDialog-CdFUuydh.mjs → NcAppSettingsDialog-Cc-OdY9a.mjs} +5 -4
- package/dist/chunks/{NcAppSettingsDialog-CdFUuydh.mjs.map → NcAppSettingsDialog-Cc-OdY9a.mjs.map} +1 -1
- package/dist/chunks/NcAppSettingsSection-CssmXyZ0.mjs +1 -0
- package/dist/chunks/{NcAppSidebar-Dav-iGv2.mjs → NcAppSidebar-Dgwj8O_Z.mjs} +26 -25
- package/dist/chunks/NcAppSidebar-Dgwj8O_Z.mjs.map +1 -0
- package/dist/chunks/NcAppSidebarTab-DG51ajic.mjs +1 -0
- package/dist/chunks/{NcAvatar-A1YnlIoN.mjs → NcAvatar-CA8y4d-c.mjs} +34 -34
- package/dist/chunks/NcAvatar-CA8y4d-c.mjs.map +1 -0
- package/dist/chunks/NcBlurHash-BiFktE2N.mjs +1 -0
- package/dist/chunks/NcBlurHash-BiFktE2N.mjs.map +1 -1
- package/dist/chunks/{NcBreadcrumb-D5cRcQg5.mjs → NcBreadcrumb-DSjIxTeU.mjs} +21 -17
- package/dist/chunks/NcBreadcrumb-DSjIxTeU.mjs.map +1 -0
- package/dist/chunks/{NcBreadcrumbs-CnWT9rE5.mjs → NcBreadcrumbs-jPvP6Cmo.mjs} +10 -9
- package/dist/chunks/NcBreadcrumbs-jPvP6Cmo.mjs.map +1 -0
- package/dist/chunks/{NcButton-QmfEsvXC.mjs → NcButton-BHLqKKYP.mjs} +63 -53
- package/dist/chunks/NcButton-BHLqKKYP.mjs.map +1 -0
- package/dist/chunks/{NcCheckboxRadioSwitch-Ctdu7_UC.mjs → NcCheckboxRadioSwitch-CWU_M_ui.mjs} +7 -6
- package/dist/chunks/NcCheckboxRadioSwitch-CWU_M_ui.mjs.map +1 -0
- package/dist/chunks/{NcChip-BnD-EmBn.mjs → NcChip-C3U2HYR9.mjs} +21 -60
- package/dist/chunks/NcChip-C3U2HYR9.mjs.map +1 -0
- package/dist/chunks/{NcCollectionList-9YfN6xAi.mjs → NcCollectionList-BtHsipae.mjs} +9 -8
- package/dist/chunks/NcCollectionList-BtHsipae.mjs.map +1 -0
- package/dist/chunks/{NcColorPicker-DQqAv2wB.mjs → NcColorPicker-BI-Is4nj.mjs} +14 -13
- package/dist/chunks/NcColorPicker-BI-Is4nj.mjs.map +1 -0
- package/dist/chunks/{NcContent-CsDFFKvH.mjs → NcContent-BcF6f3N-.mjs} +8 -7
- package/dist/chunks/{NcContent-CsDFFKvH.mjs.map → NcContent-BcF6f3N-.mjs.map} +1 -1
- package/dist/chunks/NcCounterBubble-6B_JNUUS.mjs +1 -0
- package/dist/chunks/{NcDashboardWidget-ROT13m5A.mjs → NcDashboardWidget-1rVqTzgV.mjs} +8 -7
- package/dist/chunks/{NcDashboardWidget-ROT13m5A.mjs.map → NcDashboardWidget-1rVqTzgV.mjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidgetItem-DoYOYxck.mjs → NcDashboardWidgetItem-7RXY5EKJ.mjs} +4 -3
- package/dist/chunks/{NcDashboardWidgetItem-DoYOYxck.mjs.map → NcDashboardWidgetItem-7RXY5EKJ.mjs.map} +1 -1
- package/dist/chunks/NcDateTime.vue_vue_type_script_setup_true_lang-DtP-oauZ.mjs +31 -0
- package/dist/chunks/NcDateTime.vue_vue_type_script_setup_true_lang-DtP-oauZ.mjs.map +1 -0
- package/dist/chunks/NcDateTimePicker-BzfuHym4.mjs +257 -0
- package/dist/chunks/NcDateTimePicker-BzfuHym4.mjs.map +1 -0
- package/dist/chunks/{NcDateTimePickerNative-Dbc6pBXk.mjs → NcDateTimePickerNative-Dake1IML.mjs} +6 -5
- package/dist/chunks/NcDateTimePickerNative-Dake1IML.mjs.map +1 -0
- package/dist/chunks/{NcDialog-B81mllwn.mjs → NcDialog-_pc2BPHU.mjs} +12 -11
- package/dist/chunks/NcDialog-_pc2BPHU.mjs.map +1 -0
- package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-DgWqkSL7.mjs → NcDialogButton.vue_vue_type_script_setup_true_lang-BKrJ_xd8.mjs} +22 -23
- package/dist/chunks/NcDialogButton.vue_vue_type_script_setup_true_lang-BKrJ_xd8.mjs.map +1 -0
- package/dist/chunks/{NcEllipsisedOption-D4OggsNq.mjs → NcEllipsisedOption-4k07kvEr.mjs} +5 -4
- package/dist/chunks/NcEllipsisedOption-4k07kvEr.mjs.map +1 -0
- package/dist/chunks/{NcEmojiPicker-DKGBXunS.mjs → NcEmojiPicker-CWbez_of.mjs} +18 -14
- package/dist/chunks/NcEmojiPicker-CWbez_of.mjs.map +1 -0
- package/dist/chunks/{NcEmptyContent-D-wBvEi4.mjs → NcEmptyContent-BQnIrQQn.mjs} +3 -2
- package/dist/chunks/NcEmptyContent-BQnIrQQn.mjs.map +1 -0
- package/dist/chunks/NcGuestContent-iQpV7mLC.mjs +1 -0
- package/dist/chunks/{NcHeaderButton-Cq62USyt.mjs → NcHeaderButton-BsstEWtv.mjs} +9 -8
- package/dist/chunks/{NcHeaderButton-Cq62USyt.mjs.map → NcHeaderButton-BsstEWtv.mjs.map} +1 -1
- package/dist/chunks/{NcHeaderMenu-BRiroRYT.mjs → NcHeaderMenu-ZzoCwPvX.mjs} +13 -14
- package/dist/chunks/NcHeaderMenu-ZzoCwPvX.mjs.map +1 -0
- package/dist/chunks/{NcHighlight-BHtRIzqk.mjs → NcHighlight-Cu4UfEEO.mjs} +11 -7
- package/dist/chunks/NcHighlight-Cu4UfEEO.mjs.map +1 -0
- package/dist/chunks/NcIconSvgWrapper-BYTrkA66.mjs +1 -0
- package/dist/chunks/{NcInputConfirmCancel-xnrPAGac.mjs → NcInputConfirmCancel-CX56m05a.mjs} +19 -18
- package/dist/chunks/NcInputConfirmCancel-CX56m05a.mjs.map +1 -0
- package/dist/chunks/{NcInputField-CzC820tG.mjs → NcInputField-DdZlDVwQ.mjs} +7 -6
- package/dist/chunks/NcInputField-DdZlDVwQ.mjs.map +1 -0
- package/dist/chunks/{NcListItem-DFLsabmR.mjs → NcListItem-DF8Yv05m.mjs} +4 -3
- package/dist/chunks/NcListItem-DF8Yv05m.mjs.map +1 -0
- package/dist/chunks/{NcListItemIcon-BK9GBjoD.mjs → NcListItemIcon-nzw_x2Q5.mjs} +5 -4
- package/dist/chunks/{NcListItemIcon-BK9GBjoD.mjs.map → NcListItemIcon-nzw_x2Q5.mjs.map} +1 -1
- package/dist/chunks/NcLoadingIcon-CsMn1bFR.mjs +1 -0
- package/dist/chunks/NcMentionBubble.vue_vue_type_style_index_0_scoped_6c8d0da9_lang-DYJMHclV.mjs +1 -0
- package/dist/chunks/NcNoteCard-XoSOund1.mjs +1 -0
- package/dist/chunks/{NcPasswordField-BLHAdm-k.mjs → NcPasswordField-BnnlEhT1.mjs} +6 -5
- package/dist/chunks/{NcPasswordField-BLHAdm-k.mjs.map → NcPasswordField-BnnlEhT1.mjs.map} +1 -1
- package/dist/chunks/{NcPopover-D4D97Y3j.mjs → NcPopover-C3ZoyUjc.mjs} +7 -2
- package/dist/chunks/NcPopover-C3ZoyUjc.mjs.map +1 -0
- package/dist/chunks/NcProgressBar-Bx8bMkd4.mjs +1 -0
- package/dist/chunks/{NcRelatedResourcesPanel-DsuNT9hM.mjs → NcRelatedResourcesPanel-D2YLEouH.mjs} +13 -12
- package/dist/chunks/NcRelatedResourcesPanel-D2YLEouH.mjs.map +1 -0
- package/dist/chunks/{NcRichContenteditable-BkSojqgy.mjs → NcRichContenteditable-B16VJW0Y.mjs} +18 -18
- package/dist/chunks/NcRichContenteditable-B16VJW0Y.mjs.map +1 -0
- package/dist/chunks/NcRichText-4jIBSmap.mjs +3673 -0
- package/dist/chunks/NcRichText-4jIBSmap.mjs.map +1 -0
- package/dist/chunks/NcSavingIndicatorIcon-icWy8J5x.mjs +1 -0
- package/dist/chunks/{NcSelect-B61ik8an.mjs → NcSelect-CAx_ixPU.mjs} +11 -10
- package/dist/chunks/NcSelect-CAx_ixPU.mjs.map +1 -0
- package/dist/chunks/{NcSelectTags-Dx3nG6jx.mjs → NcSelectTags-UXzC7lDz.mjs} +4 -3
- package/dist/chunks/{NcSelectTags-Dx3nG6jx.mjs.map → NcSelectTags-UXzC7lDz.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsInputText-B5FrLCL9.mjs → NcSettingsInputText-BEHu3xAI.mjs} +6 -5
- package/dist/chunks/NcSettingsInputText-BEHu3xAI.mjs.map +1 -0
- package/dist/chunks/{NcSettingsSection-CAdn6gS9.mjs → NcSettingsSection-X7f0W7vZ.mjs} +3 -2
- package/dist/chunks/{NcSettingsSection-CAdn6gS9.mjs.map → NcSettingsSection-X7f0W7vZ.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-CKIbxms2.mjs → NcSettingsSelectGroup-DfrKchOy.mjs} +8 -7
- package/dist/chunks/NcSettingsSelectGroup-DfrKchOy.mjs.map +1 -0
- package/dist/chunks/{NcTextArea-C-PMlEbl.mjs → NcTextArea-DKHjCur8.mjs} +5 -4
- package/dist/chunks/NcTextArea-DKHjCur8.mjs.map +1 -0
- package/dist/chunks/{NcTextField-CNV42Zey.mjs → NcTextField-BTzKCPza.mjs} +6 -5
- package/dist/chunks/{NcTextField-CNV42Zey.mjs.map → NcTextField-BTzKCPza.mjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-tZmX1Qp4.mjs → NcTimezonePicker-CMoUk4sZ.mjs} +8 -7
- package/dist/chunks/NcTimezonePicker-CMoUk4sZ.mjs.map +1 -0
- package/dist/chunks/{NcUserBubble-MfDc1YR2.mjs → NcUserBubble-Dgzog0Ps.mjs} +3 -2
- package/dist/chunks/{NcUserBubble-MfDc1YR2.mjs.map → NcUserBubble-Dgzog0Ps.mjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-vtnkNASH.mjs → NcUserStatusIcon-DvYiEs2L.mjs} +2 -1
- package/dist/chunks/{NcUserStatusIcon-vtnkNASH.mjs.map → NcUserStatusIcon-DvYiEs2L.mjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-DgRMJomt.mjs → ScopeComponent-BWZEma4R.mjs} +2 -1
- package/dist/chunks/{ScopeComponent-DgRMJomt.mjs.map → ScopeComponent-BWZEma4R.mjs.map} +1 -1
- package/dist/chunks/_l10n-7kR7gXFc.mjs +132 -0
- package/dist/chunks/_l10n-7kR7gXFc.mjs.map +1 -0
- package/dist/chunks/_plugin-vue_export-helper-1tPrXgE0.mjs +1 -0
- package/dist/chunks/actionGlobal-BZFdtdJL.mjs +1 -0
- package/dist/chunks/{actionText-aI0owku1.mjs → actionText-BiV1_BZX.mjs} +8 -13
- package/dist/chunks/actionText-BiV1_BZX.mjs.map +1 -0
- package/dist/chunks/autolink-CKPk5rzg.mjs +1 -0
- package/dist/chunks/{GenColors-G1ZRJcz5.mjs → colors-BJbWzaQ-.mjs} +28 -22
- package/dist/chunks/colors-BJbWzaQ-.mjs.map +1 -0
- package/dist/chunks/createElementId-DhjFt1I9.mjs +8 -0
- package/dist/chunks/createElementId-DhjFt1I9.mjs.map +1 -0
- package/dist/chunks/emoji-BY_D0V5K.mjs +1 -0
- package/dist/chunks/focusTrap-DmkaYJTC.mjs +1 -0
- package/dist/chunks/{index-wLgC9ACl.mjs → index--u6iHwFv.mjs} +3 -2
- package/dist/chunks/{index-wLgC9ACl.mjs.map → index--u6iHwFv.mjs.map} +1 -1
- package/dist/chunks/index-BF8joS9W.mjs +1 -0
- package/dist/chunks/logger-D3RVzcfQ.mjs +1 -0
- package/dist/chunks/logger-D3RVzcfQ.mjs.map +1 -1
- package/dist/chunks/mdi-zYpVOORa.mjs +17 -0
- package/dist/chunks/mdi-zYpVOORa.mjs.map +1 -0
- package/dist/chunks/{referencePickerModal-CzI44bxD.mjs → referencePickerModal-BpNnwC_g.mjs} +17 -17
- package/dist/chunks/{referencePickerModal-CzI44bxD.mjs.map → referencePickerModal-BpNnwC_g.mjs.map} +1 -1
- package/dist/chunks/rtl-v0UOPAM7.mjs +1 -0
- package/dist/chunks/{useFormatDateTime-Cvc8YJRE.mjs → useFormatDateTime-B5sWtJdj.mjs} +2 -1
- package/dist/chunks/{useFormatDateTime-Cvc8YJRE.mjs.map → useFormatDateTime-B5sWtJdj.mjs.map} +1 -1
- package/dist/chunks/useNcActions-CiGWxAJE.mjs +7 -0
- package/dist/chunks/useNcActions-CiGWxAJE.mjs.map +1 -0
- package/dist/chunks/useTrapStackControl-b3A_383w.mjs +1 -0
- package/dist/chunks/usernameToColor-CzXWY0j4.mjs +22 -0
- package/dist/chunks/usernameToColor-CzXWY0j4.mjs.map +1 -0
- package/dist/components/NcActionButton/NcActionButton.vue.d.ts +5 -0
- package/dist/components/NcActionButton/index.mjs +2 -1
- package/dist/components/NcActionButtonGroup/index.mjs +2 -1
- package/dist/components/NcActionCaption/index.mjs +2 -1
- package/dist/components/NcActionCheckbox/index.mjs +2 -1
- package/dist/components/NcActionInput/index.mjs +2 -1
- package/dist/components/NcActionLink/index.mjs +2 -1
- package/dist/components/NcActionRadio/index.mjs +2 -1
- package/dist/components/NcActionRouter/NcActionRouter.vue.d.ts +5 -0
- package/dist/components/NcActionRouter/index.mjs +2 -1
- package/dist/components/NcActionSeparator/index.mjs +1 -0
- package/dist/components/NcActionText/NcActionText.vue.d.ts +5 -0
- package/dist/components/NcActionText/index.mjs +2 -1
- package/dist/components/NcActionTextEditable/NcActionTextEditable.vue.d.ts +5 -0
- package/dist/components/NcActionTextEditable/index.mjs +2 -1
- package/dist/components/NcActions/NcActions.vue.d.ts +52 -40
- package/dist/components/NcActions/index.mjs +2 -1
- package/dist/components/NcActions/useNcActions.d.ts +3 -0
- package/dist/components/NcAppContent/index.mjs +2 -1
- package/dist/components/NcAppContentDetails/index.mjs +1 -0
- package/dist/components/NcAppContentList/index.mjs +1 -0
- package/dist/components/NcAppNavigation/NcAppNavigation.vue.d.ts +16 -15
- package/dist/components/NcAppNavigation/index.mjs +2 -1
- package/dist/components/NcAppNavigationCaption/NcAppNavigationCaption.vue.d.ts +34 -30
- package/dist/components/NcAppNavigationCaption/index.mjs +2 -1
- package/dist/components/NcAppNavigationIconBullet/index.mjs +1 -0
- package/dist/components/NcAppNavigationItem/NcAppNavigationIconCollapsible.vue.d.ts +16 -15
- package/dist/components/NcAppNavigationItem/NcAppNavigationItem.vue.d.ts +94 -83
- package/dist/components/NcAppNavigationItem/NcInputConfirmCancel.vue.d.ts +25 -24
- package/dist/components/NcAppNavigationItem/index.mjs +2 -1
- package/dist/components/NcAppNavigationList/index.mjs +1 -0
- package/dist/components/NcAppNavigationNew/NcAppNavigationNew.vue.d.ts +27 -18
- package/dist/components/NcAppNavigationNew/index.mjs +2 -1
- package/dist/components/NcAppNavigationNewItem/NcAppNavigationNewItem.vue.d.ts +18 -17
- package/dist/components/NcAppNavigationNewItem/index.mjs +2 -1
- package/dist/components/NcAppNavigationSearch/NcAppNavigationSearch.vue.d.ts +16 -15
- package/dist/components/NcAppNavigationSearch/index.mjs +2 -1
- package/dist/components/NcAppNavigationSettings/index.mjs +2 -1
- package/dist/components/NcAppNavigationSpacer/index.mjs +1 -0
- package/dist/components/NcAppNavigationToggle/NcAppNavigationToggle.vue.d.ts +16 -15
- package/dist/components/NcAppNavigationToggle/index.mjs +2 -1
- package/dist/components/NcAppSettingsDialog/index.mjs +2 -1
- package/dist/components/NcAppSettingsSection/index.mjs +1 -0
- package/dist/components/NcAppSidebar/index.mjs +2 -1
- package/dist/components/NcAppSidebarTab/index.mjs +1 -0
- package/dist/components/NcAvatar/index.mjs +2 -1
- package/dist/components/NcBlurHash/index.mjs +1 -0
- package/dist/components/NcBreadcrumb/NcBreadcrumb.vue.d.ts +70 -64
- package/dist/components/NcBreadcrumb/index.mjs +2 -1
- package/dist/components/NcBreadcrumbs/NcBreadcrumbs.vue.d.ts +97 -77
- package/dist/components/NcBreadcrumbs/index.mjs +2 -1
- package/dist/components/NcButton/NcButton.vue.d.ts +42 -38
- package/dist/components/NcButton/index.mjs +4 -3
- package/dist/components/NcButton/types.d.ts +2 -2
- package/dist/components/NcCheckboxRadioSwitch/index.mjs +2 -1
- package/dist/components/NcChip/NcChip.vue.d.ts +57 -92
- package/dist/components/NcChip/index.mjs +2 -1
- package/dist/components/NcCollectionList/index.mjs +2 -1
- package/dist/components/NcColorPicker/index.mjs +2 -1
- package/dist/components/NcContent/NcContent.vue.d.ts +16 -15
- package/dist/components/NcContent/index.mjs +2 -1
- package/dist/components/NcCounterBubble/index.mjs +1 -0
- package/dist/components/NcDashboardWidget/index.mjs +2 -1
- package/dist/components/NcDashboardWidgetItem/index.mjs +2 -1
- package/dist/components/NcDateTime/NcDateTime.vue.d.ts +56 -1
- package/dist/components/NcDateTime/index.d.ts +4 -0
- package/dist/components/NcDateTime/index.mjs +3 -2
- package/dist/components/NcDateTimePicker/NcDateTimePicker.vue.d.ts +116 -1
- package/dist/components/NcDateTimePicker/index.d.ts +4 -0
- package/dist/components/NcDateTimePicker/index.mjs +2 -1
- package/dist/components/NcDateTimePickerNative/index.mjs +2 -1
- package/dist/components/NcDialog/NcDialog.vue.d.ts +45 -48
- package/dist/components/NcDialog/index.mjs +2 -1
- package/dist/components/NcDialogButton/NcDialogButton.vue.d.ts +37 -33
- package/dist/components/NcDialogButton/index.mjs +2 -1
- package/dist/components/NcEllipsisedOption/index.mjs +2 -1
- package/dist/components/NcEmojiPicker/NcEmojiPicker.vue.d.ts +33 -31
- package/dist/components/NcEmojiPicker/index.mjs +2 -1
- package/dist/components/NcEmptyContent/index.mjs +2 -1
- package/dist/components/NcGuestContent/index.mjs +1 -0
- package/dist/components/NcHeaderButton/index.mjs +2 -1
- package/dist/components/NcHeaderMenu/NcHeaderMenu.vue.d.ts +24 -22
- package/dist/components/NcHeaderMenu/index.mjs +2 -1
- package/dist/components/NcHighlight/index.mjs +2 -1
- package/dist/components/NcIconSvgWrapper/index.mjs +1 -0
- package/dist/components/NcInputField/NcInputField.vue.d.ts +16 -15
- package/dist/components/NcInputField/index.mjs +2 -1
- package/dist/components/NcListItem/NcListItem.vue.d.ts +34 -30
- package/dist/components/NcListItem/index.mjs +2 -1
- package/dist/components/NcListItemIcon/index.mjs +2 -1
- package/dist/components/NcLoadingIcon/index.mjs +1 -0
- package/dist/components/NcModal/index.mjs +34 -31
- package/dist/components/NcModal/index.mjs.map +1 -1
- package/dist/components/NcNoteCard/index.mjs +1 -0
- package/dist/components/NcPasswordField/index.mjs +2 -1
- package/dist/components/NcPopover/index.mjs +2 -1
- package/dist/components/NcProgressBar/index.mjs +1 -0
- package/dist/components/NcRelatedResourcesPanel/NcRelatedResourcesPanel.vue.d.ts +32 -30
- package/dist/components/NcRelatedResourcesPanel/NcResource.vue.d.ts +16 -15
- package/dist/components/NcRelatedResourcesPanel/NcTeamResources.vue.d.ts +16 -15
- package/dist/components/NcRelatedResourcesPanel/index.mjs +2 -1
- package/dist/components/NcRichContenteditable/index.mjs +3 -2
- package/dist/components/NcRichText/NcReferenceList.vue.d.ts +17 -16
- package/dist/components/NcRichText/NcReferencePicker/NcRawLinkInput.vue.d.ts +33 -31
- package/dist/components/NcRichText/NcReferenceWidget.vue.d.ts +17 -16
- package/dist/components/NcRichText/NcRichText.vue.d.ts +17 -16
- package/dist/components/NcRichText/index.mjs +4 -3
- package/dist/components/NcSavingIndicatorIcon/index.mjs +1 -0
- package/dist/components/NcSelect/index.mjs +2 -1
- package/dist/components/NcSelectTags/index.mjs +2 -1
- package/dist/components/NcSettingsInputText/index.mjs +2 -1
- package/dist/components/NcSettingsSection/index.mjs +2 -1
- package/dist/components/NcSettingsSelectGroup/index.mjs +2 -1
- package/dist/components/NcTextArea/index.mjs +2 -1
- package/dist/components/NcTextField/NcTextField.vue.d.ts +16 -15
- package/dist/components/NcTextField/index.mjs +2 -1
- package/dist/components/NcTimezonePicker/index.mjs +2 -1
- package/dist/components/NcUserBubble/index.mjs +2 -1
- package/dist/components/NcUserStatusIcon/index.mjs +2 -1
- package/dist/components/NcVNodes/index.mjs +1 -0
- package/dist/composables/index.d.ts +6 -2
- package/dist/composables/useHotKey/index.mjs +1 -0
- package/dist/composables/useIsDarkTheme/index.mjs +1 -0
- package/dist/composables/useIsFullscreen/index.d.ts +3 -4
- package/dist/composables/useIsFullscreen/index.mjs +4 -1
- package/dist/composables/useIsFullscreen/index.mjs.map +1 -1
- package/dist/composables/useIsMobile/index.d.ts +9 -14
- package/dist/composables/useIsMobile/index.mjs +1 -2
- package/dist/composables/useIsMobile/index.mjs.map +1 -1
- package/dist/directives/Focus/index.mjs +1 -0
- package/dist/directives/Linkify/index.d.ts +2 -1
- package/dist/directives/Linkify/index.mjs +38 -10
- package/dist/directives/Linkify/index.mjs.map +1 -1
- package/dist/directives/Tooltip/index.mjs +1 -0
- package/dist/directives/index.d.ts +1 -1
- package/dist/functions/a11y/index.mjs +1 -0
- package/dist/functions/dialog/index.mjs +1 -0
- package/dist/functions/emoji/index.mjs +1 -0
- package/dist/functions/isDarkTheme/index.mjs +1 -0
- package/dist/functions/preloadImage/index.mjs +1 -0
- package/dist/functions/reference/index.mjs +2 -1
- package/dist/functions/registerReference/index.mjs +1 -0
- package/dist/functions/usernameToColor/index.d.ts +5 -1
- package/dist/functions/usernameToColor/index.mjs +2 -1
- package/dist/functions/usernameToColor/usernameToColor.d.ts +4 -9
- package/dist/index.mjs +114 -114
- package/dist/mixins/actionText.d.ts +6 -0
- package/dist/mixins/richEditor/index.mjs +2 -1
- package/dist/utils/appName.d.ts +5 -0
- package/dist/utils/colors.d.ts +34 -0
- package/dist/utils/createElementId.d.ts +7 -0
- package/dist/utils/findRanges.d.ts +16 -0
- package/dist/utils/isSlotPopulated.d.ts +1 -2
- package/dist/utils/linkify.d.ts +8 -0
- package/dist/utils/logger.d.ts +4 -0
- package/dist/vendor.LICENSE.txt +128 -0
- package/package.json +27 -21
- package/dist/assets/NcDateTimePicker-CRb2xZzf.css +0 -918
- package/dist/chunks/GenColors-G1ZRJcz5.mjs.map +0 -1
- package/dist/chunks/GenRandomId-CMooMQt0.mjs +0 -6
- package/dist/chunks/GenRandomId-CMooMQt0.mjs.map +0 -1
- package/dist/chunks/NcActionButtonGroup-nwHeJeV7.mjs.map +0 -1
- package/dist/chunks/NcActionCaption-DmOKI_Kc.mjs.map +0 -1
- package/dist/chunks/NcActionCheckbox-yPCmA5vr.mjs.map +0 -1
- package/dist/chunks/NcActionInput-DTzVHmHn.mjs.map +0 -1
- package/dist/chunks/NcActionLink-CG3cKif-.mjs.map +0 -1
- package/dist/chunks/NcActionRadio-BWPi0DII.mjs.map +0 -1
- package/dist/chunks/NcActionRouter-C7VSuJLq.mjs.map +0 -1
- package/dist/chunks/NcActionText-ByD1mFXe.mjs.map +0 -1
- package/dist/chunks/NcActionTextEditable-DLKA6lfe.mjs.map +0 -1
- package/dist/chunks/NcActions-DxTtucKk.mjs.map +0 -1
- package/dist/chunks/NcAppContent-Cu9zhNK3.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationItem-C7bIZuo2.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationNew-BO-Llutk.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationSearch-DLbzvkkq.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationSettings-vM8ajNNK.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-DBtf139E.mjs.map +0 -1
- package/dist/chunks/NcAppSidebar-Dav-iGv2.mjs.map +0 -1
- package/dist/chunks/NcAvatar-A1YnlIoN.mjs.map +0 -1
- package/dist/chunks/NcBreadcrumb-D5cRcQg5.mjs.map +0 -1
- package/dist/chunks/NcBreadcrumbs-CnWT9rE5.mjs.map +0 -1
- package/dist/chunks/NcButton-QmfEsvXC.mjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch-Ctdu7_UC.mjs.map +0 -1
- package/dist/chunks/NcChip-BnD-EmBn.mjs.map +0 -1
- package/dist/chunks/NcCollectionList-9YfN6xAi.mjs.map +0 -1
- package/dist/chunks/NcColorPicker-DQqAv2wB.mjs.map +0 -1
- package/dist/chunks/NcDateTime-D3snW0sN.mjs +0 -65
- package/dist/chunks/NcDateTime-D3snW0sN.mjs.map +0 -1
- package/dist/chunks/NcDateTimePicker-DUPn2UCM.mjs +0 -377
- package/dist/chunks/NcDateTimePicker-DUPn2UCM.mjs.map +0 -1
- package/dist/chunks/NcDateTimePickerNative-Dbc6pBXk.mjs.map +0 -1
- package/dist/chunks/NcDialog-B81mllwn.mjs.map +0 -1
- package/dist/chunks/NcDialogButton.vue_vue_type_script_setup_true_lang-DgWqkSL7.mjs.map +0 -1
- package/dist/chunks/NcEllipsisedOption-D4OggsNq.mjs.map +0 -1
- package/dist/chunks/NcEmojiPicker-DKGBXunS.mjs.map +0 -1
- package/dist/chunks/NcEmptyContent-D-wBvEi4.mjs.map +0 -1
- package/dist/chunks/NcHeaderMenu-BRiroRYT.mjs.map +0 -1
- package/dist/chunks/NcHighlight-BHtRIzqk.mjs.map +0 -1
- package/dist/chunks/NcInputConfirmCancel-xnrPAGac.mjs.map +0 -1
- package/dist/chunks/NcInputField-CzC820tG.mjs.map +0 -1
- package/dist/chunks/NcListItem-DFLsabmR.mjs.map +0 -1
- package/dist/chunks/NcPopover-D4D97Y3j.mjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-DsuNT9hM.mjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-BkSojqgy.mjs.map +0 -1
- package/dist/chunks/NcRichText-Cn583bql.mjs +0 -414
- package/dist/chunks/NcRichText-Cn583bql.mjs.map +0 -1
- package/dist/chunks/NcSelect-B61ik8an.mjs.map +0 -1
- package/dist/chunks/NcSettingsInputText-B5FrLCL9.mjs.map +0 -1
- package/dist/chunks/NcSettingsSelectGroup-CKIbxms2.mjs.map +0 -1
- package/dist/chunks/NcTextArea-C-PMlEbl.mjs.map +0 -1
- package/dist/chunks/NcTimezonePicker-tZmX1Qp4.mjs.map +0 -1
- package/dist/chunks/_l10n-BEP_UzXI.mjs +0 -133
- package/dist/chunks/_l10n-BEP_UzXI.mjs.map +0 -1
- package/dist/chunks/actionText-aI0owku1.mjs.map +0 -1
- package/dist/chunks/usernameToColor-B_Q_sS3j.mjs +0 -26
- package/dist/chunks/usernameToColor-B_Q_sS3j.mjs.map +0 -1
- package/dist/utils/FindRanges.d.ts +0 -13
- package/dist/utils/GenColors.d.ts +0 -28
- package/dist/utils/GenRandomId.d.ts +0 -6
- package/dist/utils/GetChildren.d.ts +0 -13
- package/dist/utils/GetParent.d.ts +0 -13
- package/dist/utils/Linkify.d.ts +0 -8
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NcCollectionList-9YfN6xAi.mjs","sources":["../../src/components/NcCollectionList/NcCollectionListItem.vue","../../src/components/NcCollectionList/service.ts","../../src/components/NcCollectionList/useCollections.js","../../src/components/NcCollectionList/NcCollectionList.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<li class=\"collection-list-item\">\n\t\t<NcAvatar :display-name=\"collection.name\" allow-placeholder class=\"collection-avatar\" />\n\t\t<span v-if=\"newName === null\"\n\t\t\tclass=\"collection-item-name\"\n\t\t\ttitle=\"\"\n\t\t\t@click=\"showDetails\">{{ collection.name }}</span>\n\t\t<form v-else :class=\"{'should-shake': error }\" @submit.prevent=\"renameCollection\">\n\t\t\t<input v-model=\"newName\"\n\t\t\t\ttype=\"text\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tautocapitalize=\"off\">\n\t\t\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\n\t\t</form>\n\t\t<div v-if=\"!detailsOpen && newName === null\" class=\"linked-icons\">\n\t\t\t<component :is=\"getComponent(resource).component\"\n\t\t\t\tv-for=\"resource in resources.slice(0, 2)\"\n\t\t\t\t:key=\"resource.type + '|' + resource.id\"\n\t\t\t\t:title=\"resource.name\"\n\t\t\t\t:to=\"getComponent(resource).to\"\n\t\t\t\t:href=\"getComponent(resource).href\"\n\t\t\t\t:class=\"typeClass(resource)\">\n\t\t\t\t<img :src=\"iconUrl(resource)\" :alt=\"resource.name\">\n\t\t\t</component>\n\t\t</div>\n\n\t\t<span v-if=\"newName === null\" class=\"sharingOptionsGroup\">\n\t\t\t<NcActions>\n\t\t\t\t<NcActionButton icon=\"icon-info\"\n\t\t\t\t\t@click.prevent=\"toggleDetails\">\n\t\t\t\t\t{{ detailsOpen ? t('Hide details') : t('Show details') }}\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton icon=\"icon-rename\"\n\t\t\t\t\t@click.prevent=\"openRename\">\n\t\t\t\t\t{{ t('Rename project') }}\n\t\t\t\t</NcActionButton>\n\t\t\t</NcActions>\n\t\t</span>\n\n\t\t<transition name=\"fade\">\n\t\t\t<div v-if=\"error\" class=\"error\">\n\t\t\t\t{{ error }}\n\t\t\t</div>\n\t\t</transition>\n\t\t<transition name=\"fade\">\n\t\t\t<ul v-if=\"detailsOpen\" class=\"resource-list-details\">\n\t\t\t\t<li v-for=\"resource in resources\"\n\t\t\t\t\t:key=\"resource.type + '|' + resource.id\"\n\t\t\t\t\t:class=\"typeClass(resource)\">\n\t\t\t\t\t<component :is=\"getComponent(resource).component\"\n\t\t\t\t\t\t:to=\"getComponent(resource).to\"\n\t\t\t\t\t\t:href=\"getComponent(resource).href\">\n\t\t\t\t\t\t<img :src=\"iconUrl(resource)\" :alt=\"resource.name\">\n\t\t\t\t\t\t<span class=\"resource-name\">{{ resource.name || '' }}</span>\n\t\t\t\t\t</component>\n\t\t\t\t\t<span class=\"icon-close\" @click=\"removeResource(collection, resource)\" />\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</transition>\n\t</li>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\nimport { getRoute } from '../NcRichText/autolink.ts'\n\nimport NcActions from '../NcActions/index.js'\nimport NcActionButton from '../NcActionButton/index.js'\nimport NcAvatar from '../NcAvatar/index.js'\n\nexport default {\n\tname: 'NcCollectionListItem',\n\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcActions,\n\t\tNcActionButton,\n\t},\n\n\tprops: {\n\t\tcollection: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\n\t\terror: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t},\n\n\temits: ['remove-resource', 'rename-collection'],\n\n\tdata() {\n\t\treturn {\n\t\t\tdetailsOpen: false,\n\t\t\tnewName: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tgetIcon() {\n\t\t\treturn (resource) => [resource.iconClass]\n\t\t},\n\n\t\ttypeClass() {\n\t\t\treturn (resource) => 'resource-type-' + resource.type\n\t\t},\n\n\t\tresources() {\n\t\t\t// invalid resources come from server as empty array ([]) and not an object\n\t\t\treturn this.collection.resources?.filter(resource => !Array.isArray(resource)) ?? []\n\t\t},\n\n\t\tgetComponent() {\n\t\t\treturn (resource) => {\n\t\t\t\tconst route = getRoute(this.$router, resource.link)\n\n\t\t\t\treturn route\n\t\t\t\t\t? { component: 'router-link', to: route, href: undefined }\n\t\t\t\t\t: { component: 'a', to: undefined, href: resource.link }\n\t\t\t}\n\t\t},\n\n\t\ticonUrl() {\n\t\t\treturn (resource) => {\n\t\t\t\tif (resource.mimetype) {\n\t\t\t\t\treturn OC.MimeType.getIconUrl(resource.mimetype)\n\t\t\t\t}\n\t\t\t\tif (resource.iconUrl) {\n\t\t\t\t\treturn resource.iconUrl\n\t\t\t\t}\n\t\t\t\treturn ''\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\ttoggleDetails() {\n\t\t\tthis.detailsOpen = !this.detailsOpen\n\t\t},\n\n\t\tshowDetails() {\n\t\t\tthis.detailsOpen = true\n\t\t},\n\n\t\tremoveResource(collection, resource) {\n\t\t\tthis.$emit('remove-resource', {\n\t\t\t\tcollectionId: collection.id,\n\t\t\t\tresourceType: resource.type,\n\t\t\t\tresourceId: resource.id,\n\t\t\t})\n\t\t},\n\n\t\topenRename() {\n\t\t\tthis.newName = this.collection.name\n\t\t},\n\n\t\trenameCollection() {\n\t\t\tif (this.newName) {\n\t\t\t\tthis.$emit('rename-collection', {\n\t\t\t\t\tcollectionId: this.collection.id,\n\t\t\t\t\tname: this.newName,\n\t\t\t\t})\n\t\t\t}\n\t\t\tthis.newName = null\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.fade-enter-active, .fade-leave-active {\n\ttransition: opacity .3s ease;\n}\n\n.fade-enter, .fade-leave-to\n\t/* .fade-leave-active below version 2.1.8 */\n{\n\topacity: 0;\n}\n\n.linked-icons {\n\tdisplay: flex;\n\n\timg {\n\t\tpadding: 12px;\n\t\theight: var(--default-clickable-area);\n\t\tdisplay: block;\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\topacity: 0.7;\n\n\t\t&:hover {\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n\n.popovermenu {\n\tdisplay: none;\n\n\t&.open {\n\t\tdisplay: block;\n\t}\n}\n\nli.collection-list-item {\n\tflex-wrap: wrap;\n\theight: auto;\n\tcursor: pointer;\n\tmargin-bottom: 0 !important;\n\n\t.collection-avatar {\n\t\tmargin-top: 0;\n\t}\n\n\tform, .collection-item-name {\n\t\tflex-basis: 10%;\n\t\tflex-grow: 1;\n\t\tdisplay: flex;\n\t}\n\n\t.collection-item-name {\n\t\tpadding: 12px 9px;\n\t}\n\n\tinput {\n\t\tmargin-top: 4px;\n\t\tborder-color: var(--color-border-maxcontrast);\n\n\t\t&[type=text] {\n\t\t\tflex-grow: 1;\n\t\t}\n\t}\n\n\t.error {\n\t\tflex-basis: 100%;\n\t\twidth: 100%;\n\t}\n\n\t.resource-list-details {\n\t\tflex-basis: 100%;\n\t\twidth: 100%;\n\n\t\tli {\n\t\t\tdisplay: flex;\n\t\t\tmargin-left: var(--default-clickable-area);\n\t\t\tborder-radius: 3px;\n\t\t\tcursor: pointer;\n\n\t\t\t&:hover {\n\t\t\t\tbackground-color: var(--color-background-dark);\n\t\t\t}\n\n\t\t\ta {\n\t\t\t\tflex-grow: 1;\n\t\t\t\tpadding: 3px;\n\t\t\t\tmax-width: calc(100% - 30px);\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t}\n\n\t\tspan {\n\t\t\tdisplay: inline-block;\n\t\t\tvertical-align: top;\n\t\t\tmargin-right: 10px;\n\t\t}\n\n\t\tspan.resource-name {\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\tposition: relative;\n\t\t\tvertical-align: top;\n\t\t\twhite-space: nowrap;\n\t\t\tflex-grow: 1;\n\t\t\tpadding: 4px;\n\t\t}\n\n\t\timg {\n\t\t\twidth: 24px;\n\t\t\theight: 24px;\n\t\t}\n\n\t\t.icon-close {\n\t\t\topacity: .7;\n\n\t\t\t&:hover, &:focus {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.should-shake {\n\tanimation: shake 0.6s 1 linear;\n}\n\n@keyframes shake {\n\t0% {\n\t\ttransform: translate(15px);\n\t}\n\t20% {\n\t\ttransform: translate(-15px);\n\t}\n\t40% {\n\t\ttransform: translate(7px);\n\t}\n\t60% {\n\t\ttransform: translate(-7px);\n\t}\n\t80% {\n\t\ttransform: translate(3px);\n\t}\n\t100% {\n\t\ttransform: translate(0px);\n\t}\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios, { type AxiosResponse } from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\n\n/**\n * Extracts the OCS data from a response\n * @param response OCS response\n */\nfunction extractOcsData(response: AxiosResponse<OCSResponse>) {\n\treturn response.data.ocs.data\n}\n\n/**\n * Lists all collections\n * @param collectionId Collection ID\n */\nexport function listCollectionService(collectionId: number) {\n\treturn axios.get(generateOcsUrl('collaboration/resources/collections/{collectionId}', { collectionId })).then(extractOcsData)\n}\n\n/**\n * Renames a collection\n * @param collectionId Collection ID\n * @param collectionName New collection name\n */\nexport function renameCollectionService(collectionId: number, collectionName: string) {\n\treturn axios.put(generateOcsUrl('collaboration/resources/collections/{collectionId}', { collectionId }), { collectionName }).then(extractOcsData)\n}\n\n/**\n * Lists all collections for a resource\n * @param resourceType Resource type\n * @param resourceId Resource ID\n */\nexport function getCollectionsByResourceService(resourceType: string, resourceId: string) {\n\treturn axios.get(generateOcsUrl('collaboration/resources/{resourceType}/{resourceId}', { resourceType, resourceId })).then(extractOcsData)\n}\n\n/**\n * Creates a collection\n * @param resourceType Resource type\n * @param resourceId Resource ID\n * @param name Collection name\n */\nexport function createCollectionService(resourceType: string, resourceId: string, name: string) {\n\treturn axios.post(generateOcsUrl('collaboration/resources/{resourceType}/{resourceId}', { resourceType, resourceId }), { name }).then(extractOcsData)\n}\n\n/**\n * Adds a resource to a collection\n * @param collectionId Collection ID\n * @param resourceType Resource type\n * @param resourceId Resource ID\n */\nexport function addResourceService(collectionId: number, resourceType: string, resourceId: string) {\n\treturn axios.post(generateOcsUrl('collaboration/resources/collections/{collectionId}', { collectionId }), { resourceType, resourceId }).then(extractOcsData)\n}\n\n/**\n * Removes a resource from a collection\n * @param collectionId Collection ID\n * @param resourceType Resource type\n * @param resourceId Resource ID\n */\nexport function removeResourceService(collectionId: number, resourceType: string, resourceId: string) {\n\treturn axios.delete(generateOcsUrl('collaboration/resources/collections/{collectionId}', { collectionId }), { params: { resourceType, resourceId } }).then(extractOcsData)\n}\n\n/**\n * Searches for collections\n * @param query Search query\n */\nexport function searchService(query: string) {\n\treturn axios.get(generateOcsUrl('collaboration/resources/collections/search/{query}', { query })).then(extractOcsData)\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { ref } from 'vue'\nimport {\n\trenameCollectionService,\n\tgetCollectionsByResourceService,\n\tcreateCollectionService,\n\taddResourceService,\n\tremoveResourceService,\n} from './service.ts'\n\n/**\n * Use collections composable\n */\nexport function useCollections() {\n\t// State\n\tconst storedCollections = ref([])\n\n\t// Mutations\n\tconst addCollections = (collections) => {\n\t\tstoredCollections.value = collections\n\t}\n\n\tconst addCollection = (collection) => {\n\t\tstoredCollections.value.push(collection)\n\t}\n\n\tconst removeCollection = (collectionId) => {\n\t\tstoredCollections.value = storedCollections.value.filter(item => item.id !== collectionId)\n\t}\n\n\tconst updateCollection = (collection) => {\n\t\tconst index = storedCollections.value.findIndex(item => item.id === collection.id)\n\t\tif (index !== -1) {\n\t\t\tstoredCollections.value[index] = collection\n\t\t} else {\n\t\t\taddCollection(collection)\n\t\t}\n\t}\n\n\t// Actions\n\tconst fetchCollectionsByResource = async ({ resourceType, resourceId }) => {\n\t\tconst collections = await getCollectionsByResourceService(resourceType, resourceId)\n\n\t\taddCollections(collections)\n\t}\n\n\tconst createCollection = async ({ baseResourceType, baseResourceId, resourceType, resourceId, name }) => {\n\t\tconst collection = await createCollectionService(baseResourceType, baseResourceId, name)\n\n\t\taddCollection(collection)\n\t\tawait addResourceToCollection({\n\t\t\tcollectionId: collection.id,\n\t\t\tresourceType,\n\t\t\tresourceId,\n\t\t})\n\t}\n\n\tconst renameCollection = async ({ collectionId, name }) => {\n\t\tconst collection = await renameCollectionService(collectionId, name)\n\n\t\tupdateCollection(collection)\n\t}\n\n\tconst addResourceToCollection = async ({ collectionId, resourceType, resourceId }) => {\n\t\tconst collection = await addResourceService(collectionId, resourceType, String(resourceId))\n\n\t\tupdateCollection(collection)\n\t}\n\n\tconst removeResourceFromCollection = async ({ collectionId, resourceType, resourceId }) => {\n\t\tconst collection = await removeResourceService(collectionId, resourceType, String(resourceId))\n\n\t\tif (collection.resources.length > 0) {\n\t\t\tupdateCollection(collection)\n\t\t} else {\n\t\t\tremoveCollection(collectionId)\n\t\t}\n\t}\n\n\treturn {\n\t\tstoredCollections,\n\t\tfetchCollectionsByResource,\n\t\tcreateCollection,\n\t\trenameCollection,\n\t\taddResourceToCollection,\n\t\tremoveResourceFromCollection,\n\t}\n}\n","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nProvides a Vue standalone component for Nextcloud Projects feature introduced in Nextcloud 16. Replaces deprecated `nextcloud-vue-collections` library.\n\nProjects feature is deprecated since Nextcloud 25, and superseded by Related resources. See [NcRelatedResourcesPanel](#/Components/NcRelatedResourcesPanel) documentation for more information.\n\n### Usage\n\nTo enable feature in Nextcloud, run following command:\n```sh\nocc config:system:set --value true 'projects.enabled'\n```\n</docs>\n\n<template>\n\t<ul v-if=\"collections && type && id\" id=\"collection-list\" class=\"collection-list\">\n\t\t<li @click=\"showSelect\">\n\t\t\t<div class=\"avatar\">\n\t\t\t\t<span class=\"icon-projects\" />\n\t\t\t</div>\n\t\t\t<div id=\"collection-select-container\">\n\t\t\t\t<NcSelect ref=\"select\"\n\t\t\t\t\tv-model=\"value\"\n\t\t\t\t\t:aria-label-combobox=\"t('Add to a project')\"\n\t\t\t\t\t:options=\"options\"\n\t\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t\tlabel=\"title\"\n\t\t\t\t\t:limit=\"5\"\n\t\t\t\t\t@close=\"isSelectOpen = false\"\n\t\t\t\t\t@open=\"isSelectOpen = true\"\n\t\t\t\t\t@option:selected=\"select\"\n\t\t\t\t\t@search=\"search\">\n\t\t\t\t\t<template #selected-option=\"option\">\n\t\t\t\t\t\t<span class=\"option__desc\">\n\t\t\t\t\t\t\t<span class=\"option__title\">{{ option.title }}</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</template>\n\t\t\t\t\t<template #option=\"option\">\n\t\t\t\t\t\t<span class=\"option__wrapper\">\n\t\t\t\t\t\t\t<span v-if=\"option.class\" :class=\"option.class\" class=\"avatar\" />\n\t\t\t\t\t\t\t<NcAvatar v-else-if=\"option.method !== 2\" allow-placeholder :display-name=\"option.title\" />\n\t\t\t\t\t\t\t<span class=\"option__title\">{{ option.title }}</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</template>\n\t\t\t\t\t<p class=\"hint\">\n\t\t\t\t\t\t{{ t('Connect items to a project to make them easier to find') }}\n\t\t\t\t\t</p>\n\t\t\t\t</NcSelect>\n\t\t\t</div>\n\t\t</li>\n\t\t<transition name=\"fade\">\n\t\t\t<li v-if=\"error\" class=\"error\">\n\t\t\t\t{{ error }}\n\t\t\t</li>\n\t\t</transition>\n\t\t<NcCollectionListItem v-for=\"collection in collections\"\n\t\t\t:key=\"collection.id\"\n\t\t\t:collection=\"collection\"\n\t\t\t:error=\"collectionsError[collection.id]\"\n\t\t\t@rename-collection=\"renameCollectionFromItem\"\n\t\t\t@remove-resource=\"removeResourceFromCollection\" />\n\t</ul>\n</template>\n\n<script>\nimport debounce from 'debounce'\nimport { ref } from 'vue'\nimport { t } from '../../l10n.js'\n\nimport NcAvatar from '../NcAvatar/index.js'\nimport NcSelect from '../NcSelect/index.js'\nimport NcCollectionListItem from './NcCollectionListItem.vue'\n\nimport { useCollections } from './useCollections.js'\nimport { searchService } from './service.ts'\n\nconst METHOD_CREATE_COLLECTION = 0\nconst METHOD_ADD_TO_COLLECTION = 1\n\nexport default {\n\tname: 'NcCollectionList',\n\n\tcomponents: {\n\t\tNcCollectionListItem,\n\t\tNcAvatar,\n\t\tNcSelect,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Resource type identifier\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Unique id of the resource\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Name of the resource\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Whether the component is active (to start fetch resources)\n\t\t */\n\t\tisActive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tsetup() {\n\t\tconst {\n\t\t\tstoredCollections,\n\t\t\tfetchCollectionsByResource,\n\t\t\tcreateCollection,\n\t\t\taddResourceToCollection,\n\t\t\tremoveResourceFromCollection,\n\t\t\trenameCollection,\n\t\t} = useCollections()\n\n\t\tconst searchCollections = ref([])\n\t\tconst search = debounce(function(query, loading) {\n\t\t\tif (query !== '') {\n\t\t\t\tloading(true)\n\t\t\t\tsearchService(query).then(collections => {\n\t\t\t\t\tsearchCollections.value = collections\n\t\t\t\t}).catch(e => {\n\t\t\t\t\tconsole.error('Failed to search for collections', e)\n\t\t\t\t}).finally(() => {\n\t\t\t\t\tloading(false)\n\t\t\t\t})\n\t\t\t}\n\t\t}, 500)\n\n\t\treturn {\n\t\t\tstoredCollections,\n\t\t\tfetchCollectionsByResource,\n\t\t\tcreateCollection,\n\t\t\taddResourceToCollection,\n\t\t\tremoveResourceFromCollection,\n\t\t\trenameCollection,\n\t\t\tsearchCollections,\n\t\t\tsearch,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tselectIsOpen: false,\n\t\t\tgeneratingCodes: false,\n\t\t\tcodes: undefined,\n\t\t\tvalue: null,\n\t\t\tmodel: {},\n\t\t\tcollectionsError: {},\n\t\t\terror: null,\n\t\t\tisSelectOpen: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tcollections() {\n\t\t\treturn this.storedCollections.filter(collection => collection.resources\n\t\t\t\t.some(resource => resource && resource.id === String(this.id) && resource.type === this.type),\n\t\t\t)\n\t\t},\n\n\t\tplaceholder() {\n\t\t\treturn this.isSelectOpen\n\t\t\t\t? t('Type to search for existing projects')\n\t\t\t\t: t('Add to a project')\n\t\t},\n\n\t\toptions() {\n\t\t\tconst options = []\n\t\t\twindow.OCP.Collaboration.getTypes().sort().forEach(type => {\n\t\t\t\toptions.push({\n\t\t\t\t\tmethod: METHOD_CREATE_COLLECTION,\n\t\t\t\t\ttype,\n\t\t\t\t\ttitle: window.OCP.Collaboration.getLabel(type),\n\t\t\t\t\tclass: window.OCP.Collaboration.getIcon(type),\n\t\t\t\t\taction: () => window.OCP.Collaboration.trigger(type),\n\t\t\t\t})\n\t\t\t})\n\t\t\tfor (const index in this.searchCollections) {\n\t\t\t\tif (!this.collections.find(collection => collection.id === this.searchCollections[index].id)) {\n\t\t\t\t\toptions.push({\n\t\t\t\t\t\tmethod: METHOD_ADD_TO_COLLECTION,\n\t\t\t\t\t\ttitle: this.searchCollections[index].name,\n\t\t\t\t\t\tcollectionId: this.searchCollections[index].id,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn options\n\t\t},\n\n\t\tresourceIdentifier() {\n\t\t\treturn {\n\t\t\t\tresourceType: this.type,\n\t\t\t\tresourceId: this.id,\n\t\t\t\tisActive: this.isActive,\n\t\t\t}\n\t\t},\n\t},\n\n\twatch: {\n\t\tresourceIdentifier: {\n\t\t\tdeep: true,\n\t\t\timmediate: true,\n\t\t\thandler(resourceIdentifier) {\n\t\t\t\tif (!resourceIdentifier.isActive || !resourceIdentifier.resourceId || !resourceIdentifier.resourceType) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tthis.fetchCollectionsByResource(resourceIdentifier)\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\tselect(selectedOption) {\n\t\t\tif (selectedOption.method === METHOD_CREATE_COLLECTION) {\n\t\t\t\tselectedOption.action().then(resourceId => {\n\t\t\t\t\tthis.createCollection({\n\t\t\t\t\t\tbaseResourceType: this.type,\n\t\t\t\t\t\tbaseResourceId: this.id,\n\t\t\t\t\t\tresourceType: selectedOption.type,\n\t\t\t\t\t\tresourceId,\n\t\t\t\t\t\tname: this.name,\n\t\t\t\t\t}).catch((e) => {\n\t\t\t\t\t\tthis.setError(t('Failed to create a project'), e)\n\t\t\t\t\t})\n\t\t\t\t}).catch((e) => {\n\t\t\t\t\tconsole.error('No resource selected', e)\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (selectedOption.method === METHOD_ADD_TO_COLLECTION) {\n\t\t\t\tthis.addResourceToCollection({\n\t\t\t\t\tcollectionId: selectedOption.collectionId, resourceType: this.type, resourceId: this.id,\n\t\t\t\t}).catch((e) => {\n\t\t\t\t\tthis.setError(t('Failed to add the item to the project'), e)\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tthis.value = null\n\t\t},\n\n\t\tshowSelect() {\n\t\t\tthis.selectIsOpen = true\n\t\t\tthis.$refs.select.$el.focus()\n\t\t},\n\n\t\tsetError(error, e) {\n\t\t\tconsole.error(error, e)\n\t\t\tthis.error = error\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.error = null\n\t\t\t}, 5000)\n\t\t},\n\n\t\trenameCollectionFromItem({ collectionId, name }) {\n\t\t\tthis.renameCollection({ collectionId, name })\n\t\t\t\t.catch((e) => {\n\t\t\t\t\tconsole.error(t('Failed to rename the project'), e)\n\t\t\t\t\tthis.collectionsError[collectionId] = t('Failed to rename the project')\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.collectionsError[collectionId] = null\n\t\t\t\t\t}, 5000)\n\t\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.collection-list * {\n\tbox-sizing: border-box;\n}\n\n.collection-list > li {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 12px;\n\n\t& > .avatar {\n\t\tmargin-top: 0;\n\t}\n}\n\n#collection-select-container {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.v-select {\n\t// NcAvatar in the dropdown\n\tspan.avatar {\n\t\tdisplay: block;\n\t\tpadding: 16px;\n\t\topacity: .7;\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\n\t\t&:hover {\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n\np.hint {\n\tz-index: 1;\n\t// fix alignment\n\tmargin-top: -16px;\n\tpadding: 8px 8px;\n\tcolor: var(--color-text-maxcontrast);\n\tline-height: normal;\n}\n\ndiv.avatar {\n\twidth: 32px;\n\theight: 32px;\n\tmargin: 0;\n\tpadding: 8px;\n\tbackground-color: var(--color-background-dark);\n\tmargin-top: 30px;\n}\n\n/** TODO provide white icon in core */\n.icon-projects {\n\tdisplay: block;\n\tpadding: 8px;\n\tbackground-repeat: no-repeat;\n\tbackground-position: center;\n}\n\n.option__wrapper {\n\tdisplay: flex;\n\n\t.avatar {\n\t\tdisplay: block;\n\t\twidth: 32px;\n\t\theight: 32px;\n\t\tbackground-color: var(--color-background-darker) !important;\n\t}\n\n\t.option__title {\n\t\tpadding: 4px;\n\t}\n}\n\n.fade-enter-active, .fade-leave-active {\n\ttransition: opacity .5s;\n}\n\n.fade-enter, .fade-leave-to {\n\topacity: 0;\n}\n\n</style>\n"],"names":["_sfc_main","_hoisted_1","_hoisted_3","_hoisted_7","_hoisted_8","_openBlock","_createElementBlock","_createVNode","_toDisplayString","_normalizeClass","_withModifiers","_createElementVNode","_hoisted_2","_Fragment","_renderList","_createBlock","_resolveDynamicComponent","_withCtx","_createCommentVNode","_hoisted_4","_createTextVNode","_Transition","_hoisted_5","_hoisted_6"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NcColorPicker-DQqAv2wB.mjs","sources":["../../src/components/NcColorPicker/NcColorPicker.vue"],"sourcesContent":["<!--\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 allows the user to choose a color. It consists of 2\nactual pickers:\n\n- One simple picker with a predefined palette of colors;\n- One more advanced picker that provides the full color spectrum;\n\n### Usage\n\n* Using v-model and passing in an HTML element that will be treated as a trigger:\n\n```vue\n<template>\n\t<div class=\"container0\">\n\t\t<NcColorPicker v-model=\"color\">\n\t\t\t<NcButton> Click Me </NcButton>\n\t\t</NcColorPicker>\n\t\t<NcColorPicker v-model=\"color\" :palette=\"customPalette\">\n\t\t\t<NcButton> Click Me for a custom palette </NcButton>\n\t\t</NcColorPicker>\n\t\t<div :style=\"{'background-color': color}\" class=\"color0\" />\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tcolor: '#0082c9',\n\t\t\tcustomPalette: [\n\t\t\t\t'#E40303',\n\t\t\t\t'#FF8C00',\n\t\t\t\t'#FFED00',\n\t\t\t\t'#008026',\n\t\t\t\t'#24408E',\n\t\t\t\t'#732982',\n\t\t\t\t'#5BCEFA',\n\t\t\t\t'#F5A9B8',\n\t\t\t\t'#FFFFFF',\n\t\t\t\t'#F5A9B8',\n\t\t\t\t'#5BCEFA',\n\t\t\t],\n\t\t}\n\t}\n}\n</script>\n<style>\n.container0 {\n\tdisplay: flex;\n\tgap: 20px;\n}\n\n.color0 {\n\twidth: 100px;\n\theight: 34px;\n\tborder-radius: 6px;\n}\n</style>\n```\n\n* Using v-model for both color and open state and emitting an event that updates the color\n\n```vue\n<template>\n\t<div class=\"container1\">\n\t\t<NcButton @click=\"open = !open\"> Click Me </NcButton>\n\t\t<NcColorPicker v-model=\"color\" v-model:shown=\"open\" v-slot=\"{ attrs }\">\n\t\t\t<div v-bind=\"attrs\" :style=\"{'background-color': color}\" class=\"color1\" />\n\t\t</NcColorPicker>\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tcolor: '#0082c9',\n\t\t\topen: false\n\t\t}\n\t}\n}\n</script>\n<style>\n.container1 {\n\tdisplay: flex;\n\tgap: 20px;\n}\n\n.color1 {\n\twidth: 100px;\n\theight: 34px;\n\tborder-radius: 6px;\n}\n</style>\n```\n\n* Using advanced fields including HEX, RGB, and HSL:\n\n```vue\n<template>\n\t<div class=\"container0\">\n\t\t<NcColorPicker v-model=\"color\"\n\t\t\t:advanced-fields=\"true\">\n\t\t\t<NcButton> Click Me </NcButton>\n\t\t</NcColorPicker>\n\t\t<div :style=\"{'background-color': color}\" class=\"color0\" />\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tcolor: '#0082c9'\n\t\t}\n\t}\n}\n</script>\n<style>\n.container0 {\n\tdisplay: flex;\n\tgap: 20px;\n}\n\n.color0 {\n\twidth: 100px;\n\theight: 34px;\n\tborder-radius: 6px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<NcPopover popup-role=\"dialog\"\n\t\t:container=\"container\"\n\t\t@apply-hide=\"handleClose\">\n\t\t<template #trigger=\"slotProps\">\n\t\t\t<slot v-bind=\"slotProps\" />\n\t\t</template>\n\t\t<template #default=\"slotProps\">\n\t\t\t<div role=\"dialog\"\n\t\t\t\tclass=\"color-picker\"\n\t\t\t\taria-modal=\"true\"\n\t\t\t\t:aria-label=\"t('Color picker')\"\n\t\t\t\t:class=\"{ 'color-picker--advanced-fields': advanced && advancedFields }\">\n\t\t\t\t<Transition name=\"slide\" mode=\"out-in\">\n\t\t\t\t\t<div v-if=\"!advanced\" class=\"color-picker__simple\">\n\t\t\t\t\t\t<label v-for=\"({ color, name }, index) in normalizedPalette\"\n\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t\t:style=\"{ backgroundColor: color }\"\n\t\t\t\t\t\t\tclass=\"color-picker__simple-color-circle\"\n\t\t\t\t\t\t\t:class=\"{ 'color-picker__simple-color-circle--active' : color === currentColor }\">\n\t\t\t\t\t\t\t<Check v-if=\"color === currentColor\" :size=\"20\" :fill-color=\"contrastColor\" />\n\t\t\t\t\t\t\t<input type=\"radio\"\n\t\t\t\t\t\t\t\tclass=\"hidden-visually\"\n\t\t\t\t\t\t\t\t:aria-label=\"name\"\n\t\t\t\t\t\t\t\t:name=\"`color-picker-${uid}`\"\n\t\t\t\t\t\t\t\t:checked=\"color === currentColor\"\n\t\t\t\t\t\t\t\t@click=\"pickColor(color)\">\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Chrome v-else\n\t\t\t\t\t\tv-model=\"currentColor\"\n\t\t\t\t\t\tclass=\"color-picker__advanced\"\n\t\t\t\t\t\t:disable-alpha=\"true\"\n\t\t\t\t\t\t:disable-fields=\"!advancedFields\"\n\t\t\t\t\t\t@update:model-value=\"pickColor\" />\n\t\t\t\t</Transition>\n\t\t\t\t<div v-if=\"!paletteOnly\" class=\"color-picker__navigation\">\n\t\t\t\t\t<NcButton v-if=\"advanced\"\n\t\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t\t:aria-label=\"ariaBack\"\n\t\t\t\t\t\t@click=\"handleBack\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<ArrowLeft :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton v-else\n\t\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t\t:aria-label=\"ariaMore\"\n\t\t\t\t\t\t@click=\"handleMoreSettings\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<DotsHorizontal :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton type=\"primary\"\n\t\t\t\t\t\t@click=\"handleConfirm(slotProps.hide)\">\n\t\t\t\t\t\t{{ t('Choose') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</template>\n\t</NcPopover>\n</template>\n\n<script>\nimport NcButton from '../NcButton/index.ts'\nimport NcPopover from '../NcPopover/index.js'\nimport { t } from '../../l10n.js'\nimport { defaultPalette } from '../../utils/GenColors.js'\n\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nimport ArrowLeft from 'vue-material-design-icons/ArrowLeft.vue'\nimport Check from 'vue-material-design-icons/Check.vue'\nimport DotsHorizontal from 'vue-material-design-icons/DotsHorizontal.vue'\n\nimport { Chrome } from '@ckpack/vue-color'\nimport { defineComponent } from 'vue'\n\nconst HEX_REGEX = /^#([a-f0-9]{3}|[a-f0-9]{6})$/i\n\nexport default defineComponent({\n\tname: 'NcColorPicker',\n\n\tcomponents: {\n\t\tArrowLeft,\n\t\tCheck,\n\t\tChrome,\n\t\tDotsHorizontal,\n\t\tNcButton,\n\t\tNcPopover,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * A HEX color that represents the initial value of the picker\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Set to `true` to enable advanced fields including HEX, RGB, and HSL\n\t\t */\n\t\tadvancedFields: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Limit selectable colors to only the provided palette\n\t\t */\n\t\tpaletteOnly: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Provide a custom array of colors to show.\n\t\t * Can be either an array of string hexadecimal colors,\n\t\t * or an array of object with a `color` property with hexadecimal color string,\n\t\t * and a `name` property for accessibility.\n\t\t *\n\t\t * @type {string[] | {color: string, name: string}[]}\n\t\t */\n\t\tpalette: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [...defaultPalette],\n\t\t\tvalidator: (palette) => palette.every(item =>\n\t\t\t\t(typeof item === 'string' && HEX_REGEX.test(item))\n\t\t\t\t|| (typeof item === 'object' && item.color && HEX_REGEX.test(item.color)),\n\t\t\t),\n\t\t},\n\n\t\t/**\n\t\t * Selector for the popover container\n\t\t */\n\t\tcontainer: {\n\t\t\ttype: [String, Object, Element, Boolean],\n\t\t\tdefault: 'body',\n\t\t},\n\t},\n\n\temits: [\n\t\t'submit',\n\t\t'close',\n\t\t'update:open',\n\t\t'update:modelValue',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tcurrentColor: this.modelValue,\n\t\t\tadvanced: false,\n\t\t\tariaBack: t('Back'),\n\t\t\tariaMore: t('More options'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tnormalizedPalette() {\n\t\t\treturn this.palette.map((item) => ({\n\t\t\t\tcolor: typeof item === 'object' ? item.color : item,\n\t\t\t\tname: typeof item === 'object' && item.name\n\t\t\t\t\t? item.name\n\t\t\t\t\t: t('A color with a HEX value {hex}', { hex: item.color }),\n\t\t\t}))\n\t\t},\n\n\t\tuid() {\n\t\t\treturn GenRandomId()\n\t\t},\n\t\tcontrastColor() {\n\t\t\tconst black = '#000000'\n\t\t\tconst white = '#FFFFFF'\n\t\t\treturn (this.calculateLuma(this.currentColor) > 0.5) ? black : white\n\t\t},\n\t},\n\n\twatch: {\n\t\tmodelValue(color) {\n\t\t\tthis.currentColor = color\n\t\t},\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\t/**\n\t\t * Submit a picked colour and close picker\n\t\t * @param {Function} hideCallback callback to close popover\n\t\t */\n\t\thandleConfirm(hideCallback) {\n\t\t\t/**\n\t\t\t * Emits a hexadecimal string e.g. '#ffffff'\n\t\t\t */\n\t\t\tthis.$emit('submit', this.currentColor)\n\t\t\thideCallback()\n\n\t\t\tthis.advanced = false\n\t\t},\n\t\thandleClose() {\n\t\t\t/**\n\t\t\t * Emitted after picker close\n\t\t\t */\n\t\t\tthis.$emit('close')\n\t\t\tthis.$emit('update:open', false)\n\t\t},\n\n\t\t/**\n\t\t * Inner navigations\n\t\t */\n\t\thandleBack() {\n\t\t\tthis.advanced = false\n\t\t},\n\t\thandleMoreSettings() {\n\t\t\tthis.advanced = true\n\t\t},\n\n\t\t/**\n\t\t * Pick a colour\n\t\t *\n\t\t * @param {string} color the picked color\n\t\t */\n\t\tpickColor(color) {\n\t\t\tif (typeof color !== 'string') {\n\t\t\t\tcolor = this.currentColor.hex\n\t\t\t}\n\t\t\tthis.currentColor = color\n\n\t\t\t/**\n\t\t\t * Emits a hexadecimal string e.g. '#ffffff'\n\t\t\t */\n\t\t\tthis.$emit('update:modelValue', color)\n\n\t\t},\n\n\t\t/**\n\t\t * Calculate luminance of provided hex color\n\t\t *\n\t\t * @param {string} color the hex color\n\t\t */\n\t\t calculateLuma(color) {\n\t\t\tconst [red, green, blue] = this.hexToRGB(color)\n\t\t\treturn (0.2126 * red + 0.7152 * green + 0.0722 * blue) / 255\n\t\t},\n\n\t\t/**\n\t\t * Convert hex color to RGB\n\t\t *\n\t\t * @param {string} hex the hex color\n\t\t */\n\t\t hexToRGB(hex) {\n\t\t\tconst result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n\t\t\treturn result\n\t\t\t\t? [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)]\n\t\t\t\t: null\n\t\t},\n\t},\n})\n\n</script>\n\n<style lang=\"scss\" scoped>\n.color-picker {\n\tdisplay: flex;\n\toverflow: hidden;\n\talign-content: flex-end;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\twidth: 176px;\n\tpadding: 8px;\n\tborder-radius: 3px;\n\n\t&--advanced-fields {\n\t\twidth: 264px;\n\t}\n\n\t&__simple {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: repeat(auto-fit, var(--default-clickable-area));\n\t\tgrid-auto-rows: var(--default-clickable-area);\n\n\t\t&-color-circle {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\twidth: calc(var(--default-clickable-area) - 10px);\n\t\t\theight: calc(var(--default-clickable-area) - 10px);\n\t\t\tmin-height: calc(var(--default-clickable-area) - 10px);\n\t\t\tmargin: auto;\n\t\t\tpadding: 0;\n\t\t\tcolor: white;\n\t\t\tborder: 1px solid rgba(0, 0, 0, 0.25);\n\t\t\tborder-radius: 50%;\n\t\t\tfont-size: 16px;\n\t\t\t&:focus-within {\n\t\t\t\toutline: 2px solid var(--color-main-text);\n\t\t\t}\n\t\t\t&:hover {\n\t\t\t\topacity: .6;\n\t\t\t}\n\t\t\t&--active {\n\t\t\t\twidth: calc(var(--default-clickable-area) - 6px);\n\t\t\t\theight: calc(var(--default-clickable-area) - 6px);\n\t\t\t\tmin-height: calc(var(--default-clickable-area) - 6px);\n\t\t\t\ttransition: all 100ms ease-in-out;\n\t\t\t\topacity: 1 !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__advanced {\n\t\tbox-shadow: none !important;\n\t}\n\n\t&__navigation {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tjustify-content: space-between;\n\t\tmargin-top: 10px;\n\t}\n}\n\n:deep() .vc {\n\t&-chrome {\n\t\twidth: unset;\n\t\tbackground-color: var(--color-main-background);\n\n\t\t&-color-wrap {\n\t\t\twidth: 30px;\n\t\t\theight: 30px;\n\t\t}\n\n\t\t&-active-color {\n\t\t\tborder-radius: 17px;\n\t\t}\n\n\t\t&-body {\n\t\t\tpadding: 14px 0 0 0;\n\t\t\tbackground-color: var(--color-main-background);\n\n\t\t\t.vc-input__input {\n\t\t\t\t--input-border-radius: var(--border-radius-element, var(--border-radius-large));\n\t\t\t\t--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));\n\t\t\t\twidth: 100%;\n\t\t\t\theight: var(--default-clickable-area);\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding-inline: calc(var(--border-radius-large) + var(--input-border-width-offset));\n\t\t\t\tpadding-block: var(--input-border-width-offset);\n\t\t\t\tborder: var(--border-width-input, 2px) solid var(--color-border-maxcontrast);\n\t\t\t\tborder-radius: var(--input-border-radius);\n\t\t\t\tfont-size: var(--default-font-size);\n\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\tbox-shadow: none;\n\n\t\t\t\t&:active:not([disabled]),\n\t\t\t\t&:hover:not([disabled]),\n\t\t\t\t&:focus:not([disabled]) {\n\t\t\t\t\t// Reset padding offset when focused\n\t\t\t\t\t--input-border-width-offset: 0px;\n\t\t\t\t\tborder-color: var(--color-main-text);\n\t\t\t\t\tborder-width: var(--border-width-input-focused, 2px);\n\t\t\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\n\t\t\t\t\t& + .vc-input__label {\n\t\t\t\t\t\tcolor: var(--color-main-text);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.vc-input__label {\n\t\t\t\tposition: absolute;\n\t\t\t\tinset-inline: var(--border-width-input-focused, 2px);\n\t\t\t\tinset-block-start: calc(-1.5 * var(--font-size-small, 13px) / 2);\n\t\t\t\tmax-width: fit-content;\n\t\t\t\tmargin-inline: calc(var(--border-radius-large) - var(--default-grid-baseline));\n\t\t\t\tmargin-block: 0;\n\t\t\t\tpadding-inline: var(--default-grid-baseline);\n\t\t\t\tfont-family: var(--font-face);\n\t\t\t\tfont-size: var(--font-size-small, 13px);\n\t\t\t\tline-height: 1.5;\n\t\t\t\tfont-weight: 500;\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t}\n\n\t\t&-toggle-btn {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t\twidth: var(--default-clickable-area);\n\t\t\theight: var(--default-clickable-area);\n\t\t\tmargin-left: 6px;\n\t\t\tfilter: var(--background-invert-if-dark);\n\t\t}\n\n\t\t&-toggle-icon {\n\t\t\twidth: 24px;\n\t\t\theight: 24px;\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t&-toggle-icon-highlight {\n\t\t\twidth: var(--default-clickable-area);\n\t\t\theight: var(--default-clickable-area);\n\t\t\tinset: 0;\n\t\t}\n\n\t\t&-saturation {\n\t\t\t&-wrap {\n\t\t\t\tborder-radius: 3px;\n\t\t\t}\n\n\t\t\t&-circle {\n\t\t\t\twidth: 20px;\n\t\t\t\theight: 20px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.slide {\n\t&-enter-from {\n\t\ttransform: translateX(-50%);\n\t\topacity: 0;\n\t}\n\t&-enter-to {\n\t\ttransform: translateX(0);\n\t\topacity: 1;\n\t}\n\t&-leave-from {\n\t\ttransform: translateX(0);\n\t\topacity: 1;\n\t}\n\t&-leave-to {\n\t\ttransform: translateX(-50%);\n\t\topacity: 0;\n\t}\n\t&-enter-active,\n\t&-leave-active {\n\t\ttransition: all 50ms ease-in-out;\n\t}\n}\n\n</style>\n"],"names":["_createBlock","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps","_createElementVNode","_normalizeClass","_createVNode","_Transition","_openBlock","_createElementBlock","_Fragment","_renderList","_normalizeStyle","_createCommentVNode","_createTextVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;AAwNA,MAAM,YAAY;AAElB,MAAK,YAAa,gBAAa;AAAA,EAC9B,MAAM;AAAA,EAEN,YAAY;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA,IAIN,YAAY;AAAA,MACX,MAAM;AAAA,MACN,UAAU;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,gBAAgB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUD,SAAS;AAAA,MACR,MAAM;AAAA,MACN,SAAS,MAAM,CAAC,GAAG,cAAc;AAAA,MACjC,WAAW,CAAC,YAAY,QAAQ;AAAA,QAAM,UACpC,OAAO,SAAS,YAAY,UAAU,KAAK,IAAI,KAC5C,OAAO,SAAS,YAAY,KAAK,SAAS,UAAU,KAAK,KAAK,KAAK;AAAA,MACvE;AAAA,IACD;AAAA;AAAA;AAAA;AAAA,IAKD,WAAW;AAAA,MACV,MAAM,CAAC,QAAQ,QAAQ,SAAS,OAAO;AAAA,MACvC,SAAS;AAAA,IACT;AAAA,EACD;AAAA,EAED,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAED,OAAO;AACN,WAAO;AAAA,MACN,cAAc,KAAK;AAAA,MACnB,UAAU;AAAA,MACV,UAAU,EAAE,MAAM;AAAA,MAClB,UAAU,EAAE,cAAc;AAAA,IAC3B;AAAA,EACA;AAAA,EAED,UAAU;AAAA,IACT,oBAAoB;AACnB,aAAO,KAAK,QAAQ,IAAI,CAAC,UAAU;AAAA,QAClC,OAAO,OAAO,SAAS,WAAW,KAAK,QAAQ;AAAA,QAC/C,MAAM,OAAO,SAAS,YAAY,KAAK,OACpC,KAAK,OACL,EAAE,kCAAkC,EAAE,KAAK,KAAK,MAAM,CAAC;AAAA,MAC3D,EAAE;AAAA,IACF;AAAA,IAED,MAAM;AACL,aAAO,YAAW;AAAA,IAClB;AAAA,IACD,gBAAgB;AACf,YAAM,QAAQ;AACd,YAAM,QAAQ;AACd,aAAQ,KAAK,cAAc,KAAK,YAAY,IAAI,MAAO,QAAQ;AAAA,IAC/D;AAAA,EACD;AAAA,EAED,OAAO;AAAA,IACN,WAAW,OAAO;AACjB,WAAK,eAAe;AAAA,IACpB;AAAA,EACD;AAAA,EAED,SAAS;AAAA,IACR;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,cAAc,cAAc;AAI3B,WAAK,MAAM,UAAU,KAAK,YAAY;AACtC,mBAAY;AAEZ,WAAK,WAAW;AAAA,IAChB;AAAA,IACD,cAAc;AAIb,WAAK,MAAM,OAAO;AAClB,WAAK,MAAM,eAAe,KAAK;AAAA,IAC/B;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AACZ,WAAK,WAAW;AAAA,IAChB;AAAA,IACD,qBAAqB;AACpB,WAAK,WAAW;AAAA,IAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,UAAU,OAAO;AAChB,UAAI,OAAO,UAAU,UAAU;AAC9B,gBAAQ,KAAK,aAAa;AAAA,MAC3B;AACA,WAAK,eAAe;AAKpB,WAAK,MAAM,qBAAqB,KAAK;AAAA,IAErC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,cAAc,OAAO;AACrB,YAAM,CAAC,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,KAAK;AAC9C,cAAQ,SAAS,MAAM,SAAS,QAAQ,SAAS,QAAQ;AAAA,IACzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,SAAS,KAAK;AACd,YAAM,SAAS,4CAA4C,KAAK,GAAG;AACnE,aAAO,SACJ,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,OAAO,CAAC,GAAG,EAAE,CAAC,IAC1E;AAAA,IACH;AAAA,EACD;AACF,CAAC;AA7YD,MAAA,aAAA,CAAA,YAAA;;EAAA,KAAA;AAAA,EAwJ2B,OAAM;;AAxJjC,MAAA,aAAA,CAAA,cAAA,QAAA,WAAA,SAAA;;EAAA,KAAA;AAAA,EA8K6B,OAAM;;;;;;;;;sBAnClCA,YA2DY,sBAAA;AAAA,IA3DD,cAAW;AAAA,IACpB,WAAW,KAAS;AAAA,IACpB,aAAY,KAAW;AAAA;IACb,SAAOC,QACjB,CADmB,cAAS;AAAA,MAC5BC,WAA2B,KAAA,QAAA,WA/I9BC,eAAAC,mBA+IiB,SAAS,CAAA,GAAA,QAAA,IAAA;AAAA;IAEb,SAAOH,QACjB,CADmB,cAAS;AAAA,MAC5BI,mBAkDM,OAAA;AAAA,QAlDD,MAAK;AAAA,QACT,OAnJJC,eAmJU,CAAA,gBAGqC,EAAA,iCAAA,KAAA,YAAY,KAAc,eAAA,CAAA,CAAA;AAAA,QAFrE,cAAW;AAAA,QACV,cAAY,KAAC,EAAA,cAAA;AAAA;QAEdC,YAsBaC,YAAA;AAAA,UAtBD,MAAK;AAAA,UAAQ,MAAK;AAAA;UAvJlC,SAAAP,QAwJK,MAcM;AAAA,aAdM,KAAQ,YAApBQ,aAAAC,mBAcM,OAdN,YAcM;AAAA,gCAbLA,mBAYQC,UAAA,MArKdC,WAyJgD,KAAiB,mBAzJjE,GAyJuB,OAAO,KAAI,GAAI,UAAK;oCAArCF,mBAYQ,SAAA;AAAA,kBAXN,KAAK;AAAA,kBACL,OA3JRG,kCA2JkC,MAAK,CAAA;AAAA,kBAChC,OA5JPP,eA4Ja,CAAA,qCACkD,EAAA,6CAAA,UAAU,KAAY,cAAA,CAAA;AAAA;kBACjE,UAAU,KAAY,6BAAnCN,YAA8E,kBAAA;AAAA,oBA9JrF,KAAA;AAAA,oBA8J6C,MAAM;AAAA,oBAAK,cAAY,KAAa;AAAA,iDA9JjFc,mBAAA,IAAA,IAAA;AAAA,kBA+JOT,mBAK2B,SAAA;AAAA,oBALpB,MAAK;AAAA,oBACX,OAAM;AAAA,oBACL,cAAY;AAAA,oBACZ,sBAAsB,KAAG,GAAA;AAAA,oBACzB,SAAS,UAAU,KAAY;AAAA,oBAC/B,SAAK,YAAE,KAAS,UAAC,KAAK;AAAA,kBApK/B,GAAA,MAAA,GAAA,UAAA;AAAA;;gCAuKKL,YAKmC,mBAAA;AAAA,cA5KxC,KAAA;AAAA,cAAA,YAwKe,KAAY;AAAA,cAxK3B,uBAAA;AAAA,sDAwKe,KAAY,eAAA;AAAA,gBAIA,KAAS;AAAA;cAH9B,OAAM;AAAA,cACL,iBAAe;AAAA,cACf,mBAAiB,KAAc;AAAA;;UA3KtC,GAAA;AAAA;SA8KgB,KAAW,eAAvBS,aAAAC,mBAqBM,OArBN,YAqBM;AAAA,UApBW,KAAQ,yBAAxBV,YAOW,qBAAA;AAAA,YAtLhB,KAAA;AAAA,YAgLM,MAAK;AAAA,YACJ,cAAY,KAAQ;AAAA,YACpB,SAAO,KAAU;AAAA;YACP,cACV,MAAwB;AAAA,cAAxBO,YAAwB,sBAAA,EAAZ,MAAM,GAAE,CAAA;AAAA;YApL3B,GAAA;AAAA,4DAuLKP,YAOW,qBAAA;AAAA,YA9LhB,KAAA;AAAA,YAwLM,MAAK;AAAA,YACJ,cAAY,KAAQ;AAAA,YACpB,SAAO,KAAkB;AAAA;YACf,cACV,MAA6B;AAAA,cAA7BO,YAA6B,2BAAA,EAAZ,MAAM,GAAE,CAAA;AAAA;YA5LhC,GAAA;AAAA;UA+LKA,YAGW,qBAAA;AAAA,YAHD,MAAK;AAAA,YACb,SAAO,YAAA,KAAA,cAAc,UAAU,IAAI;AAAA;YAhM1C,SAAAN,QAiMM,MAAiB;AAAA,cAjMvBc,gBAAAC,gBAiMS,KAAC,EAAA,QAAA,CAAA,GAAA,CAAA;AAAA;YAjMV,GAAA;AAAA;cAAAF,mBAAA,IAAA,IAAA;AAAA,MAAA,GAAA,IAAA,UAAA;AAAA;IAAA,GAAA;AAAA;;;"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { createElementBlock, openBlock, toDisplayString, computed } from "vue";
|
|
2
|
-
import { u as useFormatDateTime } from "./useFormatDateTime-Cvc8YJRE.mjs";
|
|
3
|
-
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
|
|
4
|
-
const _sfc_main = {
|
|
5
|
-
name: "NcDateTime",
|
|
6
|
-
props: {
|
|
7
|
-
/**
|
|
8
|
-
* The timestamp to display, either an unix timestamp (in milliseconds) or a Date object
|
|
9
|
-
*/
|
|
10
|
-
timestamp: {
|
|
11
|
-
type: [Date, Number],
|
|
12
|
-
required: true
|
|
13
|
-
},
|
|
14
|
-
/**
|
|
15
|
-
* The format used for displaying, or if relative time is used the format used for the title (optional)
|
|
16
|
-
*
|
|
17
|
-
* @type {Intl.DateTimeFormatOptions}
|
|
18
|
-
*/
|
|
19
|
-
format: {
|
|
20
|
-
type: Object,
|
|
21
|
-
default: () => ({ timeStyle: "medium", dateStyle: "short" })
|
|
22
|
-
},
|
|
23
|
-
/**
|
|
24
|
-
* Wether to display the timestamp as time from now (optional)
|
|
25
|
-
*
|
|
26
|
-
* - `false`: Disable relative time
|
|
27
|
-
* - `'long'`: Long text, like *2 seconds ago* (default)
|
|
28
|
-
* - `'short'`: Short text, like *2 sec. ago*
|
|
29
|
-
* - `'narrow'`: Even shorter text (same as `'short'` on some languages)
|
|
30
|
-
*/
|
|
31
|
-
relativeTime: {
|
|
32
|
-
type: [Boolean, String],
|
|
33
|
-
default: "long",
|
|
34
|
-
validator: (v) => v === false || ["long", "short", "narrow"].includes(v)
|
|
35
|
-
},
|
|
36
|
-
/**
|
|
37
|
-
* Ignore seconds when displaying the relative time and just show `a few seconds ago`
|
|
38
|
-
*/
|
|
39
|
-
ignoreSeconds: {
|
|
40
|
-
type: Boolean,
|
|
41
|
-
default: false
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
setup(props) {
|
|
45
|
-
const timestamp = computed(() => props.timestamp);
|
|
46
|
-
const { formattedTime, formattedFullTime } = useFormatDateTime(timestamp, props);
|
|
47
|
-
return {
|
|
48
|
-
formattedTime,
|
|
49
|
-
formattedFullTime
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
const _hoisted_1 = ["data-timestamp", "title", "textContent"];
|
|
54
|
-
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
55
|
-
return openBlock(), createElementBlock("span", {
|
|
56
|
-
class: "nc-datetime",
|
|
57
|
-
"data-timestamp": $props.timestamp,
|
|
58
|
-
title: $setup.formattedFullTime,
|
|
59
|
-
textContent: toDisplayString($setup.formattedTime)
|
|
60
|
-
}, null, 8, _hoisted_1);
|
|
61
|
-
}
|
|
62
|
-
const NcDateTime = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
63
|
-
export {
|
|
64
|
-
NcDateTime as N
|
|
65
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NcDateTime-D3snW0sN.mjs","sources":["../../src/components/NcDateTime/NcDateTime.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n### General description\n\nThis components purpose is to display a timestamp in the users local time format.\nIt also supports relative time, for examples *6 seconds ago*.\n\n#### Standard usage\n\nWithout any optional parameters the timestamp is displayed as a relative datetime and a title with the full date is added.\n\n```vue\n<template>\n\t<NcDateTime :timestamp=\"timestamp\" />\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t}\n\t\t},\n\t}\n</script>\n```\n\n#### Ignore seconds\n\nIf you do not want the seconds to be counted up until minutes are reached you can simply use the `ignore-seconds` property.\n\n```vue\n<template>\n\t<NcDateTime :timestamp=\"timestamp\" :ignore-seconds=\"true\" />\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t}\n\t\t},\n\t}\n</script>\n```\n\n#### Custom date or time format\n\nThe component allows to format the full date for the title by settings the `format` property.\nIt is also possible to disable relative time by setting the `relativeTime` property to `false`.\n\n```vue\n<template>\n\t<div>\n\t\t<h4>Short relative time</h4>\n\t\t<NcDateTime :timestamp=\"timestamp\" relative-time=\"short\" />\n\n\t\t<h4>Custom title format</h4>\n\t\t<NcDateTime :timestamp=\"timestamp\" :format=\"timeFormat\" />\n\n\t\t<h4>Without relative time</h4>\n\t\t<NcDateTime :timestamp=\"timestamp\" :format=\"timeFormat\" :relative-time=\"false\" />\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t/** For allowed formats see the Intl.DateTimeFormat options */\n\t\t\t\ttimeFormat: {\n\t\t\t\t\tdateStyle: 'short',\n\t\t\t\t\ttimeStyle: 'full'\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t}\n</script>\n<style>\nh4 {\n\tfont-weight: bold;\n\tmargin-top: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<span class=\"nc-datetime\"\n\t\t:data-timestamp=\"timestamp\"\n\t\t:title=\"formattedFullTime\"\n\t\tv-text=\"formattedTime\" />\n</template>\n\n<script>\nimport { computed } from 'vue'\nimport { useFormatDateTime } from '../../composables/useFormatDateTime.ts'\n\nexport default {\n\tname: 'NcDateTime',\n\n\tprops: {\n\t\t/**\n\t\t * The timestamp to display, either an unix timestamp (in milliseconds) or a Date object\n\t\t */\n\t\ttimestamp: {\n\t\t\ttype: [Date, Number],\n\t\t\trequired: true,\n\t\t},\n\t\t/**\n\t\t * The format used for displaying, or if relative time is used the format used for the title (optional)\n\t\t *\n\t\t * @type {Intl.DateTimeFormatOptions}\n\t\t */\n\t\tformat: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({ timeStyle: 'medium', dateStyle: 'short' }),\n\t\t},\n\t\t/**\n\t\t * Wether to display the timestamp as time from now (optional)\n\t\t *\n\t\t * - `false`: Disable relative time\n\t\t * - `'long'`: Long text, like *2 seconds ago* (default)\n\t\t * - `'short'`: Short text, like *2 sec. ago*\n\t\t * - `'narrow'`: Even shorter text (same as `'short'` on some languages)\n\t\t */\n\t\trelativeTime: {\n\t\t\ttype: [Boolean, String],\n\t\t\tdefault: 'long',\n\t\t\tvalidator: (v) => v === false || ['long', 'short', 'narrow'].includes(v),\n\t\t},\n\t\t/**\n\t\t * Ignore seconds when displaying the relative time and just show `a few seconds ago`\n\t\t */\n\t\tignoreSeconds: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tsetup(props) {\n\t\tconst timestamp = computed(() => props.timestamp)\n\t\tconst { formattedTime, formattedFullTime } = useFormatDateTime(timestamp, props)\n\t\treturn {\n\t\t\tformattedTime,\n\t\t\tformattedFullTime,\n\t\t}\n\t},\n}\n</script>\n"],"names":["_createElementBlock","_toDisplayString"],"mappings":";;;AAsGA,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EAEN,OAAO;AAAA;AAAA;AAAA;AAAA,IAIN,WAAW;AAAA,MACV,MAAM,CAAC,MAAM,MAAM;AAAA,MACnB,UAAU;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,SAAS,OAAO,EAAE,WAAW,UAAU,WAAW,QAAQ;AAAA,IAC1D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASD,cAAc;AAAA,MACb,MAAM,CAAC,SAAS,MAAM;AAAA,MACtB,SAAS;AAAA,MACT,WAAW,CAAC,MAAM,MAAM,SAAS,CAAC,QAAQ,SAAS,QAAQ,EAAE,SAAS,CAAC;AAAA,IACvE;AAAA;AAAA;AAAA;AAAA,IAID,eAAe;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,EACD;AAAA,EAED,MAAM,OAAO;AACZ,UAAM,YAAY,SAAS,MAAM,MAAM,SAAS;AAChD,UAAM,EAAE,eAAe,kBAAkB,IAAI,kBAAkB,WAAW,KAAK;AAC/E,WAAO;AAAA,MACN;AAAA,MACA;AAAA,IACD;AAAA,EACA;AACF;AAxJA,MAAA,aAAA,CAAA,kBAAA,SAAA,aAAA;;sBA4FCA,mBAG0B,QAAA;AAAA,IAHpB,OAAM;AAAA,IACV,kBAAgB,OAAS;AAAA,IACzB,OAAO,OAAiB;AAAA,IA9F3B,aA+FEC,gBAAsB,OAAD,aAAA;AAAA,EA/FvB,GAAA,MAAA,GAAA,UAAA;;;"}
|
|
@@ -1,377 +0,0 @@
|
|
|
1
|
-
import '../assets/NcDateTimePicker-CRb2xZzf.css';
|
|
2
|
-
import { r as register, E as t36, a as t } from "./_l10n-BEP_UzXI.mjs";
|
|
3
|
-
import { G as GenRandomId } from "./GenRandomId-CMooMQt0.mjs";
|
|
4
|
-
import { N as NcTimezonePicker } from "./NcTimezonePicker-tZmX1Qp4.mjs";
|
|
5
|
-
import { N as NcPopover } from "./NcPopover-D4D97Y3j.mjs";
|
|
6
|
-
import { S as ScopeComponent } from "./ScopeComponent-DgRMJomt.mjs";
|
|
7
|
-
import { createElementBlock, openBlock, mergeProps, createElementVNode, createCommentVNode, toDisplayString, resolveComponent, createBlock, createSlots, withCtx, createVNode, withModifiers, renderList, renderSlot, normalizeProps, guardReactiveProps } from "vue";
|
|
8
|
-
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
|
|
9
|
-
import { getFirstDay, getDayNamesMin, getDayNamesShort, getDayNames, getMonthNamesShort, getMonthNames } from "@nextcloud/l10n";
|
|
10
|
-
import DatePicker from "vue-datepicker-next";
|
|
11
|
-
register(t36);
|
|
12
|
-
const _sfc_main$2 = {
|
|
13
|
-
name: "CalendarBlankIcon",
|
|
14
|
-
emits: ["click"],
|
|
15
|
-
props: {
|
|
16
|
-
title: {
|
|
17
|
-
type: String
|
|
18
|
-
},
|
|
19
|
-
fillColor: {
|
|
20
|
-
type: String,
|
|
21
|
-
default: "currentColor"
|
|
22
|
-
},
|
|
23
|
-
size: {
|
|
24
|
-
type: Number,
|
|
25
|
-
default: 24
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
const _hoisted_1$2 = ["aria-hidden", "aria-label"];
|
|
30
|
-
const _hoisted_2$2 = ["fill", "width", "height"];
|
|
31
|
-
const _hoisted_3$2 = { d: "M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1" };
|
|
32
|
-
const _hoisted_4$1 = { key: 0 };
|
|
33
|
-
function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
34
|
-
return openBlock(), createElementBlock("span", mergeProps(_ctx.$attrs, {
|
|
35
|
-
"aria-hidden": $props.title ? null : "true",
|
|
36
|
-
"aria-label": $props.title,
|
|
37
|
-
class: "material-design-icon calendar-blank-icon",
|
|
38
|
-
role: "img",
|
|
39
|
-
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click", $event))
|
|
40
|
-
}), [
|
|
41
|
-
(openBlock(), createElementBlock("svg", {
|
|
42
|
-
fill: $props.fillColor,
|
|
43
|
-
class: "material-design-icon__svg",
|
|
44
|
-
width: $props.size,
|
|
45
|
-
height: $props.size,
|
|
46
|
-
viewBox: "0 0 24 24"
|
|
47
|
-
}, [
|
|
48
|
-
createElementVNode("path", _hoisted_3$2, [
|
|
49
|
-
$props.title ? (openBlock(), createElementBlock("title", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode("", true)
|
|
50
|
-
])
|
|
51
|
-
], 8, _hoisted_2$2))
|
|
52
|
-
], 16, _hoisted_1$2);
|
|
53
|
-
}
|
|
54
|
-
const CalendarBlank = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2]]);
|
|
55
|
-
const _sfc_main$1 = {
|
|
56
|
-
name: "WebIcon",
|
|
57
|
-
emits: ["click"],
|
|
58
|
-
props: {
|
|
59
|
-
title: {
|
|
60
|
-
type: String
|
|
61
|
-
},
|
|
62
|
-
fillColor: {
|
|
63
|
-
type: String,
|
|
64
|
-
default: "currentColor"
|
|
65
|
-
},
|
|
66
|
-
size: {
|
|
67
|
-
type: Number,
|
|
68
|
-
default: 24
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
const _hoisted_1$1 = ["aria-hidden", "aria-label"];
|
|
73
|
-
const _hoisted_2$1 = ["fill", "width", "height"];
|
|
74
|
-
const _hoisted_3$1 = { d: "M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z" };
|
|
75
|
-
const _hoisted_4 = { key: 0 };
|
|
76
|
-
function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
77
|
-
return openBlock(), createElementBlock("span", mergeProps(_ctx.$attrs, {
|
|
78
|
-
"aria-hidden": $props.title ? null : "true",
|
|
79
|
-
"aria-label": $props.title,
|
|
80
|
-
class: "material-design-icon web-icon",
|
|
81
|
-
role: "img",
|
|
82
|
-
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click", $event))
|
|
83
|
-
}), [
|
|
84
|
-
(openBlock(), createElementBlock("svg", {
|
|
85
|
-
fill: $props.fillColor,
|
|
86
|
-
class: "material-design-icon__svg",
|
|
87
|
-
width: $props.size,
|
|
88
|
-
height: $props.size,
|
|
89
|
-
viewBox: "0 0 24 24"
|
|
90
|
-
}, [
|
|
91
|
-
createElementVNode("path", _hoisted_3$1, [
|
|
92
|
-
$props.title ? (openBlock(), createElementBlock("title", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode("", true)
|
|
93
|
-
])
|
|
94
|
-
], 8, _hoisted_2$1))
|
|
95
|
-
], 16, _hoisted_1$1);
|
|
96
|
-
}
|
|
97
|
-
const Web = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
|
|
98
|
-
const formatMap = {
|
|
99
|
-
date: "YYYY-MM-DD",
|
|
100
|
-
datetime: "YYYY-MM-DD H:mm:ss",
|
|
101
|
-
year: "YYYY",
|
|
102
|
-
month: "YYYY-MM",
|
|
103
|
-
time: "H:mm:ss",
|
|
104
|
-
week: "w"
|
|
105
|
-
};
|
|
106
|
-
const _sfc_main = ScopeComponent({
|
|
107
|
-
name: "NcDateTimePicker",
|
|
108
|
-
components: {
|
|
109
|
-
CalendarBlank,
|
|
110
|
-
DatePicker,
|
|
111
|
-
NcPopover,
|
|
112
|
-
NcTimezonePicker,
|
|
113
|
-
Web
|
|
114
|
-
},
|
|
115
|
-
props: {
|
|
116
|
-
clearable: {
|
|
117
|
-
type: Boolean,
|
|
118
|
-
default: false
|
|
119
|
-
},
|
|
120
|
-
minuteStep: {
|
|
121
|
-
type: Number,
|
|
122
|
-
default: 10
|
|
123
|
-
},
|
|
124
|
-
type: {
|
|
125
|
-
type: String,
|
|
126
|
-
default: "date"
|
|
127
|
-
},
|
|
128
|
-
format: {
|
|
129
|
-
type: String,
|
|
130
|
-
default: null
|
|
131
|
-
},
|
|
132
|
-
formatter: {
|
|
133
|
-
type: Object,
|
|
134
|
-
default: null
|
|
135
|
-
},
|
|
136
|
-
lang: {
|
|
137
|
-
type: Object,
|
|
138
|
-
default: null
|
|
139
|
-
},
|
|
140
|
-
/**
|
|
141
|
-
* The value to initialize, but also two-way bind the selected date. The date is – like the `Date` object in
|
|
142
|
-
* JavaScript – tied to UTC. The selected time zone does not have an influence of the selected time and date
|
|
143
|
-
* value. You have to translate the time yourself when you want to factor in time zones.
|
|
144
|
-
*/
|
|
145
|
-
// eslint-disable-next-line
|
|
146
|
-
modelValue: {
|
|
147
|
-
default: () => /* @__PURE__ */ new Date()
|
|
148
|
-
},
|
|
149
|
-
/**
|
|
150
|
-
* The preselected IANA time zone ID for the time zone picker, only relevant in combination with `:show-timezone-select="true"`. Example: `Europe/Berlin`. The prop supports two-way binding through v-model directive.
|
|
151
|
-
*/
|
|
152
|
-
timezoneId: {
|
|
153
|
-
type: String,
|
|
154
|
-
default: "UTC"
|
|
155
|
-
},
|
|
156
|
-
showTimezoneSelect: {
|
|
157
|
-
type: Boolean,
|
|
158
|
-
default: false
|
|
159
|
-
},
|
|
160
|
-
highlightTimezone: {
|
|
161
|
-
type: Boolean,
|
|
162
|
-
default: false
|
|
163
|
-
},
|
|
164
|
-
appendToBody: {
|
|
165
|
-
type: Boolean,
|
|
166
|
-
default: false
|
|
167
|
-
},
|
|
168
|
-
showWeekNumber: {
|
|
169
|
-
type: Boolean,
|
|
170
|
-
default: false
|
|
171
|
-
},
|
|
172
|
-
placeholder: {
|
|
173
|
-
type: String,
|
|
174
|
-
default: null
|
|
175
|
-
}
|
|
176
|
-
},
|
|
177
|
-
emits: [
|
|
178
|
-
"update:modelValue",
|
|
179
|
-
"update:timezone-id"
|
|
180
|
-
],
|
|
181
|
-
setup() {
|
|
182
|
-
return {
|
|
183
|
-
timezoneDialogHeaderId: `timezone-dialog-header-${GenRandomId()}`
|
|
184
|
-
};
|
|
185
|
-
},
|
|
186
|
-
data() {
|
|
187
|
-
return {
|
|
188
|
-
showTimezonePopover: false,
|
|
189
|
-
tzVal: this.timezoneId
|
|
190
|
-
};
|
|
191
|
-
},
|
|
192
|
-
computed: {
|
|
193
|
-
/**
|
|
194
|
-
* Datepicker language
|
|
195
|
-
* https://github.com/mengxiong10/vue2-datepicker/blob/master/locale.md
|
|
196
|
-
*
|
|
197
|
-
* @return {object}
|
|
198
|
-
*/
|
|
199
|
-
defaultLang() {
|
|
200
|
-
return {
|
|
201
|
-
formatLocale: {
|
|
202
|
-
months: getMonthNames(),
|
|
203
|
-
monthsShort: getMonthNamesShort(),
|
|
204
|
-
weekdays: getDayNames(),
|
|
205
|
-
weekdaysShort: getDayNamesShort(),
|
|
206
|
-
weekdaysMin: getDayNamesMin(),
|
|
207
|
-
// 0 = sunday, 1 = monday
|
|
208
|
-
firstDayOfWeek: getFirstDay()
|
|
209
|
-
},
|
|
210
|
-
monthFormat: "MMMM"
|
|
211
|
-
};
|
|
212
|
-
},
|
|
213
|
-
/**
|
|
214
|
-
* Translated placeholder
|
|
215
|
-
*
|
|
216
|
-
* @return {string}
|
|
217
|
-
*/
|
|
218
|
-
defaultPlaceholder() {
|
|
219
|
-
if (this.type === "time") {
|
|
220
|
-
return t("Pick a time");
|
|
221
|
-
}
|
|
222
|
-
if (this.type === "month") {
|
|
223
|
-
return t("Pick a month");
|
|
224
|
-
}
|
|
225
|
-
if (this.type === "year") {
|
|
226
|
-
return t("Pick a year");
|
|
227
|
-
}
|
|
228
|
-
if (this.type === "week") {
|
|
229
|
-
return t("Pick a week");
|
|
230
|
-
}
|
|
231
|
-
if (this.type === "date") {
|
|
232
|
-
return t("Pick a date");
|
|
233
|
-
}
|
|
234
|
-
return t("Pick a date and a time");
|
|
235
|
-
},
|
|
236
|
-
/**
|
|
237
|
-
* If format is not provided, try to match the type
|
|
238
|
-
* or fallback to 'date'
|
|
239
|
-
*
|
|
240
|
-
* @return {string}
|
|
241
|
-
*/
|
|
242
|
-
formatTypeMap() {
|
|
243
|
-
return formatMap[this.type] ?? formatMap.date;
|
|
244
|
-
},
|
|
245
|
-
/**
|
|
246
|
-
* The formatter used for the vue-datepicker to fix nextcloud-libraries/nextcloud-vue#5044
|
|
247
|
-
*/
|
|
248
|
-
internalFormatter() {
|
|
249
|
-
const getWeek = (date) => {
|
|
250
|
-
const firstThursday = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));
|
|
251
|
-
firstThursday.setUTCDate(firstThursday.getUTCDate() + 4 - (firstThursday.getUTCDay() || 7));
|
|
252
|
-
const yearStart = new Date(Date.UTC(firstThursday.getUTCFullYear(), 0, 1));
|
|
253
|
-
return Math.ceil(((firstThursday - yearStart) / 864e5 + 1) / 7);
|
|
254
|
-
};
|
|
255
|
-
return {
|
|
256
|
-
getWeek,
|
|
257
|
-
// allow to override it by users using the `formatter` prop
|
|
258
|
-
...this.formatter ?? {}
|
|
259
|
-
};
|
|
260
|
-
}
|
|
261
|
-
},
|
|
262
|
-
methods: {
|
|
263
|
-
t,
|
|
264
|
-
handleSelectYear(year) {
|
|
265
|
-
const value = this.$refs.datepicker.currentValue;
|
|
266
|
-
if (value) {
|
|
267
|
-
try {
|
|
268
|
-
const date = new Date(new Date(value).setFullYear(year));
|
|
269
|
-
this.$refs.datepicker.selectDate(date);
|
|
270
|
-
} catch (error) {
|
|
271
|
-
console.error("Invalid value", value, year);
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
},
|
|
275
|
-
handleSelectMonth(month) {
|
|
276
|
-
const value = this.$refs.datepicker.currentValue;
|
|
277
|
-
if (value) {
|
|
278
|
-
try {
|
|
279
|
-
const date = new Date(new Date(value).setMonth(month));
|
|
280
|
-
this.$refs.datepicker.selectDate(date);
|
|
281
|
-
} catch (error) {
|
|
282
|
-
console.error("Invalid value", value, month);
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
},
|
|
286
|
-
/**
|
|
287
|
-
* Toggles the visibility of the time zone popover
|
|
288
|
-
*/
|
|
289
|
-
toggleTimezonePopover() {
|
|
290
|
-
if (!this.showTimezoneSelect) {
|
|
291
|
-
return;
|
|
292
|
-
}
|
|
293
|
-
this.showTimezonePopover = !this.showTimezonePopover;
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
});
|
|
297
|
-
const _hoisted_1 = ["aria-labelledby"];
|
|
298
|
-
const _hoisted_2 = { class: "timezone-popover-wrapper__label" };
|
|
299
|
-
const _hoisted_3 = ["id"];
|
|
300
|
-
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
301
|
-
const _component_Web = resolveComponent("Web");
|
|
302
|
-
const _component_NcTimezonePicker = resolveComponent("NcTimezonePicker");
|
|
303
|
-
const _component_NcPopover = resolveComponent("NcPopover");
|
|
304
|
-
const _component_CalendarBlank = resolveComponent("CalendarBlank");
|
|
305
|
-
const _component_DatePicker = resolveComponent("DatePicker");
|
|
306
|
-
return openBlock(), createBlock(_component_DatePicker, {
|
|
307
|
-
ref: "datepicker",
|
|
308
|
-
"append-to-body": _ctx.appendToBody,
|
|
309
|
-
clearable: _ctx.clearable,
|
|
310
|
-
format: _ctx.format ? _ctx.format : _ctx.formatTypeMap,
|
|
311
|
-
formatter: _ctx.internalFormatter,
|
|
312
|
-
lang: _ctx.lang ? _ctx.lang : _ctx.defaultLang,
|
|
313
|
-
"minute-step": _ctx.minuteStep,
|
|
314
|
-
placeholder: _ctx.placeholder ? _ctx.placeholder : _ctx.defaultPlaceholder,
|
|
315
|
-
"popup-class": { "show-week-number": _ctx.showWeekNumber },
|
|
316
|
-
"show-week-number": _ctx.showWeekNumber,
|
|
317
|
-
type: _ctx.type,
|
|
318
|
-
value: _ctx.modelValue,
|
|
319
|
-
onSelectYear: _ctx.handleSelectYear,
|
|
320
|
-
onSelectMonth: _ctx.handleSelectMonth,
|
|
321
|
-
"onUpdate:value": _cache[2] || (_cache[2] = ($event) => _ctx.$emit("update:modelValue", $event))
|
|
322
|
-
}, createSlots({
|
|
323
|
-
"icon-calendar": withCtx(() => [
|
|
324
|
-
_ctx.showTimezoneSelect ? (openBlock(), createBlock(_component_NcPopover, {
|
|
325
|
-
key: 0,
|
|
326
|
-
shown: _ctx.showTimezonePopover,
|
|
327
|
-
"onUpdate:shown": _cache[1] || (_cache[1] = ($event) => _ctx.showTimezonePopover = $event),
|
|
328
|
-
"popup-role": "dialog",
|
|
329
|
-
"popover-base-class": "timezone-select__popper"
|
|
330
|
-
}, {
|
|
331
|
-
trigger: withCtx(({ attrs }) => [
|
|
332
|
-
createElementVNode("button", mergeProps({
|
|
333
|
-
class: ["datetime-picker-inline-icon", { "datetime-picker-inline-icon--highlighted": _ctx.highlightTimezone }]
|
|
334
|
-
}, attrs, {
|
|
335
|
-
onMousedown: withModifiers(() => {
|
|
336
|
-
}, ["stop", "prevent"])
|
|
337
|
-
}), [
|
|
338
|
-
createVNode(_component_Web, { size: 20 })
|
|
339
|
-
], 16)
|
|
340
|
-
]),
|
|
341
|
-
default: withCtx(() => [
|
|
342
|
-
createElementVNode("div", {
|
|
343
|
-
role: "dialog",
|
|
344
|
-
"aria-labelledby": _ctx.timezoneDialogHeaderId
|
|
345
|
-
}, [
|
|
346
|
-
createElementVNode("div", _hoisted_2, [
|
|
347
|
-
createElementVNode("strong", { id: _ctx.timezoneDialogHeaderId }, toDisplayString(_ctx.t("Please select a time zone:")), 9, _hoisted_3)
|
|
348
|
-
]),
|
|
349
|
-
createVNode(_component_NcTimezonePicker, {
|
|
350
|
-
"model-value": _ctx.tzVal,
|
|
351
|
-
class: "timezone-popover-wrapper__timezone-select",
|
|
352
|
-
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:timezone-id", $event))
|
|
353
|
-
}, null, 8, ["model-value"])
|
|
354
|
-
], 8, _hoisted_1)
|
|
355
|
-
]),
|
|
356
|
-
_: 1
|
|
357
|
-
}, 8, ["shown"])) : (openBlock(), createBlock(_component_CalendarBlank, {
|
|
358
|
-
key: 1,
|
|
359
|
-
size: 20
|
|
360
|
-
}))
|
|
361
|
-
]),
|
|
362
|
-
_: 2
|
|
363
|
-
}, [
|
|
364
|
-
renderList(_ctx.$slots, (_, slot) => {
|
|
365
|
-
return {
|
|
366
|
-
name: slot,
|
|
367
|
-
fn: withCtx((scope) => [
|
|
368
|
-
renderSlot(_ctx.$slots, slot, normalizeProps(guardReactiveProps(scope)), void 0, true)
|
|
369
|
-
])
|
|
370
|
-
};
|
|
371
|
-
})
|
|
372
|
-
]), 1032, ["append-to-body", "clearable", "format", "formatter", "lang", "minute-step", "placeholder", "popup-class", "show-week-number", "type", "value", "onSelectYear", "onSelectMonth"]);
|
|
373
|
-
}
|
|
374
|
-
const NcDateTimePicker = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-ffd15796"]]);
|
|
375
|
-
export {
|
|
376
|
-
NcDateTimePicker as N
|
|
377
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NcDateTimePicker-DUPn2UCM.mjs","sources":["../../node_modules/vue-material-design-icons/CalendarBlank.vue","../../node_modules/vue-material-design-icons/Web.vue","../../src/components/NcDateTimePicker/NcDateTimePicker.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon calendar-blank-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CalendarBlankIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon web-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"WebIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n> We're wrapping the awesome datepicker library here https://github.com/mengxiong10/vue-datepicker-next\n> Please check there for all the available options.\n\n### Defaults\n- cleareable: false\n- minute-step: 10\n\n### Example\n```vue\n<template>\n\t<span>\n\t\t<NcDateTimePicker\n\t\t\tv-model=\"time\"\n\t\t\ttype=\"datetime\" />\n\t\t{{ time }}\n\t</span>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttime: new Date('2022-10-10 10:10:10'),\n\t\t}\n\t},\n}\n</script>\n```\n\n### Example with confirm button\n```vue\n<template>\n\t<span>\n\t\t<NcDateTimePicker\n\t\t\tv-model=\"time\"\n\t\t\ttype=\"datetime\"\n\t\t\tconfirm />\n\t\t{{ time }}\n\t</span>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttime: null,\n\t\t\t}\n\t\t},\n\t}\n</script>\n```\n\n### Range picker\n```vue\n<template>\n\t<span>\n\t\t<NcDateTimePicker\n\t\t\tv-model=\"time\"\n\t\t\trange\n\t\t\ttype=\"date\" />\n\t\t{{ time }}\n\t</span>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttime: null,\n\t\t}\n\t},\n}\n</script>\n```\n\n### Time zone aware date picker\n\nThe datepicker can optionally include a picker for the preferred time zone. The selected time does not factor in the\npicked time zone, but you will have to convert it yourself when necessary.\n\n```vue\n<template>\n\t<span>\n\t\t<NcDateTimePicker\n\t\t\tv-model=\"time\"\n\t\t\ttype=\"datetime\"\n\t\t\t:show-timezone-select=\"true\"\n\t\t\tv-model:timezone-id=\"tz\" /><br>\n\t\t{{ time }} | {{ tz }}\n\t</span>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttime: undefined,\n\t\t\ttz: 'Europe/Berlin',\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<DatePicker ref=\"datepicker\"\n\t\t:append-to-body=\"appendToBody\"\n\t\t:clearable=\"clearable\"\n\t\t:format=\"format ? format : formatTypeMap\"\n\t\t:formatter=\"internalFormatter\"\n\t\t:lang=\"lang ? lang : defaultLang\"\n\t\t:minute-step=\"minuteStep\"\n\t\t:placeholder=\"placeholder ? placeholder : defaultPlaceholder\"\n\t\t:popup-class=\"{ 'show-week-number': showWeekNumber }\"\n\t\t:show-week-number=\"showWeekNumber\"\n\t\t:type=\"type\"\n\t\t:value=\"modelValue\"\n\t\t@select-year=\"handleSelectYear\"\n\t\t@select-month=\"handleSelectMonth\"\n\t\t@update:value=\"$emit('update:modelValue', $event)\">\n\t\t<template #icon-calendar>\n\t\t\t<NcPopover v-if=\"showTimezoneSelect\"\n\t\t\t\tv-model:shown=\"showTimezonePopover\"\n\t\t\t\tpopup-role=\"dialog\"\n\t\t\t\tpopover-base-class=\"timezone-select__popper\">\n\t\t\t\t<template #trigger=\"{ attrs }\">\n\t\t\t\t\t<button class=\"datetime-picker-inline-icon\"\n\t\t\t\t\t\t:class=\"{'datetime-picker-inline-icon--highlighted': highlightTimezone}\"\n\t\t\t\t\t\tv-bind=\"attrs\"\n\t\t\t\t\t\t@mousedown.stop.prevent=\"() => {}\">\n\t\t\t\t\t\t<Web :size=\"20\" />\n\t\t\t\t\t</button>\n\t\t\t\t</template>\n\n\t\t\t\t<div role=\"dialog\"\n\t\t\t\t\t:aria-labelledby=\"timezoneDialogHeaderId\">\n\t\t\t\t\t<div class=\"timezone-popover-wrapper__label\">\n\t\t\t\t\t\t<strong :id=\"timezoneDialogHeaderId\">\n\t\t\t\t\t\t\t{{ t('Please select a time zone:') }}\n\t\t\t\t\t\t</strong>\n\t\t\t\t\t</div>\n\t\t\t\t\t<NcTimezonePicker :model-value=\"tzVal\"\n\t\t\t\t\t\tclass=\"timezone-popover-wrapper__timezone-select\"\n\t\t\t\t\t\t@update:model-value=\"$emit('update:timezone-id', $event)\" />\n\t\t\t\t</div>\n\t\t\t</NcPopover>\n\t\t\t<CalendarBlank v-else :size=\"20\" />\n\t\t</template>\n\t\t<template v-for=\"(_, slot) of $slots\" #[slot]=\"scope\">\n\t\t\t<slot :name=\"slot\" v-bind=\"scope\" />\n\t\t</template>\n\t</DatePicker>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nimport NcTimezonePicker from '../NcTimezonePicker/index.js'\nimport NcPopover from '../NcPopover/index.js'\nimport ScopeComponent from '../../utils/ScopeComponent.js'\n\nimport CalendarBlank from 'vue-material-design-icons/CalendarBlank.vue'\nimport Web from 'vue-material-design-icons/Web.vue'\n\nimport {\n\tgetFirstDay,\n\tgetDayNames,\n\tgetDayNamesShort,\n\tgetDayNamesMin,\n\tgetMonthNames,\n\tgetMonthNamesShort,\n} from '@nextcloud/l10n'\n\nimport DatePicker from 'vue-datepicker-next'\nimport './index.scss'\n\nconst formatMap = {\n\tdate: 'YYYY-MM-DD',\n\tdatetime: 'YYYY-MM-DD H:mm:ss',\n\tyear: 'YYYY',\n\tmonth: 'YYYY-MM',\n\ttime: 'H:mm:ss',\n\tweek: 'w',\n}\n\nexport default ScopeComponent({\n\tname: 'NcDateTimePicker',\n\n\tcomponents: {\n\t\tCalendarBlank,\n\t\tDatePicker,\n\t\tNcPopover,\n\t\tNcTimezonePicker,\n\t\tWeb,\n\t},\n\n\tprops: {\n\t\tclearable: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\tminuteStep: {\n\t\t\ttype: Number,\n\t\t\tdefault: 10,\n\t\t},\n\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'date',\n\t\t},\n\n\t\tformat: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\tformatter: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\n\t\tlang: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * The value to initialize, but also two-way bind the selected date. The date is – like the `Date` object in\n\t\t * JavaScript – tied to UTC. The selected time zone does not have an influence of the selected time and date\n\t\t * value. You have to translate the time yourself when you want to factor in time zones.\n\t\t */\n\t\t// eslint-disable-next-line\n\t\tmodelValue: {\n\t\t\tdefault: () => new Date(),\n\t\t},\n\n\t\t/**\n\t\t * The preselected IANA time zone ID for the time zone picker, only relevant in combination with `:show-timezone-select=\"true\"`. Example: `Europe/Berlin`. The prop supports two-way binding through v-model directive.\n\t\t */\n\t\ttimezoneId: {\n\t\t\ttype: String,\n\t\t\tdefault: 'UTC',\n\t\t},\n\n\t\tshowTimezoneSelect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\thighlightTimezone: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\tappendToBody: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\tshowWeekNumber: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'update:modelValue',\n\t\t'update:timezone-id',\n\t],\n\n\tsetup() {\n\t\treturn {\n\t\t\ttimezoneDialogHeaderId: `timezone-dialog-header-${GenRandomId()}`,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowTimezonePopover: false,\n\t\t\ttzVal: this.timezoneId,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Datepicker language\n\t\t * https://github.com/mengxiong10/vue2-datepicker/blob/master/locale.md\n\t\t *\n\t\t * @return {object}\n\t\t */\n\t\tdefaultLang() {\n\t\t\treturn {\n\t\t\t\tformatLocale: {\n\t\t\t\t\tmonths: getMonthNames(),\n\t\t\t\t\tmonthsShort: getMonthNamesShort(),\n\t\t\t\t\tweekdays: getDayNames(),\n\t\t\t\t\tweekdaysShort: getDayNamesShort(),\n\t\t\t\t\tweekdaysMin: getDayNamesMin(),\n\t\t\t\t\t// 0 = sunday, 1 = monday\n\t\t\t\t\tfirstDayOfWeek: getFirstDay(),\n\t\t\t\t},\n\t\t\t\tmonthFormat: 'MMMM',\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Translated placeholder\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tdefaultPlaceholder() {\n\t\t\tif (this.type === 'time') {\n\t\t\t\treturn t('Pick a time')\n\t\t\t}\n\t\t\tif (this.type === 'month') {\n\t\t\t\treturn t('Pick a month')\n\t\t\t}\n\t\t\tif (this.type === 'year') {\n\t\t\t\treturn t('Pick a year')\n\t\t\t}\n\t\t\tif (this.type === 'week') {\n\t\t\t\treturn t('Pick a week')\n\t\t\t}\n\t\t\tif (this.type === 'date') {\n\t\t\t\treturn t('Pick a date')\n\t\t\t}\n\t\t\treturn t('Pick a date and a time')\n\t\t},\n\n\t\t/**\n\t\t * If format is not provided, try to match the type\n\t\t * or fallback to 'date'\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tformatTypeMap() {\n\t\t\treturn formatMap[this.type] ?? formatMap.date\n\t\t},\n\n\t\t/**\n\t\t * The formatter used for the vue-datepicker to fix nextcloud-libraries/nextcloud-vue#5044\n\t\t */\n\t\tinternalFormatter() {\n\t\t\t/**\n\t\t\t * Get the ISO week number of the date\n\t\t\t * @param {Date} date The date to format\n\t\t\t */\n\t\t\tconst getWeek = (date) => {\n\t\t\t\t// Adjust to nearest Thursday\n\t\t\t\tconst firstThursday = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n\t\t\t\tfirstThursday.setUTCDate(firstThursday.getUTCDate() + 4 - (firstThursday.getUTCDay() || 7))\n\n\t\t\t\tconst yearStart = new Date(Date.UTC(firstThursday.getUTCFullYear(), 0, 1))\n\n\t\t\t\t// Full weeks to nearest Thursday\n\t\t\t\treturn Math.ceil((((firstThursday - yearStart) / 86400000) + 1) / 7)\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tgetWeek,\n\t\t\t\t// allow to override it by users using the `formatter` prop\n\t\t\t\t...(this.formatter ?? {}),\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\thandleSelectYear(year) {\n\t\t\tconst value = this.$refs.datepicker.currentValue\n\t\t\tif (value) {\n\t\t\t\ttry {\n\t\t\t\t\tconst date = new Date(new Date(value).setFullYear(year))\n\t\t\t\t\tthis.$refs.datepicker.selectDate(date)\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error('Invalid value', value, year)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\thandleSelectMonth(month) {\n\t\t\tconst value = this.$refs.datepicker.currentValue\n\t\t\tif (value) {\n\t\t\t\ttry {\n\t\t\t\t\tconst date = new Date(new Date(value).setMonth(month))\n\t\t\t\t\tthis.$refs.datepicker.selectDate(date)\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error('Invalid value', value, month)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Toggles the visibility of the time zone popover\n\t\t */\n\t\ttoggleTimezonePopover() {\n\t\t\tif (!this.showTimezoneSelect) {\n\t\t\t\t// Just a click on the icon, but not for time zones -> ignore\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.showTimezonePopover = !this.showTimezonePopover\n\t\t},\n\t},\n})\n\n</script>\n\n<style lang=\"scss\" scoped>\n.mx-datepicker :deep(.mx-input-wrapper .mx-input) {\n\tbackground-clip: border-box;\n}\n\n.datetime-picker-inline-icon {\n\topacity: .3;\n\tborder: none;\n\tbackground-color: transparent;\n\tborder-radius: 0;\n\tpadding: 0 !important;\n\tmargin: 0;\n\n\t&--highlighted {\n\t\topacity: .7;\n\t}\n\n\t&:focus,\n\t&:hover {\n\t\topacity: 1;\n\t}\n}\n</style>\n\n<style lang=\"scss\">\n// We overwrite the popover base class, so we can style\n// the popover for the timezone select only.\n.v-popper--theme-dropdown.v-popper__popper.timezone-select__popper .v-popper__wrapper {\n\tborder-radius: var(--border-radius-large);\n\n\t.v-popper__inner {\n\t\tpadding: 4px;\n\t\tborder-radius: var(--border-radius-large);\n\n\t\t.timezone-popover-wrapper {\n\t\t\t&__label {\n\t\t\t\tpadding: 4px 0;\n\t\t\t\tpadding-left: 14px; // Left-align with NcSelect text\n\t\t\t}\n\n\t\t\t// We overwrite the border radius of the input to account for the popover border-radius minus the padding\n\t\t\t&__timezone-select.v-select {\n\t\t\t\t&.select {\n\t\t\t\t\tmin-width: 246px;\n\t\t\t\t\tleft: -8px !important;\n\t\t\t\t}\n\t\t\t\t.vs__dropdown-toggle {\n\t\t\t\t\tborder-radius: calc(var(--border-radius-large) - 4px);\n\t\t\t\t}\n\n\t\t\t\t&.vs--open {\n\t\t\t\t\t.vs__dropdown-toggle {\n\t\t\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t\t\t}\n\t\t\t\t\t&.select--drop-up .vs__dropdown-toggle {\n\t\t\t\t\t\tborder-radius: 0 0 calc(var(--border-radius-large) - 4px) calc(var(--border-radius-large) - 4px);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// TODO: This should be scoped or targeted by a specific selector, but the NcSelect component does not allow this yet.\n.vs__dropdown-menu--floating {\n\t// Higher z-index than the popover in which the NcSelect is located.\n\tz-index: 100001 !important;\n}\n</style>\n"],"names":["_sfc_main","_hoisted_1","_hoisted_2","_hoisted_3","_createElementBlock","_mergeProps","_createElementVNode","_hoisted_4","_createCommentVNode","_createBlock","_createSlots","_withCtx","_withModifiers","_createVNode","_toDisplayString","_renderList","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":"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","x_google_ignoreList":[0,1]}
|