@adyen/bento-vue3 1.1.0 → 1.2.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.
Files changed (352) hide show
  1. package/dist/@types/packages/vue2/src/components/accordion/accordion.vue.d.ts +3 -3
  2. package/dist/@types/packages/vue2/src/components/accordion/components/accordion-item.vue.d.ts +3 -3
  3. package/dist/@types/packages/vue2/src/components/alert/alert.vue.d.ts +24 -20
  4. package/dist/@types/packages/vue2/src/components/avatar-image/avatar-image.vue.d.ts +6 -6
  5. package/dist/@types/packages/vue2/src/components/badge/badge.vue.d.ts +5 -5
  6. package/dist/@types/packages/vue2/src/components/button/button.vue.d.ts +43 -43
  7. package/dist/@types/packages/vue2/src/components/button/components/button-actions/button-actions.types.d.ts +2 -2
  8. package/dist/@types/packages/vue2/src/components/button/components/button-actions/button-actions.vue.d.ts +9 -9
  9. package/dist/@types/packages/vue2/src/components/button/components/loading-button/loading-button.vue.d.ts +6 -6
  10. package/dist/@types/packages/vue2/src/components/button/index.d.ts +1 -1
  11. package/dist/@types/packages/vue2/src/components/card/card.vue.d.ts +36 -32
  12. package/dist/@types/packages/vue2/src/components/checkbox/checkbox.vue.d.ts +14 -14
  13. package/dist/@types/packages/vue2/src/components/checkbox/components/checkbox-group/checkbox-group.vue.d.ts +10 -10
  14. package/dist/@types/packages/vue2/src/components/click-outside/click-outside.d.ts +3 -3
  15. package/dist/@types/packages/vue2/src/components/code-snippet/code-snippet.vue.d.ts +23 -19
  16. package/dist/@types/packages/vue2/src/components/code-snippet/composables/useLanguage.d.ts +2 -2
  17. package/dist/@types/packages/vue2/src/components/country/composables/useCountryCapital/useCountryCapital.d.ts +2 -2
  18. package/dist/@types/packages/vue2/src/components/country/composables/useCountryFlag.d.ts +1 -1
  19. package/dist/@types/packages/vue2/src/components/country/composables/useCountryName/useCountryName.d.ts +2 -2
  20. package/dist/@types/packages/vue2/src/components/country/composables/useCountryPhoneCode/useCountryPhoneCode.d.ts +2 -2
  21. package/dist/@types/packages/vue2/src/components/country/country.vue.d.ts +15 -13
  22. package/dist/@types/packages/vue2/src/components/currency/currency.vue.d.ts +9 -9
  23. package/dist/@types/packages/vue2/src/components/data-grid/components/data-grid-columns/data-grid-columns.vue.d.ts +12 -12
  24. 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 +11 -11
  25. package/dist/@types/packages/vue2/src/components/data-grid/components/data-grid-config-settings/data-grid-config-settings.vue.d.ts +12 -12
  26. package/dist/@types/packages/vue2/src/components/data-grid/composables/useCalculateBodyFitContentDynamicStyles/useCalculateBodyFitContentDynamicStyles.types.d.ts +1 -1
  27. package/dist/@types/packages/vue2/src/components/data-grid/composables/useCalculateColumnWidth/useCalculateColumnWidth.d.ts +3 -3
  28. package/dist/@types/packages/vue2/src/components/data-grid/composables/useCalculateColumnWidth/useCalculateColumnWidth.types.d.ts +1 -1
  29. package/dist/@types/packages/vue2/src/components/data-grid/composables/useColumnReorderer/useColumnReorderer.d.ts +4 -4
  30. package/dist/@types/packages/vue2/src/components/data-grid/composables/useConfigSettings/useConfigSettings.d.ts +5 -5
  31. package/dist/@types/packages/vue2/src/components/data-grid/composables/useKeyboardNavigator/useKeyboardNavigator.d.ts +1 -1
  32. package/dist/@types/packages/vue2/src/components/data-grid/composables/useResizer.d.ts +2 -2
  33. package/dist/@types/packages/vue2/src/components/data-grid/composables/useSelector.d.ts +1 -1
  34. package/dist/@types/packages/vue2/src/components/data-grid/composables/useSorter.d.ts +1 -1
  35. package/dist/@types/packages/vue2/src/components/data-grid/data-grid.types.d.ts +1 -1
  36. package/dist/@types/packages/vue2/src/components/data-grid/data-grid.vue.d.ts +30 -30
  37. package/dist/@types/packages/vue2/src/components/date/date.vue.d.ts +11 -9
  38. package/dist/@types/packages/vue2/src/components/date-picker/composables/use-date-picker-single-calendar-text.types.d.ts +1 -1
  39. package/dist/@types/packages/vue2/src/components/date-picker/date-picker.types.d.ts +2 -2
  40. package/dist/@types/packages/vue2/src/components/date-picker/date-picker.vue.d.ts +8 -8
  41. package/dist/@types/packages/vue2/src/components/date-range-picker/components/date-range-picker-calendar/date-range-picker-calendar.vue.d.ts +13 -13
  42. package/dist/@types/packages/vue2/src/components/date-range-picker/composables/use-date-range-picker-calendar-text.d.ts +1 -1
  43. package/dist/@types/packages/vue2/src/components/date-range-picker/composables/use-date-range-picker-calendar-text.types.d.ts +1 -1
  44. package/dist/@types/packages/vue2/src/components/date-range-picker/date-range-picker.types.d.ts +2 -2
  45. package/dist/@types/packages/vue2/src/components/date-range-picker/date-range-picker.vue.d.ts +9 -9
  46. package/dist/@types/packages/vue2/src/components/divider/divider.vue.d.ts +3 -3
  47. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.types.d.ts +2 -2
  48. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.vue.d.ts +10 -10
  49. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-default-textbox/dropdown-default-textbox.vue.d.ts +7 -7
  50. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-options-container/composables/useDropdownOptionsListbox.d.ts +4 -4
  51. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-options-container/dropdown-options-container.vue.d.ts +100 -98
  52. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-small-textbox/dropdown-small-textbox.vue.d.ts +7 -7
  53. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.types.d.ts +1 -1
  54. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.vue.d.ts +4 -4
  55. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-country/composables/useCountryItems.d.ts +4 -4
  56. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.types.d.ts +2 -2
  57. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue.d.ts +5 -5
  58. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.types.d.ts +2 -2
  59. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.vue.d.ts +3 -3
  60. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.types.d.ts +2 -2
  61. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.vue.d.ts +3 -3
  62. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.types.d.ts +1 -1
  63. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.vue.d.ts +3 -3
  64. package/dist/@types/packages/vue2/src/components/dropdown/composables/useDisplayValue.types.d.ts +3 -3
  65. package/dist/@types/packages/vue2/src/components/dropdown/composables/useDropdownSearchFilter.d.ts +3 -3
  66. package/dist/@types/packages/vue2/src/components/dropdown/composables/useKeyboardNavigation.d.ts +1 -1
  67. package/dist/@types/packages/vue2/src/components/dropdown/dropdown.types.d.ts +2 -2
  68. package/dist/@types/packages/vue2/src/components/dropdown/dropdown.vue.d.ts +27 -25
  69. package/dist/@types/packages/vue2/src/components/filter-bar/components/all-filters-modal/all-filters-modal.vue.d.ts +41 -41
  70. 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 +3 -3
  71. package/dist/@types/packages/vue2/src/components/filter-bar/components/base-filter/base-filter.vue.d.ts +13 -13
  72. package/dist/@types/packages/vue2/src/components/filter-bar/components/base-filter/components/filter-bar-filter-button/filter-bar-filter-button.vue.d.ts +3 -3
  73. package/dist/@types/packages/vue2/src/components/filter-bar/components/base-filter/composables/use-base-filter.d.ts +4 -4
  74. package/dist/@types/packages/vue2/src/components/filter-bar/components/base-filter-button/base-filter-button.vue.d.ts +7 -7
  75. package/dist/@types/packages/vue2/src/components/filter-bar/components/boolean-filter/boolean-filter.vue.d.ts +9 -9
  76. package/dist/@types/packages/vue2/src/components/filter-bar/components/date-filter/date-filter.vue.d.ts +8 -8
  77. package/dist/@types/packages/vue2/src/components/filter-bar/components/date-range-filter/date-range-filter.vue.d.ts +18 -18
  78. package/dist/@types/packages/vue2/src/components/filter-bar/components/input-filter/input-filter.vue.d.ts +8 -8
  79. package/dist/@types/packages/vue2/src/components/filter-bar/components/range-filter/range-filter.vue.d.ts +10 -10
  80. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/select-filter.vue.d.ts +14 -14
  81. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-avatar-filter/select-avatar-filter.vue.d.ts +4 -4
  82. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-country-filter/select-country-filter.vue.d.ts +6 -6
  83. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-currency-filter/select-currency-filter.vue.d.ts +4 -4
  84. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-payment-method-filter/select-payment-method-filter.vue.d.ts +4 -4
  85. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-tag-filter/select-tag-filter.vue.d.ts +6 -6
  86. package/dist/@types/packages/vue2/src/components/filter-bar/filter-bar.types.d.ts +10 -10
  87. package/dist/@types/packages/vue2/src/components/filter-bar/filter-bar.vue.d.ts +12 -12
  88. package/dist/@types/packages/vue2/src/components/focus-trap/focus-trap.vue.d.ts +3 -3
  89. package/dist/@types/packages/vue2/src/components/header/header.vue.d.ts +10 -10
  90. package/dist/@types/packages/vue2/src/components/info-icon/info-icon.vue.d.ts +11 -9
  91. package/dist/@types/packages/vue2/src/components/input-field/input-field.types.d.ts +1 -1
  92. package/dist/@types/packages/vue2/src/components/input-field/input-field.vue.d.ts +36 -28
  93. package/dist/@types/packages/vue2/src/components/internal/avatar/avatar.vue.d.ts +7 -7
  94. package/dist/@types/packages/vue2/src/components/internal/base-button/base-button.vue.d.ts +7 -7
  95. package/dist/@types/packages/vue2/src/components/internal/calendar/calendar.types.d.ts +1 -1
  96. package/dist/@types/packages/vue2/src/components/internal/calendar/calendar.vue.d.ts +6 -6
  97. package/dist/@types/packages/vue2/src/components/internal/calendar/components/calendar-month/calendar-month.vue.d.ts +10 -10
  98. package/dist/@types/packages/vue2/src/components/internal/calendar/components/calendar-month/components/calendar-month-day/__test__/calendar-month-day-stub.vue.d.ts +2 -2
  99. package/dist/@types/packages/vue2/src/components/internal/calendar/components/calendar-month/components/calendar-month-day/calendar-month-day.vue.d.ts +5 -5
  100. package/dist/@types/packages/vue2/src/components/internal/calendar/components/calendar-month/composables/move-calendar-date.d.ts +2 -2
  101. package/dist/@types/packages/vue2/src/components/internal/controls-group/controls-group.vue.d.ts +6 -6
  102. package/dist/@types/packages/vue2/src/components/internal/copy/copy.vue.d.ts +9 -9
  103. package/dist/@types/packages/vue2/src/components/internal/error-message/error-message.vue.d.ts +2 -2
  104. package/dist/@types/packages/vue2/src/components/internal/footer-actions/footer-actions.vue.d.ts +4 -4
  105. package/dist/@types/packages/vue2/src/components/internal/grid-layout/grid-layout.vue.d.ts +4 -4
  106. 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 +11 -11
  107. 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 +6 -6
  108. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-multi-select/listbox-multi-select.vue.d.ts +15 -15
  109. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-option/listbox-option.vue.d.ts +4 -4
  110. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-option-tag/listbox-option-tag.vue.d.ts +7 -7
  111. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-single-select/listbox-single-select.vue.d.ts +9 -9
  112. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-single-select-option/listbox-single-select-option.vue.d.ts +8 -8
  113. package/dist/@types/packages/vue2/src/components/internal/listbox/listbox.vue.d.ts +24 -22
  114. package/dist/@types/packages/vue2/src/components/link/index.d.ts +1 -1
  115. package/dist/@types/packages/vue2/src/components/link/link.vue.d.ts +9 -9
  116. package/dist/@types/packages/vue2/src/components/loading-indicator/loading-indicator.vue.d.ts +3 -3
  117. package/dist/@types/packages/vue2/src/components/menu/components/menu-item/menu-item.types.d.ts +1 -1
  118. package/dist/@types/packages/vue2/src/components/menu/components/menu-item/menu-item.vue.d.ts +7 -7
  119. package/dist/@types/packages/vue2/src/components/menu/components/menu-item-list/menu-item-list.vue.d.ts +8 -8
  120. package/dist/@types/packages/vue2/src/components/menu/components/menu-list-container/menu-list-container.vue.d.ts +1 -1
  121. package/dist/@types/packages/vue2/src/components/menu/components/sub-menu-item-list/sub-menu-item-list.vue.d.ts +5 -5
  122. package/dist/@types/packages/vue2/src/components/menu/menu.vue.d.ts +11 -11
  123. package/dist/@types/packages/vue2/src/components/modal/components/base-modal/__mocks__/base-modal.vue.d.ts +13 -13
  124. package/dist/@types/packages/vue2/src/components/modal/components/base-modal/base-modal.vue.d.ts +13 -13
  125. package/dist/@types/packages/vue2/src/components/modal/components/modal-default/modal-default.vue.d.ts +5 -5
  126. package/dist/@types/packages/vue2/src/components/modal/components/modal-dialog/modal-dialog.vue.d.ts +13 -13
  127. package/dist/@types/packages/vue2/src/components/modal/modal.vue.d.ts +28 -20
  128. package/dist/@types/packages/vue2/src/components/pagination/components/pagination-context/pagination-context.vue.d.ts +5 -5
  129. package/dist/@types/packages/vue2/src/components/pagination/components/pagination-controls/pagination-controls.vue.d.ts +7 -7
  130. package/dist/@types/packages/vue2/src/components/pagination/components/pagination-results-per-page/pagination-results-per-page.vue.d.ts +5 -5
  131. package/dist/@types/packages/vue2/src/components/pagination/pagination.vue.d.ts +4 -4
  132. package/dist/@types/packages/vue2/src/components/payment-method/composables/usePaymentIcon.d.ts +2 -2
  133. package/dist/@types/packages/vue2/src/components/payment-method/payment-method.vue.d.ts +11 -9
  134. package/dist/@types/packages/vue2/src/components/popover/components/popover-dismiss-button/popover-dismiss-button.vue.d.ts +4 -4
  135. package/dist/@types/packages/vue2/src/components/popover/components/popover-image/popover-image.vue.d.ts +2 -2
  136. package/dist/@types/packages/vue2/src/components/popover/components/popover-title/popover-title.vue.d.ts +5 -5
  137. package/dist/@types/packages/vue2/src/components/popover/popover.vue.d.ts +19 -19
  138. package/dist/@types/packages/vue2/src/components/popper-container/popper-container.utils.d.ts +1 -1
  139. package/dist/@types/packages/vue2/src/components/popper-container/popper-container.vue.d.ts +7 -7
  140. package/dist/@types/packages/vue2/src/components/radio-group/components/radio-button/radio-button.vue.d.ts +4 -4
  141. package/dist/@types/packages/vue2/src/components/radio-group/radio-group.vue.d.ts +10 -10
  142. package/dist/@types/packages/vue2/src/components/search-bar/search-bar.vue.d.ts +97 -85
  143. package/dist/@types/packages/vue2/src/components/search-bar/useSearchBarDataFilter.d.ts +2 -2
  144. package/dist/@types/packages/vue2/src/components/segmented-control/components/segmented-control-button/segmented-control-button.vue.d.ts +4 -4
  145. package/dist/@types/packages/vue2/src/components/segmented-control/segmented-control.vue.d.ts +7 -7
  146. package/dist/@types/packages/vue2/src/components/status/status.vue.d.ts +7 -7
  147. package/dist/@types/packages/vue2/src/components/structured-list/components/structered-list-item/structured-list-item.vue.d.ts +7 -7
  148. package/dist/@types/packages/vue2/src/components/structured-list/structured-list.vue.d.ts +1 -1
  149. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item/summary-grid-item.vue.d.ts +47 -39
  150. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-amount/summary-grid-item-amount.vue.d.ts +19 -13
  151. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-custom/summary-grid-item-custom.vue.d.ts +2 -2
  152. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-numeric/summary-grid-item-numeric.vue.d.ts +19 -13
  153. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-percentage/summary-grid-item-percentage.vue.d.ts +19 -13
  154. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-text/summary-grid-item-text.vue.d.ts +2 -2
  155. package/dist/@types/packages/vue2/src/components/summary-grid/summary-grid.types.d.ts +1 -1
  156. package/dist/@types/packages/vue2/src/components/summary-grid/summary-grid.vue.d.ts +3 -3
  157. package/dist/@types/packages/vue2/src/components/tabs/components/tab.vue.d.ts +2 -2
  158. package/dist/@types/packages/vue2/src/components/tabs/tabs.vue.d.ts +5 -5
  159. package/dist/@types/packages/vue2/src/components/tag/tag.vue.d.ts +13 -13
  160. package/dist/@types/packages/vue2/src/components/textarea/textarea.vue.d.ts +25 -23
  161. package/dist/@types/packages/vue2/src/components/timeline/components/timeline-item/timeline-item.vue.d.ts +30 -30
  162. package/dist/@types/packages/vue2/src/components/timeline/timeline.types.d.ts +3 -3
  163. package/dist/@types/packages/vue2/src/components/timeline/timeline.vue.d.ts +3 -3
  164. package/dist/@types/packages/vue2/src/components/toast/components/toast-item/toast-item.vue.d.ts +5 -5
  165. package/dist/@types/packages/vue2/src/components/toast/toast.vue.d.ts +5 -5
  166. package/dist/@types/packages/vue2/src/components/toggle/toggle.types.d.ts +4 -0
  167. package/dist/@types/packages/vue2/src/components/toggle/toggle.vue.d.ts +16 -16
  168. package/dist/@types/packages/vue2/src/components/tooltip/tooltip.vue.d.ts +37 -37
  169. package/dist/@types/packages/vue2/src/components/typography/typography.vue.d.ts +10 -10
  170. package/dist/@types/packages/vue2/src/composables/initials.d.ts +2 -2
  171. package/dist/@types/packages/vue2/src/composables/use-checkbox-select-all/use-checkbox-select-all.d.ts +3 -3
  172. package/dist/@types/packages/vue2/src/composables/use-has-slot/use-has-slot.d.ts +1 -1
  173. package/dist/@types/packages/vue2/src/composables/useDynamicImport.d.ts +2 -2
  174. package/dist/@types/packages/vue2/src/directives/click-outside/directive.d.ts +1 -1
  175. package/dist/@types/packages/vue2/src/directives/click-outside/on-click-outside.d.ts +1 -1
  176. package/dist/@types/packages/vue2/src/directives/click-outside/types.d.ts +1 -1
  177. package/dist/@types/packages/vue2/src/directives/click-outside/useEventListener/index.d.ts +1 -1
  178. package/dist/@types/packages/vue2/src/directives/click-outside/utils.d.ts +1 -1
  179. package/dist/@types/packages/vue2/src/directives/keyboard-navigation/keyboard-navigation.d.ts +1 -1
  180. package/dist/@types/packages/vue2/src/directives/keyboard-navigation/keyboard-navigation.types.d.ts +1 -1
  181. package/dist/@types/packages/vue2/src/directives/tooltip/tooltip.types.d.ts +1 -1
  182. package/dist/@types/packages/vue2/src/install.d.ts +1 -1
  183. package/dist/@types/packages/vue2/src/plugins/toastController.d.ts +1 -1
  184. package/dist/@types/packages/vue2/src/types/elements.d.ts +1 -1
  185. package/dist/@types/packages/vue2/src/types/index.d.ts +0 -1
  186. package/dist/@types/packages/vue2/src/types/listbox.d.ts +1 -1
  187. package/dist/@types/packages/vue2/src/types/maybe-ref.d.ts +1 -1
  188. package/dist/@types/packages/vue2/src/types/refs.d.ts +1 -1
  189. package/dist/@types/packages/vue2/src/utils/ts/aria-label.d.ts +2 -2
  190. package/dist/@types/packages/vue2/src/utils/ts/events.d.ts +1 -1
  191. package/dist/@types/packages/vue2/src/utils/ts/focus-trap.utils.d.ts +1 -1
  192. package/dist/@types/packages/vue2/src/utils/ts/get-slot-text/get-slot-text.d.ts +1 -1
  193. package/dist/@types/packages/vue2/src/utils/ts/i18n.d.ts +1 -1
  194. package/dist/alert.js +49 -47
  195. package/dist/alert.js.map +1 -1
  196. package/dist/assets/button-actions.css +1 -1
  197. package/dist/assets/button.css +1 -1
  198. package/dist/assets/dropdown.css +1 -1
  199. package/dist/assets/index.css +1 -1
  200. package/dist/assets/index10.css +1 -1
  201. package/dist/assets/index11.css +1 -1
  202. package/dist/assets/index12.css +1 -1
  203. package/dist/assets/index13.css +1 -1
  204. package/dist/assets/index14.css +1 -1
  205. package/dist/assets/index15.css +1 -1
  206. package/dist/assets/index17.css +1 -1
  207. package/dist/assets/index18.css +1 -1
  208. package/dist/assets/index19.css +1 -1
  209. package/dist/assets/index2.css +1 -1
  210. package/dist/assets/index20.css +1 -1
  211. package/dist/assets/index21.css +1 -1
  212. package/dist/assets/index22.css +1 -1
  213. package/dist/assets/index23.css +1 -1
  214. package/dist/assets/index24.css +1 -1
  215. package/dist/assets/index25.css +1 -1
  216. package/dist/assets/index26.css +1 -1
  217. package/dist/assets/index27.css +1 -1
  218. package/dist/assets/index28.css +1 -1
  219. package/dist/assets/index29.css +1 -1
  220. package/dist/assets/index3.css +1 -1
  221. package/dist/assets/index30.css +1 -1
  222. package/dist/assets/index31.css +1 -1
  223. package/dist/assets/index32.css +1 -1
  224. package/dist/assets/index33.css +1 -1
  225. package/dist/assets/index34.css +1 -1
  226. package/dist/assets/index35.css +1 -1
  227. package/dist/assets/index36.css +1 -1
  228. package/dist/assets/index38.css +1 -1
  229. package/dist/assets/index39.css +1 -1
  230. package/dist/assets/index4.css +1 -1
  231. package/dist/assets/index40.css +1 -1
  232. package/dist/assets/index5.css +1 -1
  233. package/dist/assets/index6.css +1 -1
  234. package/dist/assets/index7.css +1 -1
  235. package/dist/assets/index8.css +1 -1
  236. package/dist/assets/index9.css +1 -1
  237. package/dist/assets/listbox.css +1 -1
  238. package/dist/avatar-image.js +1 -1
  239. package/dist/badge.js +1 -1
  240. package/dist/button.js +3 -3
  241. package/dist/card.js +77 -68
  242. package/dist/card.js.map +1 -1
  243. package/dist/checkbox.js +16 -16
  244. package/dist/checkbox.js.map +1 -1
  245. package/dist/chunks/{base-button.fe807878.js → base-button.4a56c2fb.js} +2 -2
  246. package/dist/chunks/{base-button.fe807878.js.map → base-button.4a56c2fb.js.map} +1 -1
  247. package/dist/chunks/{button-actions.59449cda.js → button-actions.a6e541ad.js} +7 -7
  248. package/dist/chunks/{button-actions.59449cda.js.map → button-actions.a6e541ad.js.map} +1 -1
  249. package/dist/chunks/{button.4ccc3a72.js → button.1f630b6e.js} +10 -10
  250. package/dist/chunks/button.1f630b6e.js.map +1 -0
  251. package/dist/chunks/{calendar.1fb0d5b2.js → calendar.08885a56.js} +4 -4
  252. package/dist/chunks/{calendar.1fb0d5b2.js.map → calendar.08885a56.js.map} +1 -1
  253. package/dist/chunks/{checkbox.39fa87c7.js → checkbox.cfb8b8df.js} +3 -3
  254. package/dist/chunks/{checkbox.39fa87c7.js.map → checkbox.cfb8b8df.js.map} +1 -1
  255. package/dist/chunks/{controls-group.0126679a.js → controls-group.806da9bd.js} +2 -2
  256. package/dist/chunks/{controls-group.0126679a.js.map → controls-group.806da9bd.js.map} +1 -1
  257. package/dist/chunks/{copy.012e43f2.js → copy.1ce0203e.js} +3 -3
  258. package/dist/chunks/{copy.012e43f2.js.map → copy.1ce0203e.js.map} +1 -1
  259. package/dist/chunks/{dropdown-default-textbox.2ac50ee2.js → dropdown-default-textbox.dd77bb42.js} +2 -2
  260. package/dist/chunks/{dropdown-default-textbox.2ac50ee2.js.map → dropdown-default-textbox.dd77bb42.js.map} +1 -1
  261. package/dist/chunks/{dropdown.374481a8.js → dropdown.f9997464.js} +84 -82
  262. package/dist/chunks/dropdown.f9997464.js.map +1 -0
  263. package/dist/chunks/{error-message.a65a9abf.js → error-message.b88bb75a.js} +2 -2
  264. package/dist/chunks/{error-message.a65a9abf.js.map → error-message.b88bb75a.js.map} +1 -1
  265. package/dist/chunks/{index.0f958a0c.js → index.361c61d3.js} +2 -2
  266. package/dist/chunks/{index.0f958a0c.js.map → index.361c61d3.js.map} +1 -1
  267. package/dist/chunks/{index.05d4c01b.js → index.64b7b3cc.js} +6 -6
  268. package/dist/chunks/{index.05d4c01b.js.map → index.64b7b3cc.js.map} +1 -1
  269. package/dist/chunks/{index.c25bbcc8.js → index.7dd953ea.js} +53 -52
  270. package/dist/chunks/{index.c25bbcc8.js.map → index.7dd953ea.js.map} +1 -1
  271. package/dist/chunks/{index.1e002876.js → index.96001b1d.js} +3 -3
  272. package/dist/chunks/{index.1e002876.js.map → index.96001b1d.js.map} +1 -1
  273. package/dist/chunks/{index.b2d970f6.js → index.b46a5047.js} +20 -20
  274. package/dist/chunks/{index.b2d970f6.js.map → index.b46a5047.js.map} +1 -1
  275. package/dist/chunks/index.ebf5f6cf.js +119 -0
  276. package/dist/chunks/index.ebf5f6cf.js.map +1 -0
  277. package/dist/chunks/{listbox-option-tag.caa1ceba.js → listbox-option-tag.73661a5d.js} +3 -3
  278. package/dist/chunks/{listbox-option-tag.caa1ceba.js.map → listbox-option-tag.73661a5d.js.map} +1 -1
  279. package/dist/chunks/{listbox.ceacb0ca.js → listbox.7b5e0eee.js} +42 -41
  280. package/dist/chunks/{listbox.ceacb0ca.js.map → listbox.7b5e0eee.js.map} +1 -1
  281. package/dist/chunks/{loading-button.5b8db3dc.js → loading-button.426d89b9.js} +2 -2
  282. package/dist/chunks/{loading-button.5b8db3dc.js.map → loading-button.426d89b9.js.map} +1 -1
  283. package/dist/chunks/{tooltip.ca53a83a.js → tooltip.53290a34.js} +2 -2
  284. package/dist/chunks/{tooltip.ca53a83a.js.map → tooltip.53290a34.js.map} +1 -1
  285. package/dist/chunks/useCountryItems.e83ef8f0.js.map +1 -1
  286. package/dist/code-snippet.js +71 -69
  287. package/dist/code-snippet.js.map +1 -1
  288. package/dist/country.js +25 -24
  289. package/dist/country.js.map +1 -1
  290. package/dist/currency.js +1 -1
  291. package/dist/currency.js.map +1 -1
  292. package/dist/data-grid.js +204 -204
  293. package/dist/data-grid.js.map +1 -1
  294. package/dist/date-picker.js +21 -21
  295. package/dist/date-range-picker.js +2 -2
  296. package/dist/date.js +1 -1
  297. package/dist/divider.js +1 -1
  298. package/dist/dropdown.js +3 -3
  299. package/dist/dropdown.js.map +1 -1
  300. package/dist/filter-bar.js +13 -13
  301. package/dist/filter-bar.js.map +1 -1
  302. package/dist/focus-trap.js +1 -1
  303. package/dist/header.js +61 -61
  304. package/dist/header.js.map +1 -1
  305. package/dist/index.js +65 -65
  306. package/dist/info-icon.js +20 -19
  307. package/dist/info-icon.js.map +1 -1
  308. package/dist/input-field.js +81 -77
  309. package/dist/input-field.js.map +1 -1
  310. package/dist/internal.js +6 -6
  311. package/dist/link.js +15 -15
  312. package/dist/link.js.map +1 -1
  313. package/dist/menu.js +5 -5
  314. package/dist/menu.js.map +1 -1
  315. package/dist/modal.js +113 -109
  316. package/dist/modal.js.map +1 -1
  317. package/dist/pagination.js +4 -4
  318. package/dist/payment-method.js +15 -14
  319. package/dist/payment-method.js.map +1 -1
  320. package/dist/popover.js +21 -21
  321. package/dist/popover.js.map +1 -1
  322. package/dist/popper-container.js +17 -17
  323. package/dist/popper-container.js.map +1 -1
  324. package/dist/radio-group.js +5 -5
  325. package/dist/radio-group.js.map +1 -1
  326. package/dist/search-bar.js +2 -2
  327. package/dist/segmented-control.js +4 -4
  328. package/dist/status.js +6 -6
  329. package/dist/status.js.map +1 -1
  330. package/dist/structured-list.js +1 -1
  331. package/dist/summary-grid.js +155 -142
  332. package/dist/summary-grid.js.map +1 -1
  333. package/dist/tabs.js +2 -2
  334. package/dist/tag.js +8 -8
  335. package/dist/tag.js.map +1 -1
  336. package/dist/textarea.js +25 -21
  337. package/dist/textarea.js.map +1 -1
  338. package/dist/timeline.js +31 -31
  339. package/dist/timeline.js.map +1 -1
  340. package/dist/toast.js +3 -3
  341. package/dist/toggle.js +157 -3
  342. package/dist/toggle.js.map +1 -1
  343. package/dist/typography.js +1 -1
  344. package/dist/web-types.json +1 -1
  345. package/package.json +5 -4
  346. package/dist/@types/packages/vue2/src/types/label-position.d.ts +0 -4
  347. package/dist/chunks/button.4ccc3a72.js.map +0 -1
  348. package/dist/chunks/dropdown.374481a8.js.map +0 -1
  349. package/dist/chunks/index.0b6c7187.js +0 -160
  350. package/dist/chunks/index.0b6c7187.js.map +0 -1
  351. package/dist/chunks/index.92f7d550.js +0 -119
  352. package/dist/chunks/index.92f7d550.js.map +0 -1
package/dist/menu.js CHANGED
@@ -2,12 +2,12 @@ import { openBlock as m, createElementBlock as k, mergeProps as W, toDisplayStri
2
2
  import { _ as L } from "./chunks/_plugin-vue_export-helper.dad06003.js";
3
3
  import { g as F } from "./chunks/unique-id.a2a2b458.js";
4
4
  import { B as pe } from "./chunks/directive.0408e565.js";
5
- import { B as fe, a as V } from "./chunks/button.4ccc3a72.js";
5
+ import { B as fe, a as V } from "./chunks/button.1f630b6e.js";
6
6
  import { BentoPopover as ve, BentoPopoverPositions as K } from "./popover.js";
7
7
  import { a as _e, C as H } from "./chunks/chevron-right.aef416c6.js";
8
- import { B as be, a as q } from "./chunks/base-button.fe807878.js";
9
- import { B as ye, a as he, b as Ce } from "./chunks/index.92f7d550.js";
10
- import "./assets/index40.css";
8
+ import { B as be, a as q } from "./chunks/base-button.4a56c2fb.js";
9
+ import { B as ye, a as he, b as Ce } from "./chunks/index.ebf5f6cf.js";
10
+ import "./assets/index38.css";
11
11
  let U = 0;
12
12
  const ge = {
13
13
  beforeCreate() {
@@ -583,7 +583,7 @@ function He(e, t, d, s, i, a) {
583
583
  [p, e.closeMenu]
584
584
  ]);
585
585
  }
586
- const Qe = /* @__PURE__ */ L(Ve, [["render", He], ["__scopeId", "data-v-93e2bff4"]]);
586
+ const Qe = /* @__PURE__ */ L(Ve, [["render", He], ["__scopeId", "data-v-7183030b"]]);
587
587
  export {
588
588
  Qe as BentoMenu,
589
589
  h as BentoMenuEvent
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","../../vue2/src/components/menu/components/menu-item/menu-item.vue","../../vue2/src/components/menu/menu.types.ts","../../vue2/src/components/menu/components/menu-list-container/menu-list-container.vue","../../vue2/src/components/menu/components/sub-menu-item-list/sub-menu-item-list.vue","../../vue2/src/components/menu/components/menu-item-list/menu-item-list.vue","../../vue2/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>,\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","openBlock","createElementBlock","mergeProps","_ctx","_hoisted_1$2","toDisplayString","_sfc_main$4","defineComponent","BaseButton","BentoTypography","ChevronRightIcon","BentoBaseButtonEvent","props","emit","conditionalClasses","computed","BentoTypographyElement","BentoTypographyVariant","e","normalizeClass","createSlots","withCtx","createVNode","_component_bento_typography","createBlock","resolveDynamicComponent","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","_component_menu_list_container","resolveComponent","Transition","createElementVNode","_cache","withKeys","withModifiers","args","Fragment","renderList","item","index","_sfc_main$1","SubMenuItemList","menuItemListRef","menuItemListWrapperRef","subMenuItemListRef","showSubMenu","visibleSubMenuIndex","focusedIndex","hasMenuItemsWithIcon","computedData","indent","toggleMenu","focusRight","focusLeft","menuHeight","subMenuHeight","computedHeight","normalizeStyle","_component_sub_menu_item_list","_sfc_main","BentoButton","BentoPopover","MenuItemList","OptionsVerticalIcon","BentoClickOutsideDirective","BentoPopoverPositions","value","BentoButtonVariant","menuButtonRef","showMenu","isLastElementFocused","menuId","generateUid","popoverId","computedMenuWidth","openMenu","renderSlot","_component_options_vertical_icon","_component_bento_popover","_component_menu_item_list"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"menu.js","sources":["../../../node_modules/@adyen/ui-assets-icons-16/dist/vue/options-vertical.vue","../../vue2/src/components/menu/components/menu-item/menu-item.vue","../../vue2/src/components/menu/menu.types.ts","../../vue2/src/components/menu/components/menu-list-container/menu-list-container.vue","../../vue2/src/components/menu/components/sub-menu-item-list/sub-menu-item-list.vue","../../vue2/src/components/menu/components/menu-item-list/menu-item-list.vue","../../vue2/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","openBlock","createElementBlock","mergeProps","_ctx","_hoisted_1$2","toDisplayString","_sfc_main$4","defineComponent","BaseButton","BentoTypography","ChevronRightIcon","BentoBaseButtonEvent","props","emit","conditionalClasses","computed","BentoTypographyElement","BentoTypographyVariant","e","normalizeClass","createSlots","withCtx","createVNode","_component_bento_typography","createBlock","resolveDynamicComponent","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","_component_menu_list_container","resolveComponent","Transition","createElementVNode","_cache","withKeys","withModifiers","args","Fragment","renderList","item","index","_sfc_main$1","SubMenuItemList","menuItemListRef","menuItemListWrapperRef","subMenuItemListRef","showSubMenu","visibleSubMenuIndex","focusedIndex","hasMenuItemsWithIcon","computedData","indent","toggleMenu","focusRight","focusLeft","menuHeight","subMenuHeight","computedHeight","normalizeStyle","_component_sub_menu_item_list","_sfc_main","BentoButton","BentoPopover","MenuItemList","OptionsVerticalIcon","BentoClickOutsideDirective","BentoPopoverPositions","value","BentoButtonVariant","menuButtonRef","showMenu","isLastElementFocused","menuId","generateUid","popoverId","computedMenuWidth","openMenu","renderSlot","_component_options_vertical_icon","_component_bento_popover","_component_menu_item_list"],"mappings":"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","x_google_ignoreList":[0]}