@nextcloud/vue 8.7.0 → 8.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/dist/Components/NcActionButtonGroup.cjs +1 -1
- package/dist/Components/NcActionButtonGroup.mjs +1 -1
- package/dist/Components/NcActionInput.cjs +1 -1
- package/dist/Components/NcActionInput.mjs +1 -1
- package/dist/Components/NcActions.cjs +1 -1
- package/dist/Components/NcActions.mjs +1 -1
- package/dist/Components/NcAppContent.cjs +1 -1
- package/dist/Components/NcAppContent.mjs +1 -1
- package/dist/Components/NcAppNavigation.cjs +1 -1
- package/dist/Components/NcAppNavigation.mjs +1 -1
- package/dist/Components/NcAppNavigationCaption.cjs +1 -1
- package/dist/Components/NcAppNavigationCaption.mjs +1 -1
- package/dist/Components/NcAppNavigationItem.cjs +1 -1
- package/dist/Components/NcAppNavigationItem.mjs +1 -1
- package/dist/Components/NcAppNavigationList.cjs +20 -0
- package/dist/Components/NcAppNavigationList.cjs.map +1 -0
- package/dist/Components/NcAppNavigationList.mjs +22 -0
- package/dist/Components/NcAppNavigationList.mjs.map +1 -0
- package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
- package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
- package/dist/Components/NcAppNavigationSettings.cjs +1 -1
- package/dist/Components/NcAppNavigationSettings.mjs +1 -1
- package/dist/Components/NcAppNavigationSpacer.cjs +2 -2
- package/dist/Components/NcAppNavigationSpacer.cjs.map +1 -1
- package/dist/Components/NcAppNavigationSpacer.mjs +5 -5
- package/dist/Components/NcAppNavigationSpacer.mjs.map +1 -1
- package/dist/Components/NcAppNavigationToggle.cjs +1 -1
- package/dist/Components/NcAppNavigationToggle.mjs +1 -1
- package/dist/Components/NcAppSettingsDialog.cjs +1 -1
- package/dist/Components/NcAppSettingsDialog.mjs +1 -1
- package/dist/Components/NcAppSidebar.cjs +1 -1
- package/dist/Components/NcAppSidebar.mjs +1 -1
- package/dist/Components/NcAvatar.cjs +1 -1
- package/dist/Components/NcAvatar.mjs +1 -1
- package/dist/Components/NcBreadcrumb.cjs +1 -1
- package/dist/Components/NcBreadcrumb.mjs +1 -1
- package/dist/Components/NcBreadcrumbs.cjs +1 -1
- package/dist/Components/NcBreadcrumbs.mjs +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
- package/dist/Components/NcColorPicker.cjs +1 -1
- package/dist/Components/NcColorPicker.mjs +1 -1
- package/dist/Components/NcContent.cjs +1 -1
- package/dist/Components/NcContent.mjs +1 -1
- package/dist/Components/NcDashboardWidget.cjs +1 -1
- package/dist/Components/NcDashboardWidget.mjs +1 -1
- package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
- package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
- package/dist/Components/NcDateTime.cjs +1 -1
- package/dist/Components/NcDateTime.mjs +1 -1
- package/dist/Components/NcDateTimePicker.cjs +2 -2
- package/dist/Components/NcDateTimePicker.mjs +5 -5
- package/dist/Components/NcDateTimePickerNative.cjs +1 -1
- package/dist/Components/NcDateTimePickerNative.mjs +1 -1
- package/dist/Components/NcDialog.cjs +1 -1
- package/dist/Components/NcDialog.mjs +1 -1
- package/dist/Components/NcDialogButton.cjs +1 -1
- package/dist/Components/NcDialogButton.mjs +1 -1
- package/dist/Components/NcEmojiPicker.cjs +1 -1
- package/dist/Components/NcEmojiPicker.mjs +1 -1
- package/dist/Components/NcIconSvgWrapper.cjs +1 -1
- package/dist/Components/NcIconSvgWrapper.mjs +1 -1
- package/dist/Components/NcListItem.cjs +1 -1
- package/dist/Components/NcListItem.mjs +1 -1
- package/dist/Components/NcListItemIcon.cjs +1 -1
- package/dist/Components/NcListItemIcon.mjs +1 -1
- package/dist/Components/NcModal.cjs +1 -1
- package/dist/Components/NcModal.mjs +3 -3
- package/dist/Components/NcPasswordField.cjs +1 -1
- package/dist/Components/NcPasswordField.mjs +1 -1
- package/dist/Components/NcPopover.cjs +1 -1
- package/dist/Components/NcPopover.mjs +1 -1
- package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
- package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
- package/dist/Components/NcRichContenteditable.cjs +1 -1
- package/dist/Components/NcRichContenteditable.mjs +2 -2
- package/dist/Components/NcRichText.cjs +1 -1
- package/dist/Components/NcRichText.mjs +3 -3
- package/dist/Components/NcSelect.cjs +1 -1
- package/dist/Components/NcSelect.mjs +1 -1
- package/dist/Components/NcSelectTags.cjs +1 -1
- package/dist/Components/NcSelectTags.mjs +1 -1
- package/dist/Components/NcSettingsInputText.cjs +1 -1
- package/dist/Components/NcSettingsInputText.mjs +1 -1
- package/dist/Components/NcSettingsSection.cjs +1 -1
- package/dist/Components/NcSettingsSection.mjs +1 -1
- package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
- package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
- package/dist/Components/NcTextField.cjs +1 -1
- package/dist/Components/NcTextField.mjs +1 -1
- package/dist/Components/NcTimezonePicker.cjs +1 -1
- package/dist/Components/NcTimezonePicker.mjs +1 -1
- package/dist/Components/NcUserBubble.cjs +1 -1
- package/dist/Components/NcUserBubble.mjs +1 -1
- package/dist/Components/NcUserStatusIcon.cjs +1 -1
- package/dist/Components/NcUserStatusIcon.mjs +1 -1
- package/dist/Functions/reference.cjs +1 -1
- package/dist/Functions/reference.mjs +1 -1
- package/dist/Functions/usernameToColor.cjs +1 -1
- package/dist/Functions/usernameToColor.mjs +1 -1
- package/dist/Mixins/richEditor.cjs +1 -1
- package/dist/Mixins/richEditor.mjs +1 -1
- package/dist/assets/{NcActions-4Gq5bZLW.css → NcActions-mt8BQ_bn.css} +12 -12
- package/dist/assets/{NcAppNavigation-vjqOL-kR.css → NcAppNavigation-9nlYnuUQ.css} +8 -8
- package/dist/assets/{NcAppNavigationCaption-l5yRGXZx.css → NcAppNavigationCaption-I1dcvB0N.css} +11 -5
- package/dist/assets/NcAppNavigationList-RooPPg4w.css +44 -0
- package/dist/assets/NcAppNavigationSpacer-uaft91Uz.css +4 -0
- package/dist/assets/{NcAppSidebar-YHd7DpMW.css → NcAppSidebar-RkF-tqKy.css} +49 -46
- package/dist/assets/{NcColorPicker-PzIRM1j1.css → NcColorPicker-jW6HOxWA.css} +24 -24
- package/dist/assets/{NcDashboardWidgetItem-S7fELANA.css → NcDashboardWidgetItem-OL--xR_P.css} +15 -13
- package/dist/assets/{NcDateTimePicker-w8SEtYvQ.css → NcDateTimePicker-l-C3PwHK.css} +10 -10
- package/dist/assets/{NcEmojiPicker-wTIbvcrG.css → NcEmojiPicker-hTlSVIq0.css} +5 -5
- package/dist/assets/{NcIconSvgWrapper-arqrq5Bj.css → NcIconSvgWrapper-KLotijwU.css} +13 -7
- package/dist/assets/{NcRelatedResourcesPanel-m3uf_nvH.css → NcRelatedResourcesPanel-oq5eMIoh.css} +7 -7
- package/dist/assets/{NcRichContenteditable-N1TxeACO.css → NcRichContenteditable-rW6l0h3m.css} +33 -31
- package/dist/chunks/{GenColors-zPMSiY0e.cjs → GenColors-LzmNxRE8.cjs} +1 -1
- package/dist/chunks/{GenColors-zPMSiY0e.cjs.map → GenColors-LzmNxRE8.cjs.map} +1 -1
- package/dist/chunks/{GenColors-wNwbCHuq.mjs → GenColors-MjG_SfWn.mjs} +1 -1
- package/dist/chunks/{GenColors-wNwbCHuq.mjs.map → GenColors-MjG_SfWn.mjs.map} +1 -1
- package/dist/chunks/{NcActionButtonGroup-HIUn669C.cjs → NcActionButtonGroup-6TAtQFtq.cjs} +1 -1
- package/dist/chunks/{NcActionButtonGroup-HIUn669C.cjs.map → NcActionButtonGroup-6TAtQFtq.cjs.map} +1 -1
- package/dist/chunks/{NcActionButtonGroup-A5Ixaw5n.mjs → NcActionButtonGroup-w6A9Fw2n.mjs} +1 -1
- package/dist/chunks/{NcActionButtonGroup-A5Ixaw5n.mjs.map → NcActionButtonGroup-w6A9Fw2n.mjs.map} +1 -1
- package/dist/chunks/{NcActionInput-f1Oq2O71.cjs → NcActionInput-Fl2UyuVW.cjs} +1 -1
- package/dist/chunks/{NcActionInput-f1Oq2O71.cjs.map → NcActionInput-Fl2UyuVW.cjs.map} +1 -1
- package/dist/chunks/{NcActionInput-XHMzOL_h.mjs → NcActionInput-yvhGpEsS.mjs} +4 -4
- package/dist/chunks/{NcActionInput-XHMzOL_h.mjs.map → NcActionInput-yvhGpEsS.mjs.map} +1 -1
- package/dist/chunks/{NcActions-JXnhQhum.cjs → NcActions-iACO4laf.cjs} +143 -70
- package/dist/chunks/NcActions-iACO4laf.cjs.map +1 -0
- package/dist/chunks/{NcActions-5_igU-CH.mjs → NcActions-rHzi4RcQ.mjs} +153 -80
- package/dist/chunks/NcActions-rHzi4RcQ.mjs.map +1 -0
- package/dist/chunks/{NcAppContent-Kq5fJ7_W.cjs → NcAppContent--JRFOyLe.cjs} +1 -1
- package/dist/chunks/{NcAppContent-Kq5fJ7_W.cjs.map → NcAppContent--JRFOyLe.cjs.map} +1 -1
- package/dist/chunks/{NcAppContent-WBzZJh-y.mjs → NcAppContent-c0KjHkMb.mjs} +1 -1
- package/dist/chunks/{NcAppContent-WBzZJh-y.mjs.map → NcAppContent-c0KjHkMb.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigation-n6P3oVZv.mjs → NcAppNavigation-7U8buuT7.mjs} +8 -8
- package/dist/chunks/NcAppNavigation-7U8buuT7.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigation-U6yaDk7k.cjs → NcAppNavigation-AcPesLHq.cjs} +4 -4
- package/dist/chunks/NcAppNavigation-AcPesLHq.cjs.map +1 -0
- package/dist/chunks/NcAppNavigationCaption-Iuzt-yzb.cjs +58 -0
- package/dist/chunks/NcAppNavigationCaption-Iuzt-yzb.cjs.map +1 -0
- package/dist/chunks/NcAppNavigationCaption-UJ7iY1q5.mjs +61 -0
- package/dist/chunks/NcAppNavigationCaption-UJ7iY1q5.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationItem-A1yAdDNN.mjs → NcAppNavigationItem-9n2uXjvj.mjs} +3 -3
- package/dist/chunks/{NcAppNavigationItem-A1yAdDNN.mjs.map → NcAppNavigationItem-9n2uXjvj.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationItem-Wb8gX-Ln.cjs → NcAppNavigationItem-pvFIrGQv.cjs} +1 -1
- package/dist/chunks/{NcAppNavigationItem-Wb8gX-Ln.cjs.map → NcAppNavigationItem-pvFIrGQv.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNewItem-TyGHutbG.cjs → NcAppNavigationNewItem-CXGDvuMl.cjs} +1 -1
- package/dist/chunks/{NcAppNavigationNewItem-TyGHutbG.cjs.map → NcAppNavigationNewItem-CXGDvuMl.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNewItem-t1ST1cif.mjs → NcAppNavigationNewItem-jr12p6VL.mjs} +1 -1
- package/dist/chunks/{NcAppNavigationNewItem-t1ST1cif.mjs.map → NcAppNavigationNewItem-jr12p6VL.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSettings-gwL_FqLN.mjs → NcAppNavigationSettings-NRqRmMXw.mjs} +1 -1
- package/dist/chunks/{NcAppNavigationSettings-gwL_FqLN.mjs.map → NcAppNavigationSettings-NRqRmMXw.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSettings-VLa79G7w.cjs → NcAppNavigationSettings-Nd8RJnYL.cjs} +1 -1
- package/dist/chunks/{NcAppNavigationSettings-VLa79G7w.cjs.map → NcAppNavigationSettings-Nd8RJnYL.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationToggle-Wz0s35Rd.cjs → NcAppNavigationToggle-KZ_xHLv9.cjs} +1 -1
- package/dist/chunks/{NcAppNavigationToggle-Wz0s35Rd.cjs.map → NcAppNavigationToggle-KZ_xHLv9.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationToggle-KT8eqw6r.mjs → NcAppNavigationToggle-kL5XkG2J.mjs} +1 -1
- package/dist/chunks/{NcAppNavigationToggle-KT8eqw6r.mjs.map → NcAppNavigationToggle-kL5XkG2J.mjs.map} +1 -1
- package/dist/chunks/{NcAppSettingsDialog-h22q7l_7.cjs → NcAppSettingsDialog-8l-aNNFq.cjs} +1 -1
- package/dist/chunks/{NcAppSettingsDialog-h22q7l_7.cjs.map → NcAppSettingsDialog-8l-aNNFq.cjs.map} +1 -1
- package/dist/chunks/{NcAppSettingsDialog-5t3vGpRF.mjs → NcAppSettingsDialog-S9pm_eoJ.mjs} +2 -2
- package/dist/chunks/{NcAppSettingsDialog-5t3vGpRF.mjs.map → NcAppSettingsDialog-S9pm_eoJ.mjs.map} +1 -1
- package/dist/chunks/{NcAppSidebar-tnHBPGbL.mjs → NcAppSidebar-kN5SMxgh.mjs} +8 -6
- package/dist/chunks/NcAppSidebar-kN5SMxgh.mjs.map +1 -0
- package/dist/chunks/{NcAppSidebar-rRNJnN-k.cjs → NcAppSidebar-l6rV-lnp.cjs} +7 -5
- package/dist/chunks/NcAppSidebar-l6rV-lnp.cjs.map +1 -0
- package/dist/chunks/{NcAvatar-zTS9P1lK.cjs → NcAvatar-CVj9XTPL.cjs} +2 -2
- package/dist/chunks/{NcAvatar-zTS9P1lK.cjs.map → NcAvatar-CVj9XTPL.cjs.map} +1 -1
- package/dist/chunks/{NcAvatar-xT3kz6mU.mjs → NcAvatar-MI8_N7U1.mjs} +4 -4
- package/dist/chunks/{NcAvatar-xT3kz6mU.mjs.map → NcAvatar-MI8_N7U1.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumb-DEWk7wO9.cjs → NcBreadcrumb-EhfhBqAL.cjs} +1 -1
- package/dist/chunks/{NcBreadcrumb-DEWk7wO9.cjs.map → NcBreadcrumb-EhfhBqAL.cjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumb-w1UX2NR-.mjs → NcBreadcrumb-LpXeIBcG.mjs} +1 -1
- package/dist/chunks/{NcBreadcrumb-w1UX2NR-.mjs.map → NcBreadcrumb-LpXeIBcG.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumbs-tRR9CjKD.mjs → NcBreadcrumbs--4xgDVR7.mjs} +2 -2
- package/dist/chunks/{NcBreadcrumbs-tRR9CjKD.mjs.map → NcBreadcrumbs--4xgDVR7.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumbs-VuaG3ex5.cjs → NcBreadcrumbs-zYhyJxEY.cjs} +1 -1
- package/dist/chunks/{NcBreadcrumbs-VuaG3ex5.cjs.map → NcBreadcrumbs-zYhyJxEY.cjs.map} +1 -1
- package/dist/chunks/{NcCheckboxRadioSwitch-7pZp_rWo.cjs → NcCheckboxRadioSwitch-Ox3J2r7t.cjs} +2 -2
- package/dist/chunks/{NcCheckboxRadioSwitch-7pZp_rWo.cjs.map → NcCheckboxRadioSwitch-Ox3J2r7t.cjs.map} +1 -1
- package/dist/chunks/{NcCheckboxRadioSwitch-PlgK1zWr.mjs → NcCheckboxRadioSwitch-ymUA5BIs.mjs} +2 -2
- package/dist/chunks/{NcCheckboxRadioSwitch-PlgK1zWr.mjs.map → NcCheckboxRadioSwitch-ymUA5BIs.mjs.map} +1 -1
- package/dist/chunks/{NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-rJ3UZLGm.mjs → NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-0EjSdGnM.mjs} +1 -1
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-0EjSdGnM.mjs.map +1 -0
- package/dist/chunks/{NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-kOW4T17e.cjs → NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-0FNcC7Nt.cjs} +1 -1
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-0FNcC7Nt.cjs.map +1 -0
- package/dist/chunks/{NcColorPicker-rPobPO3M.mjs → NcColorPicker-1m1Xv5fE.mjs} +6 -6
- package/dist/chunks/NcColorPicker-1m1Xv5fE.mjs.map +1 -0
- package/dist/chunks/{NcColorPicker-yr9Pfeem.cjs → NcColorPicker-7PNp6DUg.cjs} +4 -4
- package/dist/chunks/NcColorPicker-7PNp6DUg.cjs.map +1 -0
- package/dist/chunks/{NcContent-BdekB7Zr.cjs → NcContent-L5DDeJmE.cjs} +1 -1
- package/dist/chunks/{NcContent-BdekB7Zr.cjs.map → NcContent-L5DDeJmE.cjs.map} +1 -1
- package/dist/chunks/{NcContent-EGBAB5sy.mjs → NcContent-YJfqE5Kv.mjs} +2 -2
- package/dist/chunks/{NcContent-EGBAB5sy.mjs.map → NcContent-YJfqE5Kv.mjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidget-QciRRvL4.cjs → NcDashboardWidget-KPADyPUh.cjs} +1 -1
- package/dist/chunks/{NcDashboardWidget-QciRRvL4.cjs.map → NcDashboardWidget-KPADyPUh.cjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidget-ogqyHahY.mjs → NcDashboardWidget-oUPY199x.mjs} +3 -3
- package/dist/chunks/{NcDashboardWidget-ogqyHahY.mjs.map → NcDashboardWidget-oUPY199x.mjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidgetItem-mIPkPR7r.cjs → NcDashboardWidgetItem-KpDnCM7Y.cjs} +4 -4
- package/dist/chunks/NcDashboardWidgetItem-KpDnCM7Y.cjs.map +1 -0
- package/dist/chunks/{NcDashboardWidgetItem-wuUHTeLl.mjs → NcDashboardWidgetItem-iZA9aHuL.mjs} +7 -7
- package/dist/chunks/NcDashboardWidgetItem-iZA9aHuL.mjs.map +1 -0
- package/dist/chunks/{NcDateTime-UCw1o96E.mjs → NcDateTime-EqdvmXRa.mjs} +1 -1
- package/dist/chunks/{NcDateTime-UCw1o96E.mjs.map → NcDateTime-EqdvmXRa.mjs.map} +1 -1
- package/dist/chunks/{NcDateTime-hyWStpUj.cjs → NcDateTime-ez2Mc6Ut.cjs} +1 -1
- package/dist/chunks/{NcDateTime-hyWStpUj.cjs.map → NcDateTime-ez2Mc6Ut.cjs.map} +1 -1
- package/dist/chunks/{NcDialog-652A8lMI.mjs → NcDialog-_HZnlBi4.mjs} +1 -1
- package/dist/chunks/{NcDialog-652A8lMI.mjs.map → NcDialog-_HZnlBi4.mjs.map} +1 -1
- package/dist/chunks/{NcDialog-dPYf81Dr.cjs → NcDialog-f6KwlaqC.cjs} +1 -1
- package/dist/chunks/{NcDialog-dPYf81Dr.cjs.map → NcDialog-f6KwlaqC.cjs.map} +1 -1
- package/dist/chunks/{NcDialogButton-V3nj_xwS.cjs → NcDialogButton-CtdP0-DO.cjs} +1 -1
- package/dist/chunks/{NcDialogButton-V3nj_xwS.cjs.map → NcDialogButton-CtdP0-DO.cjs.map} +1 -1
- package/dist/chunks/{NcDialogButton-QuoJDLGH.mjs → NcDialogButton-xDZQrfsw.mjs} +1 -1
- package/dist/chunks/{NcDialogButton-QuoJDLGH.mjs.map → NcDialogButton-xDZQrfsw.mjs.map} +1 -1
- package/dist/chunks/{NcEmojiPicker-O0EAGlkS.mjs → NcEmojiPicker-Qi10uLHB.mjs} +8 -8
- package/dist/chunks/NcEmojiPicker-Qi10uLHB.mjs.map +1 -0
- package/dist/chunks/{NcEmojiPicker-xzt2RvDK.cjs → NcEmojiPicker-gZaqE1rk.cjs} +13 -13
- package/dist/chunks/NcEmojiPicker-gZaqE1rk.cjs.map +1 -0
- package/dist/chunks/{NcIconSvgWrapper-n3MnAe1S.mjs → NcIconSvgWrapper-CvnWKK7h.mjs} +23 -15
- package/dist/chunks/NcIconSvgWrapper-CvnWKK7h.mjs.map +1 -0
- package/dist/chunks/{NcIconSvgWrapper-R7a7dIg4.cjs → NcIconSvgWrapper-RwagV5P9.cjs} +20 -12
- package/dist/chunks/NcIconSvgWrapper-RwagV5P9.cjs.map +1 -0
- package/dist/chunks/{NcInputConfirmCancel-z3ANO-1N.mjs → NcInputConfirmCancel-EgnZwbmj.mjs} +1 -1
- package/dist/chunks/{NcInputConfirmCancel-z3ANO-1N.mjs.map → NcInputConfirmCancel-EgnZwbmj.mjs.map} +1 -1
- package/dist/chunks/{NcInputConfirmCancel-tvpFnpKT.cjs → NcInputConfirmCancel-wK1KES_K.cjs} +1 -1
- package/dist/chunks/{NcInputConfirmCancel-tvpFnpKT.cjs.map → NcInputConfirmCancel-wK1KES_K.cjs.map} +1 -1
- package/dist/chunks/{NcListItem--_PCqetA.cjs → NcListItem-7wde4DHX.cjs} +1 -1
- package/dist/chunks/{NcListItem--_PCqetA.cjs.map → NcListItem-7wde4DHX.cjs.map} +1 -1
- package/dist/chunks/{NcListItem-AMcc69jK.mjs → NcListItem-DwAhV_Om.mjs} +2 -2
- package/dist/chunks/{NcListItem-AMcc69jK.mjs.map → NcListItem-DwAhV_Om.mjs.map} +1 -1
- package/dist/chunks/{NcListItemIcon-BnoIbVbD.cjs → NcListItemIcon-1qPc7NDv.cjs} +1 -1
- package/dist/chunks/{NcListItemIcon-BnoIbVbD.cjs.map → NcListItemIcon-1qPc7NDv.cjs.map} +1 -1
- package/dist/chunks/{NcListItemIcon-rqgXledP.mjs → NcListItemIcon-S06TFU1A.mjs} +2 -2
- package/dist/chunks/{NcListItemIcon-rqgXledP.mjs.map → NcListItemIcon-S06TFU1A.mjs.map} +1 -1
- package/dist/chunks/{NcPasswordField-EbKN3MlL.mjs → NcPasswordField-F30zJsph.mjs} +1 -1
- package/dist/chunks/{NcPasswordField-EbKN3MlL.mjs.map → NcPasswordField-F30zJsph.mjs.map} +1 -1
- package/dist/chunks/{NcPasswordField-IkBZCjOy.cjs → NcPasswordField-hngMvgyo.cjs} +1 -1
- package/dist/chunks/{NcPasswordField-IkBZCjOy.cjs.map → NcPasswordField-hngMvgyo.cjs.map} +1 -1
- package/dist/chunks/{NcPopover-T4GMXmKV.mjs → NcPopover-93ns_0K4.mjs} +38 -23
- package/dist/chunks/NcPopover-93ns_0K4.mjs.map +1 -0
- package/dist/chunks/{NcPopover-judBGW5r.cjs → NcPopover-fv7OFtxM.cjs} +33 -18
- package/dist/chunks/NcPopover-fv7OFtxM.cjs.map +1 -0
- package/dist/chunks/{NcRelatedResourcesPanel-f2UeB_6X.cjs → NcRelatedResourcesPanel-f1Up3M7Q.cjs} +22 -17
- package/dist/chunks/NcRelatedResourcesPanel-f1Up3M7Q.cjs.map +1 -0
- package/dist/chunks/{NcRelatedResourcesPanel-EDvgZgjQ.mjs → NcRelatedResourcesPanel-zXNE9qiS.mjs} +27 -21
- package/dist/chunks/NcRelatedResourcesPanel-zXNE9qiS.mjs.map +1 -0
- package/dist/chunks/{NcRichContenteditable-jReu2l-M.cjs → NcRichContenteditable--pSQfJW9.cjs} +45 -46
- package/dist/chunks/NcRichContenteditable--pSQfJW9.cjs.map +1 -0
- package/dist/chunks/{NcRichContenteditable-eG8Fyo-M.mjs → NcRichContenteditable-lE_j-Gfc.mjs} +36 -37
- package/dist/chunks/NcRichContenteditable-lE_j-Gfc.mjs.map +1 -0
- package/dist/chunks/{NcRichText-Yo5pFnd0.cjs → NcRichText-0eMrB-8S.cjs} +38 -38
- package/dist/chunks/{NcRichText-Yo5pFnd0.cjs.map → NcRichText-0eMrB-8S.cjs.map} +1 -1
- package/dist/chunks/{NcRichText-qID66jAy.mjs → NcRichText-Vm0d22pV.mjs} +9 -8
- package/dist/chunks/{NcRichText-qID66jAy.mjs.map → NcRichText-Vm0d22pV.mjs.map} +1 -1
- package/dist/chunks/{NcSelect-b2H-YQsK.mjs → NcSelect-75KHhmKy.mjs} +2 -2
- package/dist/chunks/{NcSelect-b2H-YQsK.mjs.map → NcSelect-75KHhmKy.mjs.map} +1 -1
- package/dist/chunks/{NcSelect-U9LJcdIo.cjs → NcSelect-DmqYvkx5.cjs} +1 -1
- package/dist/chunks/{NcSelect-U9LJcdIo.cjs.map → NcSelect-DmqYvkx5.cjs.map} +1 -1
- package/dist/chunks/{NcSelectTags-MlILya2b.mjs → NcSelectTags--fJnxT3p.mjs} +2 -2
- package/dist/chunks/{NcSelectTags-MlILya2b.mjs.map → NcSelectTags--fJnxT3p.mjs.map} +1 -1
- package/dist/chunks/{NcSelectTags-rO88Pk-1.cjs → NcSelectTags-hNbQxoKD.cjs} +1 -1
- package/dist/chunks/{NcSelectTags-rO88Pk-1.cjs.map → NcSelectTags-hNbQxoKD.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsInputText-0K3HYGJr.cjs → NcSettingsInputText-TsKBeDLR.cjs} +1 -1
- package/dist/chunks/{NcSettingsInputText-0K3HYGJr.cjs.map → NcSettingsInputText-TsKBeDLR.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsInputText-Pz6fV7At.mjs → NcSettingsInputText-UaZCytJK.mjs} +1 -1
- package/dist/chunks/{NcSettingsInputText-Pz6fV7At.mjs.map → NcSettingsInputText-UaZCytJK.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSection-CRmU7GLC.mjs → NcSettingsSection-bupJ6Jna.mjs} +1 -1
- package/dist/chunks/{NcSettingsSection-CRmU7GLC.mjs.map → NcSettingsSection-bupJ6Jna.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSection-IbUOeZ-e.cjs → NcSettingsSection-m79BAMzc.cjs} +1 -1
- package/dist/chunks/{NcSettingsSection-IbUOeZ-e.cjs.map → NcSettingsSection-m79BAMzc.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-rfeDPLCg.cjs → NcSettingsSelectGroup--i1OpaqD.cjs} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-rfeDPLCg.cjs.map → NcSettingsSelectGroup--i1OpaqD.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-xhnDBg8a.mjs → NcSettingsSelectGroup-OBtXPYek.mjs} +2 -2
- package/dist/chunks/{NcSettingsSelectGroup-xhnDBg8a.mjs.map → NcSettingsSelectGroup-OBtXPYek.mjs.map} +1 -1
- package/dist/chunks/{NcTextField-NnW31cA4.mjs → NcTextField-J7CSrszM.mjs} +1 -1
- package/dist/chunks/{NcTextField-NnW31cA4.mjs.map → NcTextField-J7CSrszM.mjs.map} +1 -1
- package/dist/chunks/{NcTextField-eclRKl_B.cjs → NcTextField-_LseQJYw.cjs} +1 -1
- package/dist/chunks/{NcTextField-eclRKl_B.cjs.map → NcTextField-_LseQJYw.cjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-KG0dvgUv.cjs → NcTimezonePicker-3_GbgBdk.cjs} +1 -1
- package/dist/chunks/{NcTimezonePicker-KG0dvgUv.cjs.map → NcTimezonePicker-3_GbgBdk.cjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-jJeiI-Ff.mjs → NcTimezonePicker-WyBb1HGy.mjs} +2 -2
- package/dist/chunks/{NcTimezonePicker-jJeiI-Ff.mjs.map → NcTimezonePicker-WyBb1HGy.mjs.map} +1 -1
- package/dist/chunks/{NcUserBubble-9StjszDh.mjs → NcUserBubble-GvPAfzyX.mjs} +2 -2
- package/dist/chunks/{NcUserBubble-9StjszDh.mjs.map → NcUserBubble-GvPAfzyX.mjs.map} +1 -1
- package/dist/chunks/{NcUserBubble-027_C0cM.cjs → NcUserBubble-dk-rgek6.cjs} +1 -1
- package/dist/chunks/{NcUserBubble-027_C0cM.cjs.map → NcUserBubble-dk-rgek6.cjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-pRUzQidI.mjs → NcUserStatusIcon-Y1esUu9e.mjs} +1 -1
- package/dist/chunks/{NcUserStatusIcon-pRUzQidI.mjs.map → NcUserStatusIcon-Y1esUu9e.mjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-79RsINrv.cjs → NcUserStatusIcon-vElqf2Lx.cjs} +1 -1
- package/dist/chunks/{NcUserStatusIcon-79RsINrv.cjs.map → NcUserStatusIcon-vElqf2Lx.cjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-R0tAsT2f.cjs → ScopeComponent-Cswoc9a6.cjs} +1 -1
- package/dist/chunks/{ScopeComponent-R0tAsT2f.cjs.map → ScopeComponent-Cswoc9a6.cjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-9fOoDGYa.mjs → ScopeComponent-_g3nK3Vt.mjs} +1 -1
- package/dist/chunks/{ScopeComponent-9fOoDGYa.mjs.map → ScopeComponent-_g3nK3Vt.mjs.map} +1 -1
- package/dist/chunks/_l10n-AmjncLyn.cjs +64 -0
- package/dist/chunks/_l10n-AmjncLyn.cjs.map +1 -0
- package/dist/chunks/_l10n-Y2fvkVoK.mjs +66 -0
- package/dist/chunks/_l10n-Y2fvkVoK.mjs.map +1 -0
- package/dist/chunks/autolink-gVCgJtXh.cjs +55 -0
- package/dist/chunks/autolink-gVCgJtXh.cjs.map +1 -0
- package/dist/chunks/autolink-oKM43mOC.mjs +59 -0
- package/dist/chunks/autolink-oKM43mOC.mjs.map +1 -0
- package/dist/chunks/{index-xnq0-IMW.mjs → index-05Rfhge1.mjs} +1 -1
- package/dist/chunks/index-05Rfhge1.mjs.map +1 -0
- package/dist/chunks/{index-5TyVc_TT.cjs → index-XRGLuo0a.cjs} +1 -1
- package/dist/chunks/index-XRGLuo0a.cjs.map +1 -0
- package/dist/chunks/{referencePickerModal-gDBkGfNV.mjs → referencePickerModal-TxU49swn.mjs} +474 -528
- package/dist/chunks/referencePickerModal-TxU49swn.mjs.map +1 -0
- package/dist/chunks/{referencePickerModal-cPBjsn4r.cjs → referencePickerModal-bKXpgb2c.cjs} +464 -517
- package/dist/chunks/referencePickerModal-bKXpgb2c.cjs.map +1 -0
- package/dist/chunks/{usernameToColor-D5bplyWJ.cjs → usernameToColor-AinK73Yf.cjs} +1 -1
- package/dist/chunks/{usernameToColor-D5bplyWJ.cjs.map → usernameToColor-AinK73Yf.cjs.map} +1 -1
- package/dist/chunks/{usernameToColor-xm3MLiw4.mjs → usernameToColor-CgFQ3CLQ.mjs} +1 -1
- package/dist/chunks/{usernameToColor-xm3MLiw4.mjs.map → usernameToColor-CgFQ3CLQ.mjs.map} +1 -1
- package/dist/index.cjs +125 -123
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +231 -228
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -6
- package/dist/assets/NcAppNavigationSpacer-MfL8GeCN.css +0 -5
- package/dist/chunks/NcActions-5_igU-CH.mjs.map +0 -1
- package/dist/chunks/NcActions-JXnhQhum.cjs.map +0 -1
- package/dist/chunks/NcAppNavigation-U6yaDk7k.cjs.map +0 -1
- package/dist/chunks/NcAppNavigation-n6P3oVZv.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationCaption-2rUO5Mns.mjs +0 -47
- package/dist/chunks/NcAppNavigationCaption-2rUO5Mns.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationCaption-JQWbmgdy.cjs +0 -44
- package/dist/chunks/NcAppNavigationCaption-JQWbmgdy.cjs.map +0 -1
- package/dist/chunks/NcAppSidebar-rRNJnN-k.cjs.map +0 -1
- package/dist/chunks/NcAppSidebar-tnHBPGbL.mjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-kOW4T17e.cjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-rJ3UZLGm.mjs.map +0 -1
- package/dist/chunks/NcColorPicker-rPobPO3M.mjs.map +0 -1
- package/dist/chunks/NcColorPicker-yr9Pfeem.cjs.map +0 -1
- package/dist/chunks/NcDashboardWidgetItem-mIPkPR7r.cjs.map +0 -1
- package/dist/chunks/NcDashboardWidgetItem-wuUHTeLl.mjs.map +0 -1
- package/dist/chunks/NcEmojiPicker-O0EAGlkS.mjs.map +0 -1
- package/dist/chunks/NcEmojiPicker-xzt2RvDK.cjs.map +0 -1
- package/dist/chunks/NcIconSvgWrapper-R7a7dIg4.cjs.map +0 -1
- package/dist/chunks/NcIconSvgWrapper-n3MnAe1S.mjs.map +0 -1
- package/dist/chunks/NcPopover-T4GMXmKV.mjs.map +0 -1
- package/dist/chunks/NcPopover-judBGW5r.cjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-EDvgZgjQ.mjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-f2UeB_6X.cjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-eG8Fyo-M.mjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-jReu2l-M.cjs.map +0 -1
- package/dist/chunks/_l10n-FmsZpnE4.mjs +0 -66
- package/dist/chunks/_l10n-FmsZpnE4.mjs.map +0 -1
- package/dist/chunks/_l10n-Od-4xzJA.cjs +0 -64
- package/dist/chunks/_l10n-Od-4xzJA.cjs.map +0 -1
- package/dist/chunks/index-5TyVc_TT.cjs.map +0 -1
- package/dist/chunks/index-xnq0-IMW.mjs.map +0 -1
- package/dist/chunks/referencePickerModal-cPBjsn4r.cjs.map +0 -1
- package/dist/chunks/referencePickerModal-gDBkGfNV.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcActionInput-XHMzOL_h.mjs","sources":["../../src/components/NcActionInput/NcActionInput.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\nThis component is made to be used inside of the [NcActions](#NcActions) component slots.\n\nIt is recommended to not only provide a placeholder, but also a label.\nThe label should describe what input is expected and the placehold what format the input should have.\n\nAll undocumented attributes will be bound to the input, the datepicker or the select component, e.g. `maxlength`, `not-before`.\nFor the `NcSelect` component, all events will be passed through. Please see the `NcSelect` component's documentation for more details and examples.\n```vue\n\t<template>\n\t\t<NcActions>\n\t\t\t<NcActionInput :value.sync=\"text\" :label-outside=\"true\" label=\"Label outside the input\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput :value.sync=\"text\" :show-trailing-button=\"false\" label=\"Input without trailing button\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput :value.sync=\"text\" label=\"Input with placeholder\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tThis is the placeholder\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"password\" :value.sync=\"text\" label=\"Password with visible label\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Key :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPassword placeholder\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"password\" :value.sync=\"text\" :show-trailing-button=\"false\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Key :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPassword placeholder\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"color\" :value.sync=\"color\" label=\"Favorite color\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Eyedropper :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tColor placeholder\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput label=\"Visible label\" :value.sync=\"text\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tInput with visible label\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput :disabled=\"true\" label=\"This is a disabled input\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Close :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"date\" isNativePicker :value=\"new Date()\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPlease pick a date\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"date\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPlease pick a date\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"multiselect\" :options=\"['Apple', 'Banana', 'Cherry']\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPlease pick a fruit\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput\n\t\t\t\tv-model=\"multiSelected\"\n\t\t\t\ttype=\"multiselect\"\n\t\t\t\tlabel=\"label\"\n\t\t\t\ttrack-by=\"id\"\n\t\t\t\t:append-to-body=\"true\"\n\t\t\t\t:multiple=\"true\"\n\t\t\t\t:options=\"[{label:'Apple', id: 'apple'}, {label:'Banana', id: 'banana'}, {label:'Cherry', id: 'cherry'}]\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPlease pick a fruit object\n\t\t\t</NcActionInput>\n\t\t</NcActions>\n\t</template>\n\t<script>\n\timport Close from 'vue-material-design-icons/Close'\n\timport Eyedropper from 'vue-material-design-icons/Eyedropper'\n\timport Key from 'vue-material-design-icons/Key'\n\timport Pencil from 'vue-material-design-icons/Pencil'\n\n\texport default {\n\t\tcomponents: {\n\t\t\tClose,\n\t\t\tEyedropper,\n\t\t\tKey,\n\t\t\tPencil,\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tcolor: '#0082C9',\n\t\t\t\ttext: 'This is the input text',\n\t\t\t\tmultiSelected: [],\n\t\t\t}\n\t\t},\n\t}\n\t</script>\n```\n</docs>\n\n<template>\n\t<li class=\"action\" :class=\"{ 'action--disabled': disabled }\">\n\t\t<span :class=\"{\n\t\t\t\t'action-input-picker--disabled': disabled,\n\t\t\t\t'action-input--visible-label': labelOutside && label,\n\t\t\t}\"\n\t\t\tclass=\"action-input\"\n\t\t\t@mouseleave=\"onLeave\">\n\t\t\t<span class=\"action-input__icon-wrapper\">\n\t\t\t\t<!-- @slot Manually provide icon -->\n\t\t\t\t<slot name=\"icon\">\n\t\t\t\t\t<span :class=\"[isIconUrl ? 'action-input__icon--url' : icon]\"\n\t\t\t\t\t\t:style=\"{ backgroundImage: isIconUrl ? `url(${icon})` : null }\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclass=\"action-input__icon\" />\n\t\t\t\t</slot>\n\t\t\t</span>\n\n\t\t\t<!-- form and input -->\n\t\t\t<form ref=\"form\"\n\t\t\t\tclass=\"action-input__form\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t@submit.prevent=\"onSubmit\">\n\t\t\t\t<div class=\"action-input__container\">\n\t\t\t\t\t<label v-if=\"label && labelOutside\"\n\t\t\t\t\t\tclass=\"action-input__text-label\"\n\t\t\t\t\t\t:class=\"{ 'action-input__text-label--hidden': !labelOutside}\"\n\t\t\t\t\t\t:for=\"inputId\">\n\t\t\t\t\t\t{{ label }}\n\t\t\t\t\t</label>\n\t\t\t\t\t<div class=\"action-input__input-container\">\n\n\t\t\t\t\t\t<NcDateTimePicker v-if=\"datePickerType\"\n\t\t\t\t\t\t\tref=\"datetimepicker\"\n\t\t\t\t\t\t\t:value=\"value\"\n\t\t\t\t\t\t\tstyle=\"z-index: 99999999999;\"\n\t\t\t\t\t\t\t:placeholder=\"text\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:type=\"datePickerType\"\n\t\t\t\t\t\t\t:input-class=\"['mx-input', { focusable: isFocusable }]\"\n\t\t\t\t\t\t\tclass=\"action-input__datetimepicker\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t@input=\"onInput\"\n\t\t\t\t\t\t\t@change=\"onChange\" />\n\n\t\t\t\t\t\t<NcDateTimePickerNative v-else-if=\"isNativePicker\"\n\t\t\t\t\t\t\t:id=\"idNativeDateTimePicker\"\n\t\t\t\t\t\t\t:value=\"value\"\n\t\t\t\t\t\t\t:type=\"nativeDatePickerType\"\n\t\t\t\t\t\t\t:input-class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\tclass=\"action-input__datetimepicker\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t@input=\"$emit('input', $event)\"\n\t\t\t\t\t\t\t@change=\"$emit('change', $event)\" />\n\n\t\t\t\t\t\t<NcSelect v-else-if=\"isMultiselectType\"\n\t\t\t\t\t\t\t:value=\"value\"\n\t\t\t\t\t\t\t:placeholder=\"text\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:append-to-body=\"$attrs.appendToBody || $attrs['append-to-body'] || false\"\n\t\t\t\t\t\t\t:input-class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\tclass=\"action-input__multi\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\tv-on=\"$listeners\" />\n\n\t\t\t\t\t\t<NcPasswordField v-else-if=\"type==='password'\"\n\t\t\t\t\t\t\t:id=\"inputId\"\n\t\t\t\t\t\t\t:value=\"value\"\n\t\t\t\t\t\t\t:label=\"label\"\n\t\t\t\t\t\t\t:label-outside=\"!label || labelOutside\"\n\t\t\t\t\t\t\t:placeholder=\"text\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:input-class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\t:show-trailing-button=\"showTrailingButton && !disabled\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\tv-on=\"$listeners\"\n\t\t\t\t\t\t\t@input=\"onInput\"\n\t\t\t\t\t\t\t@change=\"onChange\" />\n\n\t\t\t\t\t\t<div v-else-if=\"type === 'color'\" class=\"action-input__container\">\n\t\t\t\t\t\t\t<label v-if=\"label && type === 'color'\"\n\t\t\t\t\t\t\t\tclass=\"action-input__text-label\"\n\t\t\t\t\t\t\t\t:class=\"{ 'action-input__text-label--hidden': !labelOutside}\"\n\t\t\t\t\t\t\t\t:for=\"inputId\">\n\t\t\t\t\t\t\t\t{{ label }}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div class=\"action-input__input-container\">\n\t\t\t\t\t\t\t\t<NcColorPicker id=\"inputId\"\n\t\t\t\t\t\t\t\t\t:value=\"value\"\n\t\t\t\t\t\t\t\t\tclass=\"colorpicker__trigger\"\n\t\t\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t\t\tv-on=\"$listeners\"\n\t\t\t\t\t\t\t\t\t@input=\"onInput\"\n\t\t\t\t\t\t\t\t\t@submit=\"$refs.form.requestSubmit()\">\n\t\t\t\t\t\t\t\t\t<button :style=\"{'background-color': value}\"\n\t\t\t\t\t\t\t\t\t\tclass=\"colorpicker__preview\"\n\t\t\t\t\t\t\t\t\t\t:class=\"{ focusable: isFocusable }\" />\n\t\t\t\t\t\t\t\t</NcColorPicker>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<NcTextField v-else\n\t\t\t\t\t\t\t:id=\"inputId\"\n\t\t\t\t\t\t\t:value=\"value\"\n\t\t\t\t\t\t\t:label=\"label\"\n\t\t\t\t\t\t\t:label-outside=\"!label || labelOutside\"\n\t\t\t\t\t\t\t:placeholder=\"text\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:input-class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\t:type=\"type\"\n\t\t\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t\t\t:trailing-button-label=\"trailingButtonLabel\"\n\t\t\t\t\t\t\t:show-trailing-button=\"showTrailingButton && !disabled\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\tv-on=\"$listeners\"\n\t\t\t\t\t\t\t@trailing-button-click=\"$refs.form.requestSubmit()\"\n\t\t\t\t\t\t\t@input=\"onInput\"\n\t\t\t\t\t\t\t@change=\"onChange\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</form>\n\t\t</span>\n\t</li>\n</template>\n\n<script>\nimport NcDateTimePicker from '../NcDateTimePicker/index.js'\nimport NcDateTimePickerNative from '../NcDateTimePickerNative/index.js'\nimport NcPasswordField from '../NcPasswordField/index.js'\nimport NcSelect from '../NcSelect/index.js'\nimport NcTextField from '../NcTextField/index.js'\nimport ActionGlobalMixin from '../../mixins/actionGlobal.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcActionInput',\n\n\tcomponents: {\n\t\tNcDateTimePicker,\n\t\tNcDateTimePickerNative,\n\t\tNcPasswordField,\n\t\tNcSelect,\n\t\tNcTextField,\n\t},\n\n\tmixins: [ActionGlobalMixin],\n\n\tprops: {\n\t\t/**\n\t\t * id attribute of the checkbox element\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'action-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\t\t/**\n\t\t * id attribute of the text input element\n\t\t */\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'action-input-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\t\t/**\n\t\t * Icon to show with the action, can be either a CSS class or an URL\n\t\t */\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * type attribute of the input field\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'text',\n\t\t\tvalidator(type) {\n\t\t\t\treturn ['date', 'datetime-local', 'month', 'multiselect',\n\t\t\t\t\t'number', 'password', 'search', 'tel',\n\t\t\t\t\t'text', 'time', 'url', 'week', 'color',\n\t\t\t\t\t'email'].indexOf(type) > -1\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * id attribute for the native date time picker\n\t\t */\n\t\tidNativeDateTimePicker: {\n\t\t\ttype: String,\n\t\t\tdefault: 'date-time-picker_id',\n\t\t},\n\t\t/**\n\t\t * Flag to use a native date time picker\n\t\t */\n\t\tisNativePicker: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * The visible input label for accessibility purposes.\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * If you want to show the label just above the\n\t\t * input field, pass in `true` to this prop.\n\t\t */\n\t\tlabelOutside: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * value attribute of the input field\n\t\t */\n\t\tvalue: {\n\t\t\ttype: [String, Date, Number, Array],\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * disabled state of the input field\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * aria-label attribute of the input field\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * @deprecated To be removed in @nextcloud/vue 9. Migration guide: remove ariaHidden prop from NcAction* components.\n\t\t * @todo Add a check in @nextcloud/vue 9 that this prop is not provided,\n\t\t * otherwise root element will inherit incorrect aria-hidden.\n\t\t */\n\t\tariaHidden: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Attribute forwarded to the underlying NcPasswordField and NcTextField\n\t\t */\n\t\tshowTrailingButton: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Trailing button label forwarded to the underlying NcTextField\n\t\t */\n\t\ttrailingButtonLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Submit'),\n\t\t},\n\t},\n\n\temits: [\n\t\t'input',\n\t\t'submit',\n\t\t'change',\n\t\t'update:value',\n\t],\n\n\tcomputed: {\n\t\tisIconUrl() {\n\t\t\ttry {\n\t\t\t\treturn new URL(this.icon)\n\t\t\t} catch (error) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\n\t\tisMultiselectType() {\n\t\t\treturn this.type === 'multiselect'\n\t\t},\n\n\t\tnativeDatePickerType() {\n\t\t\tswitch (this.type) {\n\t\t\tcase 'date':\n\t\t\tcase 'month':\n\t\t\tcase 'time':\n\t\t\tcase 'week':\n\t\t\tcase 'datetime-local':\n\t\t\t\treturn this.type\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\tdatePickerType() {\n\t\t\tif (!this.isNativePicker) {\n\t\t\t\tswitch (this.type) {\n\t\t\t\tcase 'date':\n\t\t\t\tcase 'month':\n\t\t\t\tcase 'time':\n\t\t\t\t\treturn this.type\n\n\t\t\t\tcase 'datetime-local':\n\t\t\t\t\treturn 'datetime'\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\t/**\n\t\t * determines if the action is focusable\n\t\t *\n\t\t * @return {boolean} is the action focusable ?\n\t\t */\n\t\tisFocusable() {\n\t\t\treturn !this.disabled\n\t\t},\n\t},\n\n\tmethods: {\n\t\t// closing datepicker popup on mouseleave = unfocus\n\t\tonLeave() {\n\t\t\tif (this.$refs.datetimepicker && this.$refs.datetimepicker.$refs.datepicker) {\n\t\t\t\tthis.$refs.datetimepicker.$refs.datepicker.closePopup()\n\t\t\t}\n\t\t},\n\t\tonInput(event) {\n\t\t\t/**\n\t\t\t * Emitted on input events of the text field\n\t\t\t *\n\t\t\t * @type {Event|Date}\n\t\t\t */\n\t\t\tthis.$emit('input', event)\n\t\t\t/**\n\t\t\t * Emitted when the inputs value changes\n\t\t\t * ! DatetimePicker only send the value\n\t\t\t *\n\t\t\t * @type {string|Date}\n\t\t\t */\n\t\t\tthis.$emit('update:value', event.target ? event.target.value : event)\n\t\t},\n\t\tonSubmit(event) {\n\t\t\tevent.preventDefault()\n\t\t\tevent.stopPropagation()\n\t\t\tif (!this.disabled) {\n\t\t\t\t/**\n\t\t\t\t * Emitted on submit of the input field\n\t\t\t\t *\n\t\t\t\t * @type {Event}\n\t\t\t\t */\n\t\t\t\tthis.$emit('submit', event)\n\t\t\t} else {\n\t\t\t\t// ignore submit\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t\tonChange(event) {\n\t\t\t/**\n\t\t\t * Emitted on change of the input field\n\t\t\t *\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('change', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import '../../assets/inputs';\n@import '../../assets/action';\n@include action-active;\n@include action--disabled;\n\n$input-margin: 4px;\n\n.action-input {\n\tdisplay: flex;\n\talign-items: flex-start;\n\n\twidth: 100%;\n\theight: auto;\n\tmargin: 0;\n\tpadding: 0;\n\n\tcursor: pointer;\n\twhite-space: nowrap;\n\n\tcolor: var(--color-main-text);\n\tborder: 0;\n\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\tbackground-color: transparent;\n\tbox-shadow: none;\n\n\tfont-weight: normal;\n\n\t&__icon-wrapper {\n\t\tdisplay: flex;\n\t\talign-self: center;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\t&:deep(.material-design-icon) {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\t}\n\n\t& > span {\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\t}\n\n\t&__icon {\n\t\tmin-width: 0; /* Overwrite icons*/\n\t\tmin-height: 0;\n\t\t/* Keep padding to define the width to\n\t\t\tassure correct position of a possible text */\n\t\tpadding: #{math.div($clickable-area, 2)} 0 #{math.div($clickable-area, 2)} $clickable-area;\n\n\t\tbackground-position: #{$icon-margin} center;\n\t\tbackground-size: $icon-size;\n\t}\n\n\t// Forms & text inputs\n\t&__form {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex: 1 1 auto;\n\n\t\tmargin: $input-margin 0;\n\t\tpadding-right: $icon-margin;\n\t}\n\n\t&__container {\n\t\twidth: 100%;\n\t}\n\n\t&__input-container {\n\t\tdisplay: flex;\n\n\t\t.colorpicker {\n\t\t\t&__trigger,\n\t\t\t&__preview {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\t&__preview {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 36px;\n\t\t\t\tborder-radius: var(--border-radius-large);\n\t\t\t\tborder: 2px solid var(--color-border-maxcontrast);\n\t\t\t\tbox-shadow: none !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__text-label {\n\t\tpadding: 4px 0;\n\t\tdisplay: block;\n\n\t\t&--hidden {\n\t\t\tposition: absolute;\n\t\t\tleft: -10000px;\n\t\t\ttop: auto;\n\t\t\twidth: 1px;\n\t\t\theight: 1px;\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n\n\t&__datetimepicker {\n\t\twidth: 100%;\n\n\t\t:deep(.mx-input) {\n\t\t\tmargin: 0;\n\t\t}\n\t}\n\n\t&__multi {\n\t\twidth: 100%;\n\t}\n}\n\n// if a form is the last of the list\n// add the same bottomMargin as the right padding\n// for visual balance\nli:last-child > .action-input {\n\tpadding-bottom: $icon-margin - $input-margin;\n}\n\n// same for first item\nli:first-child > .action-input:not(.action-input--visible-label) {\n\tpadding-top: $icon-margin - $input-margin;\n}\n\n</style>\n"],"names":["_sfc_main","NcDateTimePicker","NcDateTimePickerNative","NcPasswordField","NcSelect","NcTextField","ActionGlobalMixin","GenRandomId","id","type","t","event"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NcActionInput-yvhGpEsS.mjs","sources":["../../src/components/NcActionInput/NcActionInput.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\nThis component is made to be used inside of the [NcActions](#NcActions) component slots.\n\nIt is recommended to not only provide a placeholder, but also a label.\nThe label should describe what input is expected and the placehold what format the input should have.\n\nAll undocumented attributes will be bound to the input, the datepicker or the select component, e.g. `maxlength`, `not-before`.\nFor the `NcSelect` component, all events will be passed through. Please see the `NcSelect` component's documentation for more details and examples.\n```vue\n\t<template>\n\t\t<NcActions>\n\t\t\t<NcActionInput :value.sync=\"text\" :label-outside=\"true\" label=\"Label outside the input\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput :value.sync=\"text\" :show-trailing-button=\"false\" label=\"Input without trailing button\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput :value.sync=\"text\" label=\"Input with placeholder\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tThis is the placeholder\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"password\" :value.sync=\"text\" label=\"Password with visible label\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Key :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPassword placeholder\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"password\" :value.sync=\"text\" :show-trailing-button=\"false\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Key :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPassword placeholder\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"color\" :value.sync=\"color\" label=\"Favorite color\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Eyedropper :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tColor placeholder\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput label=\"Visible label\" :value.sync=\"text\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tInput with visible label\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput :disabled=\"true\" label=\"This is a disabled input\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Close :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"date\" isNativePicker :value=\"new Date()\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPlease pick a date\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"date\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPlease pick a date\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput type=\"multiselect\" :options=\"['Apple', 'Banana', 'Cherry']\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPlease pick a fruit\n\t\t\t</NcActionInput>\n\t\t\t<NcActionInput\n\t\t\t\tv-model=\"multiSelected\"\n\t\t\t\ttype=\"multiselect\"\n\t\t\t\tlabel=\"label\"\n\t\t\t\ttrack-by=\"id\"\n\t\t\t\t:append-to-body=\"true\"\n\t\t\t\t:multiple=\"true\"\n\t\t\t\t:options=\"[{label:'Apple', id: 'apple'}, {label:'Banana', id: 'banana'}, {label:'Cherry', id: 'cherry'}]\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tPlease pick a fruit object\n\t\t\t</NcActionInput>\n\t\t</NcActions>\n\t</template>\n\t<script>\n\timport Close from 'vue-material-design-icons/Close'\n\timport Eyedropper from 'vue-material-design-icons/Eyedropper'\n\timport Key from 'vue-material-design-icons/Key'\n\timport Pencil from 'vue-material-design-icons/Pencil'\n\n\texport default {\n\t\tcomponents: {\n\t\t\tClose,\n\t\t\tEyedropper,\n\t\t\tKey,\n\t\t\tPencil,\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tcolor: '#0082C9',\n\t\t\t\ttext: 'This is the input text',\n\t\t\t\tmultiSelected: [],\n\t\t\t}\n\t\t},\n\t}\n\t</script>\n```\n</docs>\n\n<template>\n\t<li class=\"action\" :class=\"{ 'action--disabled': disabled }\">\n\t\t<span :class=\"{\n\t\t\t\t'action-input-picker--disabled': disabled,\n\t\t\t\t'action-input--visible-label': labelOutside && label,\n\t\t\t}\"\n\t\t\tclass=\"action-input\"\n\t\t\t@mouseleave=\"onLeave\">\n\t\t\t<span class=\"action-input__icon-wrapper\">\n\t\t\t\t<!-- @slot Manually provide icon -->\n\t\t\t\t<slot name=\"icon\">\n\t\t\t\t\t<span :class=\"[isIconUrl ? 'action-input__icon--url' : icon]\"\n\t\t\t\t\t\t:style=\"{ backgroundImage: isIconUrl ? `url(${icon})` : null }\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclass=\"action-input__icon\" />\n\t\t\t\t</slot>\n\t\t\t</span>\n\n\t\t\t<!-- form and input -->\n\t\t\t<form ref=\"form\"\n\t\t\t\tclass=\"action-input__form\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t@submit.prevent=\"onSubmit\">\n\t\t\t\t<div class=\"action-input__container\">\n\t\t\t\t\t<label v-if=\"label && labelOutside\"\n\t\t\t\t\t\tclass=\"action-input__text-label\"\n\t\t\t\t\t\t:class=\"{ 'action-input__text-label--hidden': !labelOutside}\"\n\t\t\t\t\t\t:for=\"inputId\">\n\t\t\t\t\t\t{{ label }}\n\t\t\t\t\t</label>\n\t\t\t\t\t<div class=\"action-input__input-container\">\n\n\t\t\t\t\t\t<NcDateTimePicker v-if=\"datePickerType\"\n\t\t\t\t\t\t\tref=\"datetimepicker\"\n\t\t\t\t\t\t\t:value=\"value\"\n\t\t\t\t\t\t\tstyle=\"z-index: 99999999999;\"\n\t\t\t\t\t\t\t:placeholder=\"text\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:type=\"datePickerType\"\n\t\t\t\t\t\t\t:input-class=\"['mx-input', { focusable: isFocusable }]\"\n\t\t\t\t\t\t\tclass=\"action-input__datetimepicker\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t@input=\"onInput\"\n\t\t\t\t\t\t\t@change=\"onChange\" />\n\n\t\t\t\t\t\t<NcDateTimePickerNative v-else-if=\"isNativePicker\"\n\t\t\t\t\t\t\t:id=\"idNativeDateTimePicker\"\n\t\t\t\t\t\t\t:value=\"value\"\n\t\t\t\t\t\t\t:type=\"nativeDatePickerType\"\n\t\t\t\t\t\t\t:input-class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\tclass=\"action-input__datetimepicker\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t@input=\"$emit('input', $event)\"\n\t\t\t\t\t\t\t@change=\"$emit('change', $event)\" />\n\n\t\t\t\t\t\t<NcSelect v-else-if=\"isMultiselectType\"\n\t\t\t\t\t\t\t:value=\"value\"\n\t\t\t\t\t\t\t:placeholder=\"text\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:append-to-body=\"$attrs.appendToBody || $attrs['append-to-body'] || false\"\n\t\t\t\t\t\t\t:input-class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\tclass=\"action-input__multi\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\tv-on=\"$listeners\" />\n\n\t\t\t\t\t\t<NcPasswordField v-else-if=\"type==='password'\"\n\t\t\t\t\t\t\t:id=\"inputId\"\n\t\t\t\t\t\t\t:value=\"value\"\n\t\t\t\t\t\t\t:label=\"label\"\n\t\t\t\t\t\t\t:label-outside=\"!label || labelOutside\"\n\t\t\t\t\t\t\t:placeholder=\"text\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:input-class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\t:show-trailing-button=\"showTrailingButton && !disabled\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\tv-on=\"$listeners\"\n\t\t\t\t\t\t\t@input=\"onInput\"\n\t\t\t\t\t\t\t@change=\"onChange\" />\n\n\t\t\t\t\t\t<div v-else-if=\"type === 'color'\" class=\"action-input__container\">\n\t\t\t\t\t\t\t<label v-if=\"label && type === 'color'\"\n\t\t\t\t\t\t\t\tclass=\"action-input__text-label\"\n\t\t\t\t\t\t\t\t:class=\"{ 'action-input__text-label--hidden': !labelOutside}\"\n\t\t\t\t\t\t\t\t:for=\"inputId\">\n\t\t\t\t\t\t\t\t{{ label }}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div class=\"action-input__input-container\">\n\t\t\t\t\t\t\t\t<NcColorPicker id=\"inputId\"\n\t\t\t\t\t\t\t\t\t:value=\"value\"\n\t\t\t\t\t\t\t\t\tclass=\"colorpicker__trigger\"\n\t\t\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\t\t\tv-on=\"$listeners\"\n\t\t\t\t\t\t\t\t\t@input=\"onInput\"\n\t\t\t\t\t\t\t\t\t@submit=\"$refs.form.requestSubmit()\">\n\t\t\t\t\t\t\t\t\t<button :style=\"{'background-color': value}\"\n\t\t\t\t\t\t\t\t\t\tclass=\"colorpicker__preview\"\n\t\t\t\t\t\t\t\t\t\t:class=\"{ focusable: isFocusable }\" />\n\t\t\t\t\t\t\t\t</NcColorPicker>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<NcTextField v-else\n\t\t\t\t\t\t\t:id=\"inputId\"\n\t\t\t\t\t\t\t:value=\"value\"\n\t\t\t\t\t\t\t:label=\"label\"\n\t\t\t\t\t\t\t:label-outside=\"!label || labelOutside\"\n\t\t\t\t\t\t\t:placeholder=\"text\"\n\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t:input-class=\"{ focusable: isFocusable }\"\n\t\t\t\t\t\t\t:type=\"type\"\n\t\t\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t\t\t:trailing-button-label=\"trailingButtonLabel\"\n\t\t\t\t\t\t\t:show-trailing-button=\"showTrailingButton && !disabled\"\n\t\t\t\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t\t\t\tv-on=\"$listeners\"\n\t\t\t\t\t\t\t@trailing-button-click=\"$refs.form.requestSubmit()\"\n\t\t\t\t\t\t\t@input=\"onInput\"\n\t\t\t\t\t\t\t@change=\"onChange\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</form>\n\t\t</span>\n\t</li>\n</template>\n\n<script>\nimport NcDateTimePicker from '../NcDateTimePicker/index.js'\nimport NcDateTimePickerNative from '../NcDateTimePickerNative/index.js'\nimport NcPasswordField from '../NcPasswordField/index.js'\nimport NcSelect from '../NcSelect/index.js'\nimport NcTextField from '../NcTextField/index.js'\nimport ActionGlobalMixin from '../../mixins/actionGlobal.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { t } from '../../l10n.js'\n\nexport default {\n\tname: 'NcActionInput',\n\n\tcomponents: {\n\t\tNcDateTimePicker,\n\t\tNcDateTimePickerNative,\n\t\tNcPasswordField,\n\t\tNcSelect,\n\t\tNcTextField,\n\t},\n\n\tmixins: [ActionGlobalMixin],\n\n\tprops: {\n\t\t/**\n\t\t * id attribute of the checkbox element\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'action-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\t\t/**\n\t\t * id attribute of the text input element\n\t\t */\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'action-input-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\t\t/**\n\t\t * Icon to show with the action, can be either a CSS class or an URL\n\t\t */\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * type attribute of the input field\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'text',\n\t\t\tvalidator(type) {\n\t\t\t\treturn ['date', 'datetime-local', 'month', 'multiselect',\n\t\t\t\t\t'number', 'password', 'search', 'tel',\n\t\t\t\t\t'text', 'time', 'url', 'week', 'color',\n\t\t\t\t\t'email'].indexOf(type) > -1\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * id attribute for the native date time picker\n\t\t */\n\t\tidNativeDateTimePicker: {\n\t\t\ttype: String,\n\t\t\tdefault: 'date-time-picker_id',\n\t\t},\n\t\t/**\n\t\t * Flag to use a native date time picker\n\t\t */\n\t\tisNativePicker: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * The visible input label for accessibility purposes.\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * If you want to show the label just above the\n\t\t * input field, pass in `true` to this prop.\n\t\t */\n\t\tlabelOutside: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * value attribute of the input field\n\t\t */\n\t\tvalue: {\n\t\t\ttype: [String, Date, Number, Array],\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * disabled state of the input field\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * aria-label attribute of the input field\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * @deprecated To be removed in @nextcloud/vue 9. Migration guide: remove ariaHidden prop from NcAction* components.\n\t\t * @todo Add a check in @nextcloud/vue 9 that this prop is not provided,\n\t\t * otherwise root element will inherit incorrect aria-hidden.\n\t\t */\n\t\tariaHidden: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Attribute forwarded to the underlying NcPasswordField and NcTextField\n\t\t */\n\t\tshowTrailingButton: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Trailing button label forwarded to the underlying NcTextField\n\t\t */\n\t\ttrailingButtonLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Submit'),\n\t\t},\n\t},\n\n\temits: [\n\t\t'input',\n\t\t'submit',\n\t\t'change',\n\t\t'update:value',\n\t],\n\n\tcomputed: {\n\t\tisIconUrl() {\n\t\t\ttry {\n\t\t\t\treturn new URL(this.icon)\n\t\t\t} catch (error) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\n\t\tisMultiselectType() {\n\t\t\treturn this.type === 'multiselect'\n\t\t},\n\n\t\tnativeDatePickerType() {\n\t\t\tswitch (this.type) {\n\t\t\tcase 'date':\n\t\t\tcase 'month':\n\t\t\tcase 'time':\n\t\t\tcase 'week':\n\t\t\tcase 'datetime-local':\n\t\t\t\treturn this.type\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\tdatePickerType() {\n\t\t\tif (!this.isNativePicker) {\n\t\t\t\tswitch (this.type) {\n\t\t\t\tcase 'date':\n\t\t\t\tcase 'month':\n\t\t\t\tcase 'time':\n\t\t\t\t\treturn this.type\n\n\t\t\t\tcase 'datetime-local':\n\t\t\t\t\treturn 'datetime'\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\t/**\n\t\t * determines if the action is focusable\n\t\t *\n\t\t * @return {boolean} is the action focusable ?\n\t\t */\n\t\tisFocusable() {\n\t\t\treturn !this.disabled\n\t\t},\n\t},\n\n\tmethods: {\n\t\t// closing datepicker popup on mouseleave = unfocus\n\t\tonLeave() {\n\t\t\tif (this.$refs.datetimepicker && this.$refs.datetimepicker.$refs.datepicker) {\n\t\t\t\tthis.$refs.datetimepicker.$refs.datepicker.closePopup()\n\t\t\t}\n\t\t},\n\t\tonInput(event) {\n\t\t\t/**\n\t\t\t * Emitted on input events of the text field\n\t\t\t *\n\t\t\t * @type {Event|Date}\n\t\t\t */\n\t\t\tthis.$emit('input', event)\n\t\t\t/**\n\t\t\t * Emitted when the inputs value changes\n\t\t\t * ! DatetimePicker only send the value\n\t\t\t *\n\t\t\t * @type {string|Date}\n\t\t\t */\n\t\t\tthis.$emit('update:value', event.target ? event.target.value : event)\n\t\t},\n\t\tonSubmit(event) {\n\t\t\tevent.preventDefault()\n\t\t\tevent.stopPropagation()\n\t\t\tif (!this.disabled) {\n\t\t\t\t/**\n\t\t\t\t * Emitted on submit of the input field\n\t\t\t\t *\n\t\t\t\t * @type {Event}\n\t\t\t\t */\n\t\t\t\tthis.$emit('submit', event)\n\t\t\t} else {\n\t\t\t\t// ignore submit\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t\tonChange(event) {\n\t\t\t/**\n\t\t\t * Emitted on change of the input field\n\t\t\t *\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('change', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import '../../assets/inputs';\n@import '../../assets/action';\n@include action-active;\n@include action--disabled;\n\n$input-margin: 4px;\n\n.action-input {\n\tdisplay: flex;\n\talign-items: flex-start;\n\n\twidth: 100%;\n\theight: auto;\n\tmargin: 0;\n\tpadding: 0;\n\n\tcursor: pointer;\n\twhite-space: nowrap;\n\n\tcolor: var(--color-main-text);\n\tborder: 0;\n\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\tbackground-color: transparent;\n\tbox-shadow: none;\n\n\tfont-weight: normal;\n\n\t&__icon-wrapper {\n\t\tdisplay: flex;\n\t\talign-self: center;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\t&:deep(.material-design-icon) {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\t}\n\n\t& > span {\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\t}\n\n\t&__icon {\n\t\tmin-width: 0; /* Overwrite icons*/\n\t\tmin-height: 0;\n\t\t/* Keep padding to define the width to\n\t\t\tassure correct position of a possible text */\n\t\tpadding: #{math.div($clickable-area, 2)} 0 #{math.div($clickable-area, 2)} $clickable-area;\n\n\t\tbackground-position: #{$icon-margin} center;\n\t\tbackground-size: $icon-size;\n\t}\n\n\t// Forms & text inputs\n\t&__form {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex: 1 1 auto;\n\n\t\tmargin: $input-margin 0;\n\t\tpadding-right: $icon-margin;\n\t}\n\n\t&__container {\n\t\twidth: 100%;\n\t}\n\n\t&__input-container {\n\t\tdisplay: flex;\n\n\t\t.colorpicker {\n\t\t\t&__trigger,\n\t\t\t&__preview {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\t&__preview {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 36px;\n\t\t\t\tborder-radius: var(--border-radius-large);\n\t\t\t\tborder: 2px solid var(--color-border-maxcontrast);\n\t\t\t\tbox-shadow: none !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__text-label {\n\t\tpadding: 4px 0;\n\t\tdisplay: block;\n\n\t\t&--hidden {\n\t\t\tposition: absolute;\n\t\t\tleft: -10000px;\n\t\t\ttop: auto;\n\t\t\twidth: 1px;\n\t\t\theight: 1px;\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n\n\t&__datetimepicker {\n\t\twidth: 100%;\n\n\t\t:deep(.mx-input) {\n\t\t\tmargin: 0;\n\t\t}\n\t}\n\n\t&__multi {\n\t\twidth: 100%;\n\t}\n}\n\n// if a form is the last of the list\n// add the same bottomMargin as the right padding\n// for visual balance\nli:last-child > .action-input {\n\tpadding-bottom: $icon-margin - $input-margin;\n}\n\n// same for first item\nli:first-child > .action-input:not(.action-input--visible-label) {\n\tpadding-top: $icon-margin - $input-margin;\n}\n\n</style>\n"],"names":["_sfc_main","NcDateTimePicker","NcDateTimePickerNative","NcPasswordField","NcSelect","NcTextField","ActionGlobalMixin","GenRandomId","id","type","t","event"],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
require('../assets/NcActions-
|
|
1
|
+
require('../assets/NcActions-mt8BQ_bn.css');
|
|
2
2
|
"use strict";
|
|
3
|
-
const
|
|
3
|
+
const k = require("../Components/NcButton.cjs"), S = require("./NcPopover-fv7OFtxM.cjs"), $ = require("./GenRandomId-ULxaMkkr.cjs"), _ = require("./focusTrap-n3H52LOw.cjs"), f = require("./_l10n-AmjncLyn.cjs"), y = require("vue"), B = require("./DotsHorizontal-6hepLUSS.cjs"), E = require("./_plugin-vue2_normalizer-DCfUPqga.cjs"), O = (t) => t && t.__esModule ? t : { default: t }, R = /* @__PURE__ */ O(y);
|
|
4
4
|
f.register(f.t4);
|
|
5
|
-
const
|
|
5
|
+
const g = ".focusable", L = {
|
|
6
6
|
name: "NcActions",
|
|
7
7
|
components: {
|
|
8
|
-
NcButton:
|
|
9
|
-
DotsHorizontal:
|
|
10
|
-
NcPopover:
|
|
8
|
+
NcButton: k,
|
|
9
|
+
DotsHorizontal: B.DotsHorizontal,
|
|
10
|
+
NcPopover: S.NcPopover
|
|
11
11
|
},
|
|
12
12
|
provide() {
|
|
13
13
|
return {
|
|
@@ -20,7 +20,7 @@ const c = ".focusable", D = {
|
|
|
20
20
|
* Provide the role for NcAction* components in the NcActions content.
|
|
21
21
|
* @type {import('vue').ComputedRef<boolean>}
|
|
22
22
|
*/
|
|
23
|
-
"NcActions:isSemanticMenu":
|
|
23
|
+
"NcActions:isSemanticMenu": y.computed(() => this.actionsMenuSemanticType === "menu")
|
|
24
24
|
};
|
|
25
25
|
},
|
|
26
26
|
props: {
|
|
@@ -159,11 +159,11 @@ const c = ".focusable", D = {
|
|
|
159
159
|
return {
|
|
160
160
|
opened: this.open,
|
|
161
161
|
focusIndex: 0,
|
|
162
|
-
randomId: `menu-${
|
|
162
|
+
randomId: `menu-${$.GenRandomId()}`,
|
|
163
163
|
/**
|
|
164
|
-
* @type {'menu'|'navigation'|'dialog'|'tooltip'|''}
|
|
164
|
+
* @type {'menu'|'navigation'|'dialog'|'tooltip'|'unknown'}
|
|
165
165
|
*/
|
|
166
|
-
actionsMenuSemanticType: "",
|
|
166
|
+
actionsMenuSemanticType: "unknown",
|
|
167
167
|
externalFocusTrapStack: []
|
|
168
168
|
};
|
|
169
169
|
},
|
|
@@ -171,8 +171,48 @@ const c = ".focusable", D = {
|
|
|
171
171
|
triggerBtnType() {
|
|
172
172
|
return this.type || (this.primary ? "primary" : this.menuName ? "secondary" : "tertiary");
|
|
173
173
|
},
|
|
174
|
+
/**
|
|
175
|
+
* A11y roles and keyboard navigation configuration depending on the semantic type
|
|
176
|
+
*/
|
|
177
|
+
config() {
|
|
178
|
+
return {
|
|
179
|
+
menu: {
|
|
180
|
+
popupRole: "menu",
|
|
181
|
+
withArrowNavigation: !0,
|
|
182
|
+
withTabNavigation: !1,
|
|
183
|
+
withFocusTrap: !1
|
|
184
|
+
},
|
|
185
|
+
navigation: {
|
|
186
|
+
popupRole: void 0,
|
|
187
|
+
withArrowNavigation: !1,
|
|
188
|
+
withTabNavigation: !0,
|
|
189
|
+
withFocusTrap: !1
|
|
190
|
+
},
|
|
191
|
+
dialog: {
|
|
192
|
+
popupRole: "dialog",
|
|
193
|
+
withArrowNavigation: !1,
|
|
194
|
+
withTabNavigation: !0,
|
|
195
|
+
withFocusTrap: !0
|
|
196
|
+
},
|
|
197
|
+
tooltip: {
|
|
198
|
+
popupRole: void 0,
|
|
199
|
+
withArrowNavigation: !1,
|
|
200
|
+
withTabNavigation: !1,
|
|
201
|
+
withFocusTrap: !1
|
|
202
|
+
},
|
|
203
|
+
// Due to Vue limitations, we sometimes cannot determine the true type
|
|
204
|
+
// As a fallback use both arrow navigation and focus trap
|
|
205
|
+
unknown: {
|
|
206
|
+
popupRole: void 0,
|
|
207
|
+
role: void 0,
|
|
208
|
+
withArrowNavigation: !0,
|
|
209
|
+
withTabNavigation: !1,
|
|
210
|
+
withFocusTrap: !0
|
|
211
|
+
}
|
|
212
|
+
}[this.actionsMenuSemanticType];
|
|
213
|
+
},
|
|
174
214
|
withFocusTrap() {
|
|
175
|
-
return this.
|
|
215
|
+
return this.config.withFocusTrap;
|
|
176
216
|
}
|
|
177
217
|
},
|
|
178
218
|
watch: {
|
|
@@ -204,9 +244,9 @@ const c = ".focusable", D = {
|
|
|
204
244
|
* We need to pause all the focus traps for opening popover and then unpause them back after closing.
|
|
205
245
|
*/
|
|
206
246
|
intersectIntoCurrentFocusTrapStack() {
|
|
207
|
-
if (!this.withFocusTrap)
|
|
247
|
+
if (!this.config.withFocusTrap)
|
|
208
248
|
if (this.opened) {
|
|
209
|
-
this.externalFocusTrapStack = [...
|
|
249
|
+
this.externalFocusTrapStack = [..._.getTrapStack()];
|
|
210
250
|
for (const t of this.externalFocusTrapStack)
|
|
211
251
|
t.pause();
|
|
212
252
|
} else {
|
|
@@ -249,19 +289,34 @@ const c = ".focusable", D = {
|
|
|
249
289
|
});
|
|
250
290
|
},
|
|
251
291
|
// MENU KEYS & FOCUS MANAGEMENT
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
292
|
+
/**
|
|
293
|
+
* @return {HTMLElement|null}
|
|
294
|
+
*/
|
|
295
|
+
getCurrentActiveMenuItemElement() {
|
|
296
|
+
return this.$refs.menu.querySelector("li.active");
|
|
297
|
+
},
|
|
298
|
+
/**
|
|
299
|
+
* @return {NodeListOf<HTMLElement>}
|
|
300
|
+
*/
|
|
301
|
+
getFocusableMenuItemElements() {
|
|
302
|
+
return this.$refs.menu.querySelectorAll(g);
|
|
303
|
+
},
|
|
304
|
+
/**
|
|
305
|
+
* Focus nearest focusable item on mouse move.
|
|
306
|
+
* DO NOT change the focus if the target is already focused
|
|
307
|
+
* this will prevent issues with input being unfocused
|
|
308
|
+
* on mouse move
|
|
309
|
+
* @param {PointerEvent} event - The mouse move event
|
|
310
|
+
*/
|
|
256
311
|
onMouseFocusAction(t) {
|
|
257
312
|
if (document.activeElement === t.target)
|
|
258
313
|
return;
|
|
259
314
|
const n = t.target.closest("li");
|
|
260
315
|
if (n && this.$refs.menu.contains(n)) {
|
|
261
|
-
const i = n.querySelector(
|
|
316
|
+
const i = n.querySelector(g);
|
|
262
317
|
if (i) {
|
|
263
|
-
const
|
|
264
|
-
|
|
318
|
+
const s = [...this.getFocusableMenuItemElements()].indexOf(i);
|
|
319
|
+
s > -1 && (this.focusIndex = s, this.focusAction());
|
|
265
320
|
}
|
|
266
321
|
}
|
|
267
322
|
},
|
|
@@ -271,14 +326,32 @@ const c = ".focusable", D = {
|
|
|
271
326
|
* @param {object} event The keydown event
|
|
272
327
|
*/
|
|
273
328
|
onKeydown(t) {
|
|
274
|
-
|
|
329
|
+
if (t.key === "Tab") {
|
|
330
|
+
if (this.config.withFocusTrap)
|
|
331
|
+
return;
|
|
332
|
+
if (!this.config.withTabNavigation) {
|
|
333
|
+
this.closeMenu(!0);
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
336
|
+
t.preventDefault();
|
|
337
|
+
const n = this.getFocusableMenuItemElements(), i = [...n].indexOf(document.activeElement);
|
|
338
|
+
if (i === -1)
|
|
339
|
+
return;
|
|
340
|
+
const o = t.shiftKey ? i - 1 : i + 1;
|
|
341
|
+
(o < 0 || o === n.length) && this.closeMenu(!0), this.focusIndex = o, this.focusAction();
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
344
|
+
this.config.withArrowNavigation && (t.key === "ArrowUp" && this.focusPreviousAction(t), t.key === "ArrowDown" && this.focusNextAction(t), t.key === "PageUp" && this.focusFirstAction(t), t.key === "PageDown" && this.focusLastAction(t)), t.key === "Escape" && (this.closeMenu(), t.preventDefault());
|
|
345
|
+
},
|
|
346
|
+
onTriggerKeydown(t) {
|
|
347
|
+
t.key === "Escape" && this.actionsMenuSemanticType === "tooltip" && this.closeMenu();
|
|
275
348
|
},
|
|
276
349
|
removeCurrentActive() {
|
|
277
350
|
const t = this.$refs.menu.querySelector("li.active");
|
|
278
351
|
t && t.classList.remove("active");
|
|
279
352
|
},
|
|
280
353
|
focusAction() {
|
|
281
|
-
const t = this
|
|
354
|
+
const t = this.getFocusableMenuItemElements()[this.focusIndex];
|
|
282
355
|
if (t) {
|
|
283
356
|
this.removeCurrentActive();
|
|
284
357
|
const n = t.closest("li.action");
|
|
@@ -290,19 +363,19 @@ const c = ".focusable", D = {
|
|
|
290
363
|
},
|
|
291
364
|
focusNextAction(t) {
|
|
292
365
|
if (this.opened) {
|
|
293
|
-
const n = this
|
|
366
|
+
const n = this.getFocusableMenuItemElements().length - 1;
|
|
294
367
|
this.focusIndex === n ? this.focusFirstAction(t) : (this.preventIfEvent(t), this.focusIndex = this.focusIndex + 1), this.focusAction();
|
|
295
368
|
}
|
|
296
369
|
},
|
|
297
370
|
focusFirstAction(t) {
|
|
298
371
|
if (this.opened) {
|
|
299
372
|
this.preventIfEvent(t);
|
|
300
|
-
const n = [...this
|
|
373
|
+
const n = [...this.getFocusableMenuItemElements()].findIndex((i) => i.getAttribute("aria-checked") === "true" && i.getAttribute("role") === "menuitemradio");
|
|
301
374
|
this.focusIndex = n > -1 ? n : 0, this.focusAction();
|
|
302
375
|
}
|
|
303
376
|
},
|
|
304
377
|
focusLastAction(t) {
|
|
305
|
-
this.opened && (this.preventIfEvent(t), this.focusIndex = this
|
|
378
|
+
this.opened && (this.preventIfEvent(t), this.focusIndex = this.getFocusableMenuItemElements().length - 1, this.focusAction());
|
|
306
379
|
},
|
|
307
380
|
preventIfEvent(t) {
|
|
308
381
|
t && (t.preventDefault(), t.stopPropagation());
|
|
@@ -311,7 +384,7 @@ const c = ".focusable", D = {
|
|
|
311
384
|
this.$emit("focus", t);
|
|
312
385
|
},
|
|
313
386
|
onBlur(t) {
|
|
314
|
-
this.$emit("blur", t), this.actionsMenuSemanticType === "tooltip" && this.$refs.menu && this
|
|
387
|
+
this.$emit("blur", t), this.actionsMenuSemanticType === "tooltip" && this.$refs.menu && this.getFocusableMenuItemElements().length === 0 && this.closeMenu(!1);
|
|
315
388
|
},
|
|
316
389
|
onClick(t) {
|
|
317
390
|
this.$emit("click", t);
|
|
@@ -328,20 +401,15 @@ const c = ".focusable", D = {
|
|
|
328
401
|
if (n.length === 0)
|
|
329
402
|
return;
|
|
330
403
|
let i = n.filter(this.isValidSingleAction);
|
|
331
|
-
this.forceMenu && i.length > 0 && this.inline > 0 && (
|
|
332
|
-
const
|
|
333
|
-
|
|
334
|
-
const
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
const s = e?.componentOptions?.propsData?.icon, x = e?.data?.scopedSlots?.icon()?.[0] ?? (this.isIconUrl(s) ? t("img", { class: "action-item__menutoggle__icon", attrs: { src: s, alt: "" } }) : t("span", { class: ["icon", s] })), v = e?.data?.attrs || {}, u = e?.componentOptions?.listeners?.click, p = e?.componentOptions?.children?.[0]?.text?.trim?.(), k = e?.componentOptions?.propsData?.ariaLabel || p, y = this.forceName ? p : "";
|
|
341
|
-
let d = e?.componentOptions?.propsData?.title;
|
|
342
|
-
this.forceName || d || (d = p);
|
|
343
|
-
const r = { ...e?.componentOptions?.propsData ?? {} }, $ = ["submit", "reset"].includes(r.type) ? r.modelValue : "button";
|
|
344
|
-
return delete r.modelValue, delete r.type, t(
|
|
404
|
+
this.forceMenu && i.length > 0 && this.inline > 0 && (R.default.util.warn("Specifying forceMenu will ignore any inline actions rendering."), i = []);
|
|
405
|
+
const o = i.slice(0, this.inline), s = n.filter((e) => !o.includes(e)), A = ["NcActionButton", "NcActionButtonGroup", "NcActionCheckbox", "NcActionRadio"], b = ["NcActionInput", "NcActionTextEditable"], w = ["NcActionLink", "NcActionRouter"], I = s.some((e) => b.includes(this.getActionName(e))), T = s.some((e) => A.includes(this.getActionName(e))), N = s.some((e) => w.includes(this.getActionName(e)));
|
|
406
|
+
I ? this.actionsMenuSemanticType = "dialog" : T ? this.actionsMenuSemanticType = "menu" : N ? this.actionsMenuSemanticType = "navigation" : n.filter((c) => this.getActionName(c).startsWith("NcAction")).length === n.length ? this.actionsMenuSemanticType = "tooltip" : this.actionsMenuSemanticType = "unknown";
|
|
407
|
+
const h = (e) => {
|
|
408
|
+
const c = e?.componentOptions?.propsData?.icon, r = e?.data?.scopedSlots?.icon()?.[0] ?? (this.isIconUrl(c) ? t("img", { class: "action-item__menutoggle__icon", attrs: { src: c, alt: "" } }) : t("span", { class: ["icon", c] })), v = e?.data?.attrs || {}, u = e?.componentOptions?.listeners?.click, l = e?.componentOptions?.children?.[0]?.text?.trim?.(), x = e?.componentOptions?.propsData?.ariaLabel || l, m = this.forceName ? l : "";
|
|
409
|
+
let p = e?.componentOptions?.propsData?.title;
|
|
410
|
+
this.forceName || p || (p = l);
|
|
411
|
+
const a = { ...e?.componentOptions?.propsData ?? {} }, F = ["submit", "reset"].includes(a.type) ? a.modelValue : "button";
|
|
412
|
+
return delete a.modelValue, delete a.type, t(
|
|
345
413
|
"NcButton",
|
|
346
414
|
{
|
|
347
415
|
class: [
|
|
@@ -351,17 +419,17 @@ const c = ".focusable", D = {
|
|
|
351
419
|
],
|
|
352
420
|
attrs: {
|
|
353
421
|
...v,
|
|
354
|
-
"aria-label":
|
|
355
|
-
title:
|
|
422
|
+
"aria-label": x,
|
|
423
|
+
title: p
|
|
356
424
|
},
|
|
357
425
|
ref: e?.data?.ref,
|
|
358
426
|
props: {
|
|
359
427
|
// If it has a menuName, we use a secondary button
|
|
360
|
-
type: this.type || (
|
|
428
|
+
type: this.type || (m ? "secondary" : "tertiary"),
|
|
361
429
|
disabled: this.disabled || e?.componentOptions?.propsData?.disabled,
|
|
362
430
|
pressed: e?.componentOptions?.propsData?.modelValue,
|
|
363
|
-
nativeType:
|
|
364
|
-
...
|
|
431
|
+
nativeType: F,
|
|
432
|
+
...a
|
|
365
433
|
},
|
|
366
434
|
on: {
|
|
367
435
|
focus: this.onFocus,
|
|
@@ -379,16 +447,16 @@ const c = ".focusable", D = {
|
|
|
379
447
|
}
|
|
380
448
|
},
|
|
381
449
|
[
|
|
382
|
-
t("template", { slot: "icon" }, [
|
|
383
|
-
|
|
450
|
+
t("template", { slot: "icon" }, [r]),
|
|
451
|
+
m
|
|
384
452
|
]
|
|
385
453
|
);
|
|
386
|
-
},
|
|
387
|
-
const
|
|
454
|
+
}, d = (e) => {
|
|
455
|
+
const c = this.$slots.icon?.[0] || (this.defaultIcon ? t("span", { class: ["icon", this.defaultIcon] }) : t("DotsHorizontal", {
|
|
388
456
|
props: {
|
|
389
457
|
size: 20
|
|
390
458
|
}
|
|
391
|
-
}))
|
|
459
|
+
})), r = `${this.randomId}-trigger`;
|
|
392
460
|
return t(
|
|
393
461
|
"NcPopover",
|
|
394
462
|
{
|
|
@@ -401,9 +469,9 @@ const c = ".focusable", D = {
|
|
|
401
469
|
boundary: this.boundariesElement,
|
|
402
470
|
container: this.container,
|
|
403
471
|
popoverBaseClass: "action-item__popper",
|
|
404
|
-
popupRole:
|
|
405
|
-
setReturnFocus: this.withFocusTrap ? this.$refs.menuButton?.$el : null,
|
|
406
|
-
focusTrap: this.withFocusTrap
|
|
472
|
+
popupRole: this.config.popupRole,
|
|
473
|
+
setReturnFocus: this.config.withFocusTrap ? this.$refs.menuButton?.$el : null,
|
|
474
|
+
focusTrap: this.config.withFocusTrap
|
|
407
475
|
},
|
|
408
476
|
// For some reason the popover component
|
|
409
477
|
// does not react to props given under the 'props' key,
|
|
@@ -433,16 +501,19 @@ const c = ".focusable", D = {
|
|
|
433
501
|
slot: "trigger",
|
|
434
502
|
ref: "menuButton",
|
|
435
503
|
attrs: {
|
|
504
|
+
id: r,
|
|
436
505
|
"aria-label": this.menuName ? null : this.ariaLabel,
|
|
437
|
-
|
|
506
|
+
// 'aria-controls' should only present together with a valid aria-haspopup
|
|
507
|
+
"aria-controls": this.opened && this.config.popupRole ? this.randomId : null
|
|
438
508
|
},
|
|
439
509
|
on: {
|
|
440
510
|
focus: this.onFocus,
|
|
441
511
|
blur: this.onBlur,
|
|
442
|
-
click: this.onClick
|
|
512
|
+
click: this.onClick,
|
|
513
|
+
keydown: this.onTriggerKeydown
|
|
443
514
|
}
|
|
444
515
|
}, [
|
|
445
|
-
t("template", { slot: "icon" }, [
|
|
516
|
+
t("template", { slot: "icon" }, [c]),
|
|
446
517
|
this.menuName
|
|
447
518
|
]),
|
|
448
519
|
t("div", {
|
|
@@ -462,8 +533,10 @@ const c = ".focusable", D = {
|
|
|
462
533
|
attrs: {
|
|
463
534
|
id: this.randomId,
|
|
464
535
|
tabindex: "-1",
|
|
465
|
-
role:
|
|
466
|
-
//
|
|
536
|
+
role: this.config.popupRole,
|
|
537
|
+
// Dialog must have a label
|
|
538
|
+
"aria-labelledby": this.actionsMenuSemanticType === "dialog" ? r : void 0,
|
|
539
|
+
"aria-modal": this.actionsMenuSemanticType === "dialog" ? "true" : void 0
|
|
467
540
|
}
|
|
468
541
|
}, [
|
|
469
542
|
e
|
|
@@ -474,7 +547,7 @@ const c = ".focusable", D = {
|
|
|
474
547
|
};
|
|
475
548
|
return n.length === 1 && i.length === 1 && !this.forceMenu ? h(n[0]) : (this.$nextTick(() => {
|
|
476
549
|
this.opened && this.$refs.menu && (this.$refs.menu.querySelector("li.active") || []).length === 0 && this.focusFirstAction();
|
|
477
|
-
}),
|
|
550
|
+
}), o.length > 0 && this.inline > 0 ? t(
|
|
478
551
|
"div",
|
|
479
552
|
{
|
|
480
553
|
class: [
|
|
@@ -484,9 +557,9 @@ const c = ".focusable", D = {
|
|
|
484
557
|
},
|
|
485
558
|
[
|
|
486
559
|
// Render inline actions
|
|
487
|
-
...
|
|
560
|
+
...o.map(h),
|
|
488
561
|
// render the rest within the popover menu
|
|
489
|
-
|
|
562
|
+
s.length > 0 ? t(
|
|
490
563
|
"div",
|
|
491
564
|
{
|
|
492
565
|
class: [
|
|
@@ -497,7 +570,7 @@ const c = ".focusable", D = {
|
|
|
497
570
|
]
|
|
498
571
|
},
|
|
499
572
|
[
|
|
500
|
-
|
|
573
|
+
d(s)
|
|
501
574
|
]
|
|
502
575
|
) : null
|
|
503
576
|
]
|
|
@@ -513,20 +586,20 @@ const c = ".focusable", D = {
|
|
|
513
586
|
]
|
|
514
587
|
},
|
|
515
588
|
[
|
|
516
|
-
|
|
589
|
+
d(n)
|
|
517
590
|
]
|
|
518
591
|
));
|
|
519
592
|
}
|
|
520
|
-
},
|
|
521
|
-
var C = /* @__PURE__ */
|
|
593
|
+
}, D = null, q = null;
|
|
594
|
+
var C = /* @__PURE__ */ E.normalizeComponent(
|
|
595
|
+
L,
|
|
522
596
|
D,
|
|
523
|
-
|
|
524
|
-
P,
|
|
597
|
+
q,
|
|
525
598
|
!1,
|
|
526
599
|
null,
|
|
527
|
-
"
|
|
600
|
+
"4131bd38",
|
|
528
601
|
null,
|
|
529
602
|
null
|
|
530
603
|
);
|
|
531
|
-
const
|
|
532
|
-
exports.NcActions =
|
|
604
|
+
const P = C.exports;
|
|
605
|
+
exports.NcActions = P;
|