@adyen/bento-vue2 1.68.2 → 1.70.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/README.md +43 -97
- package/dist/@types/components.d.ts +1 -0
- package/dist/@types/index.d.ts +829 -2056
- package/dist/accordion.js +1 -1
- package/dist/action-bar.js +1 -1
- package/dist/alert.js +1 -1
- package/dist/assets/accordion-item.css +1 -1
- package/dist/assets/action-bar.css +1 -1
- package/dist/assets/alert.css +1 -1
- package/dist/assets/base-button.css +1 -1
- package/dist/assets/base-modal.css +1 -1
- package/dist/assets/button-actions-with-menu.css +1 -1
- package/dist/assets/button.css +1 -1
- package/dist/assets/calendar.css +1 -1
- package/dist/assets/card.css +1 -1
- package/dist/assets/checkbox-group.css +1 -1
- package/dist/assets/checkbox-input.css +1 -1
- package/dist/assets/checkbox.css +1 -1
- package/dist/assets/chip.css +1 -1
- package/dist/assets/code-snippet.css +1 -1
- package/dist/assets/controls-group.css +1 -1
- package/dist/assets/copy.css +1 -1
- package/dist/assets/country.css +1 -1
- package/dist/assets/currency.css +1 -1
- package/dist/assets/dashed-underline.css +1 -1
- package/dist/assets/data-grid-template.css +1 -1
- package/dist/assets/data-grid.css +1 -1
- package/dist/assets/date-picker.css +1 -1
- package/dist/assets/date-range-picker.css +1 -1
- package/dist/assets/dialog-page.css +1 -1
- package/dist/assets/divider.css +1 -1
- package/dist/assets/dropdown-default-textbox.css +1 -1
- package/dist/assets/dropdown-tag.css +1 -1
- package/dist/assets/dropdown.css +1 -1
- package/dist/assets/empty-state.css +1 -1
- package/dist/assets/error-message.css +1 -1
- package/dist/assets/file-uploader.css +1 -1
- package/dist/assets/filter-bar.css +1 -1
- package/dist/assets/focus-trap.css +1 -1
- package/dist/assets/footer-actions.css +1 -1
- package/dist/assets/form-layout-title.css +1 -1
- package/dist/assets/grid-layout.css +1 -1
- package/dist/assets/header-meta.css +1 -1
- package/dist/assets/header-with-views.css +1 -1
- package/dist/assets/header.css +1 -1
- package/dist/assets/info-icon.css +1 -1
- package/dist/assets/input-field-password.css +1 -1
- package/dist/assets/input-field-phone-number.css +1 -1
- package/dist/assets/input-field.css +1 -1
- package/dist/assets/inspector.css +1 -1
- package/dist/assets/layout-row.css +1 -1
- package/dist/assets/link.css +1 -1
- package/dist/assets/listbox-option-tag.css +1 -1
- package/dist/assets/loading-indicator.css +1 -1
- package/dist/assets/modal-fullscreen.css +1 -1
- package/dist/assets/pagination.css +1 -1
- package/dist/assets/payment-method.css +1 -1
- package/dist/assets/popper-container.css +1 -1
- package/dist/assets/promo-banner.css +1 -1
- package/dist/assets/radio-group.css +1 -1
- package/dist/assets/radio-input.css +1 -1
- package/dist/assets/rich-text-editor.css +1 -1
- package/dist/assets/search-bar.css +1 -1
- package/dist/assets/secondary-nav.css +1 -1
- package/dist/assets/segmented-control.css +1 -1
- package/dist/assets/selection-card-group.css +1 -1
- package/dist/assets/sidepanel.css +1 -1
- package/dist/assets/status.css +1 -1
- package/dist/assets/step.css +1 -1
- package/dist/assets/structured-list-item.css +1 -1
- package/dist/assets/tab.css +1 -1
- package/dist/assets/tag.css +1 -1
- package/dist/assets/textarea.css +1 -1
- package/dist/assets/timeline-item.css +1 -1
- package/dist/assets/toast.css +1 -1
- package/dist/assets/toggle-button.css +1 -1
- package/dist/assets/toggle.css +1 -1
- package/dist/assets/tooltip.css +1 -1
- package/dist/assets/tutorial.css +1 -1
- package/dist/assets/typography.css +1 -1
- package/dist/assets/use-cached-selected-values.css +1 -1
- package/dist/avatar.js +1 -1
- package/dist/button.js +9 -9
- package/dist/card.js +1 -1
- package/dist/checkbox.js +2 -2
- package/dist/chip.js +1 -1
- package/dist/chunks/{accordion-item.BNtdoVto.js → accordion-item.CoqaoVnC.js} +3 -3
- package/dist/chunks/accordion-item.CoqaoVnC.js.map +1 -0
- package/dist/chunks/{action-bar.DQb7WVVd.js → action-bar.LaW4Tzlo.js} +18 -19
- package/dist/chunks/action-bar.LaW4Tzlo.js.map +1 -0
- package/dist/chunks/{alert.c1rhDDrU.js → alert.CMyL-zWT.js} +17 -17
- package/dist/chunks/alert.CMyL-zWT.js.map +1 -0
- package/dist/chunks/aria-label.CaUURpnB.js.map +1 -1
- package/dist/chunks/{avatar.BgwjpLQO.js → avatar.KdcsNOsm.js} +2 -2
- package/dist/chunks/avatar.KdcsNOsm.js.map +1 -0
- package/dist/chunks/{base-button.-gx_u8Bd.js → base-button.BB5tkzjh.js} +6 -6
- package/dist/chunks/base-button.BB5tkzjh.js.map +1 -0
- package/dist/chunks/{base-modal.CkkfT6r6.js → base-modal.D8Rh5NUz.js} +19 -19
- package/dist/chunks/base-modal.D8Rh5NUz.js.map +1 -0
- package/dist/chunks/bin.Ddb69cr1.js +24 -0
- package/dist/chunks/bin.Ddb69cr1.js.map +1 -0
- package/dist/chunks/button-actions-with-menu.BDpWI2Fh.js +85 -0
- package/dist/chunks/button-actions-with-menu.BDpWI2Fh.js.map +1 -0
- package/dist/chunks/button-actions.types.BptAXjD8.js +8 -0
- package/dist/chunks/button-actions.types.BptAXjD8.js.map +1 -0
- package/dist/chunks/{button.hF-nD1Og.js → button.CilT7NmM.js} +4 -4
- package/dist/chunks/button.CilT7NmM.js.map +1 -0
- package/dist/chunks/{calendar.DvIQEYwN.js → calendar.DYI4omOF.js} +25 -25
- package/dist/chunks/calendar.DYI4omOF.js.map +1 -0
- package/dist/chunks/{card.CASAAsuJ.js → card.C5Uub0Fb.js} +20 -19
- package/dist/chunks/card.C5Uub0Fb.js.map +1 -0
- package/dist/chunks/{checkbox-group.QdX-NrSG.js → checkbox-group.CLYgcDZl.js} +6 -6
- package/dist/chunks/checkbox-group.CLYgcDZl.js.map +1 -0
- package/dist/chunks/{checkbox-input.CNWigbX4.js → checkbox-input.B0NsfSNR.js} +2 -2
- package/dist/chunks/checkbox-input.B0NsfSNR.js.map +1 -0
- package/dist/chunks/{checkbox.DCD6SSXC.js → checkbox.lwLS8MMI.js} +6 -6
- package/dist/chunks/checkbox.lwLS8MMI.js.map +1 -0
- package/dist/chunks/{chip.OV0EWIP3.js → chip.Bfi-ff5E.js} +10 -10
- package/dist/chunks/chip.Bfi-ff5E.js.map +1 -0
- package/dist/chunks/{code-snippet.dIKi0D7d.js → code-snippet.DsHNr3DK.js} +8 -8
- package/dist/chunks/code-snippet.DsHNr3DK.js.map +1 -0
- package/dist/chunks/{controls-group.CccuLkgP.js → controls-group.az4jCZQF.js} +30 -27
- package/dist/chunks/controls-group.az4jCZQF.js.map +1 -0
- package/dist/chunks/{copy.CF8Fzu2Y.js → copy.Cb7gQhU4.js} +15 -15
- package/dist/chunks/copy.Cb7gQhU4.js.map +1 -0
- package/dist/chunks/{country.melpzEsY.js → country.1yIZNjdj.js} +7 -7
- package/dist/chunks/country.1yIZNjdj.js.map +1 -0
- package/dist/chunks/country.types.C0Q_hhgJ.js.map +1 -1
- package/dist/chunks/{currency.BM9OXTqe.js → currency.MT3baDtO.js} +3 -3
- package/dist/chunks/currency.MT3baDtO.js.map +1 -0
- package/dist/chunks/{dashboard-section.BIe6eVHq.js → dashboard-section.C6zV9yL-.js} +4 -4
- package/dist/chunks/{dashboard-section.BIe6eVHq.js.map → dashboard-section.C6zV9yL-.js.map} +1 -1
- package/dist/chunks/{dashed-underline.BbH6Lnd2.js → dashed-underline.Dry6H2zs.js} +12 -13
- package/dist/chunks/dashed-underline.Dry6H2zs.js.map +1 -0
- package/dist/chunks/{data-grid-template.Co0Ecr79.js → data-grid-template.Dlevchxd.js} +5 -5
- package/dist/chunks/data-grid-template.Dlevchxd.js.map +1 -0
- package/dist/chunks/{data-grid.erxjh5TN.js → data-grid.CrvFYgjF.js} +1234 -1182
- package/dist/chunks/data-grid.CrvFYgjF.js.map +1 -0
- package/dist/chunks/{date-picker.DGIS6Pp-.js → date-picker.DPasFJS2.js} +11 -11
- package/dist/chunks/date-picker.DPasFJS2.js.map +1 -0
- package/dist/chunks/date-range-picker.BIj17geh.js +967 -0
- package/dist/chunks/date-range-picker.BIj17geh.js.map +1 -0
- package/dist/chunks/{date.BfyWX2PY.js → date.BTdCYdkj.js} +2 -2
- package/dist/chunks/{date.BfyWX2PY.js.map → date.BTdCYdkj.js.map} +1 -1
- package/dist/chunks/{dialog-page.CLHZqQeU.js → dialog-page.D20YBRQF.js} +9 -9
- package/dist/chunks/dialog-page.D20YBRQF.js.map +1 -0
- package/dist/chunks/{divider.Cc4JFWG_.js → divider.CFbtmKeQ.js} +6 -6
- package/dist/chunks/divider.CFbtmKeQ.js.map +1 -0
- package/dist/chunks/{dropdown-default-textbox.94q6opSD.js → dropdown-default-textbox.CDm-PQfc.js} +81 -80
- package/dist/chunks/dropdown-default-textbox.CDm-PQfc.js.map +1 -0
- package/dist/chunks/dropdown-tag.cmaM8C2X.js +306 -0
- package/dist/chunks/dropdown-tag.cmaM8C2X.js.map +1 -0
- package/dist/chunks/{dropdown.DazYAy4B.js → dropdown.CEZXrC1C.js} +43 -43
- package/dist/chunks/dropdown.CEZXrC1C.js.map +1 -0
- package/dist/chunks/{empty-state.mtXfb1BB.js → empty-state.DAbj9xWF.js} +6 -6
- package/dist/chunks/empty-state.DAbj9xWF.js.map +1 -0
- package/dist/chunks/{error-message.BgxnwPLF.js → error-message.D_QAOG-5.js} +9 -9
- package/dist/chunks/{error-message.BgxnwPLF.js.map → error-message.D_QAOG-5.js.map} +1 -1
- package/dist/chunks/es6.MoTTyETW.js +12 -0
- package/dist/chunks/es6.MoTTyETW.js.map +1 -0
- package/dist/chunks/events.CMzGybJJ.js.map +1 -1
- package/dist/chunks/{file-uploader.BPslxGI8.js → file-uploader.D2k8GceS.js} +49 -49
- package/dist/chunks/file-uploader.D2k8GceS.js.map +1 -0
- package/dist/chunks/{filter-bar.DL19SXF1.js → filter-bar.C9suxxv-.js} +310 -316
- package/dist/chunks/filter-bar.C9suxxv-.js.map +1 -0
- package/dist/chunks/{fixed-scroller.XN-jvWqb.js → fixed-scroller.DDYpO7Li.js} +2 -2
- package/dist/chunks/{fixed-scroller.XN-jvWqb.js.map → fixed-scroller.DDYpO7Li.js.map} +1 -1
- package/dist/chunks/{focus-trap.C-wIQqpO.js → focus-trap.B4C5TXxl.js} +2 -2
- package/dist/chunks/focus-trap.B4C5TXxl.js.map +1 -0
- package/dist/chunks/{footer-actions.BE_zzX-e.js → footer-actions.Bbu1_rUb.js} +12 -12
- package/dist/chunks/footer-actions.Bbu1_rUb.js.map +1 -0
- package/dist/chunks/{form-layout-title.CIynHgCF.js → form-layout-title.aXVuAWiG.js} +5 -5
- package/dist/chunks/form-layout-title.aXVuAWiG.js.map +1 -0
- package/dist/chunks/{grid-layout.HvTAa4to.js → grid-layout.1aIiz2N_.js} +4 -4
- package/dist/chunks/grid-layout.1aIiz2N_.js.map +1 -0
- package/dist/chunks/{header-meta.CfloYa86.js → header-meta.Dj742jL5.js} +26 -27
- package/dist/chunks/{header-meta.CfloYa86.js.map → header-meta.Dj742jL5.js.map} +1 -1
- package/dist/chunks/{header-with-views.BUQ-MlAq.js → header-with-views.Cis2Ixho.js} +160 -164
- package/dist/chunks/header-with-views.Cis2Ixho.js.map +1 -0
- package/dist/chunks/{header.uyxNdQa3.js → header.Bo2fbjCm.js} +8 -8
- package/dist/chunks/header.Bo2fbjCm.js.map +1 -0
- package/dist/chunks/image.C2D2hKat.js.map +1 -1
- package/dist/chunks/{info-icon.CYOXx8CL.js → info-icon.BWC7gGmM.js} +7 -7
- package/dist/chunks/info-icon.BWC7gGmM.js.map +1 -0
- package/dist/chunks/info.CcMZ4aGg.js +24 -0
- package/dist/chunks/info.CcMZ4aGg.js.map +1 -0
- package/dist/chunks/{input-field-password.C1zTapiN.js → input-field-password.D6wAD55v.js} +29 -29
- package/dist/chunks/input-field-password.D6wAD55v.js.map +1 -0
- package/dist/chunks/{input-field-phone-number.K8BYjWfa.js → input-field-phone-number.CLHuEXO7.js} +12 -11
- package/dist/chunks/{input-field-phone-number.K8BYjWfa.js.map → input-field-phone-number.CLHuEXO7.js.map} +1 -1
- package/dist/chunks/{input-field.5S-pUNxA.js → input-field.C3KYlPYa.js} +5 -5
- package/dist/chunks/input-field.C3KYlPYa.js.map +1 -0
- package/dist/chunks/{inspector.BI28vKQz.js → inspector.CH4kvF9q.js} +6 -6
- package/dist/chunks/inspector.CH4kvF9q.js.map +1 -0
- package/dist/chunks/keyboard-navigation.pB8weElW.js.map +1 -1
- package/dist/chunks/{layout-row.C_F2wX6d.js → layout-row.BLGCVZkD.js} +12 -12
- package/dist/chunks/layout-row.BLGCVZkD.js.map +1 -0
- package/dist/chunks/{link.CXy_LoFI.js → link.C4htMrDV.js} +3 -3
- package/dist/chunks/link.C4htMrDV.js.map +1 -0
- package/dist/chunks/{listbox-option-tag.D0Cql_R3.js → listbox-option-tag.3zcrQQvI.js} +4 -4
- package/dist/chunks/listbox-option-tag.3zcrQQvI.js.map +1 -0
- package/dist/chunks/{loading-indicator.z8COalOc.js → loading-indicator.DXc7I1Lm.js} +2 -2
- package/dist/chunks/loading-indicator.DXc7I1Lm.js.map +1 -0
- package/dist/chunks/minus-small.DJacLGTw.js.map +1 -1
- package/dist/chunks/{modal-fullscreen.DHotw1RI.js → modal-fullscreen.DNxrRLZ5.js} +61 -56
- package/dist/chunks/modal-fullscreen.DNxrRLZ5.js.map +1 -0
- package/dist/chunks/{modal.eoNQ6E3U.js → modal.BjoHqKYF.js} +6 -6
- package/dist/chunks/modal.BjoHqKYF.js.map +1 -0
- package/dist/chunks/{pagination.4J7ZMyf5.js → pagination.BNjvTjtR.js} +5 -5
- package/dist/chunks/pagination.BNjvTjtR.js.map +1 -0
- package/dist/chunks/{payment-method.Cx4nPDtE.js → payment-method.DtvfUnit.js} +3 -3
- package/dist/chunks/payment-method.DtvfUnit.js.map +1 -0
- package/dist/chunks/popover.types.CiUPrUuw.js +6 -0
- package/dist/chunks/popover.types.CiUPrUuw.js.map +1 -0
- package/dist/chunks/{popper-container.DIFqmRsp.js → popper-container.BRkYcBmL.js} +3 -3
- package/dist/chunks/popper-container.BRkYcBmL.js.map +1 -0
- package/dist/chunks/{promo-banner.Bbc2U3S3.js → promo-banner.CmkrgQsm.js} +6 -6
- package/dist/chunks/promo-banner.CmkrgQsm.js.map +1 -0
- package/dist/chunks/{radio-group.4_KKjvAm.js → radio-group.ANbubbQK.js} +14 -12
- package/dist/chunks/radio-group.ANbubbQK.js.map +1 -0
- package/dist/chunks/{radio-input.uJAhxKRs.js → radio-input.D8mv2EYC.js} +2 -2
- package/dist/chunks/radio-input.D8mv2EYC.js.map +1 -0
- package/dist/chunks/{rich-text-editor.BUKLdRkN.js → rich-text-editor.DfUK2cie.js} +8 -8
- package/dist/chunks/rich-text-editor.DfUK2cie.js.map +1 -0
- package/dist/chunks/{search-bar.CuBj5FAE.js → search-bar.B4ln_DGC.js} +6 -5
- package/dist/chunks/search-bar.B4ln_DGC.js.map +1 -0
- package/dist/chunks/{secondary-nav.C6usurfD.js → secondary-nav.DGRvSeRY.js} +9 -9
- package/dist/chunks/secondary-nav.DGRvSeRY.js.map +1 -0
- package/dist/chunks/{segmented-control.DHZEfmT-.js → segmented-control.5-G1EwGt.js} +11 -11
- package/dist/chunks/segmented-control.5-G1EwGt.js.map +1 -0
- package/dist/chunks/{selection-card-group.0o5T4tab.js → selection-card-group.xs_M1a46.js} +10 -10
- package/dist/chunks/selection-card-group.xs_M1a46.js.map +1 -0
- package/dist/chunks/{sidepanel.DyThBUgV.js → sidepanel.DJAmLLPS.js} +9 -9
- package/dist/chunks/sidepanel.DJAmLLPS.js.map +1 -0
- package/dist/chunks/{status.types.p_TCvoo0.js → status.types.BpMK-6IT.js} +3 -3
- package/dist/chunks/status.types.BpMK-6IT.js.map +1 -0
- package/dist/chunks/{step.DMMofD4B.js → step.DwXkOVky.js} +5 -5
- package/dist/chunks/step.DwXkOVky.js.map +1 -0
- package/dist/chunks/{structured-list-item.Bnn6-Z3q.js → structured-list-item.TPZLf2rC.js} +7 -7
- package/dist/chunks/structured-list-item.TPZLf2rC.js.map +1 -0
- package/dist/chunks/{summary-grid.types.D_FU3sUq.js → summary-grid.types.Mua4SprI.js} +7 -7
- package/dist/chunks/{summary-grid.types.D_FU3sUq.js.map → summary-grid.types.Mua4SprI.js.map} +1 -1
- package/dist/chunks/{tab.BhWPBxcB.js → tab.ClkH0GtX.js} +5 -5
- package/dist/chunks/tab.ClkH0GtX.js.map +1 -0
- package/dist/chunks/{tag.CGkclKVL.js → tag.D1niMJDQ.js} +4 -4
- package/dist/chunks/tag.D1niMJDQ.js.map +1 -0
- package/dist/chunks/textarea.BNGBZJ3C.js +214 -0
- package/dist/chunks/textarea.BNGBZJ3C.js.map +1 -0
- package/dist/chunks/timeline-item.DYUON6R3.js +387 -0
- package/dist/chunks/timeline-item.DYUON6R3.js.map +1 -0
- package/dist/chunks/{toast.BOyeuS19.js → toast.gMDjItrP.js} +5 -5
- package/dist/chunks/toast.gMDjItrP.js.map +1 -0
- package/dist/chunks/toggle-button.COXDzXWu.js +1031 -0
- package/dist/chunks/toggle-button.COXDzXWu.js.map +1 -0
- package/dist/chunks/{toggle.DyXL09-x.js → toggle.Ct-5NUGu.js} +8 -8
- package/dist/chunks/toggle.Ct-5NUGu.js.map +1 -0
- package/dist/chunks/{tooltip.wQsyAwkC.js → tooltip.B2XJl4VK.js} +64 -60
- package/dist/chunks/tooltip.B2XJl4VK.js.map +1 -0
- package/dist/chunks/{tutorial.CxrGhLS7.js → tutorial.BiGj42TP.js} +29 -31
- package/dist/chunks/tutorial.BiGj42TP.js.map +1 -0
- package/dist/chunks/{typography.J1v_SPG3.js → typography.hlOAxsEn.js} +9 -9
- package/dist/chunks/typography.hlOAxsEn.js.map +1 -0
- package/dist/chunks/{use-bento-toast-controller.Cn_2Eogn.js → use-bento-toast-controller.BKHU1qBv.js} +2 -2
- package/dist/chunks/{use-bento-toast-controller.Cn_2Eogn.js.map → use-bento-toast-controller.BKHU1qBv.js.map} +1 -1
- package/dist/chunks/{use-cached-selected-values.0EeyFfyF.js → use-cached-selected-values.ysbHRJ6L.js} +12 -12
- package/dist/chunks/use-cached-selected-values.ysbHRJ6L.js.map +1 -0
- package/dist/chunks/{use-country-items.BllTb5MK.js → use-country-items.DFdM2Ank.js} +2 -2
- package/dist/chunks/use-country-items.DFdM2Ank.js.map +1 -0
- package/dist/chunks/{use-country-phon-code.BOaJ9PDl.js → use-country-phon-code.Bui3zD6W.js} +5 -3
- package/dist/chunks/{use-country-phon-code.BOaJ9PDl.js.map → use-country-phon-code.Bui3zD6W.js.map} +1 -1
- package/dist/chunks/use-has-slot.C9lQZ6nz.js.map +1 -1
- package/dist/chunks/warning-filled.CbJ1pcB2.js +24 -0
- package/dist/chunks/warning-filled.CbJ1pcB2.js.map +1 -0
- package/dist/code-snippet.js +1 -1
- package/dist/country.js +2 -2
- package/dist/currency.js +1 -1
- package/dist/dashboard-template.js +1 -1
- package/dist/dashed-underline.js +1 -1
- package/dist/data-grid-template.js +1 -1
- package/dist/data-grid.js +1 -1
- package/dist/date-picker.js +2 -2
- package/dist/date-range-picker.js +2 -2
- package/dist/date.js +1 -1
- package/dist/divider.js +1 -1
- package/dist/dropdown.js +4 -4
- package/dist/empty-state.js +1 -1
- package/dist/file-uploader.js +1 -1
- package/dist/filter-bar.js +1 -1
- package/dist/focus-trap.js +1 -1
- package/dist/form-layout.js +1 -1
- package/dist/header-with-views.js +1 -1
- package/dist/header.js +1 -1
- package/dist/index.js +225 -227
- package/dist/index.js.map +1 -1
- package/dist/info-icon.js +1 -1
- package/dist/input-field-password.js +1 -1
- package/dist/input-field-phone-number.js +3 -2
- package/dist/input-field.js +1 -1
- package/dist/inspector.js +1 -1
- package/dist/internal.js +33 -32
- package/dist/internal.js.map +1 -1
- package/dist/layout.js +1 -1
- package/dist/link.js +1 -1
- package/dist/loading-indicator.js +1 -1
- package/dist/menu.js +1 -1
- package/dist/modal-fullscreen.js +1 -1
- package/dist/modal.js +2 -2
- package/dist/pagination.js +1 -1
- package/dist/payment-method.js +1 -1
- package/dist/popover.js +2 -2
- package/dist/popper-container.js +1 -1
- package/dist/promo-banner.js +1 -1
- package/dist/radio-group.js +2 -2
- package/dist/rich-text-editor.js +1 -1
- package/dist/search-bar.js +2 -2
- package/dist/secondary-nav.js +1 -1
- package/dist/segmented-control.js +1 -1
- package/dist/selection-card.js +1 -1
- package/dist/sidepanel.js +1 -1
- package/dist/status.js +1 -1
- package/dist/stepper.js +1 -1
- package/dist/structured-list.js +1 -1
- package/dist/styles/bento-dark.css +17 -4
- package/dist/styles/bento-light.css +17 -4
- package/dist/styles/bento.css +17 -4
- package/dist/styles/styleguide.css +17 -4
- package/dist/styles/utility.css +3 -0
- package/dist/summary-grid.js +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tag.js +1 -1
- package/dist/textarea.js +1 -1
- package/dist/timeline.js +1 -1
- package/dist/toast.js +1 -1
- package/dist/toggle.js +1 -1
- package/dist/tutorial.js +1 -1
- package/dist/typography.js +1 -1
- package/dist/use-form-v4.js.map +1 -1
- package/dist/web-types.json +1825 -740
- package/package.json +9 -13
- package/dist/assets/button-actions.css +0 -1
- package/dist/assets/menu.css +0 -1
- package/dist/assets/popover.css +0 -1
- package/dist/assets/teleport.css +0 -1
- package/dist/chunks/accordion-item.BNtdoVto.js.map +0 -1
- package/dist/chunks/action-bar.DQb7WVVd.js.map +0 -1
- package/dist/chunks/alert.c1rhDDrU.js.map +0 -1
- package/dist/chunks/avatar.BgwjpLQO.js.map +0 -1
- package/dist/chunks/base-button.-gx_u8Bd.js.map +0 -1
- package/dist/chunks/base-modal.CkkfT6r6.js.map +0 -1
- package/dist/chunks/base-modal.keys.C2PQXcE2.js +0 -5
- package/dist/chunks/base-modal.keys.C2PQXcE2.js.map +0 -1
- package/dist/chunks/bin.DLXkAVvw.js +0 -24
- package/dist/chunks/bin.DLXkAVvw.js.map +0 -1
- package/dist/chunks/button-actions-with-menu.nPj7sdGE.js +0 -83
- package/dist/chunks/button-actions-with-menu.nPj7sdGE.js.map +0 -1
- package/dist/chunks/button-actions.Ju27CRNG.js +0 -194
- package/dist/chunks/button-actions.Ju27CRNG.js.map +0 -1
- package/dist/chunks/button.hF-nD1Og.js.map +0 -1
- package/dist/chunks/calendar.DvIQEYwN.js.map +0 -1
- package/dist/chunks/card.CASAAsuJ.js.map +0 -1
- package/dist/chunks/checkbox-group.QdX-NrSG.js.map +0 -1
- package/dist/chunks/checkbox-input.CNWigbX4.js.map +0 -1
- package/dist/chunks/checkbox.DCD6SSXC.js.map +0 -1
- package/dist/chunks/chip.OV0EWIP3.js.map +0 -1
- package/dist/chunks/code-snippet.dIKi0D7d.js.map +0 -1
- package/dist/chunks/controls-group.CccuLkgP.js.map +0 -1
- package/dist/chunks/copy.CF8Fzu2Y.js.map +0 -1
- package/dist/chunks/country.melpzEsY.js.map +0 -1
- package/dist/chunks/currency.BM9OXTqe.js.map +0 -1
- package/dist/chunks/dashed-underline.BbH6Lnd2.js.map +0 -1
- package/dist/chunks/data-grid-template.Co0Ecr79.js.map +0 -1
- package/dist/chunks/data-grid.erxjh5TN.js.map +0 -1
- package/dist/chunks/date-picker.DGIS6Pp-.js.map +0 -1
- package/dist/chunks/date-range-picker.CIaKRXIQ.js +0 -1021
- package/dist/chunks/date-range-picker.CIaKRXIQ.js.map +0 -1
- package/dist/chunks/dialog-page.CLHZqQeU.js.map +0 -1
- package/dist/chunks/divider.Cc4JFWG_.js.map +0 -1
- package/dist/chunks/dropdown-default-textbox.94q6opSD.js.map +0 -1
- package/dist/chunks/dropdown-tag.BaosvGGZ.js +0 -240
- package/dist/chunks/dropdown-tag.BaosvGGZ.js.map +0 -1
- package/dist/chunks/dropdown.DazYAy4B.js.map +0 -1
- package/dist/chunks/empty-state.mtXfb1BB.js.map +0 -1
- package/dist/chunks/es6.n1ewaW31.js +0 -11
- package/dist/chunks/es6.n1ewaW31.js.map +0 -1
- package/dist/chunks/file-uploader.BPslxGI8.js.map +0 -1
- package/dist/chunks/filter-bar.DL19SXF1.js.map +0 -1
- package/dist/chunks/focus-trap.C-wIQqpO.js.map +0 -1
- package/dist/chunks/footer-actions.BE_zzX-e.js.map +0 -1
- package/dist/chunks/form-layout-title.CIynHgCF.js.map +0 -1
- package/dist/chunks/grid-layout.HvTAa4to.js.map +0 -1
- package/dist/chunks/header-with-views.BUQ-MlAq.js.map +0 -1
- package/dist/chunks/header.uyxNdQa3.js.map +0 -1
- package/dist/chunks/info-icon.CYOXx8CL.js.map +0 -1
- package/dist/chunks/info.CszJ0kMi.js +0 -24
- package/dist/chunks/info.CszJ0kMi.js.map +0 -1
- package/dist/chunks/input-field-password.C1zTapiN.js.map +0 -1
- package/dist/chunks/input-field.5S-pUNxA.js.map +0 -1
- package/dist/chunks/inspector.BI28vKQz.js.map +0 -1
- package/dist/chunks/layout-row.C_F2wX6d.js.map +0 -1
- package/dist/chunks/link.CXy_LoFI.js.map +0 -1
- package/dist/chunks/listbox-option-tag.D0Cql_R3.js.map +0 -1
- package/dist/chunks/loading-indicator.z8COalOc.js.map +0 -1
- package/dist/chunks/menu.D0OQgk40.js +0 -515
- package/dist/chunks/menu.D0OQgk40.js.map +0 -1
- package/dist/chunks/modal-fullscreen.DHotw1RI.js.map +0 -1
- package/dist/chunks/modal-fullscreen.keys.CMba3hYp.js +0 -5
- package/dist/chunks/modal-fullscreen.keys.CMba3hYp.js.map +0 -1
- package/dist/chunks/modal.eoNQ6E3U.js.map +0 -1
- package/dist/chunks/pagination.4J7ZMyf5.js.map +0 -1
- package/dist/chunks/payment-method.Cx4nPDtE.js.map +0 -1
- package/dist/chunks/popover.Bo4Bkudr.js +0 -145
- package/dist/chunks/popover.Bo4Bkudr.js.map +0 -1
- package/dist/chunks/popover.types.CBqyA4ly.js +0 -6
- package/dist/chunks/popover.types.CBqyA4ly.js.map +0 -1
- package/dist/chunks/popper-container.DIFqmRsp.js.map +0 -1
- package/dist/chunks/promo-banner.Bbc2U3S3.js.map +0 -1
- package/dist/chunks/radio-group.4_KKjvAm.js.map +0 -1
- package/dist/chunks/radio-input.uJAhxKRs.js.map +0 -1
- package/dist/chunks/rich-text-editor.BUKLdRkN.js.map +0 -1
- package/dist/chunks/search-bar.CuBj5FAE.js.map +0 -1
- package/dist/chunks/secondary-nav.C6usurfD.js.map +0 -1
- package/dist/chunks/segmented-control.DHZEfmT-.js.map +0 -1
- package/dist/chunks/selection-card-group.0o5T4tab.js.map +0 -1
- package/dist/chunks/sidepanel.DyThBUgV.js.map +0 -1
- package/dist/chunks/sidepanel.keys.R0DKQuYx.js +0 -5
- package/dist/chunks/sidepanel.keys.R0DKQuYx.js.map +0 -1
- package/dist/chunks/status.types.p_TCvoo0.js.map +0 -1
- package/dist/chunks/step.DMMofD4B.js.map +0 -1
- package/dist/chunks/structured-list-item.Bnn6-Z3q.js.map +0 -1
- package/dist/chunks/tab.BhWPBxcB.js.map +0 -1
- package/dist/chunks/tag.CGkclKVL.js.map +0 -1
- package/dist/chunks/teleport.BV6zrDjA.js +0 -128
- package/dist/chunks/teleport.BV6zrDjA.js.map +0 -1
- package/dist/chunks/textarea.UPM6N9V1.js +0 -203
- package/dist/chunks/textarea.UPM6N9V1.js.map +0 -1
- package/dist/chunks/timeline-item.DqLhj0Lb.js +0 -385
- package/dist/chunks/timeline-item.DqLhj0Lb.js.map +0 -1
- package/dist/chunks/toast.BOyeuS19.js.map +0 -1
- package/dist/chunks/toggle-button.DEVVvpkw.js +0 -83
- package/dist/chunks/toggle-button.DEVVvpkw.js.map +0 -1
- package/dist/chunks/toggle.DyXL09-x.js.map +0 -1
- package/dist/chunks/tooltip.wQsyAwkC.js.map +0 -1
- package/dist/chunks/tutorial.CxrGhLS7.js.map +0 -1
- package/dist/chunks/typography.J1v_SPG3.js.map +0 -1
- package/dist/chunks/use-cached-selected-values.0EeyFfyF.js.map +0 -1
- package/dist/chunks/use-click-outside.BnhTgpSt.js +0 -14
- package/dist/chunks/use-click-outside.BnhTgpSt.js.map +0 -1
- package/dist/chunks/use-country-items.BllTb5MK.js.map +0 -1
- package/dist/chunks/warning-filled.tWOyLUQT.js +0 -24
- package/dist/chunks/warning-filled.tWOyLUQT.js.map +0 -1
- package/dist/styles/legacy.css +0 -2226
|
@@ -1,515 +0,0 @@
|
|
|
1
|
-
import { defineComponent as M, computed as h, ref as a, inject as N, onMounted as P, watch as K, nextTick as A, useSlots as G, provide as X } from "vue";
|
|
2
|
-
import { B as F, D as q } from "./divider.Cc4JFWG_.js";
|
|
3
|
-
import { B as V } from "./popover.Bo4Bkudr.js";
|
|
4
|
-
import { B as Y } from "./popover.types.CBqyA4ly.js";
|
|
5
|
-
import { u as j } from "./use-click-outside.BnhTgpSt.js";
|
|
6
|
-
import { u as J } from "./use-has-slot.C9lQZ6nz.js";
|
|
7
|
-
import { g as Z } from "./generate-uid.NJ8tVoha.js";
|
|
8
|
-
import { u as z } from "./i18n.BQkEbtPM.js";
|
|
9
|
-
import { B as $, p as Q } from "./typography.J1v_SPG3.js";
|
|
10
|
-
import { C as ee } from "./chevron-down.eYtgv5ly.js";
|
|
11
|
-
/* empty css */
|
|
12
|
-
import { n as x } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
|
|
13
|
-
import "./index.Cl4_42j5.js";
|
|
14
|
-
import { C as te, a as R } from "./chevron-right.C--ZOC9j.js";
|
|
15
|
-
import { a as T, B as ne } from "./base-button.-gx_u8Bd.js";
|
|
16
|
-
import { t as oe } from "./truncate.BfIl_-71.js";
|
|
17
|
-
import { B as se } from "./teleport.BV6zrDjA.js";
|
|
18
|
-
import { B as ue } from "./toggle-button.DEVVvpkw.js";
|
|
19
|
-
import "../assets/menu.css";
|
|
20
|
-
const le = Symbol("menu inverse style injection key");
|
|
21
|
-
let D = 0;
|
|
22
|
-
const ae = {
|
|
23
|
-
beforeCreate() {
|
|
24
|
-
this.uuid = D.toString(), D += 1;
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
var re = function() {
|
|
28
|
-
var t = this, n = t._self._c;
|
|
29
|
-
return n("svg", t._b({ staticClass: "ui-assets-icons-16", attrs: { role: "img", xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "none" } }, "svg", t.$attrs, !1), [t.$attrs["svg-title"] ? n("title", [t._v(t._s(t.$attrs["svg-title"]))]) : t._e(), n("path", { attrs: { fill: "#001222", d: "M8 4C8.29667 4 8.58668 3.91203 8.83335 3.74721C9.08003 3.58238 9.27229 3.34811 9.38582 3.07403C9.49935 2.79994 9.52906 2.49834 9.47118 2.20737C9.4133 1.91639 9.27044 1.64912 9.06066 1.43934C8.85088 1.22956 8.58361 1.0867 8.29264 1.02882C8.00167 0.970945 7.70006 1.00065 7.42598 1.11418C7.15189 1.22771 6.91762 1.41997 6.7528 1.66665C6.58797 1.91332 6.5 2.20333 6.5 2.5C6.5 2.89783 6.65803 3.27936 6.93934 3.56066C7.22064 3.84197 7.60218 4 8 4Z" } }), n("path", { attrs: { fill: "#001222", d: "M8 15C8.29667 15 8.58668 14.912 8.83335 14.7472C9.08003 14.5824 9.27229 14.3481 9.38582 14.074C9.49935 13.7999 9.52906 13.4983 9.47118 13.2074C9.4133 12.9164 9.27044 12.6491 9.06066 12.4393C8.85088 12.2296 8.58361 12.0867 8.29264 12.0288C8.00167 11.9709 7.70006 12.0007 7.42598 12.1142C7.15189 12.2277 6.91762 12.42 6.7528 12.6666C6.58797 12.9133 6.5 13.2033 6.5 13.5C6.5 13.8978 6.65803 14.2794 6.93934 14.5607C7.22064 14.842 7.60218 15 8 15Z" } }), n("path", { attrs: { fill: "#001222", d: "M8.83335 9.24721C8.58668 9.41203 8.29667 9.5 8 9.5C7.60218 9.5 7.22064 9.34197 6.93934 9.06066C6.65803 8.77936 6.5 8.39783 6.5 8C6.5 7.70333 6.58797 7.41332 6.7528 7.16665C6.91762 6.91997 7.15189 6.72771 7.42598 6.61418C7.70006 6.50065 8.00167 6.47094 8.29264 6.52882C8.58361 6.5867 8.85088 6.72956 9.06066 6.93934C9.27044 7.14912 9.4133 7.41639 9.47118 7.70737C9.52906 7.99834 9.49935 8.29994 9.38582 8.57403C9.27229 8.84811 9.08003 9.08238 8.83335 9.24721Z" } })]);
|
|
30
|
-
}, ie = [], ce = /* @__PURE__ */ x(
|
|
31
|
-
ae,
|
|
32
|
-
re,
|
|
33
|
-
ie,
|
|
34
|
-
!1,
|
|
35
|
-
null,
|
|
36
|
-
null
|
|
37
|
-
);
|
|
38
|
-
const fe = ce.exports, de = M({
|
|
39
|
-
name: "menu-item",
|
|
40
|
-
components: { BaseButton: ne, BentoTypography: $, ChevronRightIcon: te },
|
|
41
|
-
props: {
|
|
42
|
-
/**
|
|
43
|
-
* menu-item text that gets displayed as the main label
|
|
44
|
-
*/
|
|
45
|
-
text: {
|
|
46
|
-
type: String,
|
|
47
|
-
required: !0
|
|
48
|
-
},
|
|
49
|
-
/**
|
|
50
|
-
* menu-item action that gets executed when the MeniItem is clicked
|
|
51
|
-
*/
|
|
52
|
-
handler: {
|
|
53
|
-
type: Function,
|
|
54
|
-
required: !0
|
|
55
|
-
},
|
|
56
|
-
/**
|
|
57
|
-
* menu-item text that gets displayed as the secondary label
|
|
58
|
-
*/
|
|
59
|
-
secondaryText: {
|
|
60
|
-
type: String,
|
|
61
|
-
default: null
|
|
62
|
-
},
|
|
63
|
-
/**
|
|
64
|
-
* Optional chevron icon displayed to the right of the menu-item
|
|
65
|
-
*/
|
|
66
|
-
chevron: {
|
|
67
|
-
type: Boolean,
|
|
68
|
-
default: !1
|
|
69
|
-
},
|
|
70
|
-
/**
|
|
71
|
-
* Optional icon displayed to the left of the menu-item
|
|
72
|
-
*/
|
|
73
|
-
icon: {
|
|
74
|
-
// Types for Vue2 (Object) and Vue3 (Function)
|
|
75
|
-
// TODO: Remove Object when fully migrated to Vue3
|
|
76
|
-
type: [Object, Function],
|
|
77
|
-
default: null
|
|
78
|
-
},
|
|
79
|
-
/**
|
|
80
|
-
* Disables menu-item button functionality
|
|
81
|
-
*/
|
|
82
|
-
disabled: {
|
|
83
|
-
type: Boolean,
|
|
84
|
-
default: !1
|
|
85
|
-
},
|
|
86
|
-
/**
|
|
87
|
-
* Displays an indent variant od the menu-item
|
|
88
|
-
*/
|
|
89
|
-
indent: {
|
|
90
|
-
type: Boolean,
|
|
91
|
-
default: !1
|
|
92
|
-
},
|
|
93
|
-
/**
|
|
94
|
-
* Displays menu-item button as critical
|
|
95
|
-
*/
|
|
96
|
-
critical: {
|
|
97
|
-
type: Boolean,
|
|
98
|
-
default: !1
|
|
99
|
-
},
|
|
100
|
-
/**
|
|
101
|
-
* Renders the text in a bold variant
|
|
102
|
-
*/
|
|
103
|
-
isTitle: {
|
|
104
|
-
type: Boolean,
|
|
105
|
-
default: !1
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
emits: [T.CLICK],
|
|
109
|
-
setup(u, { emit: t }) {
|
|
110
|
-
const e = h(() => ({
|
|
111
|
-
"b-menu-item--critical": u.critical,
|
|
112
|
-
"b-menu-item--indent": u.indent
|
|
113
|
-
})), s = h(() => oe(u.secondaryText, 10));
|
|
114
|
-
return {
|
|
115
|
-
// Values
|
|
116
|
-
conditionalClasses: e,
|
|
117
|
-
computedSecondaryText: s,
|
|
118
|
-
// Methods
|
|
119
|
-
onClick: (i) => {
|
|
120
|
-
i.stopPropagation(), u.handler(), t(T.CLICK);
|
|
121
|
-
}
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
var me = function() {
|
|
126
|
-
var t = this, n = t._self._c;
|
|
127
|
-
return t._self._setupProxy, n("base-button", { staticClass: "b-menu-item", class: t.conditionalClasses, attrs: { role: "menuitem", disabled: t.disabled, tabindex: "-1" }, on: { click: t.onClick }, scopedSlots: t._u([t.icon ? { key: "iconLeft", fn: function() {
|
|
128
|
-
return [n(t.icon, { tag: "component", staticClass: "b-menu-item__icon-left", attrs: { "aria-hidden": "true" } })];
|
|
129
|
-
}, proxy: !0 } : null, { key: "default", fn: function() {
|
|
130
|
-
return [n("bento-typography", { staticClass: "b-menu-item__primary-text", attrs: { el: "span", variant: "body", stronger: t.isTitle } }, [t._v(" " + t._s(t.text) + " ")]), t.computedSecondaryText ? n("bento-typography", { staticClass: "b-menu-item__secondary-text", attrs: { el: "span", variant: "body" } }, [t._v(" " + t._s(t.computedSecondaryText) + " ")]) : t._e()];
|
|
131
|
-
}, proxy: !0 }, t.chevron ? { key: "iconRight", fn: function() {
|
|
132
|
-
return [n("chevron-right-icon", { attrs: { "aria-hidden": "true" } })];
|
|
133
|
-
}, proxy: !0 } : null], null, !0) });
|
|
134
|
-
}, pe = [], _e = /* @__PURE__ */ x(
|
|
135
|
-
de,
|
|
136
|
-
me,
|
|
137
|
-
pe,
|
|
138
|
-
!1,
|
|
139
|
-
null,
|
|
140
|
-
"1e289ecc"
|
|
141
|
-
);
|
|
142
|
-
const W = _e.exports;
|
|
143
|
-
var C = /* @__PURE__ */ ((u) => (u.BACK = "back", u.CLOSE = "close", u.OPEN = "open", u))(C || {});
|
|
144
|
-
const ye = Symbol("menu registering injection key"), ve = {
|
|
145
|
-
name: "bento-menu-list-container"
|
|
146
|
-
}, Ce = /* @__PURE__ */ M({
|
|
147
|
-
...ve,
|
|
148
|
-
setup(u) {
|
|
149
|
-
const t = a(), n = a({}), e = N(
|
|
150
|
-
ye,
|
|
151
|
-
!1
|
|
152
|
-
);
|
|
153
|
-
if (e) {
|
|
154
|
-
const { registerMenuContainerElement: s } = e;
|
|
155
|
-
s(t), n.value = {
|
|
156
|
-
mouseleave: e == null ? void 0 : e.menuMouseLeave
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
return { __sfc: !0, menuListContainerRef: t, menuListContainerEvents: n, registeringAndMousingOut: e };
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
var he = function() {
|
|
163
|
-
var t = this, n = t._self._c, e = t._self._setupProxy;
|
|
164
|
-
return n("div", t._g({ ref: "menuListContainerRef", staticClass: "b-menu-list-container", attrs: { "data-testid": "menu-list-container" } }, e.menuListContainerEvents), [t._t("default")], 2);
|
|
165
|
-
}, be = [], ke = /* @__PURE__ */ x(
|
|
166
|
-
Ce,
|
|
167
|
-
he,
|
|
168
|
-
be,
|
|
169
|
-
!1,
|
|
170
|
-
null,
|
|
171
|
-
"f5d01392"
|
|
172
|
-
);
|
|
173
|
-
const U = ke.exports, H = {
|
|
174
|
-
"en-US": {
|
|
175
|
-
backButton: "Go back",
|
|
176
|
-
menuButton: "Open menu"
|
|
177
|
-
}
|
|
178
|
-
}, ge = M({
|
|
179
|
-
i18n: { messages: H },
|
|
180
|
-
name: "sub-menu-item-list",
|
|
181
|
-
components: { BentoDivider: F, MenuItem: W, MenuListContainer: U },
|
|
182
|
-
props: {
|
|
183
|
-
items: {
|
|
184
|
-
type: Array,
|
|
185
|
-
required: !0
|
|
186
|
-
},
|
|
187
|
-
title: {
|
|
188
|
-
type: String,
|
|
189
|
-
required: !0
|
|
190
|
-
}
|
|
191
|
-
},
|
|
192
|
-
emits: [C.CLOSE, C.BACK],
|
|
193
|
-
setup(u, { emit: t }) {
|
|
194
|
-
const n = a(null), e = a(0), s = a(u.items.length), m = () => t(C.CLOSE), i = () => t(C.BACK), r = h(() => {
|
|
195
|
-
var y;
|
|
196
|
-
const l = (y = u.items) == null ? void 0 : y.map((p) => ({
|
|
197
|
-
...p,
|
|
198
|
-
indent: !p.icon,
|
|
199
|
-
isTitle: !1,
|
|
200
|
-
clickHandler: m
|
|
201
|
-
}));
|
|
202
|
-
return [
|
|
203
|
-
{
|
|
204
|
-
text: u.title,
|
|
205
|
-
secondaryText: null,
|
|
206
|
-
critical: !1,
|
|
207
|
-
icon: R,
|
|
208
|
-
isTitle: !0,
|
|
209
|
-
disabled: !1,
|
|
210
|
-
indent: !1,
|
|
211
|
-
handler: i,
|
|
212
|
-
clickHandler: i,
|
|
213
|
-
addDivider: !0
|
|
214
|
-
},
|
|
215
|
-
...l
|
|
216
|
-
];
|
|
217
|
-
}), c = async () => {
|
|
218
|
-
var l, y, p, v, k;
|
|
219
|
-
(k = (v = (p = (y = (l = n.value) == null ? void 0 : l.children) == null ? void 0 : y[e.value]) == null ? void 0 : p.children) == null ? void 0 : v[0]) == null || k.focus();
|
|
220
|
-
};
|
|
221
|
-
P(async () => {
|
|
222
|
-
setTimeout(() => c(), 150);
|
|
223
|
-
});
|
|
224
|
-
const o = () => {
|
|
225
|
-
e.value > 0 ? (e.value -= 1, r.value[e.value].disabled && o()) : e.value = s.value, c();
|
|
226
|
-
}, _ = () => {
|
|
227
|
-
e.value < s.value ? (e.value += 1, r.value[e.value].disabled && _()) : e.value = 0, c();
|
|
228
|
-
};
|
|
229
|
-
return {
|
|
230
|
-
// Enums
|
|
231
|
-
BentoMenuEvent: C,
|
|
232
|
-
// Values
|
|
233
|
-
subMenuItemListRefLocal: n,
|
|
234
|
-
subMenuFocusedIndex: e,
|
|
235
|
-
ChevronLeftIcon: R,
|
|
236
|
-
computedItems: r,
|
|
237
|
-
// Methods
|
|
238
|
-
closeMenu: m,
|
|
239
|
-
onBackButton: i,
|
|
240
|
-
focusPrevious: o,
|
|
241
|
-
focusNext: _
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
});
|
|
245
|
-
var Ie = function() {
|
|
246
|
-
var t = this, n = t._self._c;
|
|
247
|
-
return t._self._setupProxy, n("transition", { attrs: { name: "b-sub-menu-item-list__transition", appear: "" } }, [n("menu-list-container", { staticClass: "b-sub-menu-item-list" }, [n("ul", { ref: "subMenuItemListRefLocal", staticClass: "b-sub-menu-item-list__list", attrs: { role: "menu" }, on: { keydown: [function(e) {
|
|
248
|
-
return !e.type.indexOf("key") && t._k(e.keyCode, "down", 40, e.key, ["Down", "ArrowDown"]) ? null : (e.stopPropagation(), t.focusNext.apply(null, arguments));
|
|
249
|
-
}, function(e) {
|
|
250
|
-
return !e.type.indexOf("key") && t._k(e.keyCode, "up", 38, e.key, ["Up", "ArrowUp"]) ? null : (e.stopPropagation(), t.focusPrevious.apply(null, arguments));
|
|
251
|
-
}, function(e) {
|
|
252
|
-
return !e.type.indexOf("key") && t._k(e.keyCode, "esc", 27, e.key, ["Esc", "Escape"]) ? null : (e.stopPropagation(), t.onBackButton.apply(null, arguments));
|
|
253
|
-
}] } }, t._l(t.computedItems, function(e, s) {
|
|
254
|
-
return n("li", { key: `sub-menu-item-list-item-${s}`, attrs: { role: "none" } }, [n("menu-item", { attrs: { text: e.text, handler: e.handler, "secondary-text": e.secondaryText, icon: e.icon, "is-title": e.isTitle, disabled: e.disabled, critical: e.critical, indent: e.indent, tabindex: s === t.subMenuFocusedIndex ? "0" : "-1" }, on: { click: e.clickHandler } }), e.addDivider ? n("bento-divider", { staticClass: "b-sub-menu-item-list__divider" }) : t._e()], 1);
|
|
255
|
-
}), 0)])], 1);
|
|
256
|
-
}, xe = [], Me = /* @__PURE__ */ x(
|
|
257
|
-
ge,
|
|
258
|
-
Ie,
|
|
259
|
-
xe,
|
|
260
|
-
!1,
|
|
261
|
-
null,
|
|
262
|
-
"25195627"
|
|
263
|
-
);
|
|
264
|
-
const Be = Me.exports;
|
|
265
|
-
function we(u, t, n) {
|
|
266
|
-
const m = a(0), i = a(0), r = (o) => {
|
|
267
|
-
if (!o || !o.parentElement)
|
|
268
|
-
return;
|
|
269
|
-
const _ = o.parentElement, l = o.cloneNode(!0);
|
|
270
|
-
l.style.position = "absolute", l.style.visibility = "hidden", _.appendChild(l), l.style.width = "max-content";
|
|
271
|
-
const y = l.offsetWidth, p = Math.max(150, Math.min(y, 350));
|
|
272
|
-
m.value = p, l.style.width = `${p}px`;
|
|
273
|
-
const v = l.offsetHeight;
|
|
274
|
-
i.value = v, _.removeChild(l), i.value = v;
|
|
275
|
-
};
|
|
276
|
-
return K([t, n], async ([o]) => {
|
|
277
|
-
var _, l;
|
|
278
|
-
if (o !== null) {
|
|
279
|
-
await A();
|
|
280
|
-
const y = (l = (_ = u.value) == null ? void 0 : _[0]) == null ? void 0 : l.$el;
|
|
281
|
-
y && r(y);
|
|
282
|
-
} else
|
|
283
|
-
m.value = 0, i.value = 0;
|
|
284
|
-
}), { computedStyle: h(() => {
|
|
285
|
-
const o = { width: "max-content" };
|
|
286
|
-
return n.value && (i.value > 0 && (o.height = `${i.value}px`), m.value > 0 && (o.width = `${m.value}px`)), o;
|
|
287
|
-
}) };
|
|
288
|
-
}
|
|
289
|
-
const Se = M({
|
|
290
|
-
name: "menu-item-list",
|
|
291
|
-
components: { BentoDivider: F, MenuItem: W, MenuListContainer: U, SubMenuItemList: Be },
|
|
292
|
-
props: {
|
|
293
|
-
/**
|
|
294
|
-
* The data to be displayed in the list
|
|
295
|
-
*/
|
|
296
|
-
data: {
|
|
297
|
-
type: Array,
|
|
298
|
-
required: !0
|
|
299
|
-
},
|
|
300
|
-
/**
|
|
301
|
-
* Displays the menu-items of the list in the indent variant. Only applies to elements that don't have an icon to their left.
|
|
302
|
-
*/
|
|
303
|
-
indentItems: {
|
|
304
|
-
type: Boolean,
|
|
305
|
-
default: !1
|
|
306
|
-
},
|
|
307
|
-
/**
|
|
308
|
-
* If set to true, focuses the last item on the list instead of the first. Used for accessibility purposes when the menu is opened with the 'up' arrow key.
|
|
309
|
-
*/
|
|
310
|
-
focusLastElement: {
|
|
311
|
-
type: Boolean,
|
|
312
|
-
default: !1
|
|
313
|
-
},
|
|
314
|
-
/**
|
|
315
|
-
* If set to true, closes the menu when an item is clicked.
|
|
316
|
-
*/
|
|
317
|
-
closeMenuOnItemSelect: {
|
|
318
|
-
type: Boolean,
|
|
319
|
-
default: !0
|
|
320
|
-
}
|
|
321
|
-
},
|
|
322
|
-
emits: [C.CLOSE, "menu-item-click"],
|
|
323
|
-
setup(u, { emit: t, expose: n }) {
|
|
324
|
-
const e = a(null), s = a(null), m = a(null), i = a(null), r = a(!1), c = a(null), o = a(u.focusLastElement ? u.data.length - 1 : 0), _ = a(0), l = a(u.data.length - 1), y = h(() => u.data.some((d) => d.icon)), p = h(() => u.indentItems || y.value ? u.data.map((d) => {
|
|
325
|
-
let f = !1;
|
|
326
|
-
return d.icon || (f = !0), {
|
|
327
|
-
...d,
|
|
328
|
-
indent: f
|
|
329
|
-
};
|
|
330
|
-
}) : u.data), v = async () => {
|
|
331
|
-
var d, f, b;
|
|
332
|
-
(b = (f = (d = s.value) == null ? void 0 : d.children[o.value]) == null ? void 0 : f.children[0]) == null || b.focus();
|
|
333
|
-
}, k = () => t(C.CLOSE), B = (d, f) => {
|
|
334
|
-
if (d.items) {
|
|
335
|
-
c.value = f, r.value = !0;
|
|
336
|
-
return;
|
|
337
|
-
}
|
|
338
|
-
c.value = f, r.value = !1, !d.skipClose && u.closeMenuOnItemSelect !== !1 && k(), t("menu-item-click");
|
|
339
|
-
}, g = () => {
|
|
340
|
-
o.value > 0 ? (o.value -= 1, p.value[o.value].disabled && g()) : o.value = l.value, v();
|
|
341
|
-
}, I = () => {
|
|
342
|
-
o.value < l.value ? (o.value += 1, p.value[o.value].disabled && I()) : o.value = 0, v();
|
|
343
|
-
}, w = (d, f) => {
|
|
344
|
-
var b;
|
|
345
|
-
(b = d == null ? void 0 : d.items) != null && b.length && (c.value = f, r.value = !0);
|
|
346
|
-
}, S = () => {
|
|
347
|
-
c.value && r.value && (c.value = null, r.value = !1);
|
|
348
|
-
}, E = () => {
|
|
349
|
-
r.value = !1, c.value = null, v();
|
|
350
|
-
};
|
|
351
|
-
n({
|
|
352
|
-
focusItem: v
|
|
353
|
-
});
|
|
354
|
-
const { computedStyle: O } = we(i, c, r);
|
|
355
|
-
return {
|
|
356
|
-
// Values
|
|
357
|
-
menuItemListRef: s,
|
|
358
|
-
menuItemListWrapperRef: m,
|
|
359
|
-
subMenuItemListRef: i,
|
|
360
|
-
menuItemRef: e,
|
|
361
|
-
computedData: p,
|
|
362
|
-
computedStyle: O,
|
|
363
|
-
focusedIndex: o,
|
|
364
|
-
subMenuFocusedIndex: _,
|
|
365
|
-
showSubMenu: r,
|
|
366
|
-
visibleSubMenuIndex: c,
|
|
367
|
-
// Methods
|
|
368
|
-
menuItemClick: B,
|
|
369
|
-
closeMenu: k,
|
|
370
|
-
focusPrevious: g,
|
|
371
|
-
focusNext: I,
|
|
372
|
-
focusRight: w,
|
|
373
|
-
focusLeft: S,
|
|
374
|
-
onBackButton: E
|
|
375
|
-
};
|
|
376
|
-
}
|
|
377
|
-
});
|
|
378
|
-
var Ee = function() {
|
|
379
|
-
var t = this, n = t._self._c;
|
|
380
|
-
return t._self._setupProxy, n("menu-list-container", { ref: "menuItemListWrapperRef", style: t.computedStyle }, [n("ul", { ref: "menuItemListRef", staticClass: "b-menu-item-list", attrs: { role: "menu" }, on: { keydown: [function(e) {
|
|
381
|
-
return !e.type.indexOf("key") && t._k(e.keyCode, "down", 40, e.key, ["Down", "ArrowDown"]) ? null : t.focusNext.apply(null, arguments);
|
|
382
|
-
}, function(e) {
|
|
383
|
-
return !e.type.indexOf("key") && t._k(e.keyCode, "up", 38, e.key, ["Up", "ArrowUp"]) ? null : t.focusPrevious.apply(null, arguments);
|
|
384
|
-
}, function(e) {
|
|
385
|
-
return !e.type.indexOf("key") && t._k(e.keyCode, "esc", 27, e.key, ["Esc", "Escape"]) ? null : t.closeMenu.apply(null, arguments);
|
|
386
|
-
}, function(e) {
|
|
387
|
-
return !e.type.indexOf("key") && t._k(e.keyCode, "tab", 9, e.key, "Tab") ? null : t.closeMenu.apply(null, arguments);
|
|
388
|
-
}] } }, t._l(t.computedData, function(e, s) {
|
|
389
|
-
var m, i, r, c;
|
|
390
|
-
return n("li", { key: `menu-item-${s}`, ref: "menuItemRef", refInFor: !0, staticClass: "b-menu-item-list__item", attrs: { role: "none" }, on: { keydown: [function(o) {
|
|
391
|
-
return !o.type.indexOf("key") && t._k(o.keyCode, "right", 39, o.key, ["Right", "ArrowRight"]) || "button" in o && o.button !== 2 ? null : t.focusRight(e, s);
|
|
392
|
-
}, function(o) {
|
|
393
|
-
return !o.type.indexOf("key") && t._k(o.keyCode, "left", 37, o.key, ["Left", "ArrowLeft"]) || "button" in o && o.button !== 0 ? null : t.focusLeft();
|
|
394
|
-
}] } }, [n("menu-item", { attrs: { text: e.text, handler: (m = e.items) != null && m.length ? () => null : e.handler, "secondary-text": e.secondaryText, icon: e.icon, chevron: !!((i = e.items) != null && i.length), disabled: e.disabled, critical: e.critical, indent: e.indent, tabindex: s === t.subMenuFocusedIndex ? "0" : "-1", "aria-haspopup": !!((r = e.items) != null && r.length), "aria-expanded": t.showSubMenu && t.visibleSubMenuIndex === s }, on: { click: function(o) {
|
|
395
|
-
return t.menuItemClick(e, s);
|
|
396
|
-
} } }), e.addDivider ? n("bento-divider", { staticClass: "b-menu-item-list__divider" }) : t._e(), (c = e.items) != null && c.length && t.showSubMenu && t.visibleSubMenuIndex === s ? n("sub-menu-item-list", { ref: "subMenuItemListRef", refInFor: !0, attrs: { items: e.items, title: e.text }, on: { back: t.onBackButton, close: t.closeMenu } }) : t._e()], 1);
|
|
397
|
-
}), 0)]);
|
|
398
|
-
}, Oe = [], Le = /* @__PURE__ */ x(
|
|
399
|
-
Se,
|
|
400
|
-
Ee,
|
|
401
|
-
Oe,
|
|
402
|
-
!1,
|
|
403
|
-
null,
|
|
404
|
-
"a94a192f"
|
|
405
|
-
);
|
|
406
|
-
const Re = Le.exports, Te = {
|
|
407
|
-
i18n: { messages: H },
|
|
408
|
-
name: "bento-menu"
|
|
409
|
-
}, De = /* @__PURE__ */ M({
|
|
410
|
-
...Te,
|
|
411
|
-
props: {
|
|
412
|
-
button: { default: () => ({
|
|
413
|
-
variant: "secondary"
|
|
414
|
-
}) },
|
|
415
|
-
closeMenuOnItemSelect: { type: Boolean, default: !0 },
|
|
416
|
-
data: null,
|
|
417
|
-
disableArrowDownOpeningMenu: { type: Boolean, default: !1 },
|
|
418
|
-
menuPosition: { default: Y.BOTTOM_START },
|
|
419
|
-
menuFixedPositioning: { type: Boolean, default: !1 },
|
|
420
|
-
menuWidth: { default: null },
|
|
421
|
-
revertFocusToButton: { type: Boolean, default: !0 },
|
|
422
|
-
teleport: { type: Boolean, default: !1 },
|
|
423
|
-
closeOnClickOutsideOptions: { default: void 0 }
|
|
424
|
-
},
|
|
425
|
-
emits: ["menu-item-click", "click-outside"],
|
|
426
|
-
setup(u, { expose: t, emit: n }) {
|
|
427
|
-
var d;
|
|
428
|
-
const e = u, s = G(), m = J(s), { t: i } = z(), r = a(null), c = a(null), o = a(!1), _ = a(!1), l = a(null), y = Z("menu"), p = N(le, a(!1));
|
|
429
|
-
X(q, p);
|
|
430
|
-
const v = h(() => ({
|
|
431
|
-
"b-menu--inverse": p.value
|
|
432
|
-
})), k = h(() => e.menuWidth ? { width: `${e.menuWidth}px` } : null), B = h(() => {
|
|
433
|
-
if (e != null && e.button)
|
|
434
|
-
return {
|
|
435
|
-
variant: "secondary",
|
|
436
|
-
...e.button
|
|
437
|
-
};
|
|
438
|
-
}), g = () => {
|
|
439
|
-
o.value = !0, n(C.OPEN);
|
|
440
|
-
}, I = async (f = e.revertFocusToButton) => {
|
|
441
|
-
var b, L;
|
|
442
|
-
o.value && (o.value = !1, f && (await A(), (L = (b = r.value) == null ? void 0 : b.$el) == null || L.focus()), n(C.CLOSE));
|
|
443
|
-
}, w = (f) => {
|
|
444
|
-
f.stopPropagation(), o.value ? I() : g();
|
|
445
|
-
}, S = (f) => {
|
|
446
|
-
f.preventDefault(), _.value = !1, e.disableArrowDownOpeningMenu || g();
|
|
447
|
-
}, E = (f) => {
|
|
448
|
-
f.preventDefault(), _.value = !0, g();
|
|
449
|
-
}, O = () => {
|
|
450
|
-
n("menu-item-click");
|
|
451
|
-
};
|
|
452
|
-
return j(
|
|
453
|
-
l,
|
|
454
|
-
() => {
|
|
455
|
-
I(), n("click-outside");
|
|
456
|
-
},
|
|
457
|
-
{
|
|
458
|
-
...e.closeOnClickOutsideOptions,
|
|
459
|
-
ignore: [r, ...((d = e.closeOnClickOutsideOptions) == null ? void 0 : d.ignore) ?? []]
|
|
460
|
-
}
|
|
461
|
-
), t({
|
|
462
|
-
/**
|
|
463
|
-
* Control to enable programmatic closing of the menu
|
|
464
|
-
*/
|
|
465
|
-
closeMenu: I
|
|
466
|
-
}), P(() => {
|
|
467
|
-
m("iconRight") && Q(
|
|
468
|
-
'"bento-menu" no longer supports the "iconRight" slot. The right-aligned icon is now fixed by design.'
|
|
469
|
-
);
|
|
470
|
-
}), { __sfc: !0, props: e, emit: n, slots: s, hasSlot: m, t: i, menuButtonRef: r, menuItemListRef: c, showMenu: o, isLastElementFocused: _, popoverRef: l, menuId: y, isInverseColorSet: p, computedClasses: v, computedMenuWidth: k, computedButtonPropsWithDefaults: B, openMenu: g, closeMenu: I, toggleShowMenu: w, onKeyDown: S, onKeyUp: E, menuItemClick: O, BentoToggleButton: ue, BentoPopover: V, BentoTeleport: se, ChevronDownIcon: ee, OptionsVerticalIcon: fe, MenuItemList: Re };
|
|
471
|
-
}
|
|
472
|
-
});
|
|
473
|
-
var Ne = function() {
|
|
474
|
-
var t = this, n = t._self._c, e = t._self._setupProxy;
|
|
475
|
-
return n("div", { staticClass: "b-menu", class: e.computedClasses, attrs: { "data-testid": "menu" }, on: { keydown: [function(s) {
|
|
476
|
-
return !s.type.indexOf("key") && t._k(s.keyCode, "down", 40, s.key, ["Down", "ArrowDown"]) ? null : e.onKeyDown.apply(null, arguments);
|
|
477
|
-
}, function(s) {
|
|
478
|
-
return !s.type.indexOf("key") && t._k(s.keyCode, "up", 38, s.key, ["Up", "ArrowUp"]) ? null : e.onKeyUp.apply(null, arguments);
|
|
479
|
-
}, function(s) {
|
|
480
|
-
return !s.type.indexOf("key") && t._k(s.keyCode, "esc", 27, s.key, ["Esc", "Escape"]) ? null : e.closeMenu();
|
|
481
|
-
}] } }, [n(e.BentoToggleButton, t._b({ ref: "menuButtonRef", attrs: { "aria-haspopup": "true", "aria-controls": e.showMenu ? e.menuId : null, toggled: e.showMenu, inverse: e.isInverseColorSet }, on: { click: e.toggleShowMenu }, scopedSlots: t._u([!e.hasSlot("default") || e.hasSlot("iconLeft") ? { key: "iconLeft", fn: function() {
|
|
482
|
-
return [t._t("iconLeft", function() {
|
|
483
|
-
return [n(e.OptionsVerticalIcon, { attrs: { title: e.t("menuButton") } })];
|
|
484
|
-
})];
|
|
485
|
-
}, proxy: !0 } : null, e.hasSlot("default") ? { key: "default", fn: function() {
|
|
486
|
-
return [t._t("default")];
|
|
487
|
-
}, proxy: !0 } : null, e.hasSlot("default") ? { key: "iconRight", fn: function() {
|
|
488
|
-
return [n(e.ChevronDownIcon)];
|
|
489
|
-
}, proxy: !0 } : null], null, !0) }, "bento-toggle-button", e.computedButtonPropsWithDefaults, !1)), e.menuButtonRef ? n(e.BentoTeleport, { attrs: { disabled: !t.teleport } }, [e.menuButtonRef ? n(e.BentoPopover, { ref: "popoverRef", staticClass: "b-menu__popover", style: e.computedMenuWidth, attrs: { id: e.menuId, role: null, open: e.showMenu, "target-element": e.menuButtonRef, position: t.menuPosition, "fixed-positioning": t.menuFixedPositioning, "fallback-position": [
|
|
490
|
-
"bottom-start",
|
|
491
|
-
"bottom-end",
|
|
492
|
-
"top-start",
|
|
493
|
-
"top-end",
|
|
494
|
-
"right-start",
|
|
495
|
-
"right-end",
|
|
496
|
-
"left-start",
|
|
497
|
-
"left-end"
|
|
498
|
-
], teleport: t.teleport, "without-space": "" } }, [n(e.MenuItemList, { ref: "menuItemListRef", attrs: { "close-menu-on-item-select": t.closeMenuOnItemSelect, data: t.data, "focus-last-element": e.isLastElementFocused }, on: { close: e.closeMenu, "menu-item-click": e.menuItemClick } })], 1) : t._e()], 1) : t._e()], 1);
|
|
499
|
-
}, Pe = [], Ae = /* @__PURE__ */ x(
|
|
500
|
-
De,
|
|
501
|
-
Ne,
|
|
502
|
-
Pe,
|
|
503
|
-
!1,
|
|
504
|
-
null,
|
|
505
|
-
"f7030411"
|
|
506
|
-
);
|
|
507
|
-
const nt = Ae.exports;
|
|
508
|
-
export {
|
|
509
|
-
nt as B,
|
|
510
|
-
ye as D,
|
|
511
|
-
le as M,
|
|
512
|
-
fe as O,
|
|
513
|
-
C as a
|
|
514
|
-
};
|
|
515
|
-
//# sourceMappingURL=menu.D0OQgk40.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu.D0OQgk40.js","sources":["../../src/components/menu/menu.keys.ts","../../../ui-assets/icons-16/dist/vue/options-vertical.vue","../../src/components/menu/components/menu-item/menu-item.vue","../../src/components/menu/menu.types.ts","../../src/components/data-grid/components/data-grid-cell/data-grid-cell.keys.ts","../../src/components/menu/components/menu-list-container/menu-list-container.vue","../../src/components/menu/components/sub-menu-item-list/sub-menu-item-list.vue","../../src/components/menu/composables/use-dynamic-menu-size/use-dynamic-menu-size.ts","../../src/components/menu/components/menu-item-list/menu-item-list.vue","../../src/components/menu/menu.vue"],"sourcesContent":["export const MENU_INVERSE_INJECTION_KEY = Symbol('menu inverse style injection key');\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M8 4C8.29667 4 8.58668 3.91203 8.83335 3.74721C9.08003 3.58238 9.27229 3.34811 9.38582 3.07403C9.49935 2.79994 9.52906 2.49834 9.47118 2.20737C9.4133 1.91639 9.27044 1.64912 9.06066 1.43934C8.85088 1.22956 8.58361 1.0867 8.29264 1.02882C8.00167 0.970945 7.70006 1.00065 7.42598 1.11418C7.15189 1.22771 6.91762 1.41997 6.7528 1.66665C6.58797 1.91332 6.5 2.20333 6.5 2.5C6.5 2.89783 6.65803 3.27936 6.93934 3.56066C7.22064 3.84197 7.60218 4 8 4Z\"/><path fill=\"#001222\" d=\"M8 15C8.29667 15 8.58668 14.912 8.83335 14.7472C9.08003 14.5824 9.27229 14.3481 9.38582 14.074C9.49935 13.7999 9.52906 13.4983 9.47118 13.2074C9.4133 12.9164 9.27044 12.6491 9.06066 12.4393C8.85088 12.2296 8.58361 12.0867 8.29264 12.0288C8.00167 11.9709 7.70006 12.0007 7.42598 12.1142C7.15189 12.2277 6.91762 12.42 6.7528 12.6666C6.58797 12.9133 6.5 13.2033 6.5 13.5C6.5 13.8978 6.65803 14.2794 6.93934 14.5607C7.22064 14.842 7.60218 15 8 15Z\"/><path fill=\"#001222\" d=\"M8.83335 9.24721C8.58668 9.41203 8.29667 9.5 8 9.5C7.60218 9.5 7.22064 9.34197 6.93934 9.06066C6.65803 8.77936 6.5 8.39783 6.5 8C6.5 7.70333 6.58797 7.41332 6.7528 7.16665C6.91762 6.91997 7.15189 6.72771 7.42598 6.61418C7.70006 6.50065 8.00167 6.47094 8.29264 6.52882C8.58361 6.5867 8.85088 6.72956 9.06066 6.93934C9.27044 7.14912 9.4133 7.41639 9.47118 7.70737C9.52906 7.99834 9.49935 8.29994 9.38582 8.57403C9.27229 8.84811 9.08003 9.08238 8.83335 9.24721Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","<template>\n <base-button\n class=\"b-menu-item\"\n role=\"menuitem\"\n :class=\"conditionalClasses\"\n :disabled=\"disabled\"\n tabindex=\"-1\"\n @click=\"onClick\"\n >\n <template v-if=\"icon\" #iconLeft>\n <component :is=\"icon\" class=\"b-menu-item__icon-left\" aria-hidden=\"true\" />\n </template>\n <template #default>\n <bento-typography el=\"span\" variant=\"body\" :stronger=\"isTitle\" class=\"b-menu-item__primary-text\">\n {{ text }}\n </bento-typography>\n <bento-typography v-if=\"computedSecondaryText\" el=\"span\" variant=\"body\" class=\"b-menu-item__secondary-text\">\n {{ computedSecondaryText }}\n </bento-typography>\n </template>\n <template v-if=\"chevron\" #iconRight><chevron-right-icon aria-hidden=\"true\" /></template>\n </base-button>\n</template>\n\n<script lang=\"ts\">\n import { BaseButton, BentoBaseButtonEvent } from '@/components/internal/base-button';\n import { BentoTypography } from '@/components/typography';\n import { truncate } from '@/utils/ts/truncate';\n import ChevronRightIcon from '@adyen/ui-assets-icons-16/vue/chevron-right';\n import { computed, defineComponent, PropType } from 'vue';\n import { BentoMenuItem } from './menu-item.types';\n\n /**\n * Menu item component to render items in a menu. For internal use only.\n */\n export default defineComponent({\n name: 'menu-item',\n components: { BaseButton, BentoTypography, ChevronRightIcon },\n props: {\n /**\n * menu-item text that gets displayed as the main label\n */\n text: {\n type: String,\n required: true,\n },\n /**\n * menu-item action that gets executed when the MeniItem is clicked\n */\n handler: {\n type: Function as PropType<BentoMenuItem['handler']>,\n required: true,\n },\n /**\n * menu-item text that gets displayed as the secondary label\n */\n secondaryText: {\n type: String,\n default: null,\n },\n /**\n * Optional chevron icon displayed to the right of the menu-item\n */\n chevron: {\n type: Boolean,\n default: false,\n },\n /**\n * Optional icon displayed to the left of the menu-item\n */\n icon: {\n // Types for Vue2 (Object) and Vue3 (Function)\n // TODO: Remove Object when fully migrated to Vue3\n type: [Object, Function] as PropType<BentoMenuItem['icon']>,\n default: null,\n },\n /**\n * Disables menu-item button functionality\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * Displays an indent variant od the menu-item\n */\n indent: {\n type: Boolean,\n default: false,\n },\n /**\n * Displays menu-item button as critical\n */\n critical: {\n type: Boolean,\n default: false,\n },\n /**\n * Renders the text in a bold variant\n */\n isTitle: {\n type: Boolean,\n default: false,\n },\n },\n emits: [BentoBaseButtonEvent.CLICK],\n setup(props, { emit }) {\n const MAX_SECONDARY_TEXT_LENGTH = 10;\n\n const conditionalClasses = computed(() => ({\n 'b-menu-item--critical': props.critical,\n 'b-menu-item--indent': props.indent,\n }));\n\n const computedSecondaryText = computed(() => truncate(props.secondaryText, MAX_SECONDARY_TEXT_LENGTH));\n\n const onClick = (e: MouseEvent) => {\n e.stopPropagation();\n props.handler();\n emit(BentoBaseButtonEvent.CLICK);\n };\n\n return {\n // Values\n conditionalClasses,\n computedSecondaryText,\n\n // Methods\n onClick,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./menu-item.scss\" />\n","import { OnClickOutsideOptions } from '@/directives/click-outside/types';\nimport { BentoButton } from '../button';\nimport { BentoPopoverPositions } from '../popover';\nimport { BentoMenuItem } from './components';\nimport { HTMLAttributes } from 'vue';\n\nexport * from './components/menu-item/menu-item.types';\n\nexport enum BentoMenuEvent {\n BACK = 'back',\n CLOSE = 'close',\n OPEN = 'open',\n}\n\ntype ButtonProps = InstanceType<typeof BentoButton>['$props'];\n\nexport type BentoMenuButtonProps = {\n 'aria-label'?: HTMLAttributes['aria-label'];\n condensed?: ButtonProps['condensed'];\n disabled?: ButtonProps['disabled'];\n variant?: ButtonProps['variant'];\n};\n\nexport interface BentoMenuProps {\n /**\n * Object containing props to change the menu button appearance. Accepts the same props present in BentoButton.\n */\n button?: BentoMenuButtonProps;\n /**\n * Controls if the menu should close when an item is clicked.\n * Defaults to `true`.\n */\n closeMenuOnItemSelect?: boolean;\n /**\n * The data to be displayed in the list\n */\n data: BentoMenuItem[];\n /**\n * Disables opening the menu when the down arrow key is pressed.\n */\n disableArrowDownOpeningMenu?: boolean;\n /**\n * The position of where the menu should open.\n */\n menuPosition?: BentoPopoverPositions | `${BentoPopoverPositions}`;\n /**\n * Instructs the menu popover to be visible outside of the containing container.\n * @see {@link https://floating-ui.com/docs/usefloating#strategy}\n */\n menuFixedPositioning?: boolean;\n /**\n * Sets a custom width for the menu popover.\n */\n menuWidth?: number;\n /**\n * Returns focus to the menu button after popover is closed.\n * Disable if focus management is delegated to the parent component.\n * Defaults to `true`.\n */\n revertFocusToButton?: boolean;\n /**\n * Can be used to set the inner teleport component to render the menu's popover in the root `body` DOM node\n * (or `dialog` if popover is inside a dialog).\n */\n teleport?: boolean;\n /**\n * Can be used to set the inner teleport component to render the menu's popover in the root `body` DOM node\n * (or `dialog` if popover is inside a dialog).\n *\n * @see {@link OnClickOutsideOptions}\n */\n closeOnClickOutsideOptions?: OnClickOutsideOptions;\n}\n","export const DATA_GRID_CELL_MENU_REGISTERING_INJECTION_KEY = Symbol('menu registering injection key');\n","<template>\n <div\n ref=\"menuListContainerRef\"\n class=\"b-menu-list-container\"\n data-testid=\"menu-list-container\"\n v-on=\"menuListContainerEvents\"\n ><slot></slot\n ></div>\n</template>\n\n<script setup lang=\"ts\">\n import { DATA_GRID_CELL_MENU_REGISTERING_INJECTION_KEY } from '@/components/data-grid/components/data-grid-cell/data-grid-cell.keys';\n import { inject, ref } from 'vue';\n import type { DataGridCellRegisterMenu } from '@/components/data-grid/components/data-grid-cell/data-grid-cell.types';\n\n const menuListContainerRef = ref<HTMLDivElement>();\n const menuListContainerEvents = ref({});\n const registeringAndMousingOut = inject<DataGridCellRegisterMenu | false>(\n DATA_GRID_CELL_MENU_REGISTERING_INJECTION_KEY,\n false\n );\n\n // This is needed by the DataGridCell component in order to keep track of if a teleported menu\n // is being hovered over in the DataGridCellActions.\n if (registeringAndMousingOut) {\n const { registerMenuContainerElement } = registeringAndMousingOut;\n registerMenuContainerElement(menuListContainerRef);\n menuListContainerEvents.value = {\n mouseleave: registeringAndMousingOut?.menuMouseLeave,\n };\n }\n</script>\n\n<script lang=\"ts\">\n /**\n * Menu list container component to set the correct styling in a menu list. For internal use only.\n */\n export default {\n name: 'bento-menu-list-container',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./menu-list-container.scss\" />\n","<template>\n <transition name=\"b-sub-menu-item-list__transition\" appear>\n <menu-list-container class=\"b-sub-menu-item-list\">\n <ul\n ref=\"subMenuItemListRefLocal\"\n role=\"menu\"\n class=\"b-sub-menu-item-list__list\"\n @keydown.down.stop=\"focusNext\"\n @keydown.up.stop=\"focusPrevious\"\n @keydown.esc.stop=\"onBackButton\"\n >\n <li v-for=\"(item, index) in computedItems\" :key=\"`sub-menu-item-list-item-${index}`\" role=\"none\">\n <menu-item\n :text=\"item.text\"\n :handler=\"item.handler\"\n :secondary-text=\"item.secondaryText\"\n :icon=\"item.icon\"\n :is-title=\"item.isTitle\"\n :disabled=\"item.disabled\"\n :critical=\"item.critical\"\n :indent=\"item.indent\"\n :tabindex=\"index === subMenuFocusedIndex ? '0' : '-1'\"\n @click=\"item.clickHandler\"\n />\n <bento-divider v-if=\"item.addDivider\" class=\"b-sub-menu-item-list__divider\" />\n </li>\n </ul>\n </menu-list-container>\n </transition>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, onMounted, PropType, ref } from 'vue';\n import { BentoDivider } from '@/components/divider';\n import { BentoMenuItem, MenuItem } from '../menu-item';\n import MenuListContainer from '../menu-list-container/menu-list-container.vue';\n import ChevronLeftIcon from '@adyen/ui-assets-icons-16/vue/chevron-left';\n import { BentoMenuEvent } from '../../menu.types';\n import messages from '../../messages.json';\n\n /**\n * SubMenuItemList component to render a submenu with the sliding transition. For internal use only.\n */\n export default defineComponent({\n i18n: { messages },\n name: 'sub-menu-item-list',\n components: { BentoDivider, MenuItem, MenuListContainer },\n props: {\n items: {\n type: Array as PropType<BentoMenuItem[]>,\n required: true,\n },\n title: {\n type: String,\n required: true,\n },\n },\n emits: [BentoMenuEvent.CLOSE, BentoMenuEvent.BACK],\n setup(props, { emit }) {\n const subMenuItemListRefLocal = ref(null);\n const subMenuFocusedIndex = ref(0);\n const numberOfItems = ref(props.items.length);\n\n const closeMenu = () => emit(BentoMenuEvent.CLOSE);\n\n const onBackButton = () => emit(BentoMenuEvent.BACK);\n\n const computedItems = computed(() => {\n const items = props.items?.map(el => ({\n ...el,\n indent: !el.icon,\n isTitle: false,\n clickHandler: closeMenu,\n }));\n return [\n {\n text: props.title,\n secondaryText: null,\n critical: false,\n icon: ChevronLeftIcon,\n isTitle: true,\n disabled: false,\n indent: false,\n handler: onBackButton,\n clickHandler: onBackButton,\n addDivider: true,\n },\n ...items,\n ];\n });\n\n const focusItem = async () => {\n subMenuItemListRefLocal.value?.children?.[subMenuFocusedIndex.value]?.children?.[0]?.focus();\n };\n\n onMounted(async () => {\n // Using setTimeout otherwise the sliding animation doesn't work anymore. The timeout imer is the same as the transition time (0.15s)\n setTimeout(() => focusItem(), 150);\n });\n\n const focusPrevious = () => {\n if (subMenuFocusedIndex.value > 0) {\n subMenuFocusedIndex.value -= 1;\n if (computedItems.value[subMenuFocusedIndex.value].disabled) {\n focusPrevious();\n }\n } else {\n subMenuFocusedIndex.value = numberOfItems.value;\n }\n focusItem();\n };\n\n const focusNext = () => {\n if (subMenuFocusedIndex.value < numberOfItems.value) {\n subMenuFocusedIndex.value += 1;\n if (computedItems.value[subMenuFocusedIndex.value].disabled) {\n focusNext();\n }\n } else {\n subMenuFocusedIndex.value = 0;\n }\n focusItem();\n };\n\n return {\n // Enums\n BentoMenuEvent,\n\n // Values\n subMenuItemListRefLocal,\n subMenuFocusedIndex,\n ChevronLeftIcon,\n computedItems,\n\n // Methods\n closeMenu,\n onBackButton,\n focusPrevious,\n focusNext,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./sub-menu-item-list.scss\" />\n","import { computed, type CSSProperties, nextTick, type Ref, ref, watch } from 'vue';\n\n// Helper type for the expected shape of the sub-menu ref\ninterface SubMenuRef {\n $el: HTMLElement;\n}\n\n/**\n * A composable that dynamically calculates the width and height for a menu container\n * based on the content of a conditionally rendered sub-menu.\n *\n * @param subMenuItemListRef A ref to the sub-menu component instance(s).\n * @param visibleSubMenuIndex A ref indicating which sub-menu is visible.\n * @param showSubMenu A ref indicating if any sub-menu is visible.\n * @returns A computed style object to be bound to the menu container.\n */\nexport function useDynamicMenuSize(\n subMenuItemListRef: Ref<SubMenuRef[] | null>,\n visibleSubMenuIndex: Ref<number | null>,\n showSubMenu: Ref<boolean>\n) {\n const MAX_MENU_WIDTH = 350;\n const MIN_MENU_WIDTH = 150;\n\n const subMenuWidth = ref(0);\n const subMenuHeight = ref(0);\n\n /**\n * Calculates an element's dimensions in stages using an invisible clone\n * to prevent visual flicker.\n *\n * 1. **Clone**: Creates a 'ghost' copy of the element and adds it to the\n * DOM invisibly.\n * 2. **Measure Ideal Width**: Sets the ghost's width to 'max-content' to find\n * its natural, unwrapped width.\n * 3. **Calculate Final Width**: Clamps the ideal width between the defined\n * MIN and MAX constants.\n * 4. **Measure Final Height**: Applies the final clamped width to the ghost,\n * allowing content to wrap, and then measures the resulting height.\n * 5. **Cleanup**: Removes the ghost element from the DOM.\n */\n const measureSubMenuStyle = (element: HTMLElement) => {\n if (!element || !element.parentElement) {\n return;\n }\n\n // Mount it on the parent element to allow proper height size, otherwise it will be 0\n const parent = element.parentElement;\n\n // Measure the unwrapped width\n const ghost = element.cloneNode(true) as HTMLElement;\n ghost.style.position = 'absolute';\n ghost.style.visibility = 'hidden';\n parent.appendChild(ghost);\n\n // Measure the unwrapped width\n ghost.style.width = 'max-content';\n const unwrappedWidth = ghost.offsetWidth;\n\n // Calculate and store the FINAL clamped width\n const clampedWidth = Math.max(MIN_MENU_WIDTH, Math.min(unwrappedWidth, MAX_MENU_WIDTH));\n subMenuWidth.value = clampedWidth;\n\n // Measure the wrapped height using the final width\n ghost.style.width = `${clampedWidth}px`;\n const height = ghost.offsetHeight;\n\n // Update the height ref with the correct, wrapped height\n subMenuHeight.value = height;\n\n parent.removeChild(ghost);\n // Update the height ref with the correct, wrapped height\n subMenuHeight.value = height;\n };\n\n watch([visibleSubMenuIndex, showSubMenu], async ([newIndex]) => {\n if (newIndex !== null) {\n await nextTick();\n\n const subMenuElement = subMenuItemListRef.value?.[0]?.$el;\n if (subMenuElement) {\n measureSubMenuStyle(subMenuElement);\n }\n } else {\n subMenuWidth.value = 0;\n subMenuHeight.value = 0;\n }\n });\n\n const computedStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = { width: 'max-content' };\n\n if (showSubMenu.value) {\n if (subMenuHeight.value > 0) {\n style.height = `${subMenuHeight.value}px`;\n }\n if (subMenuWidth.value > 0) {\n style.width = `${subMenuWidth.value}px`;\n }\n }\n\n return style;\n });\n\n return { computedStyle };\n}\n","<template>\n <menu-list-container ref=\"menuItemListWrapperRef\" :style=\"computedStyle\">\n <ul\n ref=\"menuItemListRef\"\n class=\"b-menu-item-list\"\n role=\"menu\"\n @keydown.down=\"focusNext\"\n @keydown.up=\"focusPrevious\"\n @keydown.esc=\"closeMenu\"\n @keydown.tab=\"closeMenu\"\n >\n <li\n v-for=\"(item, index) in computedData\"\n :key=\"`menu-item-${index}`\"\n ref=\"menuItemRef\"\n class=\"b-menu-item-list__item\"\n role=\"none\"\n @keydown.right=\"focusRight(item, index)\"\n @keydown.left=\"focusLeft()\"\n >\n <menu-item\n :text=\"item.text\"\n :handler=\"!item.items?.length ? item.handler : () => null\"\n :secondary-text=\"item.secondaryText\"\n :icon=\"item.icon\"\n :chevron=\"!!item.items?.length\"\n :disabled=\"item.disabled\"\n :critical=\"item.critical\"\n :indent=\"item.indent\"\n :tabindex=\"index === subMenuFocusedIndex ? '0' : '-1'\"\n :aria-haspopup=\"!!item.items?.length\"\n :aria-expanded=\"showSubMenu && visibleSubMenuIndex === index\"\n @click=\"menuItemClick(item, index)\"\n />\n <bento-divider v-if=\"item.addDivider\" class=\"b-menu-item-list__divider\" />\n <sub-menu-item-list\n v-if=\"item.items?.length && showSubMenu && visibleSubMenuIndex === index\"\n ref=\"subMenuItemListRef\"\n :items=\"item.items\"\n :title=\"item.text\"\n @back=\"onBackButton\"\n @close=\"closeMenu\"\n />\n </li>\n </ul>\n </menu-list-container>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, nextTick, PropType, ref } from 'vue';\n import { isVue3 } from 'vue-demi';\n import { BentoDivider } from '@/components/divider';\n import { BentoMenuItem, MenuItem } from '../menu-item';\n import { BentoMenuEvent } from '../../menu.types';\n import MenuListContainer from '../menu-list-container/menu-list-container.vue';\n import SubMenuItemList from '../sub-menu-item-list/sub-menu-item-list.vue';\n import { useDynamicMenuSize } from '../../composables';\n\n /**\n * MenuItem list to be used in the Menu component. For internal use only.\n */\n export default defineComponent({\n name: 'menu-item-list',\n components: { BentoDivider, MenuItem, MenuListContainer, SubMenuItemList },\n props: {\n /**\n * The data to be displayed in the list\n */\n data: {\n type: Array as PropType<BentoMenuItem[]>,\n required: true,\n },\n /**\n * Displays the menu-items of the list in the indent variant. Only applies to elements that don't have an icon to their left.\n */\n indentItems: {\n type: Boolean,\n default: false,\n },\n /**\n * If set to true, focuses the last item on the list instead of the first. Used for accessibility purposes when the menu is opened with the 'up' arrow key.\n */\n focusLastElement: {\n type: Boolean,\n default: false,\n },\n /**\n * If set to true, closes the menu when an item is clicked.\n */\n closeMenuOnItemSelect: {\n type: Boolean,\n default: true,\n },\n },\n emits: [BentoMenuEvent.CLOSE, 'menu-item-click'],\n setup(props, { emit, expose }) {\n const menuItemRef = ref(null);\n const menuItemListRef = ref(null);\n const menuItemListWrapperRef = ref(null);\n const subMenuItemListRef = ref(null);\n const showSubMenu = ref(false);\n const visibleSubMenuIndex = ref(null);\n const focusedIndex = ref(props.focusLastElement ? props.data.length - 1 : 0);\n const subMenuFocusedIndex = ref(0);\n const numberOfItems = ref(props.data.length - 1);\n const hasMenuItemsWithIcon = computed(() => props.data.some(el => el.icon));\n\n const computedData = computed(() => {\n if (props.indentItems || hasMenuItemsWithIcon.value) {\n return props.data.map(el => {\n let indent = false;\n if (!el.icon) {\n indent = true;\n }\n return {\n ...el,\n indent,\n };\n });\n }\n return props.data;\n });\n\n const focusItem = async () => {\n // vue 3 requires nextTick to be called before an item can be focused\n // this function does not need to be awaited itself\n\n if (isVue3) {\n await nextTick();\n }\n\n menuItemListRef.value?.children[focusedIndex.value]?.children[0]?.focus();\n };\n\n const closeMenu = () => emit(BentoMenuEvent.CLOSE);\n\n const menuItemClick = (item: BentoMenuItem, index: number) => {\n if (item.items) {\n visibleSubMenuIndex.value = index;\n showSubMenu.value = true;\n\n return;\n }\n\n visibleSubMenuIndex.value = index;\n showSubMenu.value = false;\n\n if (!item.skipClose && props.closeMenuOnItemSelect !== false) {\n closeMenu();\n }\n\n emit('menu-item-click');\n };\n\n const focusPrevious = () => {\n if (focusedIndex.value > 0) {\n focusedIndex.value -= 1;\n if (computedData.value[focusedIndex.value].disabled) {\n focusPrevious();\n }\n } else {\n focusedIndex.value = numberOfItems.value;\n }\n focusItem();\n };\n\n const focusNext = () => {\n if (focusedIndex.value < numberOfItems.value) {\n focusedIndex.value += 1;\n if (computedData.value[focusedIndex.value].disabled) {\n focusNext();\n }\n } else {\n focusedIndex.value = 0;\n }\n focusItem();\n };\n\n const focusRight = (item, index) => {\n if (item?.items?.length) {\n visibleSubMenuIndex.value = index;\n showSubMenu.value = true;\n }\n };\n\n const focusLeft = () => {\n if (visibleSubMenuIndex.value && showSubMenu.value) {\n visibleSubMenuIndex.value = null;\n showSubMenu.value = false;\n }\n };\n\n const onBackButton = () => {\n showSubMenu.value = false;\n visibleSubMenuIndex.value = null;\n // Focus the right element\n focusItem();\n };\n\n expose({\n focusItem,\n });\n\n const { computedStyle } = useDynamicMenuSize(subMenuItemListRef, visibleSubMenuIndex, showSubMenu);\n\n return {\n // Values\n menuItemListRef,\n menuItemListWrapperRef,\n subMenuItemListRef,\n menuItemRef,\n\n computedData,\n computedStyle,\n\n focusedIndex,\n subMenuFocusedIndex,\n\n showSubMenu,\n visibleSubMenuIndex,\n\n // Methods\n menuItemClick,\n closeMenu,\n focusPrevious,\n focusNext,\n focusRight,\n focusLeft,\n onBackButton,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./menu-item-list.scss\" />\n","<template>\n <div\n :class=\"computedClasses\"\n class=\"b-menu\"\n data-testid=\"menu\"\n @keydown.down=\"onKeyDown\"\n @keydown.up=\"onKeyUp\"\n @keydown.esc=\"closeMenu()\"\n >\n <bento-toggle-button\n ref=\"menuButtonRef\"\n aria-haspopup=\"true\"\n v-bind=\"computedButtonPropsWithDefaults\"\n :aria-controls=\"showMenu ? menuId : null\"\n :toggled=\"showMenu\"\n :inverse=\"isInverseColorSet\"\n @click=\"toggleShowMenu\"\n >\n <template v-if=\"!hasSlot('default') || hasSlot('iconLeft')\" #iconLeft>\n <slot name=\"iconLeft\">\n <options-vertical-icon :title=\"t('menuButton')\" />\n </slot>\n </template>\n <template v-if=\"hasSlot('default')\" #default>\n <slot />\n </template>\n <template v-if=\"hasSlot('default')\" #iconRight>\n <chevron-down-icon />\n </template>\n </bento-toggle-button>\n\n <bento-teleport v-if=\"menuButtonRef\" :disabled=\"!teleport\">\n <bento-popover\n v-if=\"menuButtonRef\"\n :id=\"menuId\"\n ref=\"popoverRef\"\n :role=\"null\"\n :open=\"showMenu\"\n class=\"b-menu__popover\"\n :style=\"computedMenuWidth\"\n :target-element=\"menuButtonRef\"\n :position=\"menuPosition\"\n :fixed-positioning=\"menuFixedPositioning\"\n :fallback-position=\"[\n 'bottom-start',\n 'bottom-end',\n 'top-start',\n 'top-end',\n 'right-start',\n 'right-end',\n 'left-start',\n 'left-end',\n ]\"\n :teleport=\"teleport\"\n without-space\n >\n <menu-item-list\n ref=\"menuItemListRef\"\n :close-menu-on-item-select=\"closeMenuOnItemSelect\"\n :data=\"data\"\n :focus-last-element=\"isLastElementFocused\"\n @close=\"closeMenu\"\n @menu-item-click=\"menuItemClick\"\n />\n </bento-popover>\n </bento-teleport>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { BentoToggleButton } from '@/components/button';\n import { DIVIDER_INVERSE_INJECTION_KEY } from '@/components/divider/divider.keys';\n import { BentoPopover, BentoPopoverPositions } from '@/components/popover';\n import { useClickOutside, useHasSlot } from '@/composables';\n import { generateUid } from '@/core/utils/ts';\n import { BentoTeleport } from '@/internal';\n import { useI18n } from '@/utils/ts/i18n';\n import { printDevelopmentWarning } from '@/utils/ts/print-development-warning';\n import ChevronDownIcon from '@adyen/ui-assets-icons-16/vue/chevron-down';\n import OptionsVerticalIcon from '@adyen/ui-assets-icons-16/vue/options-vertical';\n import { computed, inject, nextTick, onMounted, provide, ref, useSlots } from 'vue';\n import { MenuItemList } from './components';\n import { MENU_INVERSE_INJECTION_KEY } from './menu.keys';\n import { BentoMenuButtonProps, BentoMenuEvent, BentoMenuProps } from './menu.types';\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const props = defineProps({\n button: { default: () =>\n ({\n variant: 'secondary',\n }) as BentoMenuButtonProps },\n closeMenuOnItemSelect: { type: Boolean, default: true },\n data: null,\n disableArrowDownOpeningMenu: { type: Boolean, default: false },\n menuPosition: { default: BentoPopoverPositions.BOTTOM_START },\n menuFixedPositioning: { type: Boolean, default: false },\n menuWidth: { default: null },\n revertFocusToButton: { type: Boolean, default: true },\n teleport: { type: Boolean, default: false },\n closeOnClickOutsideOptions: { default: undefined }\n});\n\n const emit = defineEmits([\"menu-item-click\", \"click-outside\"]);\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n const menuButtonRef = ref(null);\n const menuItemListRef = ref(null);\n const showMenu = ref(false);\n const isLastElementFocused = ref(false);\n const popoverRef = ref<HTMLElement>(null);\n const menuId = generateUid('menu');\n\n const isInverseColorSet = inject(MENU_INVERSE_INJECTION_KEY, ref(false));\n provide(DIVIDER_INVERSE_INJECTION_KEY, isInverseColorSet);\n\n const computedClasses = computed(() => ({\n 'b-menu--inverse': isInverseColorSet.value,\n }));\n\n const computedMenuWidth = computed(() => (props.menuWidth ? { width: `${props.menuWidth}px` } : null));\n const computedButtonPropsWithDefaults = computed<BentoMenuButtonProps>(() => {\n if (!props?.button) {\n return undefined;\n }\n return {\n variant: 'secondary',\n ...props.button,\n };\n });\n\n const openMenu = () => {\n showMenu.value = true;\n emit(BentoMenuEvent.OPEN);\n };\n\n const closeMenu = async (revertFocus = props.revertFocusToButton) => {\n if (!showMenu.value) {\n return;\n }\n\n showMenu.value = false;\n\n if (revertFocus) {\n // ensure that menu is closed and re-rendering is completed before focusing\n await nextTick();\n\n menuButtonRef.value?.$el?.focus();\n }\n\n emit(BentoMenuEvent.CLOSE);\n };\n\n const toggleShowMenu = (e: MouseEvent) => {\n e.stopPropagation();\n if (!showMenu.value) {\n openMenu();\n } else {\n closeMenu();\n }\n };\n\n const onKeyDown = (event: KeyboardEvent) => {\n event.preventDefault();\n\n isLastElementFocused.value = false;\n if (!props.disableArrowDownOpeningMenu) {\n openMenu();\n }\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n event.preventDefault();\n\n isLastElementFocused.value = true;\n openMenu();\n };\n\n const menuItemClick = () => {\n emit('menu-item-click');\n };\n\n // Ignore the events inside the Button and the Popover\n useClickOutside(\n popoverRef,\n () => {\n closeMenu();\n emit('click-outside');\n },\n {\n ...props.closeOnClickOutsideOptions,\n ignore: [menuButtonRef, ...(props.closeOnClickOutsideOptions?.ignore ?? [])],\n }\n );\n\n defineExpose({\n /**\n * Control to enable programmatic closing of the menu\n */\n closeMenu,\n });\n\n onMounted(() => {\n if (hasSlot('iconRight')) {\n printDevelopmentWarning(\n '\"bento-menu\" no longer supports the \"iconRight\" slot. The right-aligned icon is now fixed by design.'\n );\n }\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * Menu component to render a series of buttons. Csan render nested submenus.\n *\n * @example\n * import { BentoMenu } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoMenu },\n * template: `\n * <bento-menu\n * :data=[\n * { text: 'Menu item text', handler: () => { some code here } },\n * { text: 'Another menu item text', handler: () => { some other code here }, critical: true }\n * ]\n * />\n * }\n */\n export default {\n i18n: { messages },\n name: 'bento-menu',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./menu.scss\" />\n"],"names":["MENU_INVERSE_INJECTION_KEY","uuid","_sfc_main$5","_sfc_main$4","defineComponent","BaseButton","BentoTypography","ChevronRightIcon","BentoBaseButtonEvent","props","emit","conditionalClasses","computed","computedSecondaryText","truncate","e","BentoMenuEvent","BentoMenuEvent2","DATA_GRID_CELL_MENU_REGISTERING_INJECTION_KEY","__default__$1","menuListContainerRef","ref","menuListContainerEvents","registeringAndMousingOut","inject","registerMenuContainerElement","_sfc_main$2","messages","BentoDivider","MenuItem","MenuListContainer","subMenuItemListRefLocal","subMenuFocusedIndex","numberOfItems","closeMenu","onBackButton","computedItems","items","_a","el","ChevronLeftIcon","focusItem","_e","_d","_c","_b","onMounted","focusPrevious","focusNext","useDynamicMenuSize","subMenuItemListRef","visibleSubMenuIndex","showSubMenu","subMenuWidth","subMenuHeight","measureSubMenuStyle","element","parent","ghost","unwrappedWidth","clampedWidth","height","watch","newIndex","nextTick","subMenuElement","style","_sfc_main$1","SubMenuItemList","expose","menuItemRef","menuItemListRef","menuItemListWrapperRef","focusedIndex","hasMenuItemsWithIcon","computedData","indent","menuItemClick","item","index","focusRight","focusLeft","computedStyle","__default__","slots","useSlots","hasSlot","useHasSlot","t","useI18n","menuButtonRef","showMenu","isLastElementFocused","popoverRef","menuId","generateUid","isInverseColorSet","provide","DIVIDER_INVERSE_INJECTION_KEY","computedClasses","computedMenuWidth","computedButtonPropsWithDefaults","openMenu","revertFocus","toggleShowMenu","onKeyDown","event","onKeyUp","useClickOutside","printDevelopmentWarning"],"mappings":"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"}
|