@adyen/bento-vue2 1.3.0 → 1.4.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/dist/@types/components.d.ts +8 -4
- package/dist/@types/packages/core/src/components/button/button.types.d.ts +8 -0
- package/dist/@types/packages/vue2/src/components/accordion/accordion.keys.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/accordion/accordion.types.d.ts +1 -24
- package/dist/@types/packages/vue2/src/components/accordion/accordion.vue.d.ts +17 -51
- package/dist/@types/packages/vue2/src/components/accordion/components/accordion-item.vue.d.ts +24 -28
- package/dist/@types/packages/vue2/src/components/accordion/index.d.ts +2 -3
- package/dist/@types/packages/vue2/src/components/alert/alert.vue.d.ts +0 -4
- package/dist/@types/packages/vue2/src/components/avatar-image/avatar-image.vue.d.ts +1 -4
- package/dist/@types/packages/vue2/src/components/button/button.vue.d.ts +161 -150
- package/dist/@types/packages/vue2/src/components/button/components/button-actions/button-actions.types.d.ts +3 -5
- package/dist/@types/packages/vue2/src/components/button/components/button-actions/button-actions.vue.d.ts +3 -3
- package/dist/@types/packages/vue2/src/components/button/components/loading-button/loading-button.vue.d.ts +2 -2
- package/dist/@types/packages/vue2/src/components/card/card.vue.d.ts +77 -15
- package/dist/@types/packages/vue2/src/components/checkbox/checkbox.types.d.ts +2 -1
- package/dist/@types/packages/vue2/src/components/checkbox/checkbox.vue.d.ts +4 -6
- package/dist/@types/packages/vue2/src/components/checkbox/components/checkbox-group/checkbox-group.vue.d.ts +4 -4
- package/dist/@types/packages/vue2/src/components/code-snippet/code-snippet.types.d.ts +2 -1
- package/dist/@types/packages/vue2/src/components/code-snippet/code-snippet.vue.d.ts +36 -11
- package/dist/@types/packages/vue2/src/components/country/country.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/currency/currency.vue.d.ts +0 -3
- package/dist/@types/packages/vue2/src/components/data-grid/components/data-grid-columns/data-grid-columns.vue.d.ts +2 -22
- package/dist/@types/packages/vue2/src/components/data-grid/components/data-grid-config-settings/components/data-grid-config-settings-column-row/data-grid-config-settings-column-row.vue.d.ts +0 -5
- package/dist/@types/packages/vue2/src/components/data-grid/components/data-grid-config-settings/data-grid-config-settings.vue.d.ts +0 -24
- package/dist/@types/packages/vue2/src/components/data-grid/data-grid.types.d.ts +2 -0
- package/dist/@types/packages/vue2/src/components/data-grid/data-grid.vue.d.ts +326 -14
- package/dist/@types/packages/vue2/src/components/date/date.vue.d.ts +2 -5
- package/dist/@types/packages/vue2/src/components/date-picker/date-picker.vue.d.ts +1 -21
- package/dist/@types/packages/vue2/src/components/date-range-picker/components/date-range-picker-calendar/date-range-picker-calendar.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/date-range-picker/date-range-picker.vue.d.ts +1 -21
- package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.vue.d.ts +3 -6
- package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-default-textbox/dropdown-default-textbox.vue.d.ts +3 -3
- package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-options-container/dropdown-options-container.vue.d.ts +277 -104
- package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-small-textbox/dropdown-small-textbox.vue.d.ts +2 -2
- package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.vue.d.ts +5 -5
- package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.types.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue.d.ts +5 -6
- package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.types.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.vue.d.ts +5 -5
- package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.types.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.vue.d.ts +5 -5
- package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.types.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.vue.d.ts +6 -6
- package/dist/@types/packages/vue2/src/components/dropdown/dropdown.vue.d.ts +7 -9
- package/dist/@types/packages/vue2/src/components/empty-state/empty-state.types.d.ts +27 -0
- package/dist/@types/packages/vue2/src/components/empty-state/empty-state.vue.d.ts +76 -0
- package/dist/@types/packages/vue2/src/components/empty-state/index.d.ts +2 -0
- package/dist/@types/packages/vue2/src/components/filter-bar/components/all-filters-modal/all-filters-modal.vue.d.ts +19 -25
- package/dist/@types/packages/vue2/src/components/filter-bar/components/all-filters-modal/components/all-filters-modal-button/all-filters-modal-button.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/filter-bar/components/base-filter/base-filter.vue.d.ts +0 -26
- package/dist/@types/packages/vue2/src/components/filter-bar/components/base-filter-button/base-filter-button.vue.d.ts +1 -4
- package/dist/@types/packages/vue2/src/components/filter-bar/components/date-range-filter/date-range-filter.vue.d.ts +0 -10
- package/dist/@types/packages/vue2/src/components/filter-bar/components/{base-filter/components/filter-bar-filter-button/filter-bar-filter-button.vue.d.ts → filter-bar-button/filter-bar-button.vue.d.ts} +17 -22
- package/dist/@types/packages/vue2/src/components/filter-bar/components/filter-bar-button/index.d.ts +1 -0
- package/dist/@types/packages/vue2/src/components/filter-bar/components/input-filter/input-filter.vue.d.ts +1 -0
- package/dist/@types/packages/vue2/src/components/filter-bar/components/range-filter/range-filter.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-country-filter/select-country-filter.vue.d.ts +2 -4
- package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-tag-filter/select-tag-filter.vue.d.ts +2 -4
- package/dist/@types/packages/vue2/src/components/filter-bar/filter-bar.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/focus-trap/focus-trap.vue.d.ts +3 -0
- package/dist/@types/packages/vue2/src/components/header/header.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/image/const.d.ts +1 -0
- package/dist/@types/packages/vue2/src/components/image/image.types.d.ts +19 -0
- package/dist/@types/packages/vue2/src/components/image/image.vue.d.ts +50 -0
- package/dist/@types/packages/vue2/src/components/image/index.d.ts +1 -0
- package/dist/@types/packages/vue2/src/components/info-icon/info-icon.vue.d.ts +3 -3
- package/dist/@types/packages/vue2/src/components/input-field/input-field.types.d.ts +1 -0
- package/dist/@types/packages/vue2/src/components/input-field/input-field.vue.d.ts +50 -47
- package/dist/@types/packages/vue2/src/components/internal/avatar/avatar.vue.d.ts +0 -3
- package/dist/@types/packages/vue2/src/components/internal/base-button/base-button.vue.d.ts +1 -4
- package/dist/@types/packages/vue2/src/components/internal/calendar/components/calendar-month/calendar-month.vue.d.ts +0 -5
- package/dist/@types/packages/vue2/src/components/internal/calendar/components/calendar-month/components/calendar-month-day/__test__/calendar-month-day-stub.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/internal/calendar/components/calendar-month/components/calendar-month-day/calendar-month-day.vue.d.ts +2 -2
- package/dist/@types/packages/vue2/src/components/internal/controls-group/controls-group.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/internal/copy/copy.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/components/listbox-multi-select-category/listbox-multi-select-category.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/listbox-multi-select-options.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-multi-select/listbox-multi-select.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-option-tag/listbox-option-tag.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-single-select-option/listbox-single-select-option.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/internal/listbox/listbox.vue.d.ts +3 -7
- package/dist/@types/packages/vue2/src/components/link/link.vue.d.ts +4 -0
- package/dist/@types/packages/vue2/src/components/menu/components/menu-item/menu-item.vue.d.ts +2 -5
- package/dist/@types/packages/vue2/src/components/menu/menu.vue.d.ts +6 -31
- package/dist/@types/packages/vue2/src/components/modal/components/base-modal/__mocks__/base-modal.vue.d.ts +0 -5
- package/dist/@types/packages/vue2/src/components/modal/components/base-modal/base-modal.vue.d.ts +14 -9
- package/dist/@types/packages/vue2/src/components/modal/components/modal-default/modal-default.vue.d.ts +2 -2
- package/dist/@types/packages/vue2/src/components/modal/components/modal-dialog/modal-dialog.vue.d.ts +4 -14
- package/dist/@types/packages/vue2/src/components/modal/modal.vue.d.ts +7 -6
- package/dist/@types/packages/vue2/src/components/pagination/components/pagination-context/pagination-context.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/pagination/components/pagination-controls/pagination-controls.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/pagination/components/pagination-results-per-page/pagination-results-per-page.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/pagination/pagination.vue.d.ts +2 -1
- package/dist/@types/packages/vue2/src/components/payment-method/payment-method.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/popover/components/popover-dismiss-button/popover-dismiss-button.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/popover/components/popover-title/popover-title.vue.d.ts +1 -2
- package/dist/@types/packages/vue2/src/components/popover/popover.vue.d.ts +9 -9
- package/dist/@types/packages/vue2/src/components/popper-container/popper-container.vue.d.ts +5 -14
- package/dist/@types/packages/vue2/src/components/radio-group/components/radio-button/radio-button.vue.d.ts +4 -6
- package/dist/@types/packages/vue2/src/components/radio-group/radio-group.types.d.ts +2 -1
- package/dist/@types/packages/vue2/src/components/radio-group/radio-group.vue.d.ts +4 -4
- package/dist/@types/packages/vue2/src/components/search-bar/search-bar.vue.d.ts +16 -339
- package/dist/@types/packages/vue2/src/components/segmented-control/components/segmented-control-button/segmented-control-button.vue.d.ts +0 -3
- package/dist/@types/packages/vue2/src/components/segmented-control/segmented-control.vue.d.ts +1 -0
- package/dist/@types/packages/vue2/src/components/sidepanel/sidepanel.types.d.ts +3 -1
- package/dist/@types/packages/vue2/src/components/status/status.vue.d.ts +2 -5
- package/dist/@types/packages/vue2/src/components/structured-list/components/structered-list-item/structured-list-item.vue.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item/summary-grid-item.vue.d.ts +2 -23
- package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-amount/summary-grid-item-amount.vue.d.ts +2 -5
- package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-numeric/summary-grid-item-numeric.vue.d.ts +2 -5
- package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-percentage/summary-grid-item-percentage.vue.d.ts +2 -5
- package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-text/summary-grid-item-text.vue.d.ts +1 -4
- package/dist/@types/packages/vue2/src/components/tabs/components/tab.types.d.ts +3 -1
- package/dist/@types/packages/vue2/src/components/tabs/components/tab.vue.d.ts +1 -0
- package/dist/@types/packages/vue2/src/components/tabs/tabs.keys.d.ts +1 -0
- package/dist/@types/packages/vue2/src/components/tabs/tabs.types.d.ts +6 -2
- package/dist/@types/packages/vue2/src/components/tabs/tabs.vue.d.ts +4 -9
- package/dist/@types/packages/vue2/src/components/tag/tag.vue.d.ts +4 -7
- package/dist/@types/packages/vue2/src/components/textarea/textarea.vue.d.ts +5 -9
- package/dist/@types/packages/vue2/src/components/timeline/components/timeline-item/timeline-item.vue.d.ts +6 -12
- package/dist/@types/packages/vue2/src/components/timeline/timeline.types.d.ts +1 -0
- package/dist/@types/packages/vue2/src/components/toast/components/toast-item/toast-item.vue.d.ts +0 -5
- package/dist/@types/packages/vue2/src/components/toggle/toggle.vue.d.ts +4 -6
- package/dist/@types/packages/vue2/src/components/tooltip/tooltip.vue.d.ts +24 -40
- package/dist/@types/packages/vue2/src/composables/use-default-slot-validator/use-default-slot-validator.d.ts +2 -1
- package/dist/@types/packages/vue2/src/composables/use-has-slot/use-has-slot.d.ts +4 -1
- package/dist/@types/packages/vue2/src/index.d.ts +3 -0
- package/dist/@types/packages/vue2/src/templates/data-grid-template/data-grid-template.vue.d.ts +9 -0
- package/dist/@types/packages/vue2/src/utils/ts/print-development-warning.d.ts +1 -0
- package/dist/accordion.js +69 -177
- package/dist/accordion.js.map +1 -1
- package/dist/alert.js +57 -60
- package/dist/alert.js.map +1 -1
- package/dist/assets/base-button.css +1 -1
- package/dist/assets/base-modal.css +1 -0
- package/dist/assets/button.css +1 -1
- package/dist/assets/calendar.css +1 -1
- package/dist/assets/checkbox.css +1 -1
- package/dist/assets/chevron-up.css +1 -0
- package/dist/assets/controls-group.css +1 -1
- package/dist/assets/copy.css +1 -1
- package/dist/assets/dropdown-default-textbox.css +1 -1
- package/dist/assets/dropdown.css +1 -1
- package/dist/assets/error-message.css +1 -1
- package/dist/assets/footer-actions.css +1 -1
- package/dist/assets/index.css +1 -1
- package/dist/assets/index10.css +1 -1
- package/dist/assets/index11.css +1 -1
- package/dist/assets/index12.css +1 -1
- package/dist/assets/index13.css +1 -1
- package/dist/assets/index14.css +1 -1
- package/dist/assets/index15.css +1 -1
- package/dist/assets/index16.css +1 -1
- package/dist/assets/index17.css +1 -1
- package/dist/assets/index18.css +1 -1
- package/dist/assets/index19.css +1 -1
- package/dist/assets/index2.css +1 -1
- package/dist/assets/index20.css +1 -1
- package/dist/assets/index21.css +1 -1
- package/dist/assets/index22.css +1 -1
- package/dist/assets/index23.css +1 -1
- package/dist/assets/index24.css +1 -1
- package/dist/assets/index25.css +1 -1
- package/dist/assets/index26.css +1 -1
- package/dist/assets/index27.css +1 -1
- package/dist/assets/index28.css +1 -1
- package/dist/assets/index29.css +1 -1
- package/dist/assets/index3.css +1 -1
- package/dist/assets/index30.css +1 -1
- package/dist/assets/index31.css +1 -1
- package/dist/assets/index32.css +1 -1
- package/dist/assets/index33.css +1 -1
- package/dist/assets/index34.css +1 -1
- package/dist/assets/index35.css +1 -1
- package/dist/assets/index36.css +1 -1
- package/dist/assets/index37.css +1 -1
- package/dist/assets/index38.css +1 -1
- package/dist/assets/index39.css +1 -1
- package/dist/assets/index4.css +1 -1
- package/dist/assets/index40.css +1 -1
- package/dist/assets/index41.css +1 -1
- package/dist/assets/index42.css +1 -0
- package/dist/assets/index5.css +1 -1
- package/dist/assets/index6.css +1 -1
- package/dist/assets/index7.css +1 -1
- package/dist/assets/index8.css +1 -1
- package/dist/assets/index9.css +1 -1
- package/dist/assets/listbox-option-tag.css +1 -1
- package/dist/assets/listbox.css +1 -1
- package/dist/assets/loading-button.css +1 -1
- package/dist/assets/tooltip.css +1 -1
- package/dist/avatar-image.js +1 -1
- package/dist/badge.js +2 -2
- package/dist/button.js +110 -12
- package/dist/button.js.map +1 -1
- package/dist/card.js +66 -67
- package/dist/card.js.map +1 -1
- package/dist/checkbox.js +27 -26
- package/dist/checkbox.js.map +1 -1
- package/dist/chunks/{base-button.98379576.js → base-button.bd8fa976.js} +24 -27
- package/dist/chunks/base-button.bd8fa976.js.map +1 -0
- package/dist/chunks/base-modal.a365f260.js +207 -0
- package/dist/chunks/base-modal.a365f260.js.map +1 -0
- package/dist/chunks/{button.d0c9527d.js → button.fb307df3.js} +36 -39
- package/dist/chunks/button.fb307df3.js.map +1 -0
- package/dist/chunks/{calendar.0ae43a96.js → calendar.79ea42c1.js} +214 -217
- package/dist/chunks/calendar.79ea42c1.js.map +1 -0
- package/dist/chunks/checkbox.c7d791ed.js +173 -0
- package/dist/chunks/checkbox.c7d791ed.js.map +1 -0
- package/dist/chunks/{chevron-down.b851a6da.js → chevron-up.674ec2e5.js} +8 -8
- package/dist/chunks/chevron-up.674ec2e5.js.map +1 -0
- package/dist/chunks/{controls-group.b827382b.js → controls-group.5d3e04dd.js} +20 -20
- package/dist/chunks/controls-group.5d3e04dd.js.map +1 -0
- package/dist/chunks/{copy.5a4cbd4d.js → copy.ac796536.js} +37 -38
- package/dist/chunks/copy.ac796536.js.map +1 -0
- package/dist/chunks/{dropdown-default-textbox.819e43f7.js → dropdown-default-textbox.109c36d2.js} +38 -40
- package/dist/chunks/dropdown-default-textbox.109c36d2.js.map +1 -0
- package/dist/chunks/{dropdown.c05678d0.js → dropdown.fd93f0ce.js} +351 -335
- package/dist/chunks/dropdown.fd93f0ce.js.map +1 -0
- package/dist/chunks/error-message.3b3c33d4.js +47 -0
- package/dist/chunks/error-message.3b3c33d4.js.map +1 -0
- package/dist/chunks/{footer-actions.67642347.js → footer-actions.f02e8699.js} +23 -23
- package/dist/chunks/footer-actions.f02e8699.js.map +1 -0
- package/dist/chunks/get-slot-text.c1114034.js +9 -0
- package/dist/chunks/get-slot-text.c1114034.js.map +1 -0
- package/dist/chunks/{grid-layout.73f23b1b.js → grid-layout.b7e0d964.js} +2 -2
- package/dist/chunks/{grid-layout.73f23b1b.js.map → grid-layout.b7e0d964.js.map} +1 -1
- package/dist/chunks/{index.56858f4e.js → index.45295dd3.js} +23 -19
- package/dist/chunks/index.45295dd3.js.map +1 -0
- package/dist/chunks/{index.10aaf539.js → index.88ff49c2.js} +136 -142
- package/dist/chunks/index.88ff49c2.js.map +1 -0
- package/dist/chunks/{index.73d50fa6.js → index.9902cae4.js} +65 -68
- package/dist/chunks/{index.73d50fa6.js.map → index.9902cae4.js.map} +1 -1
- package/dist/chunks/{index.0cf00b47.js → index.bd734551.js} +35 -37
- package/dist/chunks/index.bd734551.js.map +1 -0
- package/dist/chunks/{index.133e4da0.js → index.c85a1ab9.js} +81 -79
- package/dist/chunks/{index.133e4da0.js.map → index.c85a1ab9.js.map} +1 -1
- package/dist/chunks/{index.f0f8ed98.js → index.c8f81673.js} +23 -26
- package/dist/chunks/index.c8f81673.js.map +1 -0
- package/dist/chunks/{listbox-option-tag.8d6cccac.js → listbox-option-tag.ec42431b.js} +32 -36
- package/dist/chunks/listbox-option-tag.ec42431b.js.map +1 -0
- package/dist/chunks/{listbox.116ed0c1.js → listbox.e792d2d6.js} +244 -251
- package/dist/chunks/listbox.e792d2d6.js.map +1 -0
- package/dist/chunks/loading-button.429c8416.js +86 -0
- package/dist/chunks/loading-button.429c8416.js.map +1 -0
- package/dist/chunks/tabs.keys.358742f2.js +7 -0
- package/dist/chunks/tabs.keys.358742f2.js.map +1 -0
- package/dist/chunks/{tooltip.2aff4fa6.js → tooltip.a47ace87.js} +49 -52
- package/dist/chunks/tooltip.a47ace87.js.map +1 -0
- package/dist/chunks/use-default-slot-validator.cbdfe693.js +13 -0
- package/dist/chunks/use-default-slot-validator.cbdfe693.js.map +1 -0
- package/dist/chunks/use-has-slot.6052d56a.js +6 -0
- package/dist/chunks/use-has-slot.6052d56a.js.map +1 -0
- package/dist/code-snippet.js +469 -413
- package/dist/code-snippet.js.map +1 -1
- package/dist/country.js +492 -494
- package/dist/country.js.map +1 -1
- package/dist/currency.js +32 -35
- package/dist/currency.js.map +1 -1
- package/dist/data-grid.js +595 -603
- package/dist/data-grid.js.map +1 -1
- package/dist/date-picker.js +76 -80
- package/dist/date-picker.js.map +1 -1
- package/dist/date-range-picker.js +2 -2
- package/dist/date.js +1 -1
- package/dist/divider.js +1 -1
- package/dist/dropdown.js +37 -39
- package/dist/dropdown.js.map +1 -1
- package/dist/empty-state.js +134 -0
- package/dist/empty-state.js.map +1 -0
- package/dist/filter-bar.js +648 -638
- package/dist/filter-bar.js.map +1 -1
- package/dist/focus-trap.js +1 -1
- package/dist/form-layout.js +64 -64
- package/dist/form-layout.js.map +1 -1
- package/dist/header.js +61 -63
- package/dist/header.js.map +1 -1
- package/dist/image.js +82 -0
- package/dist/image.js.map +1 -0
- package/dist/index.js +216 -205
- package/dist/index.js.map +1 -1
- package/dist/info-icon.js +2 -2
- package/dist/input-field.js +99 -123
- package/dist/input-field.js.map +1 -1
- package/dist/internal.js +7 -7
- package/dist/link.js +27 -26
- package/dist/link.js.map +1 -1
- package/dist/loading-indicator.js +1 -1
- package/dist/menu.js +96 -104
- package/dist/menu.js.map +1 -1
- package/dist/modal.js +111 -264
- package/dist/modal.js.map +1 -1
- package/dist/pagination.js +148 -145
- package/dist/pagination.js.map +1 -1
- package/dist/payment-method.js +16 -18
- package/dist/payment-method.js.map +1 -1
- package/dist/popover.js +58 -54
- package/dist/popover.js.map +1 -1
- package/dist/popper-container.js +13 -17
- package/dist/popper-container.js.map +1 -1
- package/dist/radio-group.js +71 -72
- package/dist/radio-group.js.map +1 -1
- package/dist/search-bar.js +54 -66
- package/dist/search-bar.js.map +1 -1
- package/dist/segmented-control.js +68 -55
- package/dist/segmented-control.js.map +1 -1
- package/dist/sidepanel.js +65 -64
- package/dist/sidepanel.js.map +1 -1
- package/dist/status.js +20 -23
- package/dist/status.js.map +1 -1
- package/dist/structured-list.js +1 -1
- package/dist/summary-grid.js +110 -141
- package/dist/summary-grid.js.map +1 -1
- package/dist/tabs.js +68 -60
- package/dist/tabs.js.map +1 -1
- package/dist/tag.js +23 -26
- package/dist/tag.js.map +1 -1
- package/dist/textarea.js +97 -96
- package/dist/textarea.js.map +1 -1
- package/dist/timeline.js +125 -125
- package/dist/timeline.js.map +1 -1
- package/dist/toast.js +44 -48
- package/dist/toast.js.map +1 -1
- package/dist/toggle.js +54 -52
- package/dist/toggle.js.map +1 -1
- package/dist/typography.js +1 -1
- package/dist/web-types.json +651 -397
- package/package.json +9 -12
- package/dist/@types/packages/vue2/src/components/data-grid/composables/useCalculateBodyFitContentDynamicStyles/useCalculateBodyFitContentDynamicStyles.d.ts +0 -2
- package/dist/@types/packages/vue2/src/components/data-grid/composables/useCalculateBodyFitContentDynamicStyles/useCalculateBodyFitContentDynamicStyles.types.d.ts +0 -8
- package/dist/@types/packages/vue2/src/components/filter-bar/components/base-filter/components/index.d.ts +0 -1
- package/dist/assets/button-actions.css +0 -1
- package/dist/assets/chevron-down.css +0 -1
- package/dist/chunks/base-button.98379576.js.map +0 -1
- package/dist/chunks/button-actions.bd397c79.js +0 -104
- package/dist/chunks/button-actions.bd397c79.js.map +0 -1
- package/dist/chunks/button.d0c9527d.js.map +0 -1
- package/dist/chunks/calendar.0ae43a96.js.map +0 -1
- package/dist/chunks/checkbox.f8457c93.js +0 -164
- package/dist/chunks/checkbox.f8457c93.js.map +0 -1
- package/dist/chunks/chevron-down.b851a6da.js.map +0 -1
- package/dist/chunks/controls-group.b827382b.js.map +0 -1
- package/dist/chunks/copy.5a4cbd4d.js.map +0 -1
- package/dist/chunks/dropdown-default-textbox.819e43f7.js.map +0 -1
- package/dist/chunks/dropdown.c05678d0.js.map +0 -1
- package/dist/chunks/error-message.0433b539.js +0 -47
- package/dist/chunks/error-message.0433b539.js.map +0 -1
- package/dist/chunks/footer-actions.67642347.js.map +0 -1
- package/dist/chunks/get-slot-text.e5c766d0.js +0 -9
- package/dist/chunks/get-slot-text.e5c766d0.js.map +0 -1
- package/dist/chunks/index.0cf00b47.js.map +0 -1
- package/dist/chunks/index.10aaf539.js.map +0 -1
- package/dist/chunks/index.56858f4e.js.map +0 -1
- package/dist/chunks/index.f0f8ed98.js.map +0 -1
- package/dist/chunks/listbox-option-tag.8d6cccac.js.map +0 -1
- package/dist/chunks/listbox.116ed0c1.js.map +0 -1
- package/dist/chunks/loading-button.1c201f87.js +0 -84
- package/dist/chunks/loading-button.1c201f87.js.map +0 -1
- package/dist/chunks/tooltip.2aff4fa6.js.map +0 -1
- package/dist/chunks/use-default-slot-validator.83d977a1.js +0 -11
- package/dist/chunks/use-default-slot-validator.83d977a1.js.map +0 -1
- package/dist/chunks/use-has-slot.068222e6.js +0 -5
- package/dist/chunks/use-has-slot.068222e6.js.map +0 -1
package/dist/menu.js
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { n as
|
|
1
|
+
import { defineComponent as g, computed as b, ref as c, onMounted as U } from "vue";
|
|
2
|
+
import { n as C } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
|
|
3
3
|
import { g as w } from "./chunks/unique-id.a2a2b458.js";
|
|
4
|
-
import {
|
|
5
|
-
import { BentoPopover as
|
|
6
|
-
import { a as
|
|
7
|
-
import { B as W, a as L } from "./chunks/base-button.
|
|
8
|
-
import { B as j
|
|
9
|
-
import { B as
|
|
10
|
-
import "./assets/
|
|
11
|
-
let
|
|
12
|
-
const
|
|
4
|
+
import { a as H } from "./chunks/button.fb307df3.js";
|
|
5
|
+
import { BentoPopover as N, BentoPopoverPositions as B } from "./popover.js";
|
|
6
|
+
import { a as q, C as I } from "./chunks/chevron-right.3b826337.js";
|
|
7
|
+
import { B as W, a as L } from "./chunks/base-button.bd8fa976.js";
|
|
8
|
+
import { B as j } from "./chunks/index.45295dd3.js";
|
|
9
|
+
import { B as Z } from "./chunks/directive.0408e565.js";
|
|
10
|
+
import "./assets/index4.css";
|
|
11
|
+
let O = 0;
|
|
12
|
+
const $ = {
|
|
13
13
|
beforeCreate() {
|
|
14
|
-
this.uuid =
|
|
14
|
+
this.uuid = O.toString(), O += 1;
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
|
-
var
|
|
17
|
+
var V = function() {
|
|
18
18
|
var e = this, n = e._self._c;
|
|
19
19
|
return n("svg", e._b({ attrs: { role: "img", xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "none" } }, "svg", e.$attrs, !1), [e.$attrs["svg-title"] ? n("title", [e._v(e._s(e.$attrs["svg-title"]))]) : e._e(), n("path", { attrs: { fill: "#00112C", "fill-rule": "evenodd", 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.00166 0.970945 7.70006 1.00065 7.42597 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.65804 3.27936 6.93934 3.56066C7.22064 3.84197 7.60218 4 8 4Z", "clip-rule": "evenodd" } }), n("path", { attrs: { fill: "#00112C", "fill-rule": "evenodd", 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.00166 11.9709 7.70006 12.0007 7.42597 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.65804 14.2794 6.93934 14.5607C7.22064 14.842 7.60218 15 8 15Z", "clip-rule": "evenodd" } }), n("path", { attrs: { fill: "#00112C", "fill-rule": "evenodd", 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.65804 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.42597 6.61418C7.70006 6.50065 8.00166 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", "clip-rule": "evenodd" } })]);
|
|
20
|
-
},
|
|
20
|
+
}, z = [], G = /* @__PURE__ */ C(
|
|
21
|
+
$,
|
|
22
|
+
V,
|
|
21
23
|
z,
|
|
22
|
-
G,
|
|
23
|
-
J,
|
|
24
24
|
!1,
|
|
25
25
|
null,
|
|
26
26
|
"c663a42e",
|
|
27
27
|
null,
|
|
28
28
|
null
|
|
29
29
|
);
|
|
30
|
-
const
|
|
30
|
+
const J = G.exports, Q = g({
|
|
31
31
|
name: "menu-item",
|
|
32
|
-
components: { BaseButton: W, BentoTypography: j, ChevronRightIcon:
|
|
32
|
+
components: { BaseButton: W, BentoTypography: j, ChevronRightIcon: q },
|
|
33
33
|
props: {
|
|
34
34
|
/**
|
|
35
35
|
* menu-item text that gets displayed as the main label
|
|
@@ -97,16 +97,12 @@ const X = Q.exports, ee = k({
|
|
|
97
97
|
},
|
|
98
98
|
emits: [L.CLICK],
|
|
99
99
|
setup(s, { emit: e }) {
|
|
100
|
-
const n = b(() => ({
|
|
101
|
-
"b-menu-item--critical": s.critical,
|
|
102
|
-
"b-menu-item--indent": s.indent
|
|
103
|
-
}));
|
|
104
100
|
return {
|
|
105
|
-
// Enums
|
|
106
|
-
BentoTypographyElement: Y,
|
|
107
|
-
BentoTypographyVariant: Z,
|
|
108
101
|
// Values
|
|
109
|
-
conditionalClasses:
|
|
102
|
+
conditionalClasses: b(() => ({
|
|
103
|
+
"b-menu-item--critical": s.critical,
|
|
104
|
+
"b-menu-item--indent": s.indent
|
|
105
|
+
})),
|
|
110
106
|
// Methods
|
|
111
107
|
onClick: (o) => {
|
|
112
108
|
o.stopPropagation(), s.handler(), e(L.CLICK);
|
|
@@ -114,52 +110,52 @@ const X = Q.exports, ee = k({
|
|
|
114
110
|
};
|
|
115
111
|
}
|
|
116
112
|
});
|
|
117
|
-
var
|
|
113
|
+
var X = function() {
|
|
118
114
|
var e = this, n = e._self._c;
|
|
119
115
|
return e._self._setupProxy, n("base-button", { staticClass: "b-menu-item", class: e.conditionalClasses, attrs: { role: "menuitem", disabled: e.disabled, tabindex: "-1" }, on: { click: e.onClick }, scopedSlots: e._u([e.icon ? { key: "iconLeft", fn: function() {
|
|
120
116
|
return [n(e.icon, { tag: "component", staticClass: "b-menu-item__icon-left", attrs: { "aria-hidden": "true" } })];
|
|
121
117
|
}, proxy: !0 } : null, { key: "default", fn: function() {
|
|
122
|
-
return [n("bento-typography", { staticClass: "b-menu-item__primary-text", attrs: { el:
|
|
118
|
+
return [n("bento-typography", { staticClass: "b-menu-item__primary-text", attrs: { el: "span", variant: "body", stronger: e.isTitle } }, [e._v(" " + e._s(e.text) + " ")]), e.secondaryText ? n("bento-typography", { staticClass: "b-menu-item__secondary-text", attrs: { el: "span", variant: "body" } }, [e._v(" " + e._s(e.secondaryText) + " ")]) : e._e()];
|
|
123
119
|
}, proxy: !0 }, e.chevron ? { key: "iconRight", fn: function() {
|
|
124
120
|
return [n("chevron-right-icon", { attrs: { "aria-hidden": "true" } })];
|
|
125
121
|
}, proxy: !0 } : null], null, !0) });
|
|
126
|
-
},
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
122
|
+
}, Y = [], ee = /* @__PURE__ */ C(
|
|
123
|
+
Q,
|
|
124
|
+
X,
|
|
125
|
+
Y,
|
|
130
126
|
!1,
|
|
131
127
|
null,
|
|
132
|
-
"
|
|
128
|
+
"862dca7f",
|
|
133
129
|
null,
|
|
134
130
|
null
|
|
135
131
|
);
|
|
136
|
-
const
|
|
132
|
+
const S = ee.exports;
|
|
137
133
|
var _ = /* @__PURE__ */ ((s) => (s.BACK = "back", s.CLOSE = "close", s.OPEN = "open", s))(_ || {});
|
|
138
|
-
const
|
|
134
|
+
const te = g({
|
|
139
135
|
name: "bento-menu-list-container"
|
|
140
136
|
});
|
|
141
|
-
var
|
|
137
|
+
var ne = function() {
|
|
142
138
|
var e = this, n = e._self._c;
|
|
143
139
|
return e._self._setupProxy, n("div", { staticClass: "b-menu-list-container" }, [e._t("default")], 2);
|
|
144
|
-
},
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
140
|
+
}, se = [], oe = /* @__PURE__ */ C(
|
|
141
|
+
te,
|
|
142
|
+
ne,
|
|
143
|
+
se,
|
|
148
144
|
!1,
|
|
149
145
|
null,
|
|
150
146
|
"77d1091e",
|
|
151
147
|
null,
|
|
152
148
|
null
|
|
153
149
|
);
|
|
154
|
-
const
|
|
150
|
+
const P = oe.exports, R = {
|
|
155
151
|
"en-US": {
|
|
156
152
|
menuButton: "Open menu",
|
|
157
153
|
backButton: "Go back"
|
|
158
154
|
}
|
|
159
|
-
},
|
|
160
|
-
i18n: { messages:
|
|
155
|
+
}, ue = g({
|
|
156
|
+
i18n: { messages: R },
|
|
161
157
|
name: "sub-menu-item-list",
|
|
162
|
-
components: { MenuItem:
|
|
158
|
+
components: { MenuItem: S, MenuListContainer: P },
|
|
163
159
|
props: {
|
|
164
160
|
items: {
|
|
165
161
|
type: Array,
|
|
@@ -173,10 +169,10 @@ const T = ae.exports, E = {
|
|
|
173
169
|
emits: [_.CLOSE, _.BACK],
|
|
174
170
|
setup(s, { emit: e }) {
|
|
175
171
|
const n = c(null), t = c(0), o = c(s.items.length), r = () => e(_.CLOSE), i = () => e(_.BACK), l = b(() => {
|
|
176
|
-
var
|
|
177
|
-
const y = (
|
|
178
|
-
...
|
|
179
|
-
indent: !
|
|
172
|
+
var m;
|
|
173
|
+
const y = (m = s.items) == null ? void 0 : m.map((p) => ({
|
|
174
|
+
...p,
|
|
175
|
+
indent: !p.icon,
|
|
180
176
|
isTitle: !1,
|
|
181
177
|
clickHandler: r
|
|
182
178
|
}));
|
|
@@ -185,7 +181,7 @@ const T = ae.exports, E = {
|
|
|
185
181
|
text: s.title,
|
|
186
182
|
secondaryText: null,
|
|
187
183
|
critical: !1,
|
|
188
|
-
icon:
|
|
184
|
+
icon: I,
|
|
189
185
|
isTitle: !0,
|
|
190
186
|
disabled: !1,
|
|
191
187
|
indent: !1,
|
|
@@ -195,16 +191,16 @@ const T = ae.exports, E = {
|
|
|
195
191
|
...y
|
|
196
192
|
];
|
|
197
193
|
}), f = async () => {
|
|
198
|
-
var y,
|
|
199
|
-
(
|
|
194
|
+
var y, m, p, x, k;
|
|
195
|
+
(k = (x = (p = (m = (y = n.value) == null ? void 0 : y.children) == null ? void 0 : m[t.value]) == null ? void 0 : p.children) == null ? void 0 : x[0]) == null || k.focus();
|
|
200
196
|
};
|
|
201
197
|
U(async () => {
|
|
202
198
|
setTimeout(() => f(), 150);
|
|
203
199
|
});
|
|
204
200
|
const u = () => {
|
|
205
201
|
t.value > 0 ? (t.value -= 1, l.value[t.value].disabled && u()) : t.value = o.value, f();
|
|
206
|
-
},
|
|
207
|
-
t.value < o.value ? (t.value += 1, l.value[t.value].disabled &&
|
|
202
|
+
}, h = () => {
|
|
203
|
+
t.value < o.value ? (t.value += 1, l.value[t.value].disabled && h()) : t.value = 0, f();
|
|
208
204
|
};
|
|
209
205
|
return {
|
|
210
206
|
// Enums
|
|
@@ -212,17 +208,17 @@ const T = ae.exports, E = {
|
|
|
212
208
|
// Values
|
|
213
209
|
subMenuItemListRefLocal: n,
|
|
214
210
|
subMenuFocusedIndex: t,
|
|
215
|
-
ChevronLeftIcon:
|
|
211
|
+
ChevronLeftIcon: I,
|
|
216
212
|
computedItems: l,
|
|
217
213
|
// Methods
|
|
218
214
|
closeMenu: r,
|
|
219
215
|
onBackButton: i,
|
|
220
216
|
focusPrevious: u,
|
|
221
|
-
focusNext:
|
|
217
|
+
focusNext: h
|
|
222
218
|
};
|
|
223
219
|
}
|
|
224
220
|
});
|
|
225
|
-
var
|
|
221
|
+
var le = function() {
|
|
226
222
|
var e = this, n = e._self._c;
|
|
227
223
|
return e._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(t) {
|
|
228
224
|
return !t.type.indexOf("key") && e._k(t.keyCode, "down", 40, t.key, ["Down", "ArrowDown"]) ? null : (t.stopPropagation(), e.focusNext.apply(null, arguments));
|
|
@@ -236,19 +232,19 @@ var ie = function() {
|
|
|
236
232
|
{ "b-sub-menu-item-list__first-item": o == 1 }
|
|
237
233
|
], attrs: { role: "none" } }, [n("menu-item", { attrs: { text: t.text, handler: t.handler, "secondary-text": t.secondaryText, icon: t.icon, "is-title": t.isTitle, disabled: t.disabled, critical: t.critical, indent: t.indent, tabindex: o === e.subMenuFocusedIndex ? "0" : "-1" }, on: { click: t.clickHandler } })], 1);
|
|
238
234
|
}), 0)])], 1);
|
|
239
|
-
},
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
235
|
+
}, ae = [], re = /* @__PURE__ */ C(
|
|
236
|
+
ue,
|
|
237
|
+
le,
|
|
238
|
+
ae,
|
|
243
239
|
!1,
|
|
244
240
|
null,
|
|
245
241
|
"708c9290",
|
|
246
242
|
null,
|
|
247
243
|
null
|
|
248
244
|
);
|
|
249
|
-
const
|
|
245
|
+
const ie = re.exports, ce = g({
|
|
250
246
|
name: "menu-item-list",
|
|
251
|
-
components: { MenuItem:
|
|
247
|
+
components: { MenuItem: S, MenuListContainer: P, SubMenuItemList: ie },
|
|
252
248
|
props: {
|
|
253
249
|
/**
|
|
254
250
|
* The data to be displayed in the list
|
|
@@ -274,36 +270,36 @@ const fe = de.exports, _e = k({
|
|
|
274
270
|
},
|
|
275
271
|
emits: [_.CLOSE],
|
|
276
272
|
setup(s, { emit: e }) {
|
|
277
|
-
const n = c(null), t = c(null), o = c(null), r = c(!1), i = c(null), l = c(s.focusLastElement ? s.data.length - 1 : 0), f = c(0), u = c(s.data.length - 1),
|
|
273
|
+
const n = c(null), t = c(null), o = c(null), r = c(!1), i = c(null), l = c(s.focusLastElement ? s.data.length - 1 : 0), f = c(0), u = c(s.data.length - 1), h = b(() => s.data.some((a) => a.icon)), y = b(() => s.indentItems || h.value ? s.data.map((a) => {
|
|
278
274
|
let d = !1;
|
|
279
275
|
return a.icon || (d = !0), {
|
|
280
276
|
...a,
|
|
281
277
|
// eslint-disable-next-line no-param-reassign
|
|
282
278
|
indent: d
|
|
283
279
|
};
|
|
284
|
-
}) : s.data),
|
|
280
|
+
}) : s.data), m = () => {
|
|
285
281
|
var a, d, v;
|
|
286
282
|
return (v = (d = (a = n.value) == null ? void 0 : a.children[l.value]) == null ? void 0 : d.children[0]) == null ? void 0 : v.focus();
|
|
287
|
-
},
|
|
288
|
-
a.items ? (i.value = d, r.value = !0) : (i.value = d, r.value = !1,
|
|
289
|
-
},
|
|
290
|
-
l.value > 0 ? (l.value -= 1, y.value[l.value].disabled &&
|
|
283
|
+
}, p = () => e(_.CLOSE), x = async (a, d) => {
|
|
284
|
+
a.items ? (i.value = d, r.value = !0) : (i.value = d, r.value = !1, p());
|
|
285
|
+
}, k = () => {
|
|
286
|
+
l.value > 0 ? (l.value -= 1, y.value[l.value].disabled && k()) : l.value = u.value, m();
|
|
291
287
|
}, M = () => {
|
|
292
|
-
l.value < u.value ? (l.value += 1, y.value[l.value].disabled && M()) : l.value = 0,
|
|
293
|
-
},
|
|
288
|
+
l.value < u.value ? (l.value += 1, y.value[l.value].disabled && M()) : l.value = 0, m();
|
|
289
|
+
}, E = (a, d) => {
|
|
294
290
|
var v;
|
|
295
291
|
(v = a == null ? void 0 : a.items) != null && v.length && (i.value = d, r.value = !0);
|
|
296
|
-
},
|
|
292
|
+
}, T = () => {
|
|
297
293
|
i.value && r.value && (i.value = null, r.value = !1);
|
|
298
294
|
}, F = () => {
|
|
299
|
-
r.value = !1, i.value = null,
|
|
300
|
-
},
|
|
295
|
+
r.value = !1, i.value = null, m();
|
|
296
|
+
}, A = b(() => {
|
|
301
297
|
var a;
|
|
302
298
|
return (a = t == null ? void 0 : t.value) == null ? void 0 : a.$el.offsetHeight;
|
|
303
|
-
}),
|
|
299
|
+
}), D = b(() => {
|
|
304
300
|
var a, d, v;
|
|
305
301
|
return (v = (d = (a = o == null ? void 0 : o.value) == null ? void 0 : a[0]) == null ? void 0 : d.$el) == null ? void 0 : v.offsetHeight;
|
|
306
|
-
}), K = b(() => r.value ? `${
|
|
302
|
+
}), K = b(() => r.value ? `${D.value}px` : `${A.value}px`);
|
|
307
303
|
return {
|
|
308
304
|
// Values
|
|
309
305
|
menuItemListRef: n,
|
|
@@ -317,16 +313,16 @@ const fe = de.exports, _e = k({
|
|
|
317
313
|
visibleSubMenuIndex: i,
|
|
318
314
|
// Methods
|
|
319
315
|
toggleMenu: x,
|
|
320
|
-
closeMenu:
|
|
321
|
-
focusPrevious:
|
|
316
|
+
closeMenu: p,
|
|
317
|
+
focusPrevious: k,
|
|
322
318
|
focusNext: M,
|
|
323
|
-
focusRight:
|
|
324
|
-
focusLeft:
|
|
319
|
+
focusRight: E,
|
|
320
|
+
focusLeft: T,
|
|
325
321
|
onBackButton: F
|
|
326
322
|
};
|
|
327
323
|
}
|
|
328
324
|
});
|
|
329
|
-
var
|
|
325
|
+
var de = function() {
|
|
330
326
|
var e = this, n = e._self._c;
|
|
331
327
|
return e._self._setupProxy, n("menu-list-container", { ref: "menuItemListWrapperRef", style: { height: e.computedHeight } }, [n("ul", { ref: "menuItemListRef", staticClass: "b-menu-item-list", attrs: { role: "menu" }, on: { keydown: [function(t) {
|
|
332
328
|
return !t.type.indexOf("key") && e._k(t.keyCode, "down", 40, t.key, ["Down", "ArrowDown"]) ? null : e.focusNext.apply(null, arguments);
|
|
@@ -346,21 +342,21 @@ var pe = function() {
|
|
|
346
342
|
return e.toggleMenu(t, o);
|
|
347
343
|
} } }), (f = t.items) != null && f.length && e.showSubMenu && e.visibleSubMenuIndex === o ? n("sub-menu-item-list", { ref: "subMenuItemListRef", refInFor: !0, attrs: { items: t.items, title: t.text }, on: { back: e.onBackButton, close: e.closeMenu } }) : e._e()], 1);
|
|
348
344
|
}), 0)]);
|
|
349
|
-
},
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
345
|
+
}, fe = [], _e = /* @__PURE__ */ C(
|
|
346
|
+
ce,
|
|
347
|
+
de,
|
|
348
|
+
fe,
|
|
353
349
|
!1,
|
|
354
350
|
null,
|
|
355
351
|
"3b23209d",
|
|
356
352
|
null,
|
|
357
353
|
null
|
|
358
354
|
);
|
|
359
|
-
const
|
|
360
|
-
i18n: { messages:
|
|
355
|
+
const me = _e.exports, pe = g({
|
|
356
|
+
i18n: { messages: R },
|
|
361
357
|
name: "bento-menu",
|
|
362
|
-
components: { BentoButton: H, BentoPopover:
|
|
363
|
-
directives: { BentoClickOutsideDirective:
|
|
358
|
+
components: { BentoButton: H, BentoPopover: N, MenuItemList: me, OptionsVerticalIcon: J },
|
|
359
|
+
directives: { BentoClickOutsideDirective: Z },
|
|
364
360
|
props: {
|
|
365
361
|
/**
|
|
366
362
|
* The data to be displayed in the list
|
|
@@ -371,7 +367,6 @@ const ve = ye.exports, be = k({
|
|
|
371
367
|
},
|
|
372
368
|
/**
|
|
373
369
|
* The position of where the menu should open.
|
|
374
|
-
* @see BentoPopoverPositions
|
|
375
370
|
*/
|
|
376
371
|
menuPosition: {
|
|
377
372
|
type: String,
|
|
@@ -399,7 +394,7 @@ const ve = ye.exports, be = k({
|
|
|
399
394
|
button: {
|
|
400
395
|
type: Object,
|
|
401
396
|
default: () => ({
|
|
402
|
-
variant:
|
|
397
|
+
variant: "secondary"
|
|
403
398
|
})
|
|
404
399
|
}
|
|
405
400
|
},
|
|
@@ -411,9 +406,6 @@ const ve = ye.exports, be = k({
|
|
|
411
406
|
t.value && (t.value = !1, n.value.$el.focus(), e(_.CLOSE));
|
|
412
407
|
};
|
|
413
408
|
return {
|
|
414
|
-
// Enums
|
|
415
|
-
BentoButtonVariant: I,
|
|
416
|
-
BentoPopoverPositions: B,
|
|
417
409
|
// Values
|
|
418
410
|
menuButtonRef: n,
|
|
419
411
|
menuId: r,
|
|
@@ -429,13 +421,13 @@ const ve = ye.exports, be = k({
|
|
|
429
421
|
o.value = !0, f();
|
|
430
422
|
},
|
|
431
423
|
closeMenu: u,
|
|
432
|
-
toggleShowMenu: (
|
|
433
|
-
|
|
424
|
+
toggleShowMenu: (p) => {
|
|
425
|
+
p.stopPropagation(), t.value ? u() : f();
|
|
434
426
|
}
|
|
435
427
|
};
|
|
436
428
|
}
|
|
437
429
|
});
|
|
438
|
-
var
|
|
430
|
+
var ye = function() {
|
|
439
431
|
var e = this, n = e._self._c;
|
|
440
432
|
return e._self._setupProxy, n("div", { directives: [{ name: "bento-click-outside-directive", rawName: "v-bento-click-outside-directive", value: e.closeMenu, expression: "closeMenu" }], staticClass: "b-menu", on: { keydown: [function(t) {
|
|
441
433
|
return !t.type.indexOf("key") && e._k(t.keyCode, "down", 40, t.key, ["Down", "ArrowDown"]) ? null : e.onKeyDown.apply(null, arguments);
|
|
@@ -443,24 +435,24 @@ var he = function() {
|
|
|
443
435
|
return !t.type.indexOf("key") && e._k(t.keyCode, "up", 38, t.key, ["Up", "ArrowUp"]) ? null : e.onKeyUp.apply(null, arguments);
|
|
444
436
|
}, function(t) {
|
|
445
437
|
return !t.type.indexOf("key") && e._k(t.keyCode, "esc", 27, t.key, ["Esc", "Escape"]) ? null : e.closeMenu.apply(null, arguments);
|
|
446
|
-
}] } }, [n("bento-button", e._b({ ref: "menuButtonRef", attrs: { "aria-haspopup": "true", "aria-expanded": e.showMenu
|
|
438
|
+
}] } }, [n("bento-button", e._b({ ref: "menuButtonRef", attrs: { "aria-haspopup": "true", "aria-expanded": `${e.showMenu}`, "aria-controls": e.showMenu ? e.menuId : null }, on: { click: e.toggleShowMenu }, scopedSlots: e._u([{ key: "iconLeft", fn: function() {
|
|
447
439
|
return [e._t("default", function() {
|
|
448
440
|
return [n("options-vertical-icon", { attrs: { title: e.$t("menuButton") } })];
|
|
449
441
|
})];
|
|
450
442
|
}, proxy: !0 }], null, !0) }, "bento-button", e.button, !1)), e.menuButtonRef ? n("bento-popover", { staticClass: "b-menu__popover", style: e.computedMenuWidth, attrs: { id: e.menuId, open: e.showMenu, "target-element": e.menuButtonRef, position: e.menuPosition, "fixed-positioning": e.menuFixedPositioning, "without-space": "" } }, [n("menu-item-list", { attrs: { data: e.data, "focus-last-element": e.isLastElementFocused }, on: { close: e.closeMenu } })], 1) : e._e()], 1);
|
|
451
|
-
},
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
443
|
+
}, ve = [], be = /* @__PURE__ */ C(
|
|
444
|
+
pe,
|
|
445
|
+
ye,
|
|
446
|
+
ve,
|
|
455
447
|
!1,
|
|
456
448
|
null,
|
|
457
|
-
"
|
|
449
|
+
"c03636fd",
|
|
458
450
|
null,
|
|
459
451
|
null
|
|
460
452
|
);
|
|
461
|
-
const
|
|
453
|
+
const Le = be.exports;
|
|
462
454
|
export {
|
|
463
|
-
|
|
455
|
+
Le as BentoMenu,
|
|
464
456
|
_ as BentoMenuEvent
|
|
465
457
|
};
|
|
466
458
|
//# sourceMappingURL=menu.js.map
|
package/dist/menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sources":["../../../node_modules/@adyen/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/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/components/menu-item-list/menu-item-list.vue","../src/components/menu/menu.vue"],"sourcesContent":["\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" 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=\"#00112C\" fill-rule=\"evenodd\" 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.00166 0.970945 7.70006 1.00065 7.42597 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.65804 3.27936 6.93934 3.56066C7.22064 3.84197 7.60218 4 8 4Z\" clip-rule=\"evenodd\"/><path fill=\"#00112C\" fill-rule=\"evenodd\" 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.00166 11.9709 7.70006 12.0007 7.42597 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.65804 14.2794 6.93934 14.5607C7.22064 14.842 7.60218 15 8 15Z\" clip-rule=\"evenodd\"/><path fill=\"#00112C\" fill-rule=\"evenodd\" 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.65804 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.42597 6.61418C7.70006 6.50065 8.00166 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\" clip-rule=\"evenodd\"/></svg>\n</template>\n<script>\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n<style scoped lang=\"scss\">\n svg {\n display: inline-flex;\n flex-shrink: 0;\n }\n \n svg,\n svg * {\n fill: currentcolor;\n }\n</style>\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\n :el=\"BentoTypographyElement.SPAN\"\n :variant=\"BentoTypographyVariant.BODY\"\n :stronger=\"isTitle\"\n class=\"b-menu-item__primary-text\"\n >\n {{ text }}\n </bento-typography>\n <bento-typography\n v-if=\"secondaryText\"\n :el=\"BentoTypographyElement.SPAN\"\n :variant=\"BentoTypographyVariant.BODY\"\n class=\"b-menu-item__secondary-text\"\n >\n {{ secondaryText }}\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 { computed, defineComponent, PropType } from 'vue';\n import type { VueNodeElement } from '@/types';\n import ChevronRightIcon from '@adyen/ui-assets-icons-16/vue/chevron-right';\n import { BaseButton, BentoBaseButtonEvent } from '@/components/internal/base-button';\n import { BentoTypography, BentoTypographyElement, BentoTypographyVariant } from '@/components/typography';\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 type: Object as PropType<VueNodeElement>,\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 conditionalClasses = computed(() => ({\n 'b-menu-item--critical': props.critical,\n 'b-menu-item--indent': props.indent,\n }));\n\n const onClick = (e: MouseEvent) => {\n e.stopPropagation();\n props.handler();\n emit(BentoBaseButtonEvent.CLICK);\n };\n\n return {\n // Enums\n BentoTypographyElement,\n BentoTypographyVariant,\n\n // Values\n conditionalClasses,\n\n // Methods\n onClick,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./menu-item.scss\" />\n","import { BentoButton } from '../button';\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 variant?: ButtonProps['variant'];\n condensed?: ButtonProps['condensed'];\n disabled?: ButtonProps['disabled'];\n};\n","<template>\n <div class=\"b-menu-list-container\"><slot></slot></div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent } from 'vue';\n\n /**\n * Menu list container component to set the correct styling in a menu list. For internal use only.\n */\n export default defineComponent({\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\n v-for=\"(item, index) in computedItems\"\n :key=\"`sub-menu-item-list-item-${index}`\"\n :class=\"[\n { 'b-sub-menu-item-list__back-button': index === 0 },\n { 'b-sub-menu-item-list__first-item': index == 1 },\n ]\"\n role=\"none\"\n >\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 </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 ChevronLeftIcon from '@adyen/ui-assets-icons-16/vue/chevron-left';\n import { BentoMenuItem, MenuItem } from '../menu-item';\n import { BentoMenuEvent } from '../../menu.types';\n import messages from '../../messages.json';\n import MenuListContainer from '../menu-list-container/menu-list-container.vue';\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: { 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 },\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","<template>\n <menu-list-container ref=\"menuItemListWrapperRef\" :style=\"{ height: computedHeight }\">\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 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=\"toggleMenu(item, index)\"\n />\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, PropType, ref } from 'vue';\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\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: { 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 emits: [BentoMenuEvent.CLOSE],\n setup(props, { emit }) {\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 // eslint-disable-next-line no-param-reassign\n indent,\n };\n });\n }\n return props.data;\n });\n\n const focusItem = () => menuItemListRef.value?.children[focusedIndex.value]?.children[0]?.focus();\n\n const closeMenu = () => emit(BentoMenuEvent.CLOSE);\n\n const toggleMenu = async (item: BentoMenuItem, index: number) => {\n if (item.items) {\n visibleSubMenuIndex.value = index;\n showSubMenu.value = true;\n } else {\n visibleSubMenuIndex.value = index;\n showSubMenu.value = false;\n closeMenu();\n }\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 const menuHeight = computed(() => menuItemListWrapperRef?.value?.$el.offsetHeight);\n\n const subMenuHeight = computed(() => subMenuItemListRef?.value?.[0]?.$el?.offsetHeight);\n\n const computedHeight = computed(() => {\n if (showSubMenu.value) {\n return `${subMenuHeight.value}px`;\n }\n return `${menuHeight.value}px`;\n });\n\n return {\n // Values\n menuItemListRef,\n menuItemListWrapperRef,\n subMenuItemListRef,\n\n computedData,\n computedHeight,\n\n focusedIndex,\n subMenuFocusedIndex,\n\n showSubMenu,\n visibleSubMenuIndex,\n\n // Methods\n toggleMenu,\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 v-bento-click-outside-directive=\"closeMenu\"\n class=\"b-menu\"\n @keydown.down=\"onKeyDown\"\n @keydown.up=\"onKeyUp\"\n @keydown.esc=\"closeMenu\"\n >\n <bento-button\n ref=\"menuButtonRef\"\n aria-haspopup=\"true\"\n v-bind=\"button\"\n :aria-expanded=\"showMenu\"\n :aria-controls=\"showMenu ? menuId : null\"\n @click=\"toggleShowMenu\"\n >\n <template #iconLeft>\n <slot>\n <options-vertical-icon :title=\"$t('menuButton')\" />\n </slot>\n </template>\n </bento-button>\n <bento-popover\n v-if=\"menuButtonRef\"\n :id=\"menuId\"\n :open=\"showMenu\"\n class=\"b-menu__popover\"\n :style=\"computedMenuWidth\"\n :target-element=\"menuButtonRef\"\n :position=\"menuPosition\"\n :fixed-positioning=\"menuFixedPositioning\"\n without-space\n >\n <menu-item-list :data=\"data\" :focus-last-element=\"isLastElementFocused\" @close=\"closeMenu\" />\n </bento-popover>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, ref } from 'vue';\n import OptionsVerticalIcon from '@adyen/ui-assets-icons-16/vue/options-vertical';\n import { generateUid } from '@/utils/ts/unique-id';\n import { BentoClickOutsideDirective } from '@/directives';\n import { BentoButton, BentoButtonVariant } from '@/components/button';\n import { BentoPopover, BentoPopoverPositions } from '@/components/popover';\n import { BentoMenuItem, MenuItemList } from './components';\n import { BentoMenuButtonProps, BentoMenuEvent } from './menu.types';\n import messages from './messages.json';\n\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 defineComponent({\n i18n: { messages },\n name: 'bento-menu',\n components: { BentoButton, BentoPopover, MenuItemList, OptionsVerticalIcon },\n directives: { BentoClickOutsideDirective },\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 /**\n * The position of where the menu should open.\n * @see BentoPopoverPositions\n */\n menuPosition: {\n type: String as PropType<BentoPopoverPositions | `${BentoPopoverPositions}`>,\n default: BentoPopoverPositions.BOTTOM_START,\n validator: (value: BentoPopoverPositions) => Object.values(BentoPopoverPositions).includes(value),\n },\n\n /**\n * Instructs the menu popover to be visible outside of the containing container.\n * https://popper.js.org/docs/v2/constructors/#strategy\n */\n menuFixedPositioning: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets a custom width for the menu popover.\n */\n menuWidth: {\n type: Number,\n default: null,\n },\n /**\n * Object containing props to change the menu button appearance. Accepts the same props present in BentoButton.\n */\n button: {\n type: Object as PropType<BentoMenuButtonProps>,\n default: () => ({\n variant: BentoButtonVariant.SECONDARY,\n }),\n },\n },\n emits: [BentoMenuEvent.CLOSE, BentoMenuEvent.OPEN],\n setup(props, { emit }) {\n const menuButtonRef = ref(null);\n const showMenu = ref(false);\n const isLastElementFocused = ref(false);\n const menuId = generateUid('menu');\n const popoverId = generateUid('menu-popover');\n\n const computedMenuWidth = computed(() => (props.menuWidth ? { width: `${props.menuWidth}px` } : null));\n\n const openMenu = () => {\n showMenu.value = true;\n emit(BentoMenuEvent.OPEN);\n };\n\n const closeMenu = () => {\n if (showMenu.value) {\n showMenu.value = false;\n menuButtonRef.value.$el.focus();\n emit(BentoMenuEvent.CLOSE);\n }\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 = () => {\n isLastElementFocused.value = false;\n openMenu();\n };\n\n const onKeyUp = () => {\n isLastElementFocused.value = true;\n openMenu();\n };\n\n return {\n // Enums\n BentoButtonVariant,\n BentoPopoverPositions,\n\n // Values\n menuButtonRef,\n menuId,\n popoverId,\n showMenu,\n computedMenuWidth,\n isLastElementFocused,\n\n // Methods\n onKeyDown,\n onKeyUp,\n closeMenu,\n toggleShowMenu,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./menu.scss\" />\n"],"names":["uuid","_sfc_main$5","_sfc_main$4","defineComponent","BaseButton","BentoTypography","ChevronRightIcon","BentoBaseButtonEvent","props","emit","conditionalClasses","computed","BentoTypographyElement","BentoTypographyVariant","e","BentoMenuEvent","BentoMenuEvent2","_sfc_main$3","_sfc_main$2","messages","MenuItem","MenuListContainer","subMenuItemListRefLocal","ref","subMenuFocusedIndex","numberOfItems","closeMenu","onBackButton","computedItems","items","_a","el","ChevronLeftIcon","focusItem","_e","_d","_c","_b","onMounted","focusPrevious","focusNext","_sfc_main$1","SubMenuItemList","menuItemListRef","menuItemListWrapperRef","subMenuItemListRef","showSubMenu","visibleSubMenuIndex","focusedIndex","hasMenuItemsWithIcon","computedData","indent","toggleMenu","item","index","focusRight","focusLeft","menuHeight","subMenuHeight","computedHeight","_sfc_main","BentoButton","BentoPopover","MenuItemList","OptionsVerticalIcon","BentoClickOutsideDirective","BentoPopoverPositions","value","BentoButtonVariant","menuButtonRef","showMenu","isLastElementFocused","menuId","generateUid","popoverId","computedMenuWidth","openMenu"],"mappings":";;;;;;;;;;AAKA,IAAAA,IAAA;AAEA,MAAAC,IAAA;AAAA,EACA,eAAA;AACA,SAAA,OAAAD,EAAA,SAAA,GACAA,KAAA;AAAA,EACA;AACA;;;;;;;;;;;;;;qBCiCAE,KAAAC,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA,EAAA,YAAAC,GAAA,iBAAAC,GAAA,kBAAAC,EAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,MAAA;AAAA,MAIA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,SAAA;AAAA,MAIA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,eAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,SAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,MAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,UAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,QAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,UAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,SAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,CAAAC,EAAA,KAAA;AAAA,EACA,MAAAC,GAAA,EAAA,MAAAC,EAAA,GAAA;AAEA,UAAAC,IAAAC,EAAA,OAAA;AAAA,MAAA,yBAAAH,EAAA;AAAA,MACA,uBAAAA,EAAA;AAAA,IACA,EAAA;AASA,WAAA;AAAA;AAAA,MAAA,wBAAAI;AAAA,MAEA,wBAAAC;AAAA;AAAA,MACA,oBAAAH;AAAA;AAAA,MAGA,SAZA,CAAAI,MAAA;AACA,QAAAA,EAAA,gBAAA,GACAN,EAAA,QAAA,GACAC,EAAAF,EAAA,KAAA;AAAA,MAAA;AAAA,IAYA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;;;;;;;ACxIY,IAAAQ,IAAA,kBAAAC,OACRA,EAAA,OAAA,QACAA,EAAA,QAAA,SACAA,EAAA,OAAA,QAHQA,IAAAD,KAAA,CAAA,CAAA;ACQZ,MAAAE,KAAAd,EAAA;AAAA,EAAA,MAAA;AAEA,CAAA;;;;;;;;;;;;;;;;;;;GCqCAe,KAAAf,EAAA;AAAA,EAAA,MAAA,EAAA,UAAAgB,EAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA,EAAA,UAAAC,GAAA,mBAAAC,EAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,CAAAN,EAAA,OAAAA,EAAA,IAAA;AAAA,EACA,MAAAP,GAAA,EAAA,MAAAC,EAAA,GAAA;AAEA,UAAAa,IAAAC,EAAA,IAAA,GACAC,IAAAD,EAAA,CAAA,GACAE,IAAAF,EAAAf,EAAA,MAAA,MAAA,GAEAkB,IAAA,MAAAjB,EAAAM,EAAA,KAAA,GAEAY,IAAA,MAAAlB,EAAAM,EAAA,IAAA,GAEAa,IAAAjB,EAAA,MAAA;;AACA,YAAAkB,KAAAC,IAAAtB,EAAA,UAAA,gBAAAsB,EAAA,IAAA,CAAAC,OAAA;AAAA,QAAA,GAAAA;AAAA,QACA,QAAA,CAAAA,EAAA;AAAA,QACA,SAAA;AAAA,QACA,cAAAL;AAAA,MACA;AAEA,aAAA;AAAA,QAAA;AAAA,UACA,MAAAlB,EAAA;AAAA,UACA,eAAA;AAAA,UACA,UAAA;AAAA,UACA,MAAAwB;AAAA,UACA,SAAA;AAAA,UACA,UAAA;AAAA,UACA,QAAA;AAAA,UACA,SAAAL;AAAA,UACA,cAAAA;AAAA,QACA;AAAA,QACA,GAAAE;AAAA,MACA;AAAA,IACA,CAAA,GAGAI,IAAA,YAAA;;AACA,OAAAC,KAAAC,KAAAC,KAAAC,KAAAP,IAAAR,EAAA,UAAA,gBAAAQ,EAAA,aAAA,gBAAAO,EAAAb,EAAA,WAAA,gBAAAY,EAAA,aAAA,gBAAAD,EAAA,OAAA,QAAAD,EAAA;AAAA,IAAA;AAGA,IAAAI,EAAA,YAAA;AAEA,iBAAA,MAAAL,EAAA,GAAA,GAAA;AAAA,IAAA,CAAA;AAGA,UAAAM,IAAA,MAAA;AACA,MAAAf,EAAA,QAAA,KACAA,EAAA,SAAA,GACAI,EAAA,MAAAJ,EAAA,KAAA,EAAA,YACAe,EAAA,KAGAf,EAAA,QAAAC,EAAA,OAEAQ,EAAA;AAAA,IAAA,GAGAO,IAAA,MAAA;AACA,MAAAhB,EAAA,QAAAC,EAAA,SACAD,EAAA,SAAA,GACAI,EAAA,MAAAJ,EAAA,KAAA,EAAA,YACAgB,EAAA,KAGAhB,EAAA,QAAA,GAEAS,EAAA;AAAA,IAAA;AAGA,WAAA;AAAA;AAAA,MAAA,gBAAAlB;AAAA;AAAA,MAEA,yBAAAO;AAAA,MAGA,qBAAAE;AAAA,MACA,iBAAAQ;AAAA,MACA,eAAAJ;AAAA;AAAA,MACA,WAAAF;AAAA,MAGA,cAAAC;AAAA,MACA,eAAAY;AAAA,MACA,WAAAC;AAAA,IACA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;uBC1FAC,KAAAtC,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA,EAAA,UAAAiB,GAAA,mBAAAC,GAAA,iBAAAqB,GAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,MAAA;AAAA,MAIA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,aAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,kBAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,CAAA3B,EAAA,KAAA;AAAA,EACA,MAAAP,GAAA,EAAA,MAAAC,EAAA,GAAA;AAEA,UAAAkC,IAAApB,EAAA,IAAA,GACAqB,IAAArB,EAAA,IAAA,GACAsB,IAAAtB,EAAA,IAAA,GACAuB,IAAAvB,EAAA,EAAA,GACAwB,IAAAxB,EAAA,IAAA,GACAyB,IAAAzB,EAAAf,EAAA,mBAAAA,EAAA,KAAA,SAAA,IAAA,CAAA,GACAgB,IAAAD,EAAA,CAAA,GACAE,IAAAF,EAAAf,EAAA,KAAA,SAAA,CAAA,GACAyC,IAAAtC,EAAA,MAAAH,EAAA,KAAA,KAAA,CAAAuB,MAAAA,EAAA,IAAA,CAAA,GAEAmB,IAAAvC,EAAA,MACAH,EAAA,eAAAyC,EAAA,QACAzC,EAAA,KAAA,IAAA,CAAAuB,MAAA;AACA,UAAAoB,IAAA;AACA,aAAApB,EAAA,SACAoB,IAAA,KAEA;AAAA,QAAA,GAAApB;AAAA;AAAA,QACA,QAAAoB;AAAA,MAEA;AAAA,IACA,CAAA,IAGA3C,EAAA,IAAA,GAGAyB,IAAA,MAAA;;AAAA,cAAAG,KAAAC,KAAAP,IAAAa,EAAA,UAAA,gBAAAb,EAAA,SAAAkB,EAAA,WAAA,gBAAAX,EAAA,SAAA,OAAA,gBAAAD,EAAA;AAAA,OAEAV,IAAA,MAAAjB,EAAAM,EAAA,KAAA,GAEAqC,IAAA,OAAAC,GAAAC,MAAA;AACA,MAAAD,EAAA,SACAN,EAAA,QAAAO,GACAR,EAAA,QAAA,OAEAC,EAAA,QAAAO,GACAR,EAAA,QAAA,IACApB,EAAA;AAAA,IACA,GAGAa,IAAA,MAAA;AACA,MAAAS,EAAA,QAAA,KACAA,EAAA,SAAA,GACAE,EAAA,MAAAF,EAAA,KAAA,EAAA,YACAT,EAAA,KAGAS,EAAA,QAAAvB,EAAA,OAEAQ,EAAA;AAAA,IAAA,GAGAO,IAAA,MAAA;AACA,MAAAQ,EAAA,QAAAvB,EAAA,SACAuB,EAAA,SAAA,GACAE,EAAA,MAAAF,EAAA,KAAA,EAAA,YACAR,EAAA,KAGAQ,EAAA,QAAA,GAEAf,EAAA;AAAA,IAAA,GAGAsB,IAAA,CAAAF,GAAAC,MAAA;;AACA,OAAAxB,IAAAuB,KAAA,gBAAAA,EAAA,UAAA,QAAAvB,EAAA,WACAiB,EAAA,QAAAO,GACAR,EAAA,QAAA;AAAA,IACA,GAGAU,IAAA,MAAA;AACA,MAAAT,EAAA,SAAAD,EAAA,UACAC,EAAA,QAAA,MACAD,EAAA,QAAA;AAAA,IACA,GAGAnB,IAAA,MAAA;AACA,MAAAmB,EAAA,QAAA,IACAC,EAAA,QAAA,MAEAd,EAAA;AAAA,IAAA,GAGAwB,IAAA9C,EAAA,MAAA;;AAAA,cAAAmB,IAAAc,KAAA,gBAAAA,EAAA,UAAA,gBAAAd,EAAA,IAAA;AAAA,KAAA,GAEA4B,IAAA/C,EAAA,MAAA;;AAAA,cAAAyB,KAAAC,KAAAP,IAAAe,KAAA,gBAAAA,EAAA,UAAA,gBAAAf,EAAA,OAAA,gBAAAO,EAAA,QAAA,gBAAAD,EAAA;AAAA,KAAA,GAEAuB,IAAAhD,EAAA,MACAmC,EAAA,QACA,GAAAY,EAAA,YAEA,GAAAD,EAAA,SAAA;AAGA,WAAA;AAAA;AAAA,MAAA,iBAAAd;AAAA,MAEA,wBAAAC;AAAA,MACA,oBAAAC;AAAA,MACA,cAAAK;AAAA,MAEA,gBAAAS;AAAA,MACA,cAAAX;AAAA,MAEA,qBAAAxB;AAAA,MACA,aAAAsB;AAAA,MAEA,qBAAAC;AAAA;AAAA,MACA,YAAAK;AAAA,MAGA,WAAA1B;AAAA,MACA,eAAAa;AAAA,MACA,WAAAC;AAAA,MACA,YAAAe;AAAA,MACA,WAAAC;AAAA,MACA,cAAA7B;AAAA,IACA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBC7IAiC,KAAAzD,EAAA;AAAA,EAAA,MAAA,EAAA,UAAAgB,EAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA,EAAA,aAAA0C,GAAA,cAAAC,GAAA,cAAAC,IAAA,qBAAAC,EAAA;AAAA,EACA,YAAA,EAAA,4BAAAC,EAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,MAAA;AAAA,MAIA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,cAAA;AAAA,MAMA,MAAA;AAAA,MACA,SAAAC,EAAA;AAAA,MACA,WAAA,CAAAC,MAAA,OAAA,OAAAD,CAAA,EAAA,SAAAC,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,sBAAA;AAAA,MAMA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,WAAA;AAAA,MAKA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,QAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA,OAAA;AAAA,QACA,SAAAC,EAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,CAAArD,EAAA,OAAAA,EAAA,IAAA;AAAA,EACA,MAAAP,GAAA,EAAA,MAAAC,EAAA,GAAA;AAEA,UAAA4D,IAAA9C,EAAA,IAAA,GACA+C,IAAA/C,EAAA,EAAA,GACAgD,IAAAhD,EAAA,EAAA,GACAiD,IAAAC,EAAA,MAAA,GACAC,IAAAD,EAAA,cAAA,GAEAE,IAAAhE,EAAA,MAAAH,EAAA,YAAA,EAAA,OAAA,GAAAA,EAAA,cAAA,IAAA,IAAA,GAEAoE,IAAA,MAAA;AACA,MAAAN,EAAA,QAAA,IACA7D,EAAAM,EAAA,IAAA;AAAA,IAAA,GAGAW,IAAA,MAAA;AACA,MAAA4C,EAAA,UACAA,EAAA,QAAA,IACAD,EAAA,MAAA,IAAA,MAAA,GACA5D,EAAAM,EAAA,KAAA;AAAA,IACA;AAsBA,WAAA;AAAA;AAAA,MAAA,oBAAAqD;AAAA,MAEA,uBAAAF;AAAA;AAAA,MACA,eAAAG;AAAA,MAGA,QAAAG;AAAA,MACA,WAAAE;AAAA,MACA,UAAAJ;AAAA,MACA,mBAAAK;AAAA,MACA,sBAAAJ;AAAA;AAAA,MACA,WArBA,MAAA;AACA,QAAAA,EAAA,QAAA,IACAK,EAAA;AAAA,MAAA;AAAA,MAsBA,SAnBA,MAAA;AACA,QAAAL,EAAA,QAAA,IACAK,EAAA;AAAA,MAAA;AAAA,MAkBA,WAAAlD;AAAA,MACA,gBAnCA,CAAAZ,MAAA;AACA,QAAAA,EAAA,gBAAA,GACAwD,EAAA,QAGA5C,EAAA,IAFAkD,EAAA;AAAA,MAGA;AAAA,IA8BA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"menu.js","sources":["../../../node_modules/@adyen/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/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/components/menu-item-list/menu-item-list.vue","../src/components/menu/menu.vue"],"sourcesContent":["\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" 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=\"#00112C\" fill-rule=\"evenodd\" 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.00166 0.970945 7.70006 1.00065 7.42597 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.65804 3.27936 6.93934 3.56066C7.22064 3.84197 7.60218 4 8 4Z\" clip-rule=\"evenodd\"/><path fill=\"#00112C\" fill-rule=\"evenodd\" 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.00166 11.9709 7.70006 12.0007 7.42597 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.65804 14.2794 6.93934 14.5607C7.22064 14.842 7.60218 15 8 15Z\" clip-rule=\"evenodd\"/><path fill=\"#00112C\" fill-rule=\"evenodd\" 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.65804 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.42597 6.61418C7.70006 6.50065 8.00166 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\" clip-rule=\"evenodd\"/></svg>\n</template>\n<script>\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n<style scoped lang=\"scss\">\n svg {\n display: inline-flex;\n flex-shrink: 0;\n }\n \n svg,\n svg * {\n fill: currentcolor;\n }\n</style>\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=\"secondaryText\" el=\"span\" variant=\"body\" class=\"b-menu-item__secondary-text\">\n {{ secondaryText }}\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 { computed, defineComponent, PropType } from 'vue';\n import type { VueNodeElement } from '@/types';\n import ChevronRightIcon from '@adyen/ui-assets-icons-16/vue/chevron-right';\n import { BaseButton, BentoBaseButtonEvent } from '@/components/internal/base-button';\n import { BentoTypography } from '@/components/typography';\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 type: Object as PropType<VueNodeElement>,\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 conditionalClasses = computed(() => ({\n 'b-menu-item--critical': props.critical,\n 'b-menu-item--indent': props.indent,\n }));\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\n // Methods\n onClick,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./menu-item.scss\" />\n","import { BentoButton } from '../button';\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 variant?: ButtonProps['variant'];\n condensed?: ButtonProps['condensed'];\n disabled?: ButtonProps['disabled'];\n};\n","<template>\n <div class=\"b-menu-list-container\"><slot></slot></div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent } from 'vue';\n\n /**\n * Menu list container component to set the correct styling in a menu list. For internal use only.\n */\n export default defineComponent({\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\n v-for=\"(item, index) in computedItems\"\n :key=\"`sub-menu-item-list-item-${index}`\"\n :class=\"[\n { 'b-sub-menu-item-list__back-button': index === 0 },\n { 'b-sub-menu-item-list__first-item': index == 1 },\n ]\"\n role=\"none\"\n >\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 </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 ChevronLeftIcon from '@adyen/ui-assets-icons-16/vue/chevron-left';\n import { BentoMenuItem, MenuItem } from '../menu-item';\n import { BentoMenuEvent } from '../../menu.types';\n import messages from '../../messages.json';\n import MenuListContainer from '../menu-list-container/menu-list-container.vue';\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: { 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 },\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","<template>\n <menu-list-container ref=\"menuItemListWrapperRef\" :style=\"{ height: computedHeight }\">\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 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=\"toggleMenu(item, index)\"\n />\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, PropType, ref } from 'vue';\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\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: { 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 emits: [BentoMenuEvent.CLOSE],\n setup(props, { emit }) {\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 // eslint-disable-next-line no-param-reassign\n indent,\n };\n });\n }\n return props.data;\n });\n\n const focusItem = () => menuItemListRef.value?.children[focusedIndex.value]?.children[0]?.focus();\n\n const closeMenu = () => emit(BentoMenuEvent.CLOSE);\n\n const toggleMenu = async (item: BentoMenuItem, index: number) => {\n if (item.items) {\n visibleSubMenuIndex.value = index;\n showSubMenu.value = true;\n } else {\n visibleSubMenuIndex.value = index;\n showSubMenu.value = false;\n closeMenu();\n }\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 const menuHeight = computed(() => menuItemListWrapperRef?.value?.$el.offsetHeight);\n\n const subMenuHeight = computed(() => subMenuItemListRef?.value?.[0]?.$el?.offsetHeight);\n\n const computedHeight = computed(() => {\n if (showSubMenu.value) {\n return `${subMenuHeight.value}px`;\n }\n return `${menuHeight.value}px`;\n });\n\n return {\n // Values\n menuItemListRef,\n menuItemListWrapperRef,\n subMenuItemListRef,\n\n computedData,\n computedHeight,\n\n focusedIndex,\n subMenuFocusedIndex,\n\n showSubMenu,\n visibleSubMenuIndex,\n\n // Methods\n toggleMenu,\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 v-bento-click-outside-directive=\"closeMenu\"\n class=\"b-menu\"\n @keydown.down=\"onKeyDown\"\n @keydown.up=\"onKeyUp\"\n @keydown.esc=\"closeMenu\"\n >\n <bento-button\n ref=\"menuButtonRef\"\n aria-haspopup=\"true\"\n v-bind=\"button\"\n :aria-expanded=\"`${showMenu}`\"\n :aria-controls=\"showMenu ? menuId : null\"\n @click=\"toggleShowMenu\"\n >\n <template #iconLeft>\n <slot>\n <options-vertical-icon :title=\"$t('menuButton')\" />\n </slot>\n </template>\n </bento-button>\n <bento-popover\n v-if=\"menuButtonRef\"\n :id=\"menuId\"\n :open=\"showMenu\"\n class=\"b-menu__popover\"\n :style=\"computedMenuWidth\"\n :target-element=\"menuButtonRef\"\n :position=\"menuPosition\"\n :fixed-positioning=\"menuFixedPositioning\"\n without-space\n >\n <menu-item-list :data=\"data\" :focus-last-element=\"isLastElementFocused\" @close=\"closeMenu\" />\n </bento-popover>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, ref } from 'vue';\n import OptionsVerticalIcon from '@adyen/ui-assets-icons-16/vue/options-vertical';\n import { generateUid } from '@/utils/ts/unique-id';\n import { BentoClickOutsideDirective } from '@/directives';\n import { BentoButton } from '@/components/button';\n import { BentoPopover, BentoPopoverPositions } from '@/components/popover';\n import { BentoMenuItem, MenuItemList } from './components';\n import { BentoMenuButtonProps, BentoMenuEvent } from './menu.types';\n import messages from './messages.json';\n\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 defineComponent({\n i18n: { messages },\n name: 'bento-menu',\n components: { BentoButton, BentoPopover, MenuItemList, OptionsVerticalIcon },\n directives: { BentoClickOutsideDirective },\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 /**\n * The position of where the menu should open.\n */\n menuPosition: {\n type: String as PropType<BentoPopoverPositions | `${BentoPopoverPositions}`>,\n default: BentoPopoverPositions.BOTTOM_START,\n validator: (value: BentoPopoverPositions) => Object.values(BentoPopoverPositions).includes(value),\n },\n\n /**\n * Instructs the menu popover to be visible outside of the containing container.\n * https://popper.js.org/docs/v2/constructors/#strategy\n */\n menuFixedPositioning: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets a custom width for the menu popover.\n */\n menuWidth: {\n type: Number,\n default: null,\n },\n /**\n * Object containing props to change the menu button appearance. Accepts the same props present in BentoButton.\n */\n button: {\n type: Object as PropType<BentoMenuButtonProps>,\n default: () =>\n ({\n variant: 'secondary',\n } as BentoMenuButtonProps),\n },\n },\n emits: [BentoMenuEvent.CLOSE, BentoMenuEvent.OPEN],\n setup(props, { emit }) {\n const menuButtonRef = ref(null);\n const showMenu = ref(false);\n const isLastElementFocused = ref(false);\n const menuId = generateUid('menu');\n const popoverId = generateUid('menu-popover');\n\n const computedMenuWidth = computed(() => (props.menuWidth ? { width: `${props.menuWidth}px` } : null));\n\n const openMenu = () => {\n showMenu.value = true;\n emit(BentoMenuEvent.OPEN);\n };\n\n const closeMenu = () => {\n if (showMenu.value) {\n showMenu.value = false;\n menuButtonRef.value.$el.focus();\n emit(BentoMenuEvent.CLOSE);\n }\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 = () => {\n isLastElementFocused.value = false;\n openMenu();\n };\n\n const onKeyUp = () => {\n isLastElementFocused.value = true;\n openMenu();\n };\n\n return {\n // Values\n menuButtonRef,\n menuId,\n popoverId,\n showMenu,\n computedMenuWidth,\n isLastElementFocused,\n\n // Methods\n onKeyDown,\n onKeyUp,\n closeMenu,\n toggleShowMenu,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./menu.scss\" />\n"],"names":["uuid","_sfc_main$5","_sfc_main$4","defineComponent","BaseButton","BentoTypography","ChevronRightIcon","BentoBaseButtonEvent","props","emit","computed","e","BentoMenuEvent","BentoMenuEvent2","_sfc_main$3","_sfc_main$2","messages","MenuItem","MenuListContainer","subMenuItemListRefLocal","ref","subMenuFocusedIndex","numberOfItems","closeMenu","onBackButton","computedItems","items","_a","el","ChevronLeftIcon","focusItem","_e","_d","_c","_b","onMounted","focusPrevious","focusNext","_sfc_main$1","SubMenuItemList","menuItemListRef","menuItemListWrapperRef","subMenuItemListRef","showSubMenu","visibleSubMenuIndex","focusedIndex","hasMenuItemsWithIcon","computedData","indent","toggleMenu","item","index","focusRight","focusLeft","menuHeight","subMenuHeight","computedHeight","_sfc_main","BentoButton","BentoPopover","MenuItemList","OptionsVerticalIcon","BentoClickOutsideDirective","BentoPopoverPositions","value","menuButtonRef","showMenu","isLastElementFocused","menuId","generateUid","popoverId","computedMenuWidth","openMenu"],"mappings":"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","x_google_ignoreList":[0]}
|