@adyen/bento-vue2 1.0.0 → 1.1.1

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 (589) hide show
  1. package/dist/@types/{components → packages/vue2/src/components}/alert/alert.vue.d.ts +1 -1
  2. package/dist/@types/{components → packages/vue2/src/components}/button/button.vue.d.ts +1 -1
  3. package/dist/@types/{components → packages/vue2/src/components}/button/components/button-actions/button-actions.vue.d.ts +1 -1
  4. package/dist/@types/{components → packages/vue2/src/components}/button/components/loading-button/loading-button.vue.d.ts +1 -1
  5. package/dist/@types/{components → packages/vue2/src/components}/button/index.d.ts +1 -1
  6. package/dist/@types/{components → packages/vue2/src/components}/date-picker/date-picker.vue.d.ts +1 -2
  7. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/dropdown-options-container/dropdown-options-container.vue.d.ts +2 -2
  8. package/dist/@types/{components → packages/vue2/src/components}/dropdown/composables/useKeyboardNavigation.d.ts +2 -1
  9. package/dist/@types/{components → packages/vue2/src/components}/dropdown/dropdown.vue.d.ts +2 -1
  10. package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/all-filters-modal/all-filters-modal.vue.d.ts +8 -8
  11. package/dist/@types/{components → packages/vue2/src/components}/internal/calendar/calendar.vue.d.ts +2 -2
  12. package/dist/@types/{components → packages/vue2/src/components}/internal/calendar/components/calendar-month/calendar-month.vue.d.ts +15 -6
  13. package/dist/@types/{components → packages/vue2/src/components}/internal/calendar/components/calendar-month/composables/move-calendar-date.d.ts +2 -2
  14. package/dist/@types/packages/vue2/src/components/internal/footer-actions/footer-actions.vue.d.ts +33 -0
  15. package/dist/@types/packages/vue2/src/components/internal/footer-actions/index.d.ts +1 -0
  16. package/dist/@types/{components → packages/vue2/src/components}/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/listbox-multi-select-options.vue.d.ts +2 -1
  17. package/dist/@types/{components → packages/vue2/src/components}/internal/listbox/components/listbox-multi-select/listbox-multi-select.vue.d.ts +13 -4
  18. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-single-select/index.d.ts +1 -0
  19. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-single-select/listbox-single-select.vue.d.ts +50 -0
  20. package/dist/@types/packages/vue2/src/components/internal/listbox/composables/useListboxKeyboardNavigation.d.ts +9 -0
  21. package/dist/@types/{components → packages/vue2/src/components}/internal/listbox/listbox.vue.d.ts +4 -9
  22. package/dist/@types/{components → packages/vue2/src/components}/link/index.d.ts +1 -1
  23. package/dist/@types/{components → packages/vue2/src/components}/link/link.vue.d.ts +2 -2
  24. package/dist/@types/{components → packages/vue2/src/components}/modal/components/base-modal/__mocks__/base-modal.vue.d.ts +1 -1
  25. package/dist/@types/{components → packages/vue2/src/components}/modal/components/base-modal/base-modal.vue.d.ts +1 -1
  26. package/dist/@types/{components → packages/vue2/src/components}/modal/components/modal-default/modal-default.vue.d.ts +1 -22
  27. package/dist/@types/{components → packages/vue2/src/components}/tooltip/tooltip.vue.d.ts +0 -1
  28. package/dist/@types/{composables → packages/vue2/src/composables}/index.d.ts +1 -0
  29. package/dist/@types/packages/vue2/src/composables/use-has-slot/use-has-slot.d.ts +2 -0
  30. package/dist/@types/{utils → packages/vue2/src/utils}/ts/deprecate.d.ts +1 -1
  31. package/dist/accordion.js +7 -7
  32. package/dist/accordion.js.map +1 -1
  33. package/dist/alert.js +47 -48
  34. package/dist/alert.js.map +1 -1
  35. package/dist/assets/base-button.css +1 -1
  36. package/dist/assets/button-actions.css +1 -1
  37. package/dist/assets/button.css +1 -1
  38. package/dist/assets/calendar.css +1 -1
  39. package/dist/assets/checkbox.css +1 -1
  40. package/dist/assets/chevron-down.css +1 -0
  41. package/dist/assets/copy.css +1 -1
  42. package/dist/assets/dropdown-default-textbox.css +1 -1
  43. package/dist/assets/dropdown.css +1 -1
  44. package/dist/assets/error-message.css +1 -1
  45. package/dist/assets/grid-layout.css +1 -1
  46. package/dist/assets/index.css +1 -1
  47. package/dist/assets/index10.css +1 -1
  48. package/dist/assets/index11.css +1 -1
  49. package/dist/assets/index12.css +1 -1
  50. package/dist/assets/index13.css +1 -1
  51. package/dist/assets/index14.css +1 -1
  52. package/dist/assets/index15.css +1 -1
  53. package/dist/assets/index16.css +1 -1
  54. package/dist/assets/index17.css +1 -1
  55. package/dist/assets/index18.css +1 -1
  56. package/dist/assets/index19.css +1 -1
  57. package/dist/assets/index2.css +1 -1
  58. package/dist/assets/index20.css +1 -1
  59. package/dist/assets/index21.css +1 -1
  60. package/dist/assets/index22.css +1 -1
  61. package/dist/assets/index23.css +1 -1
  62. package/dist/assets/index24.css +1 -1
  63. package/dist/assets/index25.css +1 -1
  64. package/dist/assets/index26.css +1 -1
  65. package/dist/assets/index27.css +1 -1
  66. package/dist/assets/index28.css +1 -1
  67. package/dist/assets/index29.css +1 -1
  68. package/dist/assets/index3.css +1 -1
  69. package/dist/assets/index30.css +1 -1
  70. package/dist/assets/index31.css +1 -1
  71. package/dist/assets/index32.css +1 -1
  72. package/dist/assets/index33.css +1 -1
  73. package/dist/assets/index34.css +1 -1
  74. package/dist/assets/index35.css +1 -1
  75. package/dist/assets/index36.css +1 -1
  76. package/dist/assets/index37.css +1 -1
  77. package/dist/assets/index38.css +1 -1
  78. package/dist/assets/index39.css +1 -1
  79. package/dist/assets/index4.css +1 -1
  80. package/dist/assets/index5.css +1 -1
  81. package/dist/assets/index6.css +1 -1
  82. package/dist/assets/index7.css +1 -1
  83. package/dist/assets/index8.css +1 -1
  84. package/dist/assets/index9.css +1 -1
  85. package/dist/assets/listbox-option-tag.css +1 -1
  86. package/dist/assets/listbox.css +1 -1
  87. package/dist/assets/loading-button.css +1 -1
  88. package/dist/assets/tooltip.css +1 -1
  89. package/dist/avatar-image.js +1 -1
  90. package/dist/badge.js +9 -10
  91. package/dist/badge.js.map +1 -1
  92. package/dist/button.js +3 -3
  93. package/dist/card.js +72 -68
  94. package/dist/card.js.map +1 -1
  95. package/dist/checkbox.js +18 -15
  96. package/dist/checkbox.js.map +1 -1
  97. package/dist/chunks/{base-button.23c7948c.js → base-button.16e8bb2c.js} +8 -8
  98. package/dist/chunks/base-button.16e8bb2c.js.map +1 -0
  99. package/dist/chunks/{button-actions.c87eaee6.js → button-actions.bcaea94e.js} +8 -9
  100. package/dist/chunks/button-actions.bcaea94e.js.map +1 -0
  101. package/dist/chunks/{button.98f2271d.js → button.34695c2c.js} +8 -9
  102. package/dist/chunks/button.34695c2c.js.map +1 -0
  103. package/dist/chunks/{calendar.1ed370f4.js → calendar.a32d5783.js} +297 -291
  104. package/dist/chunks/calendar.a32d5783.js.map +1 -0
  105. package/dist/chunks/{checkbox.e8292504.js → checkbox.5d8f5768.js} +42 -43
  106. package/dist/chunks/checkbox.5d8f5768.js.map +1 -0
  107. package/dist/chunks/{chevron-up.5b117675.js → chevron-down.b851a6da.js} +12 -12
  108. package/dist/chunks/chevron-down.b851a6da.js.map +1 -0
  109. package/dist/chunks/{controls-group.53569fbb.js → controls-group.e607b021.js} +6 -6
  110. package/dist/chunks/{controls-group.53569fbb.js.map → controls-group.e607b021.js.map} +1 -1
  111. package/dist/chunks/{copy.f260d8fc.js → copy.f49481e9.js} +26 -27
  112. package/dist/chunks/copy.f49481e9.js.map +1 -0
  113. package/dist/chunks/{dropdown-default-textbox.64b8861c.js → dropdown-default-textbox.b7a68bb4.js} +35 -35
  114. package/dist/chunks/dropdown-default-textbox.b7a68bb4.js.map +1 -0
  115. package/dist/chunks/{dropdown.45f3fad6.js → dropdown.0c80d6c1.js} +284 -276
  116. package/dist/chunks/dropdown.0c80d6c1.js.map +1 -0
  117. package/dist/chunks/{error-message.05450d5d.js → error-message.fa27bee9.js} +18 -19
  118. package/dist/chunks/{error-message.05450d5d.js.map → error-message.fa27bee9.js.map} +1 -1
  119. package/dist/chunks/{grid-layout.e9479752.js → grid-layout.73f23b1b.js} +5 -5
  120. package/dist/chunks/grid-layout.73f23b1b.js.map +1 -0
  121. package/dist/chunks/i18n.155748d6.js +31 -0
  122. package/dist/chunks/i18n.155748d6.js.map +1 -0
  123. package/dist/chunks/{index.ed72fc62.js → index.16f60189.js} +21 -23
  124. package/dist/chunks/index.16f60189.js.map +1 -0
  125. package/dist/chunks/{index.3aedb3dd.js → index.2066e16f.js} +23 -22
  126. package/dist/chunks/index.2066e16f.js.map +1 -0
  127. package/dist/chunks/{index.6bd3da71.js → index.36bd0bb1.js} +12 -13
  128. package/dist/chunks/index.36bd0bb1.js.map +1 -0
  129. package/dist/chunks/{index.1b1be94c.js → index.695c11ef.js} +2 -2
  130. package/dist/chunks/{index.1b1be94c.js.map → index.695c11ef.js.map} +1 -1
  131. package/dist/chunks/{index.c23be6e9.js → index.875ba379.js} +3 -4
  132. package/dist/chunks/{index.c23be6e9.js.map → index.875ba379.js.map} +1 -1
  133. package/dist/chunks/{index.fcf5a866.js → index.ec1c7120.js} +78 -80
  134. package/dist/chunks/index.ec1c7120.js.map +1 -0
  135. package/dist/chunks/{index.950568af.js → index.f55a6913.js} +33 -34
  136. package/dist/chunks/index.f55a6913.js.map +1 -0
  137. package/dist/chunks/{listbox-option-tag.c03eab04.js → listbox-option-tag.ac8eae9a.js} +11 -12
  138. package/dist/chunks/listbox-option-tag.ac8eae9a.js.map +1 -0
  139. package/dist/chunks/listbox.4ea4114c.js +974 -0
  140. package/dist/chunks/listbox.4ea4114c.js.map +1 -0
  141. package/dist/chunks/{loading-button.d77079fe.js → loading-button.3fa1b7a8.js} +5 -6
  142. package/dist/chunks/loading-button.3fa1b7a8.js.map +1 -0
  143. package/dist/chunks/{tooltip.51be6248.js → tooltip.807205c0.js} +56 -56
  144. package/dist/chunks/tooltip.807205c0.js.map +1 -0
  145. package/dist/chunks/use-has-slot.068222e6.js +5 -0
  146. package/dist/chunks/use-has-slot.068222e6.js.map +1 -0
  147. package/dist/chunks/{useCountryItems.eedde392.js → useCountryItems.5d7b436e.js} +2 -2
  148. package/dist/chunks/{useCountryItems.eedde392.js.map → useCountryItems.5d7b436e.js.map} +1 -1
  149. package/dist/code-snippet.js +184 -180
  150. package/dist/code-snippet.js.map +1 -1
  151. package/dist/country.js +519 -520
  152. package/dist/country.js.map +1 -1
  153. package/dist/currency.js +11 -12
  154. package/dist/currency.js.map +1 -1
  155. package/dist/data-grid.js +194 -197
  156. package/dist/data-grid.js.map +1 -1
  157. package/dist/date-picker.js +73 -77
  158. package/dist/date-picker.js.map +1 -1
  159. package/dist/date-range-picker.js +2 -2
  160. package/dist/date.js +1 -1
  161. package/dist/divider.js +1 -1
  162. package/dist/dropdown.js +17 -22
  163. package/dist/dropdown.js.map +1 -1
  164. package/dist/filter-bar.js +292 -306
  165. package/dist/filter-bar.js.map +1 -1
  166. package/dist/focus-trap.js +1 -1
  167. package/dist/header.js +61 -62
  168. package/dist/header.js.map +1 -1
  169. package/dist/index.js +13 -13
  170. package/dist/info-icon.js +3 -4
  171. package/dist/info-icon.js.map +1 -1
  172. package/dist/input-field.js +64 -61
  173. package/dist/input-field.js.map +1 -1
  174. package/dist/internal.js +7 -7
  175. package/dist/link.js +6 -6
  176. package/dist/link.js.map +1 -1
  177. package/dist/loading-indicator.js +14 -15
  178. package/dist/loading-indicator.js.map +1 -1
  179. package/dist/menu.js +8 -11
  180. package/dist/menu.js.map +1 -1
  181. package/dist/modal.js +266 -205
  182. package/dist/modal.js.map +1 -1
  183. package/dist/pagination.js +6 -7
  184. package/dist/pagination.js.map +1 -1
  185. package/dist/payment-method.js +3 -4
  186. package/dist/payment-method.js.map +1 -1
  187. package/dist/popover.js +16 -17
  188. package/dist/popover.js.map +1 -1
  189. package/dist/popper-container.js +28 -24
  190. package/dist/popper-container.js.map +1 -1
  191. package/dist/radio-group.js +50 -48
  192. package/dist/radio-group.js.map +1 -1
  193. package/dist/search-bar.js +9 -10
  194. package/dist/search-bar.js.map +1 -1
  195. package/dist/segmented-control.js +21 -23
  196. package/dist/segmented-control.js.map +1 -1
  197. package/dist/status.js +9 -10
  198. package/dist/status.js.map +1 -1
  199. package/dist/structured-list.js +1 -1
  200. package/dist/summary-grid.js +13 -19
  201. package/dist/summary-grid.js.map +1 -1
  202. package/dist/tabs.js +2 -2
  203. package/dist/tag.js +19 -20
  204. package/dist/tag.js.map +1 -1
  205. package/dist/textarea.js +61 -62
  206. package/dist/textarea.js.map +1 -1
  207. package/dist/timeline.js +69 -71
  208. package/dist/timeline.js.map +1 -1
  209. package/dist/toast.js +18 -20
  210. package/dist/toast.js.map +1 -1
  211. package/dist/toggle.js +1 -1
  212. package/dist/typography.js +1 -1
  213. package/dist/web-types.json +85 -2
  214. package/package.json +9 -8
  215. package/dist/@types/components/internal/listbox/components/listbox-multi-select/listbox-multi-select.types.d.ts +0 -3
  216. package/dist/@types/components/internal/listbox/composables/use-listbox-keyboard-navigation.d.ts +0 -14
  217. package/dist/@types/utils/ts/hasSlot.d.ts +0 -2
  218. package/dist/assets/chevron-up.css +0 -1
  219. package/dist/chunks/base-button.23c7948c.js.map +0 -1
  220. package/dist/chunks/button-actions.c87eaee6.js.map +0 -1
  221. package/dist/chunks/button.98f2271d.js.map +0 -1
  222. package/dist/chunks/calendar.1ed370f4.js.map +0 -1
  223. package/dist/chunks/checkbox.e8292504.js.map +0 -1
  224. package/dist/chunks/chevron-up.5b117675.js.map +0 -1
  225. package/dist/chunks/copy.f260d8fc.js.map +0 -1
  226. package/dist/chunks/dropdown-default-textbox.64b8861c.js.map +0 -1
  227. package/dist/chunks/dropdown.45f3fad6.js.map +0 -1
  228. package/dist/chunks/grid-layout.e9479752.js.map +0 -1
  229. package/dist/chunks/hasSlot.dceac207.js +0 -5
  230. package/dist/chunks/hasSlot.dceac207.js.map +0 -1
  231. package/dist/chunks/i18n.36074534.js +0 -1697
  232. package/dist/chunks/i18n.36074534.js.map +0 -1
  233. package/dist/chunks/index.3aedb3dd.js.map +0 -1
  234. package/dist/chunks/index.6bd3da71.js.map +0 -1
  235. package/dist/chunks/index.950568af.js.map +0 -1
  236. package/dist/chunks/index.ed72fc62.js.map +0 -1
  237. package/dist/chunks/index.fcf5a866.js.map +0 -1
  238. package/dist/chunks/listbox-option-tag.c03eab04.js.map +0 -1
  239. package/dist/chunks/listbox.13cefddb.js +0 -849
  240. package/dist/chunks/listbox.13cefddb.js.map +0 -1
  241. package/dist/chunks/loading-button.d77079fe.js.map +0 -1
  242. package/dist/chunks/tooltip.51be6248.js.map +0 -1
  243. package/dist/@types/{components → packages/core/src/components}/button/button.types.d.ts +0 -0
  244. package/dist/@types/{components → packages/core/src/components}/link/link.types.d.ts +0 -0
  245. package/dist/@types/{components → packages/vue2/src/components}/accordion/accordion.keys.d.ts +0 -0
  246. package/dist/@types/{components → packages/vue2/src/components}/accordion/accordion.types.d.ts +0 -0
  247. package/dist/@types/{components → packages/vue2/src/components}/accordion/accordion.vue.d.ts +0 -0
  248. package/dist/@types/{components → packages/vue2/src/components}/accordion/components/accordion-item.vue.d.ts +0 -0
  249. package/dist/@types/{components → packages/vue2/src/components}/accordion/index.d.ts +0 -0
  250. package/dist/@types/{components → packages/vue2/src/components}/alert/alert.types.d.ts +0 -0
  251. package/dist/@types/{components → packages/vue2/src/components}/alert/index.d.ts +0 -0
  252. package/dist/@types/{components → packages/vue2/src/components}/avatar-image/avatar-image.types.d.ts +0 -0
  253. package/dist/@types/{components → packages/vue2/src/components}/avatar-image/avatar-image.vue.d.ts +0 -0
  254. package/dist/@types/{components → packages/vue2/src/components}/avatar-image/index.d.ts +0 -0
  255. package/dist/@types/{components → packages/vue2/src/components}/badge/badge.types.d.ts +0 -0
  256. package/dist/@types/{components → packages/vue2/src/components}/badge/badge.vue.d.ts +0 -0
  257. package/dist/@types/{components → packages/vue2/src/components}/badge/index.d.ts +0 -0
  258. package/dist/@types/{components → packages/vue2/src/components}/button/button.demo.d.ts +0 -0
  259. package/dist/@types/{components → packages/vue2/src/components}/button/components/button-actions/button-actions.types.d.ts +0 -0
  260. package/dist/@types/{components → packages/vue2/src/components}/button/components/button-actions/index.d.ts +0 -0
  261. package/dist/@types/{components → packages/vue2/src/components}/button/components/loading-button/index.d.ts +0 -0
  262. package/dist/@types/{components → packages/vue2/src/components}/button/components/loading-button/loading-button.types.d.ts +0 -0
  263. package/dist/@types/{components → packages/vue2/src/components}/card/card.types.d.ts +0 -0
  264. package/dist/@types/{components → packages/vue2/src/components}/card/card.vue.d.ts +0 -0
  265. package/dist/@types/{components → packages/vue2/src/components}/card/index.d.ts +0 -0
  266. package/dist/@types/{components → packages/vue2/src/components}/checkbox/checkbox.types.d.ts +0 -0
  267. package/dist/@types/{components → packages/vue2/src/components}/checkbox/checkbox.vue.d.ts +0 -0
  268. package/dist/@types/{components → packages/vue2/src/components}/checkbox/components/checkbox-group/checkbox-group.types.d.ts +0 -0
  269. package/dist/@types/{components → packages/vue2/src/components}/checkbox/components/checkbox-group/checkbox-group.vue.d.ts +0 -0
  270. package/dist/@types/{components → packages/vue2/src/components}/checkbox/components/checkbox-group/index.d.ts +0 -0
  271. package/dist/@types/{components → packages/vue2/src/components}/checkbox/index.d.ts +0 -0
  272. package/dist/@types/{components → packages/vue2/src/components}/click-outside/click-outside.d.ts +0 -0
  273. package/dist/@types/{components → packages/vue2/src/components}/click-outside/index.d.ts +0 -0
  274. package/dist/@types/{components → packages/vue2/src/components}/code-snippet/code-snippet.types.d.ts +0 -0
  275. package/dist/@types/{components → packages/vue2/src/components}/code-snippet/code-snippet.vue.d.ts +0 -0
  276. package/dist/@types/{components → packages/vue2/src/components}/code-snippet/composables/useLanguage.d.ts +0 -0
  277. package/dist/@types/{components → packages/vue2/src/components}/code-snippet/highlight.d.ts +0 -0
  278. package/dist/@types/{components → packages/vue2/src/components}/code-snippet/index.d.ts +0 -0
  279. package/dist/@types/{components → packages/vue2/src/components}/country/composables/index.d.ts +0 -0
  280. package/dist/@types/{components → packages/vue2/src/components}/country/composables/useCountryCapital/useCountryCapital.d.ts +0 -0
  281. package/dist/@types/{components → packages/vue2/src/components}/country/composables/useCountryFlag.d.ts +0 -0
  282. package/dist/@types/{components → packages/vue2/src/components}/country/composables/useCountryName/useCountryName.d.ts +0 -0
  283. package/dist/@types/{components → packages/vue2/src/components}/country/composables/useCountryPhoneCode/useCountryPhoneCode.d.ts +0 -0
  284. package/dist/@types/{components → packages/vue2/src/components}/country/country.types.d.ts +0 -0
  285. package/dist/@types/{components → packages/vue2/src/components}/country/country.vue.d.ts +0 -0
  286. package/dist/@types/{components → packages/vue2/src/components}/country/index.d.ts +0 -0
  287. package/dist/@types/{components → packages/vue2/src/components}/currency/currency.types.d.ts +0 -0
  288. package/dist/@types/{components → packages/vue2/src/components}/currency/currency.vue.d.ts +0 -0
  289. package/dist/@types/{components → packages/vue2/src/components}/currency/index.d.ts +0 -0
  290. package/dist/@types/{components → packages/vue2/src/components}/data-grid/components/data-grid-columns/data-grid-columns-types.d.ts +0 -0
  291. package/dist/@types/{components → packages/vue2/src/components}/data-grid/components/data-grid-columns/data-grid-columns.vue.d.ts +0 -0
  292. package/dist/@types/{components → 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 -0
  293. package/dist/@types/{components → packages/vue2/src/components}/data-grid/components/data-grid-config-settings/data-grid-config-settings.types.d.ts +0 -0
  294. package/dist/@types/{components → packages/vue2/src/components}/data-grid/components/data-grid-config-settings/data-grid-config-settings.vue.d.ts +0 -0
  295. package/dist/@types/{components → packages/vue2/src/components}/data-grid/components/index.d.ts +0 -0
  296. package/dist/@types/{components → packages/vue2/src/components}/data-grid/composables/index.d.ts +0 -0
  297. package/dist/@types/{components → packages/vue2/src/components}/data-grid/composables/useCalculateBodyFitContentDynamicStyles/useCalculateBodyFitContentDynamicStyles.d.ts +0 -0
  298. package/dist/@types/{components → packages/vue2/src/components}/data-grid/composables/useCalculateBodyFitContentDynamicStyles/useCalculateBodyFitContentDynamicStyles.types.d.ts +0 -0
  299. package/dist/@types/{components → packages/vue2/src/components}/data-grid/composables/useCalculateColumnWidth/useCalculateColumnWidth.d.ts +0 -0
  300. package/dist/@types/{components → packages/vue2/src/components}/data-grid/composables/useCalculateColumnWidth/useCalculateColumnWidth.types.d.ts +0 -0
  301. package/dist/@types/{components → packages/vue2/src/components}/data-grid/composables/useColumnReorderer/useColumnReorderer.d.ts +0 -0
  302. package/dist/@types/{components → packages/vue2/src/components}/data-grid/composables/useConfigSettings/useConfigSettings.d.ts +0 -0
  303. package/dist/@types/{components → packages/vue2/src/components}/data-grid/composables/useKeyboardNavigator/useKeyboardNavigator.d.ts +0 -0
  304. package/dist/@types/{components → packages/vue2/src/components}/data-grid/composables/useKeyboardNavigator/useKeyboardNavigator.types.d.ts +0 -0
  305. package/dist/@types/{components → packages/vue2/src/components}/data-grid/composables/useResizer.d.ts +0 -0
  306. package/dist/@types/{components → packages/vue2/src/components}/data-grid/composables/useSelector.d.ts +0 -0
  307. package/dist/@types/{components → packages/vue2/src/components}/data-grid/composables/useSorter.d.ts +0 -0
  308. package/dist/@types/{components → packages/vue2/src/components}/data-grid/data-grid.types.d.ts +0 -0
  309. package/dist/@types/{components → packages/vue2/src/components}/data-grid/data-grid.vue.d.ts +0 -0
  310. package/dist/@types/{components → packages/vue2/src/components}/data-grid/index.d.ts +0 -0
  311. package/dist/@types/{components → packages/vue2/src/components}/date/date.types.d.ts +0 -0
  312. package/dist/@types/{components → packages/vue2/src/components}/date/date.vue.d.ts +0 -0
  313. package/dist/@types/{components → packages/vue2/src/components}/date/index.d.ts +0 -0
  314. package/dist/@types/{components → packages/vue2/src/components}/date-picker/composables/use-date-picker-single-calendar-text.d.ts +0 -0
  315. package/dist/@types/{components → packages/vue2/src/components}/date-picker/composables/use-date-picker-single-calendar-text.types.d.ts +0 -0
  316. package/dist/@types/{components → packages/vue2/src/components}/date-picker/date-picker.types.d.ts +0 -0
  317. package/dist/@types/{components → packages/vue2/src/components}/date-picker/index.d.ts +0 -0
  318. package/dist/@types/{components → packages/vue2/src/components}/date-range-picker/components/date-range-picker-calendar/date-range-picker-calendar.types.d.ts +0 -0
  319. package/dist/@types/{components → packages/vue2/src/components}/date-range-picker/components/date-range-picker-calendar/date-range-picker-calendar.vue.d.ts +0 -0
  320. package/dist/@types/{components → packages/vue2/src/components}/date-range-picker/components/date-range-picker-calendar/index.d.ts +0 -0
  321. package/dist/@types/{components → packages/vue2/src/components}/date-range-picker/composables/use-date-range-picker-calendar-text.d.ts +0 -0
  322. package/dist/@types/{components → packages/vue2/src/components}/date-range-picker/composables/use-date-range-picker-calendar-text.types.d.ts +0 -0
  323. package/dist/@types/{components → packages/vue2/src/components}/date-range-picker/date-range-picker.types.d.ts +0 -0
  324. package/dist/@types/{components → packages/vue2/src/components}/date-range-picker/date-range-picker.vue.d.ts +0 -0
  325. package/dist/@types/{components → packages/vue2/src/components}/date-range-picker/index.d.ts +0 -0
  326. package/dist/@types/{components → packages/vue2/src/components}/divider/divider.vue.d.ts +0 -0
  327. package/dist/@types/{components → packages/vue2/src/components}/divider/index.d.ts +0 -0
  328. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.types.d.ts +0 -0
  329. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.vue.d.ts +0 -0
  330. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/dropdown-default-textbox/dropdown-default-textbox.vue.d.ts +0 -0
  331. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/dropdown-options-container/composables/useDropdownOptionsListbox.d.ts +0 -0
  332. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/dropdown-options-container/index.d.ts +0 -0
  333. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/dropdown-small-textbox/dropdown-small-textbox.vue.d.ts +0 -0
  334. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/index.d.ts +0 -0
  335. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/variants/dropdown-avatar/dropdown-avatar.types.d.ts +0 -0
  336. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/variants/dropdown-avatar/dropdown-avatar.vue.d.ts +1 -1
  337. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/variants/dropdown-country/composables/useCountryItems.d.ts +0 -0
  338. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/variants/dropdown-country/dropdown-country.types.d.ts +0 -0
  339. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/variants/dropdown-country/dropdown-country.vue.d.ts +1 -1
  340. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/variants/dropdown-currency/dropdown-currency.types.d.ts +0 -0
  341. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/variants/dropdown-currency/dropdown-currency.vue.d.ts +1 -1
  342. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.types.d.ts +0 -0
  343. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.vue.d.ts +1 -1
  344. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/variants/dropdown-tag/dropdown-tag.types.d.ts +0 -0
  345. package/dist/@types/{components → packages/vue2/src/components}/dropdown/components/variants/dropdown-tag/dropdown-tag.vue.d.ts +1 -1
  346. /package/dist/@types/{components → packages/vue2/src/components}/dropdown/composables/useDisplayValue.d.ts +0 -0
  347. /package/dist/@types/{components → packages/vue2/src/components}/dropdown/composables/useDisplayValue.types.d.ts +0 -0
  348. /package/dist/@types/{components → packages/vue2/src/components}/dropdown/composables/useDropdownSearchFilter.d.ts +0 -0
  349. /package/dist/@types/{components → packages/vue2/src/components}/dropdown/dropdown.types.d.ts +0 -0
  350. /package/dist/@types/{components → packages/vue2/src/components}/dropdown/index.d.ts +0 -0
  351. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/all-filters-modal/all-filters-modal.types.d.ts +0 -0
  352. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/all-filters-modal/components/all-filters-modal-button/all-filters-modal-button.vue.d.ts +0 -0
  353. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/base-filter/base-filter.types.d.ts +0 -0
  354. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/base-filter/base-filter.vue.d.ts +0 -0
  355. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/base-filter/components/filter-bar-filter-button/filter-bar-filter-button.vue.d.ts +0 -0
  356. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/base-filter/components/index.d.ts +0 -0
  357. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/base-filter/composables/use-base-filter.d.ts +0 -0
  358. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/base-filter/index.d.ts +0 -0
  359. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/base-filter-button/base-filter-button.vue.d.ts +0 -0
  360. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/boolean-filter/boolean-filter.vue.d.ts +0 -0
  361. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/boolean-filter/index.d.ts +0 -0
  362. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/date-filter/date-filter.vue.d.ts +0 -0
  363. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/date-filter/index.d.ts +0 -0
  364. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/date-range-filter/date-range-filter.vue.d.ts +0 -0
  365. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/date-range-filter/index.d.ts +0 -0
  366. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/index.d.ts +0 -0
  367. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/input-filter/index.d.ts +0 -0
  368. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/input-filter/input-filter.vue.d.ts +0 -0
  369. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/range-filter/range-filter.vue.d.ts +0 -0
  370. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/select-filter/index.d.ts +0 -0
  371. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/select-filter/select-filter.vue.d.ts +0 -0
  372. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/select-filter/variants/select-avatar-filter/index.d.ts +0 -0
  373. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/select-filter/variants/select-avatar-filter/select-avatar-filter.vue.d.ts +0 -0
  374. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/select-filter/variants/select-country-filter/index.d.ts +0 -0
  375. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/select-filter/variants/select-country-filter/select-country-filter.vue.d.ts +0 -0
  376. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/select-filter/variants/select-currency-filter/index.d.ts +0 -0
  377. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/select-filter/variants/select-currency-filter/select-currency-filter.vue.d.ts +0 -0
  378. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/select-filter/variants/select-payment-method-filter/index.d.ts +0 -0
  379. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/select-filter/variants/select-payment-method-filter/select-payment-method-filter.vue.d.ts +0 -0
  380. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/select-filter/variants/select-tag-filter/index.d.ts +0 -0
  381. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/components/select-filter/variants/select-tag-filter/select-tag-filter.vue.d.ts +0 -0
  382. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/filter-bar.types.d.ts +0 -0
  383. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/filter-bar.vue.d.ts +0 -0
  384. /package/dist/@types/{components → packages/vue2/src/components}/filter-bar/index.d.ts +0 -0
  385. /package/dist/@types/{components → packages/vue2/src/components}/focus-trap/focus-trap.types.d.ts +0 -0
  386. /package/dist/@types/{components → packages/vue2/src/components}/focus-trap/focus-trap.vue.d.ts +0 -0
  387. /package/dist/@types/{components → packages/vue2/src/components}/focus-trap/index.d.ts +0 -0
  388. /package/dist/@types/{components → packages/vue2/src/components}/header/header.types.d.ts +0 -0
  389. /package/dist/@types/{components → packages/vue2/src/components}/header/header.vue.d.ts +0 -0
  390. /package/dist/@types/{components → packages/vue2/src/components}/header/index.d.ts +0 -0
  391. /package/dist/@types/{components → packages/vue2/src/components}/info-icon/index.d.ts +0 -0
  392. /package/dist/@types/{components → packages/vue2/src/components}/info-icon/info-icon.vue.d.ts +0 -0
  393. /package/dist/@types/{components → packages/vue2/src/components}/input-field/index.d.ts +0 -0
  394. /package/dist/@types/{components → packages/vue2/src/components}/input-field/input-field.types.d.ts +0 -0
  395. /package/dist/@types/{components → packages/vue2/src/components}/input-field/input-field.vue.d.ts +0 -0
  396. /package/dist/@types/{components → packages/vue2/src/components}/internal/avatar/avatar.vue.d.ts +0 -0
  397. /package/dist/@types/{components → packages/vue2/src/components}/internal/avatar/index.d.ts +0 -0
  398. /package/dist/@types/{components → packages/vue2/src/components}/internal/base-button/base-button.types.d.ts +0 -0
  399. /package/dist/@types/{components → packages/vue2/src/components}/internal/base-button/base-button.vue.d.ts +0 -0
  400. /package/dist/@types/{components → packages/vue2/src/components}/internal/base-button/index.d.ts +0 -0
  401. /package/dist/@types/{components → packages/vue2/src/components}/internal/calendar/calendar.types.d.ts +0 -0
  402. /package/dist/@types/{components → packages/vue2/src/components}/internal/calendar/components/calendar-month/calendar-month.types.d.ts +0 -0
  403. /package/dist/@types/{components → packages/vue2/src/components}/internal/calendar/components/calendar-month/components/calendar-month-day/__test__/calendar-month-day-stub.vue.d.ts +0 -0
  404. /package/dist/@types/{components → packages/vue2/src/components}/internal/calendar/components/calendar-month/components/calendar-month-day/calendar-month-day.types.d.ts +0 -0
  405. /package/dist/@types/{components → packages/vue2/src/components}/internal/calendar/components/calendar-month/components/calendar-month-day/calendar-month-day.vue.d.ts +0 -0
  406. /package/dist/@types/{components → packages/vue2/src/components}/internal/calendar/components/calendar-month/components/calendar-month-day/index.d.ts +0 -0
  407. /package/dist/@types/{components → packages/vue2/src/components}/internal/calendar/components/calendar-month/index.d.ts +0 -0
  408. /package/dist/@types/{components → packages/vue2/src/components}/internal/calendar/composables/use-range-pane.d.ts +0 -0
  409. /package/dist/@types/{components → packages/vue2/src/components}/internal/calendar/composables/use-single-pane.d.ts +0 -0
  410. /package/dist/@types/{components → packages/vue2/src/components}/internal/calendar/index.d.ts +0 -0
  411. /package/dist/@types/{components → packages/vue2/src/components}/internal/controls-group/controls-group.vue.d.ts +0 -0
  412. /package/dist/@types/{components → packages/vue2/src/components}/internal/controls-group/index.d.ts +0 -0
  413. /package/dist/@types/{components → packages/vue2/src/components}/internal/copy/copy.types.d.ts +0 -0
  414. /package/dist/@types/{components → packages/vue2/src/components}/internal/copy/copy.vue.d.ts +0 -0
  415. /package/dist/@types/{components → packages/vue2/src/components}/internal/copy/index.d.ts +0 -0
  416. /package/dist/@types/{components → packages/vue2/src/components}/internal/error-message/error-message.vue.d.ts +0 -0
  417. /package/dist/@types/{components → packages/vue2/src/components}/internal/error-message/index.d.ts +0 -0
  418. /package/dist/@types/{components → packages/vue2/src/components}/internal/grid-layout/grid-layout.types.d.ts +0 -0
  419. /package/dist/@types/{components → packages/vue2/src/components}/internal/grid-layout/grid-layout.vue.d.ts +0 -0
  420. /package/dist/@types/{components → packages/vue2/src/components}/internal/grid-layout/index.d.ts +0 -0
  421. /package/dist/@types/{components → packages/vue2/src/components}/internal/index.d.ts +0 -0
  422. /package/dist/@types/{components → packages/vue2/src/components}/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/components/listbox-multi-select-category/index.d.ts +0 -0
  423. /package/dist/@types/{components → packages/vue2/src/components}/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/components/listbox-multi-select-category/listbox-multi-select-category.types.d.ts +0 -0
  424. /package/dist/@types/{components → 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 -0
  425. /package/dist/@types/{components → packages/vue2/src/components}/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/index.d.ts +0 -0
  426. /package/dist/@types/{components → packages/vue2/src/components}/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/listbox-multi-select-options.types.d.ts +0 -0
  427. /package/dist/@types/{components → packages/vue2/src/components}/internal/listbox/components/listbox-multi-select/index.d.ts +0 -0
  428. /package/dist/@types/{components → packages/vue2/src/components}/internal/listbox/components/listbox-option/index.d.ts +0 -0
  429. /package/dist/@types/{components → packages/vue2/src/components}/internal/listbox/components/listbox-option/listbox-option.vue.d.ts +0 -0
  430. /package/dist/@types/{components → packages/vue2/src/components}/internal/listbox/components/listbox-option-tag/index.d.ts +0 -0
  431. /package/dist/@types/{components → packages/vue2/src/components}/internal/listbox/components/listbox-option-tag/listbox-option-tag.vue.d.ts +0 -0
  432. /package/dist/@types/{components → packages/vue2/src/components}/internal/listbox/components/listbox-single-select-option/index.d.ts +0 -0
  433. /package/dist/@types/{components → packages/vue2/src/components}/internal/listbox/components/listbox-single-select-option/listbox-single-select-option.vue.d.ts +0 -0
  434. /package/dist/@types/{components → packages/vue2/src/components}/internal/listbox/index.d.ts +0 -0
  435. /package/dist/@types/{components → packages/vue2/src/components}/internal/listbox/listbox.types.d.ts +0 -0
  436. /package/dist/@types/{components → packages/vue2/src/components}/loading-indicator/index.d.ts +0 -0
  437. /package/dist/@types/{components → packages/vue2/src/components}/loading-indicator/loading-indicator.types.d.ts +0 -0
  438. /package/dist/@types/{components → packages/vue2/src/components}/loading-indicator/loading-indicator.vue.d.ts +0 -0
  439. /package/dist/@types/{components → packages/vue2/src/components}/menu/components/index.d.ts +0 -0
  440. /package/dist/@types/{components → packages/vue2/src/components}/menu/components/menu-item/index.d.ts +0 -0
  441. /package/dist/@types/{components → packages/vue2/src/components}/menu/components/menu-item/menu-item.types.d.ts +0 -0
  442. /package/dist/@types/{components → packages/vue2/src/components}/menu/components/menu-item/menu-item.vue.d.ts +0 -0
  443. /package/dist/@types/{components → packages/vue2/src/components}/menu/components/menu-item-list/index.d.ts +0 -0
  444. /package/dist/@types/{components → packages/vue2/src/components}/menu/components/menu-item-list/menu-item-list.vue.d.ts +0 -0
  445. /package/dist/@types/{components → packages/vue2/src/components}/menu/components/menu-list-container/menu-list-container.vue.d.ts +0 -0
  446. /package/dist/@types/{components → packages/vue2/src/components}/menu/components/sub-menu-item-list/sub-menu-item-list.vue.d.ts +0 -0
  447. /package/dist/@types/{components → packages/vue2/src/components}/menu/index.d.ts +0 -0
  448. /package/dist/@types/{components → packages/vue2/src/components}/menu/menu.types.d.ts +0 -0
  449. /package/dist/@types/{components → packages/vue2/src/components}/menu/menu.vue.d.ts +0 -0
  450. /package/dist/@types/{components → packages/vue2/src/components}/modal/components/base-modal/index.d.ts +0 -0
  451. /package/dist/@types/{components → packages/vue2/src/components}/modal/components/index.d.ts +0 -0
  452. /package/dist/@types/{components → packages/vue2/src/components}/modal/components/modal-dialog/modal-dialog.vue.d.ts +0 -0
  453. /package/dist/@types/{components → packages/vue2/src/components}/modal/index.d.ts +0 -0
  454. /package/dist/@types/{components → packages/vue2/src/components}/modal/modal.types.d.ts +0 -0
  455. /package/dist/@types/{components → packages/vue2/src/components}/modal/modal.vue.d.ts +0 -0
  456. /package/dist/@types/{components → packages/vue2/src/components}/pagination/components/pagination-context/pagination-context.vue.d.ts +0 -0
  457. /package/dist/@types/{components → packages/vue2/src/components}/pagination/components/pagination-controls/pagination-controls.vue.d.ts +0 -0
  458. /package/dist/@types/{components → packages/vue2/src/components}/pagination/components/pagination-results-per-page/pagination-results-per-page.vue.d.ts +0 -0
  459. /package/dist/@types/{components → packages/vue2/src/components}/pagination/index.d.ts +0 -0
  460. /package/dist/@types/{components → packages/vue2/src/components}/pagination/pagination.vue.d.ts +0 -0
  461. /package/dist/@types/{components → packages/vue2/src/components}/payment-method/composables/index.d.ts +0 -0
  462. /package/dist/@types/{components → packages/vue2/src/components}/payment-method/composables/usePaymentIcon.d.ts +0 -0
  463. /package/dist/@types/{components → packages/vue2/src/components}/payment-method/index.d.ts +0 -0
  464. /package/dist/@types/{components → packages/vue2/src/components}/payment-method/payment-method.types.d.ts +0 -0
  465. /package/dist/@types/{components → packages/vue2/src/components}/payment-method/payment-method.vue.d.ts +0 -0
  466. /package/dist/@types/{components → packages/vue2/src/components}/popover/components/popover-dismiss-button/popover-dismiss-button.vue.d.ts +0 -0
  467. /package/dist/@types/{components → packages/vue2/src/components}/popover/components/popover-image/index.d.ts +0 -0
  468. /package/dist/@types/{components → packages/vue2/src/components}/popover/components/popover-image/popover-image.vue.d.ts +0 -0
  469. /package/dist/@types/{components → packages/vue2/src/components}/popover/components/popover-title/popover-title.vue.d.ts +0 -0
  470. /package/dist/@types/{components → packages/vue2/src/components}/popover/index.d.ts +0 -0
  471. /package/dist/@types/{components → packages/vue2/src/components}/popover/popover.types.d.ts +0 -0
  472. /package/dist/@types/{components → packages/vue2/src/components}/popover/popover.vue.d.ts +0 -0
  473. /package/dist/@types/{components → packages/vue2/src/components}/popper-container/index.d.ts +0 -0
  474. /package/dist/@types/{components → packages/vue2/src/components}/popper-container/popper-container.types.d.ts +0 -0
  475. /package/dist/@types/{components → packages/vue2/src/components}/popper-container/popper-container.utils.d.ts +0 -0
  476. /package/dist/@types/{components → packages/vue2/src/components}/popper-container/popper-container.vue.d.ts +0 -0
  477. /package/dist/@types/{components → packages/vue2/src/components}/radio-group/components/radio-button/radio-button.types.d.ts +0 -0
  478. /package/dist/@types/{components → packages/vue2/src/components}/radio-group/components/radio-button/radio-button.vue.d.ts +0 -0
  479. /package/dist/@types/{components → packages/vue2/src/components}/radio-group/index.d.ts +0 -0
  480. /package/dist/@types/{components → packages/vue2/src/components}/radio-group/radio-group.types.d.ts +0 -0
  481. /package/dist/@types/{components → packages/vue2/src/components}/radio-group/radio-group.vue.d.ts +0 -0
  482. /package/dist/@types/{components → packages/vue2/src/components}/search-bar/index.d.ts +0 -0
  483. /package/dist/@types/{components → packages/vue2/src/components}/search-bar/search-bar.types.d.ts +0 -0
  484. /package/dist/@types/{components → packages/vue2/src/components}/search-bar/search-bar.vue.d.ts +0 -0
  485. /package/dist/@types/{components → packages/vue2/src/components}/search-bar/useSearchBarDataFilter.d.ts +0 -0
  486. /package/dist/@types/{components → packages/vue2/src/components}/segmented-control/components/segmented-control-button/segmented-control-button.vue.d.ts +0 -0
  487. /package/dist/@types/{components → packages/vue2/src/components}/segmented-control/index.d.ts +0 -0
  488. /package/dist/@types/{components → packages/vue2/src/components}/segmented-control/segmented-control.types.d.ts +0 -0
  489. /package/dist/@types/{components → packages/vue2/src/components}/segmented-control/segmented-control.vue.d.ts +0 -0
  490. /package/dist/@types/{components → packages/vue2/src/components}/status/index.d.ts +0 -0
  491. /package/dist/@types/{components → packages/vue2/src/components}/status/status.types.d.ts +0 -0
  492. /package/dist/@types/{components → packages/vue2/src/components}/status/status.vue.d.ts +0 -0
  493. /package/dist/@types/{components → packages/vue2/src/components}/structured-list/components/structered-list-item/structured-list-item.vue.d.ts +0 -0
  494. /package/dist/@types/{components → packages/vue2/src/components}/structured-list/index.d.ts +0 -0
  495. /package/dist/@types/{components → packages/vue2/src/components}/structured-list/structured-list.keys.d.ts +0 -0
  496. /package/dist/@types/{components → packages/vue2/src/components}/structured-list/structured-list.vue.d.ts +0 -0
  497. /package/dist/@types/{components → packages/vue2/src/components}/summary-grid/components/summary-grid-item/index.d.ts +0 -0
  498. /package/dist/@types/{components → packages/vue2/src/components}/summary-grid/components/summary-grid-item/summary-grid-item.types.d.ts +0 -0
  499. /package/dist/@types/{components → packages/vue2/src/components}/summary-grid/components/summary-grid-item/summary-grid-item.vue.d.ts +0 -0
  500. /package/dist/@types/{components → packages/vue2/src/components}/summary-grid/components/summary-grid-item-amount/summary-grid-item-amount.vue.d.ts +0 -0
  501. /package/dist/@types/{components → packages/vue2/src/components}/summary-grid/components/summary-grid-item-custom/summary-grid-item-custom.vue.d.ts +0 -0
  502. /package/dist/@types/{components → packages/vue2/src/components}/summary-grid/components/summary-grid-item-numeric/summary-grid-item-numeric.vue.d.ts +0 -0
  503. /package/dist/@types/{components → packages/vue2/src/components}/summary-grid/components/summary-grid-item-percentage/summary-grid-item-percentage.vue.d.ts +0 -0
  504. /package/dist/@types/{components → packages/vue2/src/components}/summary-grid/components/summary-grid-item-text/summary-grid-item-text.vue.d.ts +0 -0
  505. /package/dist/@types/{components → packages/vue2/src/components}/summary-grid/index.d.ts +0 -0
  506. /package/dist/@types/{components → packages/vue2/src/components}/summary-grid/summary-grid.types.d.ts +0 -0
  507. /package/dist/@types/{components → packages/vue2/src/components}/summary-grid/summary-grid.vue.d.ts +0 -0
  508. /package/dist/@types/{components → packages/vue2/src/components}/tabs/components/tab.types.d.ts +0 -0
  509. /package/dist/@types/{components → packages/vue2/src/components}/tabs/components/tab.vue.d.ts +0 -0
  510. /package/dist/@types/{components → packages/vue2/src/components}/tabs/index.d.ts +0 -0
  511. /package/dist/@types/{components → packages/vue2/src/components}/tabs/tabs.keys.d.ts +0 -0
  512. /package/dist/@types/{components → packages/vue2/src/components}/tabs/tabs.types.d.ts +0 -0
  513. /package/dist/@types/{components → packages/vue2/src/components}/tabs/tabs.utils.d.ts +0 -0
  514. /package/dist/@types/{components → packages/vue2/src/components}/tabs/tabs.vue.d.ts +0 -0
  515. /package/dist/@types/{components → packages/vue2/src/components}/tag/index.d.ts +0 -0
  516. /package/dist/@types/{components → packages/vue2/src/components}/tag/tag.types.d.ts +0 -0
  517. /package/dist/@types/{components → packages/vue2/src/components}/tag/tag.vue.d.ts +0 -0
  518. /package/dist/@types/{components → packages/vue2/src/components}/textarea/index.d.ts +0 -0
  519. /package/dist/@types/{components → packages/vue2/src/components}/textarea/textarea.types.d.ts +0 -0
  520. /package/dist/@types/{components → packages/vue2/src/components}/textarea/textarea.vue.d.ts +0 -0
  521. /package/dist/@types/{components → packages/vue2/src/components}/timeline/components/timeline-item/timeline-item.vue.d.ts +0 -0
  522. /package/dist/@types/{components → packages/vue2/src/components}/timeline/index.d.ts +0 -0
  523. /package/dist/@types/{components → packages/vue2/src/components}/timeline/timeline.keys.d.ts +0 -0
  524. /package/dist/@types/{components → packages/vue2/src/components}/timeline/timeline.types.d.ts +0 -0
  525. /package/dist/@types/{components → packages/vue2/src/components}/timeline/timeline.vue.d.ts +0 -0
  526. /package/dist/@types/{components → packages/vue2/src/components}/toast/components/toast-item/index.d.ts +0 -0
  527. /package/dist/@types/{components → packages/vue2/src/components}/toast/components/toast-item/toast-item.types.d.ts +0 -0
  528. /package/dist/@types/{components → packages/vue2/src/components}/toast/components/toast-item/toast-item.vue.d.ts +0 -0
  529. /package/dist/@types/{components → packages/vue2/src/components}/toast/index.d.ts +0 -0
  530. /package/dist/@types/{components → packages/vue2/src/components}/toast/toast.vue.d.ts +0 -0
  531. /package/dist/@types/{components → packages/vue2/src/components}/toggle/index.d.ts +0 -0
  532. /package/dist/@types/{components → packages/vue2/src/components}/toggle/toggle.types.d.ts +0 -0
  533. /package/dist/@types/{components → packages/vue2/src/components}/toggle/toggle.vue.d.ts +0 -0
  534. /package/dist/@types/{components → packages/vue2/src/components}/typography/index.d.ts +0 -0
  535. /package/dist/@types/{components → packages/vue2/src/components}/typography/typography.types.d.ts +0 -0
  536. /package/dist/@types/{components → packages/vue2/src/components}/typography/typography.vue.d.ts +0 -0
  537. /package/dist/@types/{composables → packages/vue2/src/composables}/initials.d.ts +0 -0
  538. /package/dist/@types/{composables → packages/vue2/src/composables}/use-checkbox-select-all/use-checkbox-select-all.d.ts +0 -0
  539. /package/dist/@types/{composables → packages/vue2/src/composables}/use-default-slot-validator/use-default-slot-validator.d.ts +0 -0
  540. /package/dist/@types/{composables → packages/vue2/src/composables}/useDynamicImport.d.ts +0 -0
  541. /package/dist/@types/{directives → packages/vue2/src/directives}/click-outside/directive.d.ts +0 -0
  542. /package/dist/@types/{directives → packages/vue2/src/directives}/click-outside/index.d.ts +0 -0
  543. /package/dist/@types/{directives → packages/vue2/src/directives}/click-outside/on-click-outside.d.ts +0 -0
  544. /package/dist/@types/{directives → packages/vue2/src/directives}/click-outside/types.d.ts +0 -0
  545. /package/dist/@types/{directives → packages/vue2/src/directives}/click-outside/useEventListener/index.d.ts +0 -0
  546. /package/dist/@types/{directives → packages/vue2/src/directives}/click-outside/useEventListener/types.d.ts +0 -0
  547. /package/dist/@types/{directives → packages/vue2/src/directives}/click-outside/utils.d.ts +0 -0
  548. /package/dist/@types/{directives → packages/vue2/src/directives}/index.d.ts +0 -0
  549. /package/dist/@types/{directives → packages/vue2/src/directives}/keyboard-navigation/index.d.ts +0 -0
  550. /package/dist/@types/{directives → packages/vue2/src/directives}/keyboard-navigation/keyboard-navigation.d.ts +0 -0
  551. /package/dist/@types/{directives → packages/vue2/src/directives}/keyboard-navigation/keyboard-navigation.types.d.ts +0 -0
  552. /package/dist/@types/{directives → packages/vue2/src/directives}/tooltip/index.d.ts +0 -0
  553. /package/dist/@types/{directives → packages/vue2/src/directives}/tooltip/tooltip.d.ts +0 -0
  554. /package/dist/@types/{directives → packages/vue2/src/directives}/tooltip/tooltip.types.d.ts +0 -0
  555. /package/dist/@types/{index.d.ts → packages/vue2/src/index.d.ts} +0 -0
  556. /package/dist/@types/{install.d.ts → packages/vue2/src/install.d.ts} +0 -0
  557. /package/dist/@types/{plugins → packages/vue2/src/plugins}/toastController.d.ts +0 -0
  558. /package/dist/@types/{types → packages/vue2/src/types}/date-format.d.ts +0 -0
  559. /package/dist/@types/{types → packages/vue2/src/types}/elements.d.ts +0 -0
  560. /package/dist/@types/{types → packages/vue2/src/types}/functions.d.ts +0 -0
  561. /package/dist/@types/{types → packages/vue2/src/types}/index.d.ts +0 -0
  562. /package/dist/@types/{types → packages/vue2/src/types}/keyboard-navigation.d.ts +0 -0
  563. /package/dist/@types/{types → packages/vue2/src/types}/label-position.d.ts +0 -0
  564. /package/dist/@types/{types → packages/vue2/src/types}/listbox.d.ts +0 -0
  565. /package/dist/@types/{types → packages/vue2/src/types}/maybe-ref.d.ts +0 -0
  566. /package/dist/@types/{types → packages/vue2/src/types}/omit-strict.d.ts +0 -0
  567. /package/dist/@types/{types → packages/vue2/src/types}/prop-types.d.ts +0 -0
  568. /package/dist/@types/{types → packages/vue2/src/types}/refs.d.ts +0 -0
  569. /package/dist/@types/{types → packages/vue2/src/types}/utils-events.d.ts +0 -0
  570. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/aria-label.d.ts +0 -0
  571. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/currency/countries-list.d.ts +0 -0
  572. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/currency/currency.d.ts +0 -0
  573. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/currency/currency.types.d.ts +0 -0
  574. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/date-input.d.ts +0 -0
  575. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/debounce/debounce.d.ts +0 -0
  576. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/debounce/index.d.ts +0 -0
  577. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/deep-merge/deep-merge.d.ts +0 -0
  578. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/deep-merge/index.d.ts +0 -0
  579. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/events.d.ts +0 -0
  580. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/focus-trap.utils.d.ts +0 -0
  581. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/get-slot-text/get-slot-text.d.ts +0 -0
  582. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/get-slot-text/index.d.ts +0 -0
  583. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/i18n.d.ts +0 -0
  584. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/resize.d.ts +0 -0
  585. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/storybook.d.ts +0 -0
  586. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/time-input.d.ts +0 -0
  587. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/toastController.d.ts +0 -0
  588. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/truncate.d.ts +0 -0
  589. /package/dist/@types/{utils → packages/vue2/src/utils}/ts/unique-id.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listbox.4ea4114c.js","sources":["../../src/composables/use-checkbox-select-all/use-checkbox-select-all.ts","../../src/types/listbox.ts","../../src/components/internal/listbox/components/listbox-option/listbox-option.vue","../../../../node_modules/@adyen/ui-assets-icons-16/dist/vue/checkmark.vue","../../src/components/internal/listbox/components/listbox-single-select-option/listbox-single-select-option.vue","../../src/components/internal/listbox/composables/useListboxKeyboardNavigation.ts","../../src/components/internal/listbox/components/listbox-single-select/listbox-single-select.vue","../../src/components/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/components/listbox-multi-select-category/listbox-multi-select-category.types.ts","../../src/components/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/components/listbox-multi-select-category/listbox-multi-select-category.vue","../../src/components/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/listbox-multi-select-options.types.ts","../../src/components/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/listbox-multi-select-options.vue","../../src/components/internal/listbox/components/listbox-multi-select/listbox-multi-select.vue","../../src/components/internal/listbox/listbox.vue"],"sourcesContent":["import { computed } from 'vue';\nimport type { ComputedRef } from 'vue';\nimport type { BentoListboxMultiSelectValue, Fn } from '@/types';\nimport { BentoListboxOptions } from '@/types';\n\n/**\n * Callback function that alllows to select all the items when called\n * @callback selectAllCallback\n */\n\n/**\n * Callback function that alllows to select all the items when called\n * @callback unselectAllCallback\n */\n\n/**\n * @typedef {Object} UseCheckboxSelectAll\n * @property {Ref<boolean>} isAllSelected - Indicates if all values are selected. Pass this to the :value property.\n * @property {Ref<boolean>} isIndeterminate - Indicates if it is in an indeterminated state (not all values are selected nor unselected). Pass this to the :indeterminate property.\n * @property {(selectedValue: boolean) => void} toggleSelectAll - Handles the select all flow, selects or unselects all and nullifies the indeterminated state. Pass this to the @input method.\n */\n\n/**\n * Composable to handle a 3 way checkbox state that allows to manage\n * a \"select all\", \"unselect all\" and an intermediate state where\n * not all are selected.\n *\n * @example\n * const checkboxVModelRef = ref<number[]>([]);\n *\n * const { isAllSelected, isIndeterminate, toggleSelectAll, updateIndeterminate } = useCheckboxSelectAll(\n * checkboxVModelRef,\n * () => { checkboxVModelRef.value = [...] // select all logic },\n * () => { checkboxVModelRef.value = [] // unselect all logic },\n * );\n * toggleSelectAll(true|false); // Hook this to the @input method\n * updateIndeterminate(totalOfAvailableItems);\n *\n *\n * @param {ComputedRef<BentoListboxMultiSelectValue>} selectedItemsList - Reference to the list of selected values\n * @param {ComputedRef<BentoListboxOptions>} items - Reference to the list of all available items in the dropdown\n * @param {selectAllCallback} selectAll - Callback function that alllows to select all the items when called\n * @param {unselectAllCallback} unselectAll - Callback function that alllows to select all the items when called\n * @returns {UseCheckboxSelectAll} Values to be set to the bento-checkbox value and indeterminate props, as well as functions to update them accordingly\n *\n */\nexport const useCheckboxSelectAll = (\n selectedItemsList: ComputedRef<BentoListboxMultiSelectValue>,\n items: ComputedRef<BentoListboxOptions>,\n selectAll: Fn,\n unselectAll: Fn\n) => {\n const isAllSelected = computed(\n () => !!selectedItemsList.value?.length && selectedItemsList.value?.length === items.value.length\n );\n const isIndeterminate = computed(() => {\n // eslint-disable-next-line eqeqeq\n if (selectedItemsList.value == undefined || selectedItemsList.value.length === 0) {\n return false;\n }\n\n return selectedItemsList.value?.length !== items.value.length;\n });\n\n const toggleSelectAll = (selectedValue: boolean) => {\n if (selectedValue) {\n selectAll();\n } else {\n unselectAll();\n }\n };\n\n return {\n isAllSelected,\n isIndeterminate,\n\n toggleSelectAll,\n };\n};\n","import { BentoSearchBarItem } from '@/components/search-bar';\n\nexport type BentoListboxValue = string | number;\n\nexport type BentoListboxMultiSelectValue = BentoListboxValue[];\n\nexport interface BentoListboxOptionItem extends BentoSearchBarItem {\n data?: unknown;\n description?: string;\n value: BentoListboxValue;\n items?: Array<BentoListboxOptionItem>; // Reference itself for multi-level options\n}\n\nexport type BentoListboxSelectedValue = BentoListboxValue | BentoListboxMultiSelectValue;\n\nexport type BentoListboxOptions = Array<BentoListboxOptionItem>;\n\nexport type BentoListboxIsOptionDisabled = undefined | ((optionValue: BentoListboxOptionItem) => boolean);\n\nexport enum BentoListboxEvent {\n SELECT = 'select',\n SHOW_MORE = 'show-more',\n ESCAPE = 'escape-pressed',\n CLICK = 'click',\n ENTER = 'enter-pressed',\n SPACE = 'space-pressed',\n TAB = 'tab-pressed',\n CLOSE_DROPDOWN = 'close-dropdown',\n}\n\nexport enum BentoListboxLazyLoadType {\n AUTOMATIC = 'automatic',\n BUTTON = 'button',\n NONE = 'none',\n}\n\nexport interface BentoListboxSearchOptions {\n /**\n * Custom debounce time. Default: 300\n */\n debounceTime?: number;\n\n /**\n * The event that triggers upon user filtering the listbox items.\n */\n searchEvent: (searchValue: string) => void;\n}\n","<template>\n <label\n class=\"b-listbox-option\"\n role=\"option\"\n :class=\"conditionalClasses\"\n v-bind=\"$attrs\"\n @click=\"onClick\"\n @keydown.enter=\"onOptionSelected(BentoListboxEvent.ENTER, $event)\"\n @keydown.space=\"onOptionSelected(BentoListboxEvent.SPACE, $event)\"\n @keydown.tab=\"onOptionSelected(BentoListboxEvent.TAB, $event)\"\n >\n <slot></slot>\n </label>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent } from 'vue';\n import { BentoKeyboardNavigationKeyDownEvent, BentoListboxEvent } from '@/types';\n\n /**\n * listbox option wrapper.\n * Contains only styles and allows the Multi-Select and Single-Select DRY the styles.\n *\n * Options and Attributes are inherited (`inheritAttrs: true`)\n *\n * @example\n * <bento-listbox-option\n * ...props\n * ...attrs\n * />\n */\n export default defineComponent({\n name: 'bento-listbox-option',\n props: {\n /**\n * Setting this property to true will disable the option.\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * Indicates if the value is selected. Only one element can be selected at a time.\n */\n selected: { type: Boolean, default: false },\n },\n emits: [BentoListboxEvent.CLICK, BentoListboxEvent.ENTER, BentoListboxEvent.SPACE, BentoListboxEvent.TAB],\n setup(props, { emit }) {\n const conditionalClasses = computed(() => ({\n 'b-listbox-option--disabled': props.disabled,\n 'b-listbox-option--selected': props.selected,\n }));\n\n const onClick = (e: Event) => {\n emit(BentoListboxEvent.CLICK, e);\n };\n\n const onOptionSelected = (eventName, e: Event) => {\n emit(eventName, e);\n };\n\n return {\n // Enums\n BentoKeyboardNavigationKeyDownEvent,\n BentoListboxEvent,\n\n // Values\n conditionalClasses,\n\n // Events\n onClick,\n onOptionSelected,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./listbox-option.scss\" />\n","\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=\"M14.5303 4.53033C14.8232 4.23744 14.8232 3.76256 14.5303 3.46967C14.2374 3.17678 13.7626 3.17678 13.4697 3.46967L6 10.9393L2.53033 7.46967C2.23744 7.17678 1.76256 7.17678 1.46967 7.46967C1.17678 7.76256 1.17678 8.23744 1.46967 8.53033L5.46967 12.5303C5.50628 12.5669 5.54574 12.599 5.58732 12.6264C5.87844 12.8186 6.27405 12.7866 6.53033 12.5303L14.5303 4.53033Z\" 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 <bento-listbox-option\n class=\"b-listbox-single-select-option\"\n :disabled=\"disabled\"\n :selected=\"selected\"\n :aria-selected=\"ariaSelected\"\n :aria-disabled=\"ariaDisabled\"\n :tabindex=\"tabIndex\"\n @click=\"onOptionSelected(BentoListboxEvent.SELECT)\"\n @[BentoListboxEvent.ENTER]=\"onOptionSelected(BentoListboxEvent.ENTER)\"\n @[BentoListboxEvent.SPACE]=\"onOptionSelected(BentoListboxEvent.SPACE)\"\n @[BentoListboxEvent.TAB]=\"onOptionSelected(BentoListboxEvent.TAB)\"\n >\n <slot v-bind=\"option\">\n <span class=\"b-listbox-single-select-option__text\">\n <bento-typography :el=\"BentoTypographyElement.SPAN\">{{ option.label }}</bento-typography>\n <bento-typography\n v-if=\"option.description\"\n class=\"b-listbox-single-select-option__description\"\n :el=\"BentoTypographyElement.SPAN\"\n >\n {{ option.description }}\n </bento-typography>\n </span>\n </slot>\n <span class=\"b-listbox-single-select-option__check-icon\">\n <checkmark-icon v-show=\"selected\" svg-title=\"selected\" />\n </span>\n </bento-listbox-option>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import { BentoTypography, BentoTypographyElement } from '@/components/typography';\n import { BentoListboxOption } from '../listbox-option';\n import { BentoListboxEvent, BentoListboxOptionItem } from '@/types';\n import CheckmarkIcon from '@adyen/ui-assets-icons-16/vue/checkmark';\n\n /**\n * Listbox option element.\n *\n * @example\n * <bento-listbox-single-select-option\n * v-for=\"option in options\"\n * :key=\"option.value\"\n * :option=\"option\"\n * :selected=\"option.selected\"\n * @select=\"onOptionSelected\"\n * />\n */\n export default defineComponent({\n name: 'bento-listbox-single-select-option',\n components: {\n BentoListboxOption,\n BentoTypography,\n CheckmarkIcon,\n },\n props: {\n /**\n * Setting this property to true will disable the option.\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * The option item that contains all the option item's data.\n * @type {BentoListboxOptionItem}\n */\n option: {\n type: Object as PropType<BentoListboxOptionItem>,\n required: true,\n },\n\n /**\n * Indicates if the value is selected. Only one element can be selected at a time.\n */\n selected: { type: Boolean, default: false },\n },\n emits: [BentoListboxEvent.ENTER, BentoListboxEvent.SELECT, BentoListboxEvent.SPACE, BentoListboxEvent.TAB],\n setup(props, { emit }) {\n const onOptionSelected = eventName => {\n if (props.disabled) {\n return;\n }\n\n /**\n * Trigerred when an option is clicked or selected via keyboard navigation.\n * Indicates which option was selected.\n *\n * @event {string} - The corresponding event\n * @property {number} selectedValue - Selected option's value\n */\n emit(eventName, props.option.value);\n };\n\n const ariaDisabled = computed(() => (props.disabled ? true : null));\n const ariaSelected = computed(() => (props.selected ? true : null));\n const tabIndex = computed(() => (props.disabled ? -1 : 0));\n\n return {\n // Values\n ariaDisabled,\n ariaSelected,\n tabIndex,\n\n // Enums\n BentoTypographyElement,\n BentoListboxEvent,\n\n // Events\n onOptionSelected,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./listbox-single-select-option.scss\" />\n","import { computed, onMounted, ref } from 'vue';\n\nconst enum ListboxKeyboardNavigationMutationDirection {\n INCREASE = 'increase',\n DECREASE = 'decrease',\n}\n\nexport const useListboxKeyboardNavigation = ({ items, isOptionDisabled }, focusItem) => {\n const numberOfItems = computed(() => items.value.length - 1);\n const focusedIndex = ref(0);\n\n onMounted(() => {\n if (isOptionDisabled) {\n focusedIndex.value = items.value.findIndex(el => !isOptionDisabled(el));\n }\n });\n\n const isItemDisabled = (itemIndex: number) =>\n !isOptionDisabled || (!!isOptionDisabled && isOptionDisabled(items.value[itemIndex]));\n\n const isItemEnabled = (itemIndex: number) =>\n !isOptionDisabled || (!!isOptionDisabled && !isOptionDisabled(items.value[itemIndex]));\n\n const mutateFocusedIndex = (direction: ListboxKeyboardNavigationMutationDirection) => {\n switch (direction) {\n case ListboxKeyboardNavigationMutationDirection.INCREASE:\n focusedIndex.value += 1;\n break;\n case ListboxKeyboardNavigationMutationDirection.DECREASE:\n focusedIndex.value -= 1;\n break;\n default:\n break;\n }\n };\n\n const calculateFocusedIndex = ({ edgeCaseItem, isItemBeforeEdgeCaseItem }, callback, direction) => {\n const isEdgeCaseItem = focusedIndex.value === edgeCaseItem;\n if (isEdgeCaseItem) {\n return;\n }\n if (isItemBeforeEdgeCaseItem) {\n if (isItemEnabled(edgeCaseItem)) {\n mutateFocusedIndex(direction);\n }\n } else {\n mutateFocusedIndex(direction);\n if (isItemDisabled(focusedIndex.value)) {\n callback();\n }\n }\n focusItem(focusedIndex.value);\n };\n\n const moveToNextElement = () => {\n const isIndexSecondToLastItemInArray = focusedIndex.value === numberOfItems.value - 2;\n calculateFocusedIndex(\n {\n isItemBeforeEdgeCaseItem: isIndexSecondToLastItemInArray,\n edgeCaseItem: numberOfItems.value,\n },\n moveToNextElement,\n ListboxKeyboardNavigationMutationDirection.INCREASE\n );\n };\n\n const moveToPreviousElement = () => {\n const IsIndexSecondItemInArray = focusedIndex.value === 1;\n calculateFocusedIndex(\n {\n edgeCaseItem: 0,\n isItemBeforeEdgeCaseItem: IsIndexSecondItemInArray,\n },\n moveToPreviousElement,\n ListboxKeyboardNavigationMutationDirection.DECREASE\n );\n };\n\n const moveToFirstElement = () => {\n focusedIndex.value = 0;\n if (isItemDisabled(focusedIndex.value)) {\n moveToNextElement();\n } else {\n focusItem(focusedIndex.value);\n }\n };\n\n const moveToLastElement = () => {\n focusedIndex.value = numberOfItems.value;\n if (isItemDisabled(focusedIndex.value)) {\n moveToPreviousElement();\n } else {\n focusItem(focusedIndex.value);\n }\n };\n\n return {\n moveToFirstElement,\n moveToLastElement,\n moveToNextElement,\n moveToPreviousElement,\n };\n};\n","<template>\n <div v-bento-keyboard-navigation-directive v-on=\"listboxListeners\">\n <bento-listbox-single-select-option\n v-for=\"option in items\"\n :key=\"option.value\"\n ref=\"listboxItemRef\"\n role=\"option\"\n :option=\"option\"\n :disabled=\"isOptionDisabled ? isOptionDisabled(option) : null\"\n :selected=\"option.value === selectedValue\"\n v-on=\"listboxOptionListeners\"\n >\n <template v-for=\"(_, innerSlot) of slots\" #[innerSlot]=\"scope\">\n <slot :name=\"innerSlot\" v-bind=\"scope\" />\n </template>\n </bento-listbox-single-select-option>\n </div>\n</template>\n<script lang=\"ts\">\n import { defineComponent, PropType, ref, toRef } from 'vue';\n import { BentoListboxSingleSelectOption } from '../listbox-single-select-option';\n import { useListboxKeyboardNavigation } from '../../composables/useListboxKeyboardNavigation';\n import {\n BentoKeyboardNavigationKeyDownEvent,\n BentoListboxEvent,\n BentoListboxIsOptionDisabled,\n BentoListboxOptions,\n BentoListboxSelectedValue,\n } from '@/types';\n import { BentoKeyboardNavigationDirective } from '@/directives';\n\n /**\n * Listbox single-select options list\n *\n * @example\n * import { BentoListboxMultiSelect } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoListboxMultiSelect },\n * template: `\n * <bento-listbox-multi-select\n * :items=\"[{ label: 'Option 1', value: 'option-1' }]\"\n * :selected-values=\"['option-1']\"\n * />\n * `\n * }\n */\n export default defineComponent({\n name: 'bento-listbox-single-select',\n components: {\n BentoListboxSingleSelectOption,\n },\n directives: { BentoKeyboardNavigationDirective },\n inheritAttrs: false,\n props: {\n /**\n * Function that allows the options to be disabled\n *\n * @type {BentoListboxIsOptionDisabled}\n * @param {BentoListboxOptionItem} option - listbox option object\n * @param {string} option.label - Option's label text\n * @param {string|number} option.value - Option's value\n * @param {unknown} option.data - Option's extra data to be passed to the default slot\n */\n isOptionDisabled: {\n type: Function as PropType<BentoListboxIsOptionDisabled>,\n default: () => false,\n },\n\n /**\n * The option elements to populate the listbox with.\n * It must be an array of {@see BentoListboxOptionItem }.\n *\n * @property {string} value.label - Text to be displayed in the option\n * @property {string,number} value.value - Value of the option\n */\n items: {\n type: Array as PropType<BentoListboxOptions>,\n required: true,\n },\n\n /**\n * The `input` value.\n * Providing an empty string will select no options.\n * Set to an empty string `''` if you don't want any of the available options to be selected\n */\n selectedValue: {\n type: [String, Number] as PropType<BentoListboxSelectedValue>,\n default: undefined,\n },\n },\n emits: [BentoListboxEvent.SELECT, BentoListboxEvent.ENTER, BentoListboxEvent.SPACE, BentoListboxEvent.TAB],\n setup(props, { emit, slots }) {\n const listboxItemRef = ref([]);\n\n const onOptionSelected = eventName => (selectedValue: BentoListboxSelectedValue) => {\n emit(eventName, selectedValue);\n };\n\n const focusItem = (nextFocusedItemIndex: number) => listboxItemRef.value[nextFocusedItemIndex].$el.focus();\n\n // Keyboard navigation\n const { moveToNextElement, moveToPreviousElement, moveToFirstElement, moveToLastElement } =\n useListboxKeyboardNavigation(\n {\n items: toRef(props, 'items'),\n isOptionDisabled: props.isOptionDisabled,\n },\n focusItem\n );\n\n const listboxListeners = {\n [BentoKeyboardNavigationKeyDownEvent.ARROW_UP]: moveToPreviousElement,\n [BentoKeyboardNavigationKeyDownEvent.ARROW_DOWN]: moveToNextElement,\n [BentoKeyboardNavigationKeyDownEvent.HOME]: moveToFirstElement,\n [BentoKeyboardNavigationKeyDownEvent.END]: moveToLastElement,\n };\n\n const listboxOptionListeners = {\n [BentoListboxEvent.SELECT]: onOptionSelected(BentoListboxEvent.SELECT),\n [BentoListboxEvent.SPACE]: onOptionSelected(BentoListboxEvent.SPACE),\n [BentoListboxEvent.TAB]: onOptionSelected(BentoListboxEvent.TAB),\n [BentoListboxEvent.ENTER]: onOptionSelected(BentoListboxEvent.ENTER),\n };\n\n return {\n // Enums\n BentoListboxEvent,\n\n // Values\n listboxItemRef,\n slots,\n\n // Methods\n onOptionSelected,\n\n // Keyboard navigation\n listboxListeners,\n listboxOptionListeners,\n };\n },\n });\n</script>\n","export enum ListboxMultiSelectCategoryClass {\n DISABLED = 'disabled',\n}\n\nexport enum ListboxMultiSelectCategoryEvent {\n SELECT_CATEGORY = 'select-category',\n UNSELECT_CATEGORY = 'unselect-category',\n}\n","<template>\n <div>\n <bento-listbox-option class=\"b-listbox-multi-select-category__option\" :class=\"conditionalClass\">\n <bento-checkbox\n :model-value=\"isAllSelected\"\n :indeterminate=\"isIndeterminate\"\n :disabled=\"hasAllPropsDisabled\"\n :aria-label=\"category.label\"\n :value=\"category.value\"\n @update:model-value=\"toggleSelectAll\"\n />\n <span class=\"b-listbox-multi-select-category__label\">\n <bento-typography :el=\"BentoTypographyElement.SPAN\" class=\"b-listbox-multi-select-category__label-text\">\n {{ category.label }}\n </bento-typography>\n <div\n class=\"b-listbox-multi-select-category__label-chevron\"\n data-testid=\"toggle-listbox\"\n @click.capture=\"toggleOpen\"\n >\n <chevron-up-icon v-if=\"isOpen\" :svg-title=\"chevronTitle\" />\n <chevron-down-icon v-else :svg-title=\"chevronTitle\" />\n </div>\n </span>\n </bento-listbox-option>\n\n <div v-show=\"isOpen\">\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, ref } from 'vue';\n import { BentoCheckbox } from '@/components/checkbox';\n import { BentoTypography, BentoTypographyElement } from '@/components/typography';\n import { BentoListboxOption } from '../../../../../listbox-option';\n import {\n BentoListboxIsOptionDisabled,\n BentoListboxMultiSelectValue,\n BentoListboxOptionItem,\n BentoListboxValue,\n } from '@/types';\n import { useCheckboxSelectAll } from '@/composables';\n import {\n ListboxMultiSelectCategoryClass,\n ListboxMultiSelectCategoryEvent,\n } from './listbox-multi-select-category.types';\n import { useI18n } from '@/utils/ts/i18n';\n import ChevronDownIcon from '@adyen/ui-assets-icons-16/vue/chevron-down';\n import ChevronUpIcon from '@adyen/ui-assets-icons-16/vue/chevron-up';\n import messages from './messages.json';\n\n /**\n * Listbox multi-select category list.\n * Allows the rendering of nested lists\n *\n * @example\n * import { ListboxMultiSelectCategory } from '@/internal/listbox';\n *\n * export default {\n * components: { BentoListboxMultiSelectCategory },\n * template: `\n * <listbox-multi-select-category\n * :category=\"option\"\n * :is-option-disabled=\"true\"\n * :selected-items-list=\"['option-1']\"\n * @select-category=\"$emit('select-category', option)\"\n * @unselect-category=\"$emit('unselect-category', option)\"\n * >\n * <listbox-multi-select-options\n * category-items\n * :items=\"[{ label: 'Option 1', value: 'option-1' }]\"\n * :is-multi-level=\"true\"\n * :selected-items-list=\"['option-']\"\n * :searching=\"false\"\n * @toggle-checkbox-selection=\"value => toggleCheckboxSelection(value)\"\n * />\n * </listbox-multi-select-category>\n * `\n * }\n */\n export default defineComponent({\n i18n: { messages },\n name: 'bento-listbox-multi-select-category',\n components: {\n BentoCheckbox,\n BentoTypography,\n BentoListboxOption,\n ChevronDownIcon,\n ChevronUpIcon,\n },\n props: {\n /**\n * The option elements to populate the listbox with.\n * It must be an array of {@see BentoListboxOptionItem }.\n *\n * @property {string} value.label - Text to be displayed in the option\n * @property {string,number} value.value - Value of the option\n * @property {BentoListboxOptionItem} value.items - Category items list\n */\n category: {\n type: Object as PropType<BentoListboxOptionItem>,\n required: true,\n },\n\n /**\n * Function that allows the options to be disabled\n *\n * @type {BentoListboxIsOptionDisabled}\n * @param {BentoListboxOptionItem} option - listbox option object\n * @param {string} option.label - Option's label text\n * @param {string|number} option.value - Option's value\n * @param {unknown} option.data - Option's extra data to be passed to the default slot\n */\n isOptionDisabled: {\n type: [Function] as PropType<BentoListboxIsOptionDisabled>,\n default: () => false,\n },\n\n /**\n * The `input` value.\n * Providing an empty array will select no options.\n */\n selectedItemsList: {\n type: Array as PropType<BentoListboxValue[]>,\n default: () => [],\n },\n },\n emits: [ListboxMultiSelectCategoryEvent.SELECT_CATEGORY, ListboxMultiSelectCategoryEvent.UNSELECT_CATEGORY],\n setup(props, { emit }) {\n const isOpen = ref(false);\n const { t } = useI18n();\n\n const hasAllPropsDisabled = computed(() =>\n props.category.items.every(option => props.isOptionDisabled(option))\n );\n\n const conditionalClass = computed(() => ({\n [`b-listbox-multi-select-category--${ListboxMultiSelectCategoryClass.DISABLED}`]:\n hasAllPropsDisabled.value,\n }));\n\n const toggleOpen = (event: Event) => {\n event.preventDefault();\n isOpen.value = !isOpen.value;\n };\n\n const optionStates = (option: BentoListboxOptionItem) => {\n const isDisabled = props.isOptionDisabled(option);\n const isPreSelected =\n (props.selectedItemsList as BentoListboxMultiSelectValue)?.includes(option.value) || false;\n return { isDisabled, isPreSelected };\n };\n\n const enabledItems = computed(() =>\n props.category.items.filter(option => {\n const { isDisabled, isPreSelected } = optionStates(option);\n return (isDisabled && isPreSelected) || !isDisabled;\n })\n );\n\n const visibleSelectedList = computed(\n () =>\n enabledItems.value?.filter(({ value }) =>\n props.selectedItemsList?.includes(value)\n ) as unknown as BentoListboxMultiSelectValue\n );\n\n const chevronTitle = computed(() => {\n const messageName = isOpen.value ? 'categoryOpened' : 'categoryClosed';\n return t(messageName, { category: props.category.label }) as string;\n });\n\n const selectAll = () => {\n emit(ListboxMultiSelectCategoryEvent.SELECT_CATEGORY);\n };\n const unselectAll = () => {\n emit(ListboxMultiSelectCategoryEvent.UNSELECT_CATEGORY);\n };\n\n const { isAllSelected, isIndeterminate, toggleSelectAll } = useCheckboxSelectAll(\n visibleSelectedList,\n enabledItems,\n selectAll,\n unselectAll\n );\n\n return {\n // Values\n chevronTitle,\n conditionalClass,\n hasAllPropsDisabled,\n isOpen,\n isAllSelected,\n isIndeterminate,\n\n // Enums\n BentoTypographyElement,\n\n // Methods\n toggleOpen,\n toggleSelectAll,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./listbox-multi-select-category.scss\" />\n","export enum ListboxMultiSelectOptionsEvent {\n SELECT_CATEGORY = 'select-category',\n TOGGLE_CHECKBOX_SELECTION = 'toggle-checkbox-selection',\n UNSELECT_CATEGORY = 'unselect-category',\n}\n","<template>\n <div>\n <div v-for=\"option in items\" :key=\"`selected-${option.value}`\">\n <template v-if=\"searching && isMultiLevel\">\n <bento-listbox-option\n class=\"b-listbox-multi-select-options\"\n :class=\"conditionalClasses\"\n :disabled=\"isOptionDisabled ? isOptionDisabled(option) : null\"\n >\n <bento-checkbox\n :model-value=\"isOptionSelected(option)\"\n :aria-label=\"option.label\"\n :disabled=\"isOptionDisabled ? isOptionDisabled(option) : null\"\n :value=\"option.value\"\n @update:model-value=\"value => selectSearch(value, option)\"\n />\n <slot v-bind=\"option\">\n <span class=\"b-listbox-multi-select__option-text\">\n <bento-typography :el=\"BentoTypographyElement.SPAN\">{{ option.label }}</bento-typography>\n <bento-typography\n v-if=\"shouldShowDescription(option)\"\n class=\"b-listbox-multi-select__option-description\"\n :el=\"BentoTypographyElement.SPAN\"\n >\n {{ option.description }}\n </bento-typography>\n </span>\n </slot>\n </bento-listbox-option>\n </template>\n\n <template v-else>\n <!-- Category -->\n <template v-if=\"option.items\">\n <listbox-multi-select-category\n :category=\"option\"\n :is-option-disabled=\"isOptionDisabled\"\n :selected-items-list=\"selectedItemsList\"\n @select-category=\"$emit(ListboxMultiSelectOptionsEvent.SELECT_CATEGORY, option)\"\n @unselect-category=\"$emit(ListboxMultiSelectOptionsEvent.UNSELECT_CATEGORY, option)\"\n >\n <listbox-multi-select-options\n category-items\n :items=\"option.items\"\n :is-option-disabled=\"isOptionDisabled\"\n :is-multi-level=\"isMultiLevel\"\n :selected-items-list=\"selectedItemsList\"\n :searching=\"searching\"\n @toggle-checkbox-selection=\"value => toggleCheckboxSelection(value)\"\n />\n </listbox-multi-select-category>\n </template>\n\n <!-- Option -->\n <bento-listbox-option\n v-else\n class=\"b-listbox-multi-select-options\"\n :class=\"conditionalClasses\"\n :disabled=\"isOptionDisabled ? isOptionDisabled(option) : null\"\n >\n <bento-checkbox\n :model-value=\"selectedItemsList\"\n :aria-label=\"option.label\"\n :disabled=\"isOptionDisabled ? isOptionDisabled(option) : null\"\n :value=\"option.value\"\n @update:model-value=\"toggleCheckboxSelection(option.value)\"\n />\n <slot v-bind=\"option\">\n <span class=\"b-listbox-multi-select__option-text\">\n <bento-typography :el=\"BentoTypographyElement.SPAN\">{{ option.label }}</bento-typography>\n <bento-typography\n v-if=\"shouldShowDescription(option)\"\n class=\"b-listbox-multi-select__option-description\"\n :el=\"BentoTypographyElement.SPAN\"\n >\n {{ option.description }}\n </bento-typography>\n </span>\n </slot>\n </bento-listbox-option>\n </template>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import { BentoCheckbox } from '@/components/checkbox';\n import { BentoListboxOption } from '../../../listbox-option';\n import { BentoTypography, BentoTypographyElement } from '@/components/typography';\n import { ListboxMultiSelectCategory } from './components/listbox-multi-select-category';\n import {\n BentoListboxEvent,\n BentoListboxIsOptionDisabled,\n BentoListboxOptionItem,\n BentoListboxOptions,\n BentoListboxValue,\n } from '@/types';\n import { ListboxMultiSelectOptionsEvent } from './listbox-multi-select-options.types';\n\n /**\n * Listbox multi-select options list\n *\n * @example\n * import { ListboxMultiSelectOptions } from './components/listbox-multi-select-options';\n *\n * export default {\n * components: { ListboxMultiSelect },\n * template: `\n * <listbox-multi-select\n * :items=\"[{ label: 'Option 1', value: 'option-1' }]\"\n * :selected-values=\"['option-1']\"\n * />\n * `\n * }\n */\n export default defineComponent({\n name: 'listbox-multi-select-options',\n components: {\n BentoCheckbox,\n BentoListboxOption,\n BentoTypography,\n ListboxMultiSelectCategory,\n },\n props: {\n /**\n * Indicates if the items listed are inside a category\n * so they can be padded to right by one level in recursion.\n * Items of categories are automatically defined as \"categoryItems\"\n */\n categoryItems: { type: Boolean, default: false },\n\n /**\n * Function that allows the options to be disabled\n *\n * @type {BentoListboxIsOptionDisabled}\n * @param {BentoListboxOptionItem} option - listbox option object\n * @param {string} option.label - Option's label text\n * @param {string|number} option.value - Option's value\n * @param {unknown} option.data - Option's extra data to be passed to the default slot\n */\n isOptionDisabled: {\n type: Function as PropType<BentoListboxIsOptionDisabled>,\n default: () => false,\n },\n\n /**\n * The option elements to populate the listbox with.\n * It must be an array of {@see BentoListboxOptionItem }.\n *\n * @property {string} value.label - Text to be displayed in the option\n * @property {string,number} value.value - Value of the option\n */\n items: {\n type: Array as PropType<BentoListboxOptions>,\n required: true,\n },\n\n /**\n * Indicates if the elements options are inside a multi-level category\n */\n isMultiLevel: { type: Boolean, default: false },\n\n /**\n * Flag that indicates that an external search it's being made\n * to filter out the items inside the the multi-select listbox\n *\n * If enabled, hides the \"Select all\" checkbox in \"multiple\" mode.\n */\n searching: { type: Boolean, default: false },\n\n /**\n * List of selected items.\n * Providing an empty array will select no options.\n */\n selectedItemsList: {\n type: Array as PropType<BentoListboxValue[]>,\n default: () => [],\n },\n },\n emits: [\n ListboxMultiSelectOptionsEvent.TOGGLE_CHECKBOX_SELECTION,\n ListboxMultiSelectOptionsEvent.SELECT_CATEGORY,\n ListboxMultiSelectOptionsEvent.UNSELECT_CATEGORY,\n ],\n setup(props, { emit }) {\n const toggleCheckboxSelection = (value: BentoListboxValue) => {\n emit(ListboxMultiSelectOptionsEvent.TOGGLE_CHECKBOX_SELECTION, value);\n };\n\n const isCategory = (option: BentoListboxOptionItem) => !!option.items;\n const shouldShowDescription = (option: BentoListboxOptionItem) => {\n const isSearchingMultiLevel = props.isMultiLevel && props.searching;\n\n return option.description && (!props.isMultiLevel || isSearchingMultiLevel);\n };\n\n const isOptionSelected = option => {\n if (option.items) {\n return !!option.items.find(item => props.selectedItemsList.includes(item.value));\n }\n return props.selectedItemsList.includes(option.value);\n };\n\n // eslint-disable-next-line consistent-return\n const selectSearch = (selectedValue, option) => {\n if (isCategory(option)) {\n return selectedValue\n ? emit(ListboxMultiSelectOptionsEvent.SELECT_CATEGORY, option)\n : emit(ListboxMultiSelectOptionsEvent.UNSELECT_CATEGORY, option);\n }\n\n toggleCheckboxSelection(option.value);\n };\n\n const conditionalClasses = computed(() => ({\n 'b-listbox-multi-select-options__category-option': props.categoryItems,\n }));\n\n return {\n // Values\n conditionalClasses,\n\n // Methods\n isCategory,\n isOptionSelected,\n shouldShowDescription,\n toggleCheckboxSelection,\n selectSearch,\n\n // Enums\n BentoListboxEvent,\n BentoTypographyElement,\n ListboxMultiSelectOptionsEvent,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./listbox-multi-select-options.scss\" />\n","<template>\n <div v-bento-keyboard-navigation-directive class=\"b-listbox-multi-select\" v-on=\"listboxListeners\">\n <!-- Select all -->\n <bento-listbox-option ref=\"selectAllListboxItemsRef\" class=\"b-listbox-multi-select__option\">\n <bento-checkbox\n :aria-label=\"selectAllCheckboxText\"\n :model-value=\"isAllSelected\"\n :indeterminate=\"isIndeterminate\"\n @update:model-value=\"toggleSelectAll\"\n />\n <bento-typography :el=\"BentoTypographyElement.SPAN\">\n {{ selectAllCheckboxText }}\n </bento-typography>\n </bento-listbox-option>\n\n <!-- Selected options -->\n <div v-if=\"isAnOptionSelected\">\n <hr class=\"b-listbox-multi-select__divider\" />\n\n <listbox-multi-select-options\n ref=\"selectedListboxItemsRef\"\n :items=\"selectedOptions\"\n :is-option-disabled=\"isOptionDisabled\"\n :is-multi-level=\"isMultiLevelSelect\"\n :searching=\"searching\"\n :selected-items-list=\"selectedItemsList\"\n @select-category=\"selectAllCategory\"\n @unselect-category=\"unselectAllCategory\"\n @toggle-checkbox-selection=\"toggleCheckboxSelection(BentoListboxEvent.SELECT, $event)\"\n @[BentoListboxEvent.SPACE]=\"toggleCheckboxSelection(BentoListboxEvent.SPACE, $event)\"\n @[BentoListboxEvent.TAB]=\"toggleCheckboxSelection(BentoListboxEvent.TAB, $event)\"\n @[BentoListboxEvent.ENTER]=\"toggleCheckboxSelection(BentoListboxEvent.ENTER, $event)\"\n >\n <template v-for=\"(_, innerSlot) of slots\" #[innerSlot]=\"scope\">\n <slot :name=\"innerSlot\" v-bind=\"scope\" />\n </template>\n </listbox-multi-select-options>\n </div>\n\n <!-- Available options -->\n <div v-show=\"!isAllItemsIncludingDisabled\">\n <hr class=\"b-listbox-multi-select__divider\" />\n\n <listbox-multi-select-options\n ref=\"listboxItemsRef\"\n :items=\"items\"\n :is-option-disabled=\"isOptionDisabled\"\n :is-multi-level=\"isMultiLevelSelect\"\n :searching=\"searching\"\n :selected-items-list=\"selectedItemsList\"\n @toggle-checkbox-selection=\"toggleCheckboxSelection(BentoListboxEvent.SELECT, $event)\"\n @select-category=\"selectAllCategory\"\n @unselect-category=\"unselectAllCategory\"\n @[BentoListboxEvent.SPACE]=\"toggleCheckboxSelection(BentoListboxEvent.SPACE, $event)\"\n @[BentoListboxEvent.TAB]=\"toggleCheckboxSelection(BentoListboxEvent.TAB, $event)\"\n @[BentoListboxEvent.ENTER]=\"toggleCheckboxSelection(BentoListboxEvent.ENTER, $event)\"\n >\n <template v-for=\"(_, innerSlot) of slots\" #[innerSlot]=\"scope\">\n <slot :name=\"innerSlot\" v-bind=\"scope\" />\n </template>\n </listbox-multi-select-options>\n </div>\n </div>\n</template>\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, ref, watch } from 'vue';\n import { BentoCheckbox } from '@/components/checkbox';\n import { BentoListboxOption } from '../listbox-option';\n import { BentoTypography, BentoTypographyElement } from '@/components/typography';\n import { useCheckboxSelectAll } from '@/composables';\n import { useI18n } from '@/utils/ts/i18n';\n import {\n BentoKeyboardNavigationKeyDownEvent,\n BentoListboxEvent,\n BentoListboxIsOptionDisabled,\n BentoListboxMultiSelectValue,\n BentoListboxOptionItem,\n BentoListboxOptions,\n BentoListboxSelectedValue,\n BentoListboxValue,\n } from '@/types';\n import { BentoKeyboardNavigationDirective } from '@/directives';\n import { ListboxMultiSelectOptions } from './components/listbox-multi-select-options';\n\n import messages from './messages.json';\n import { useListboxKeyboardNavigation } from '../../composables/useListboxKeyboardNavigation';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n /**\n * Listbox multi-select options list\n *\n * @example\n * import { BentoListboxMultiSelect } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoListboxMultiSelect },\n * template: `\n * <bento-listbox-multi-select\n * :items=\"[{ label: 'Option 1', value: 'option-1' }]\"\n * :selected-values=\"['option-1']\"\n * />\n * `\n * }\n */\n export default defineComponent({\n i18n: { messages },\n name: 'bento-listbox-multi-select',\n components: {\n BentoCheckbox,\n BentoListboxOption,\n BentoTypography,\n ListboxMultiSelectOptions,\n },\n directives: { BentoKeyboardNavigationDirective },\n props: {\n /**\n * Function that allows the options to be disabled\n *\n * @type {BentoListboxIsOptionDisabled}\n * @param {BentoListboxOptionItem} option - listbox option object\n * @param {string} option.label - Option's label text\n * @param {string|number} option.value - Option's value\n * @param {unknown} option.data - Option's extra data to be passed to the default slot\n */\n isOptionDisabled: {\n type: Function as PropType<BentoListboxIsOptionDisabled>,\n default: () => false,\n },\n\n /**\n * The option elements to populate the listbox with.\n * It must be an array of {@see BentoListboxOptionItem }.\n *\n * @property {string} value.label - Text to be displayed in the option\n * @property {string,number} value.value - Value of the option\n */\n items: {\n type: Array as PropType<BentoListboxOptions>,\n required: true,\n },\n\n /**\n * Flag that indicates that an external search it's being made\n * to filter out the items inside the the multi-select listbox\n *\n * If enabled, hides the \"Select all\" checkbox in \"multiple\" mode.\n */\n searching: { type: Boolean, default: false },\n\n /**\n * The `input` value.\n * Providing an empty array will select no options.\n */\n selectedValues: {\n type: Array as PropType<BentoListboxSelectedValue>,\n default: () => [] as BentoListboxSelectedValue,\n },\n },\n emits: [BentoListboxEvent.SELECT],\n setup(props, { emit, slots }) {\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const selectAllListboxItemsRef = ref(null);\n const selectedListboxItemsRef = ref(null);\n const listboxItemsRef = ref(null);\n\n const selectedItemsList = ref();\n watch(\n () => props.selectedValues,\n () => {\n selectedItemsList.value = ([...((props.selectedValues as Array<unknown>) ?? [])] ||\n []) as BentoListboxMultiSelectValue;\n },\n {\n immediate: true,\n }\n );\n\n const isMultiLevelSelect = computed(() => !!props.items.find(({ items }) => !!items));\n\n const flattenedItemsList = computed(() => {\n if (isMultiLevelSelect.value) {\n return props.items.reduce((acc, val) => {\n if (val.items) {\n acc.push(...val.items.flat());\n } else {\n acc.push(val);\n }\n return acc;\n }, []);\n }\n\n return props.items;\n });\n\n const optionStates = (option: BentoListboxOptionItem) => {\n const isDisabled = props.isOptionDisabled(option);\n const isPreSelected =\n (selectedItemsList.value as BentoListboxMultiSelectValue)?.includes(option.value) || false;\n return { isDisabled, isPreSelected };\n };\n\n // Items that are not disabled and pre-selected disabled items\n const enabledItems = computed(() =>\n props.searching && isMultiLevelSelect\n ? props.items\n : flattenedItemsList.value.filter(option => {\n const { isDisabled, isPreSelected } = optionStates(option);\n return (isDisabled && isPreSelected) || !isDisabled;\n })\n );\n\n const visibleSelectedList = computed(\n () =>\n enabledItems.value?.filter(option => {\n if (option.items && isMultiLevelSelect.value && props.searching) {\n const amountOfSelectedCategoryOptions = option.items.filter(categoryOption =>\n ((props.selectedValues as Array<BentoListboxSelectedValue>) ?? []).includes(\n categoryOption.value\n )\n ).length;\n return amountOfSelectedCategoryOptions === option.items.length;\n }\n\n return selectedItemsList.value?.includes(option.value); // Check for category\n }) as BentoListboxMultiSelectValue\n );\n\n const calculateTotalItems = () => {\n if (isMultiLevelSelect.value && !props.searching) {\n return enabledItems.value.length;\n }\n\n return props.items.length;\n };\n\n const selectAllCheckboxText = computed(() => {\n const total = calculateTotalItems();\n const amountSelectedValues = visibleSelectedList.value?.length || 0;\n\n if (amountSelectedValues === 0) {\n return t('selectAll', { total });\n }\n\n return amountSelectedValues === total\n ? t('allSelected', { total })\n : t('numberOfTotalSelected', { number: amountSelectedValues, total });\n });\n\n const selectAll = (selectableItems: BentoListboxOptions) => {\n const filterOutDisabledAndNotPreselectedOptions = option => {\n const { isDisabled, isPreSelected } = optionStates(option);\n return (isDisabled && isPreSelected) || !isDisabled;\n };\n\n // Adding or removing this list of values\n const addOrRemoveList = selectableItems\n .filter(filterOutDisabledAndNotPreselectedOptions)\n .filter(item => !selectedItemsList.value.includes(item.value)) // MAKE SURE NOT TO ADD DUPLICATES\n .map(({ value }) => value);\n\n selectedItemsList.value = [...selectedItemsList.value, ...addOrRemoveList];\n emit(BentoListboxEvent.SELECT, selectedItemsList.value);\n };\n\n const unselectAll = (selectableItems: BentoListboxOptions) => {\n const findEnabledUnselectedItems = option => {\n const { isDisabled, isPreSelected } = optionStates(option);\n return !(isDisabled && isPreSelected);\n };\n\n const unselectedItemsList = selectableItems\n .filter(findEnabledUnselectedItems)\n .map(({ value }) => value);\n selectedItemsList.value = selectedItemsList.value.filter(item => !unselectedItemsList?.includes(item));\n emit(BentoListboxEvent.SELECT, selectedItemsList.value);\n };\n\n const selectAllItems = () => {\n selectAll(flattenedItemsList.value);\n };\n\n const unselectAllItems = () => {\n unselectAll(flattenedItemsList.value);\n };\n\n const { isAllSelected, isIndeterminate, toggleSelectAll } = useCheckboxSelectAll(\n visibleSelectedList,\n enabledItems,\n selectAllItems,\n unselectAllItems\n );\n\n const selectAllCategory = (category: BentoListboxOptionItem) => {\n selectAll(category.items);\n };\n\n const unselectAllCategory = (category: BentoListboxOptionItem) => {\n unselectAll(category.items);\n };\n\n const toggleCheckboxSelection = (eventName, value: BentoListboxValue) => {\n let exists = false;\n selectedItemsList.value = selectedItemsList.value.filter(option => {\n if (value === option) {\n exists = true;\n return false;\n }\n\n return true;\n });\n\n if (!exists) {\n selectedItemsList.value.push(value);\n }\n emit(eventName, selectedItemsList.value);\n };\n\n const selectedOptions = computed(() => {\n const isOptionSelected = option =>\n (selectedItemsList.value as unknown as Array<string | number>).includes(option.value);\n const categoryOptionsSelected = categoryOptions =>\n !!categoryOptions.find(option => isOptionSelected(option));\n\n const options = props.items.filter(option => {\n // Check selected categories category\n if (option.items && categoryOptionsSelected(option.items)) {\n return true;\n }\n\n return isOptionSelected(option);\n });\n return options;\n });\n\n const isAnOptionSelected = computed(() => selectedOptions.value?.length > 0);\n\n const isAllItemsIncludingDisabled = computed(\n () => visibleSelectedList.value?.length === flattenedItemsList.value?.length\n );\n\n const computedSelectAllListboxItemsRefs = computed(() =>\n selectAllListboxItemsRef.value ? [selectAllListboxItemsRef.value] : []\n );\n\n // Keyboard navigation\n const computedselectedListboxItemsRefs = computed(() =>\n selectedListboxItemsRef.value?.$children?.length ? selectedListboxItemsRef.value.$children : []\n );\n\n const computedlistboxItems = computed(() =>\n listboxItemsRef.value?.$children?.length ? listboxItemsRef.value.$children : []\n );\n\n const computedselectAllItemRefs = computed(() => ({ label: selectAllCheckboxText, value: isAllSelected }));\n\n const computedItems = computed(() => [\n computedselectAllItemRefs,\n ...selectedOptions.value,\n ...flattenedItemsList.value,\n ]);\n\n const focusItem = (nextFocusedItemIndex: number) => {\n const multiSelectListboxItems = [\n ...computedSelectAllListboxItemsRefs.value,\n ...computedselectedListboxItemsRefs.value,\n ...computedlistboxItems.value,\n ];\n multiSelectListboxItems[nextFocusedItemIndex].$el.focus();\n };\n\n const { moveToNextElement, moveToPreviousElement, moveToFirstElement, moveToLastElement } =\n useListboxKeyboardNavigation(\n {\n items: ref(computedItems),\n isOptionDisabled: props.isOptionDisabled,\n },\n focusItem\n );\n\n const listboxListeners = {\n [BentoKeyboardNavigationKeyDownEvent.ARROW_UP]: moveToPreviousElement,\n [BentoKeyboardNavigationKeyDownEvent.ARROW_DOWN]: moveToNextElement,\n [BentoKeyboardNavigationKeyDownEvent.HOME]: moveToFirstElement,\n [BentoKeyboardNavigationKeyDownEvent.END]: moveToLastElement,\n };\n\n return {\n // Refs\n selectAllListboxItemsRef,\n selectedListboxItemsRef,\n listboxItemsRef,\n\n // Values\n isAllSelected,\n isAllItemsIncludingDisabled,\n isAnOptionSelected,\n isIndeterminate,\n isMultiLevelSelect,\n flattenedItemsList,\n selectedItemsList,\n selectAllCheckboxText,\n selectedOptions,\n slots,\n\n // Enums\n BentoTypographyElement,\n BentoListboxEvent,\n\n // Methods\n selectAllCategory,\n toggleCheckboxSelection,\n toggleSelectAll,\n unselectAllCategory,\n\n // Events\n listboxListeners,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./listbox-multi-select.scss\" />\n","<template>\n <div\n :id=\"id\"\n ref=\"listboxRef\"\n v-bento-keyboard-navigation-directive\n class=\"b-listbox\"\n role=\"listbox\"\n tabindex=\"-1\"\n :aria-busy=\"ariaBusy\"\n :aria-atomic=\"ariaAtomic\"\n :aria-label=\"ariaLabel\"\n :aria-live=\"ariaLive\"\n @scroll=\"() => (hasAutomaticLazyLoader ? emitShowMoreOnScrollEnd() : undefined)\"\n >\n <!-- Empty search message -->\n <div v-if=\"isSearchResultEmpty\" class=\"b-listbox__empty-search-message\">\n <bento-typography :el=\"BentoTypographyElement.SPAN\">{{ noResultsMessage }}</bento-typography>\n </div>\n\n <template v-else>\n <!-- Multi select -->\n <template v-if=\"multiple\">\n <bento-listbox-multi-select\n ref=\"listboxItemRef\"\n :items=\"items\"\n :selected-values=\"selectedValue\"\n :searching=\"searching\"\n :is-option-disabled=\"isOptionDisabled\"\n v-on=\"listboxListeners\"\n >\n <template v-for=\"(_, innerSlot) of slots\" #[innerSlot]=\"scope\">\n <slot :name=\"innerSlot\" v-bind=\"scope\" />\n </template>\n </bento-listbox-multi-select>\n </template>\n\n <!-- Single select -->\n <template v-else>\n <bento-listbox-single-select\n ref=\"listboxItemRef\"\n :items=\"items\"\n :selected-value=\"selectedValue\"\n :is-option-disabled=\"isOptionDisabled\"\n v-on=\"listboxListeners\"\n >\n <template v-for=\"(_, innerSlot) of slots\" #[innerSlot]=\"scope\">\n <slot :name=\"innerSlot\" v-bind=\"scope\" />\n </template>\n </bento-listbox-single-select>\n </template>\n <div v-if=\"shouldDisplayShowMoreButton\" class=\"b-listbox__lazy-load\">\n <bento-loading-button\n :state=\"loadingButtonState\"\n :variant=\"BentoButtonVariant.SECONDARY\"\n @click=\"emitShowMore\"\n >\n {{ showMoreButtonText }}\n </bento-loading-button>\n </div>\n <div v-else-if=\"loading\" class=\"b-listbox__lazy-load\">\n <bento-loading-indicator />\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, ref } from 'vue';\n import {\n BentoKeyboardNavigationKeyDownEvent,\n BentoListboxEvent,\n BentoListboxIsOptionDisabled,\n BentoListboxLazyLoadType,\n BentoListboxOptions,\n BentoListboxSelectedValue,\n } from '@/types';\n import { BentoKeyboardNavigationDirective } from '@/directives';\n import { BentoListboxSingleSelect } from './components/listbox-single-select';\n import { BentoListboxMultiSelect } from './components/listbox-multi-select';\n import { BentoTypography, BentoTypographyElement } from '@/components/typography';\n import { BentoLoadingIndicator } from '@/components/loading-indicator';\n import { BentoButtonVariant, BentoLoadingButton, BentoLoadingButtonState } from '@/components/button';\n import { useI18n } from '@/utils/ts/i18n';\n import { debounce } from '@/utils/ts/debounce';\n import type { HTMLAttributes } from 'vue/types/jsx';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n /**\n * Listbox container.\n * It lists all the available options.\n *\n * @example\n * <bento-listbox\n * v-slot=\"{label, value}\"\n * :id=\"listboxOptionsContainerId\"\n * :aria-label=\"ariaLabel\"\n * :disabled=\"disabled\"\n * :multiple=\"multiple\"\n * :selected=\"value\"\n * :isOptionDisabled=\"option => option.value === 2\"\n * :items=\"[{\n * { label: 'Option 1', value: 1 },\n * { label: 'Option 2', value: 2 },\n * }]\"\n * @select=\"onOptionSelected\"\n * >\n * </bento-listbox>\n */\n export default defineComponent({\n name: 'bento-listbox',\n components: {\n BentoListboxSingleSelect,\n BentoListboxMultiSelect,\n BentoTypography,\n BentoLoadingIndicator,\n BentoLoadingButton,\n },\n directives: { BentoKeyboardNavigationDirective },\n i18n: { messages },\n props: {\n /**\n * Defines a string value that labels an interactive element.\n */\n ariaLabel: { type: String, default: null },\n\n /**\n * Indicates whether there are more items to load\n */\n hasMoreItems: { type: Boolean, default: false },\n\n /**\n * Identifies the listbox whose contents are controlled by the the combobox on which the aria-controls attribute is set.\n */\n id: { type: String, required: true },\n\n /**\n * Function that allows the options to be disabled\n *\n * @type {BentoListboxIsOptionDisabled}\n * @param {BentoListboxOptionItem} option - Listbox option object\n * @param {string} option.label - Option's label text\n * @param {string|number} option.value - Option's value\n * @param {unknown} option.data - Option's extra data to be passed to the default slot\n */\n isOptionDisabled: {\n type: Function as PropType<BentoListboxIsOptionDisabled>,\n default: () => undefined,\n },\n\n /**\n * The option elements to populate the listbox with.\n * It must be an array of {@see BentoListboxOptionItem }\n * * @property {string} value.label - Text to be displayed in the option\n * * @property {string,number} value.value - Value of the option\n */\n items: {\n type: Array as PropType<BentoListboxOptions>,\n required: true,\n },\n\n /**\n * Indicates if new options are loading.\n */\n loading: { type: Boolean, default: false },\n\n /**\n * The type of `Lazy Load`.\n * Type \"automatic\" will enable infinite scrolling\n * Type \"button\" will enable lazy loading with \"Show more\" button\n */\n lazyLoadType: {\n type: String as PropType<BentoListboxLazyLoadType>,\n default: BentoListboxLazyLoadType.NONE,\n },\n\n /**\n * If enabled, the user will be able to select multiple items.\n */\n multiple: { type: Boolean, default: false },\n\n /**\n * Messaged displayed when no items are listed in the listbox\n */\n noResultsMessage: { type: String, required: true },\n\n /**\n * Flag that indicates that an external search it's being made\n * to filter out the items inside the the multi-select listbox\n *\n * If enabled, hides the \"Select all\" checkbox in \"multiple\" mode.\n */\n searching: BentoListboxMultiSelect.props.searching,\n\n /**\n * The `input` value.\n * Providing an empty string or empty array will select no options.\n * Set to an empty string `''` if you don't want any of the available options to be selected for single select\n */\n selectedValue: {\n type: [String, Number, Array] as PropType<BentoListboxSelectedValue>,\n default: undefined,\n },\n },\n emits: [\n BentoListboxEvent.SELECT,\n BentoListboxEvent.SPACE,\n BentoListboxEvent.SHOW_MORE,\n BentoListboxEvent.ENTER,\n BentoListboxEvent.ESCAPE,\n BentoListboxEvent.TAB,\n ],\n setup(props, { emit, slots }) {\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n const listboxRef = ref(null);\n const listboxItemRef = ref([]);\n const isLazyLoadListbox = computed(() => props.lazyLoadType !== BentoListboxLazyLoadType.AUTOMATIC);\n const hasAutomaticLazyLoader = computed(() => props.lazyLoadType === BentoListboxLazyLoadType.AUTOMATIC);\n\n // Aria a11y\n const ariaAtomic = computed<HTMLAttributes['aria-atomic']>(() =>\n isLazyLoadListbox.value ? 'true' : undefined\n );\n const ariaBusy = computed<HTMLAttributes['aria-busy']>(() =>\n isLazyLoadListbox.value && props.loading ? 'true' : 'false'\n );\n const ariaLive = computed<HTMLAttributes['aria-live']>(() =>\n isLazyLoadListbox.value ? 'polite' : undefined\n );\n\n const onOptionSelected = eventName => (selectedValue: BentoListboxSelectedValue) => {\n emit(eventName, selectedValue);\n };\n\n const emitShowMore = () => {\n emit(BentoListboxEvent.SHOW_MORE);\n };\n\n const emitShowMoreOnScrollEnd = debounce(() => {\n const container = listboxRef.value;\n const isAtBottom = container.scrollTop + container.clientHeight >= container.scrollHeight;\n\n if (props.hasMoreItems && isAtBottom && !props.loading) {\n emitShowMore();\n }\n });\n\n const isSearchResultEmpty = computed(() => props.searching && props.items?.length === 0);\n\n const shouldDisplayShowMoreButton = computed(\n () => props.lazyLoadType === BentoListboxLazyLoadType.BUTTON && props.hasMoreItems\n );\n\n const loadingButtonState = computed(() =>\n props.loading ? BentoLoadingButtonState.LOADING : BentoLoadingButtonState.START\n );\n\n const showMoreButtonText = computed(() => (props.loading ? t('loading') : t('showMore')));\n\n const listboxListeners = {\n [BentoListboxEvent.SELECT]: onOptionSelected(BentoListboxEvent.SELECT),\n [BentoListboxEvent.SPACE]: onOptionSelected(BentoListboxEvent.SPACE),\n [BentoListboxEvent.TAB]: onOptionSelected(BentoListboxEvent.TAB),\n [BentoListboxEvent.ENTER]: onOptionSelected(BentoListboxEvent.ENTER),\n };\n\n return {\n // Refs\n listboxRef,\n listboxItemRef,\n\n // a11y\n ariaAtomic,\n ariaBusy,\n ariaLive,\n\n // Values\n hasAutomaticLazyLoader,\n isSearchResultEmpty,\n loadingButtonState,\n slots,\n shouldDisplayShowMoreButton,\n showMoreButtonText,\n\n // Enums\n BentoTypographyElement,\n BentoButtonVariant,\n BentoListboxLazyLoadType,\n BentoKeyboardNavigationKeyDownEvent,\n BentoListboxEvent,\n\n // Methods\n onOptionSelected,\n emitShowMoreOnScrollEnd,\n emitShowMore,\n listboxListeners,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./listbox.scss\" />\n"],"names":["useCheckboxSelectAll","selectedItemsList","items","selectAll","unselectAll","isAllSelected","computed","_a","_b","isIndeterminate","selectedValue","BentoListboxEvent","BentoListboxEvent2","BentoListboxLazyLoadType","BentoListboxLazyLoadType2","_sfc_main$7","defineComponent","props","emit","conditionalClasses","BentoKeyboardNavigationKeyDownEvent","e","eventName","uuid","_sfc_main$6","_sfc_main$5","BentoListboxOption","BentoTypography","CheckmarkIcon","onOptionSelected","ariaDisabled","ariaSelected","tabIndex","BentoTypographyElement","useListboxKeyboardNavigation","isOptionDisabled","focusItem","numberOfItems","focusedIndex","ref","onMounted","el","isItemDisabled","itemIndex","isItemEnabled","mutateFocusedIndex","direction","calculateFocusedIndex","edgeCaseItem","isItemBeforeEdgeCaseItem","callback","moveToNextElement","isIndexSecondToLastItemInArray","moveToPreviousElement","IsIndexSecondItemInArray","_sfc_main$4","BentoListboxSingleSelectOption","BentoKeyboardNavigationDirective","slots","listboxItemRef","nextFocusedItemIndex","moveToFirstElement","moveToLastElement","toRef","listboxListeners","listboxOptionListeners","ListboxMultiSelectCategoryClass","ListboxMultiSelectCategoryClass2","ListboxMultiSelectCategoryEvent","ListboxMultiSelectCategoryEvent2","_sfc_main$3","messages$2","BentoCheckbox","ChevronDownIcon","ChevronUpIcon","isOpen","t","useI18n","hasAllPropsDisabled","option","conditionalClass","toggleOpen","event","optionStates","isDisabled","isPreSelected","enabledItems","visibleSelectedList","value","chevronTitle","messageName","toggleSelectAll","ListboxMultiSelectOptionsEvent","ListboxMultiSelectOptionsEvent2","_sfc_main$2","ListboxMultiSelectCategory","toggleCheckboxSelection","isCategory","shouldShowDescription","isSearchingMultiLevel","isOptionSelected","item","selectSearch","_sfc_main$1","messages$1","ListboxMultiSelectOptions","selectAllListboxItemsRef","selectedListboxItemsRef","listboxItemsRef","watch","isMultiLevelSelect","flattenedItemsList","acc","val","categoryOption","calculateTotalItems","selectAllCheckboxText","total","amountSelectedValues","selectableItems","filterOutDisabledAndNotPreselectedOptions","addOrRemoveList","findEnabledUnselectedItems","unselectedItemsList","selectAllItems","unselectAllItems","selectAllCategory","category","unselectAllCategory","exists","selectedOptions","categoryOptionsSelected","categoryOptions","isAnOptionSelected","isAllItemsIncludingDisabled","computedSelectAllListboxItemsRefs","computedselectedListboxItemsRefs","computedlistboxItems","computedselectAllItemRefs","computedItems","_sfc_main","BentoListboxSingleSelect","BentoListboxMultiSelect","BentoLoadingIndicator","BentoLoadingButton","messages","listboxRef","isLazyLoadListbox","hasAutomaticLazyLoader","ariaAtomic","ariaBusy","ariaLive","emitShowMore","emitShowMoreOnScrollEnd","debounce","container","isAtBottom","isSearchResultEmpty","shouldDisplayShowMoreButton","loadingButtonState","BentoLoadingButtonState","showMoreButtonText","BentoButtonVariant"],"mappings":"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","x_google_ignoreList":[3]}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as d, computed as s } from "vue";
2
- import { B as o, a as i } from "./button.98f2271d.js";
2
+ import { B as o, a as i } from "./button.34695c2c.js";
3
3
  import { BentoLoadingIndicator as l } from "../loading-indicator.js";
4
4
  import { C as c } from "./cross-circle-fill.d5e9ae44.js";
5
5
  import { C as u } from "./checkmark-circle-fill.2cfbb81b.js";
@@ -9,7 +9,6 @@ var a = /* @__PURE__ */ ((n) => (n.START = "start", n.LOADING = "loading", n.SUC
9
9
  const f = d({
10
10
  name: "bento-loading-button",
11
11
  components: { BentoButton: o, Cross: c, Checkmark: u, BentoLoadingIndicator: l },
12
- inheritAttrs: !1,
13
12
  props: {
14
13
  /**
15
14
  * Reduces sizing of button
@@ -73,13 +72,13 @@ var p = function() {
73
72
  m,
74
73
  !1,
75
74
  null,
76
- "40d4697b",
75
+ "e57664eb",
77
76
  null,
78
77
  null
79
78
  );
80
- const B = v.exports;
79
+ const A = v.exports;
81
80
  export {
82
- B,
81
+ A as B,
83
82
  a
84
83
  };
85
- //# sourceMappingURL=loading-button.d77079fe.js.map
84
+ //# sourceMappingURL=loading-button.3fa1b7a8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading-button.3fa1b7a8.js","sources":["../../src/components/button/components/loading-button/loading-button.types.ts","../../src/components/button/components/loading-button/loading-button.vue"],"sourcesContent":["export enum BentoLoadingButtonState {\n START = 'start',\n LOADING = 'loading',\n SUCCESS = 'success',\n FAIL = 'fail',\n}\n\nexport type BentoLoadingButtonIconState = Partial<{ [key in BentoLoadingButtonState]: string }>;\n","<template>\n <div class=\"b-loading-button\" data-testid=\"loading-button\" :class=\"conditionalClasses\">\n <bento-button\n :critical=\"state === BentoLoadingButtonState.FAIL\"\n :variant=\"variant\"\n :condensed=\"condensed\"\n :disabled=\"disabled\"\n @click=\"onClick\"\n >\n <slot></slot>\n <template v-if=\"state !== BentoLoadingButtonState.START\" #iconLeft>\n <span class=\"b-loading-button__icon\" data-testid=\"loading-button-rotating-icon\">\n <cross v-if=\"state === BentoLoadingButtonState.FAIL\" svg-title=\"failed\" />\n <checkmark v-else-if=\"state === BentoLoadingButtonState.SUCCESS\" svg-title=\"succeded\" />\n <!-- TODO: Replace with new loading-indicator component -->\n <bento-loading-indicator\n v-else-if=\"state === BentoLoadingButtonState.LOADING\"\n small\n :inverse=\"isInverseLoadingIndicator\"\n />\n </span>\n </template>\n </bento-button>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import { BentoButtonVariant } from '@/core/components/button/button.types';\n import { BentoLoadingButtonState } from './loading-button.types';\n import { BentoLoadingIndicator } from '@/components/loading-indicator';\n import BentoButton from '@/components/button/button.vue';\n import Cross from '@adyen/ui-assets-icons-16/vue/cross-circle-fill';\n import Checkmark from '@adyen/ui-assets-icons-16/vue/checkmark-circle-fill';\n\n export default defineComponent({\n name: 'bento-loading-button',\n components: { BentoButton, Cross, Checkmark, BentoLoadingIndicator },\n props: {\n /**\n * Reduces sizing of button\n */\n condensed: {\n type: BentoButton.props.condensed.type,\n default: false,\n },\n\n /**\n * Disables button functonality\n */\n disabled: {\n type: BentoButton.props.disabled.type,\n default: false,\n },\n\n /**\n * State of the button.\n * @values start, loading, success, fail\n */\n state: {\n type: String as PropType<BentoLoadingButtonState>,\n default: BentoLoadingButtonState.START,\n validator: (value: BentoLoadingButtonState) => Object.values(BentoLoadingButtonState).includes(value),\n },\n\n /**\n * Types of flavour of Button\n * @values primary, secondary, tertiary\n */\n variant: {\n type: BentoButton.props.variant.type,\n default: BentoButtonVariant.PRIMARY,\n validator: BentoButton.props.variant.validator,\n },\n },\n setup(props, { emit }) {\n const conditionalClasses = computed(() => ({\n [`b-loading-button--${props.variant}-${BentoLoadingButtonState.LOADING}`]:\n props.state === BentoLoadingButtonState.LOADING && !props.disabled,\n [`b-loading-button--${props.variant}-${BentoLoadingButtonState.SUCCESS}`]:\n props.state === BentoLoadingButtonState.SUCCESS,\n }));\n\n const isInverseLoadingIndicator = computed(() => props.variant === BentoButtonVariant.PRIMARY);\n\n const onClick = () => {\n if (props.state !== BentoLoadingButtonState.LOADING) {\n emit('click');\n }\n };\n\n return {\n // Enums\n BentoLoadingButtonState,\n\n // Functions\n onClick,\n\n // Values\n conditionalClasses,\n isInverseLoadingIndicator,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./loading-button.scss\" />\n"],"names":["BentoLoadingButtonState","BentoLoadingButtonState2","_sfc_main","defineComponent","BentoButton","CrossCircleIcon","CheckedCircleIcon","BentoLoadingIndicator","value","BentoButtonVariant","props","emit","conditionalClasses","computed","isInverseLoadingIndicator"],"mappings":";;;;;;;AAAY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,QAAA,SACAA,EAAA,UAAA,WACAA,EAAA,UAAA,WACAA,EAAA,OAAA,QAJQA,IAAAD,KAAA,CAAA,CAAA;ACmCZ,MAAAE,IAAAC,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA,EAAA,aAAAC,GAAA,OAAAC,GAAA,WAAAC,GAAA,uBAAAC,EAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,WAAA;AAAA,MAIA,MAAAH,EAAA,MAAA,UAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,UAAA;AAAA,MAKA,MAAAA,EAAA,MAAA,SAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,OAAA;AAAA,MAMA,MAAA;AAAA,MACA,SAAAJ,EAAA;AAAA,MACA,WAAA,CAAAQ,MAAA,OAAA,OAAAR,CAAA,EAAA,SAAAQ,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,SAAA;AAAA,MAMA,MAAAJ,EAAA,MAAA,QAAA;AAAA,MACA,SAAAK,EAAA;AAAA,MACA,WAAAL,EAAA,MAAA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,MAAAM,GAAA,EAAA,MAAAC,EAAA,GAAA;AAEA,UAAAC,IAAAC,EAAA,OAAA;AAAA,MAAA,CAAA,qBAAAH,EAAA,WAAAV,EAAA,SAAA,GAAAU,EAAA,UAAAV,EAAA,WAAA,CAAAU,EAAA;AAAA,MAEA,CAAA,qBAAAA,EAAA,WAAAV,EAAA,SAAA,GAAAU,EAAA,UAAAV,EAAA;AAAA,IAEA,EAAA,GAGAc,IAAAD,EAAA,MAAAH,EAAA,YAAAD,EAAA,OAAA;AAQA,WAAA;AAAA;AAAA,MAAA,yBAAAT;AAAA;AAAA,MAEA,SARA,MAAA;AACA,QAAAU,EAAA,UAAAV,EAAA,WACAW,EAAA,OAAA;AAAA,MACA;AAAA;AAAA,MAQA,oBAAAC;AAAA,MAGA,2BAAAE;AAAA,IACA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;;;"}
@@ -1,17 +1,16 @@
1
- import { computed as m, defineComponent as g, reactive as w, nextTick as S } from "vue";
1
+ import { computed as d, defineComponent as g, reactive as w, nextTick as b } from "vue";
2
2
  import { l as s } from "./events.58c00e6d.js";
3
- import { g as b } from "./unique-id.a2a2b458.js";
4
- import { PopperContainerPositionBasic as v, PopperContainer as D, PopperContainerAriaRole as N, PopperContainerPositionExtended as W } from "../popper-container.js";
3
+ import { g as S } from "./unique-id.a2a2b458.js";
4
+ import { PopperContainerPositionBasic as v, PopperContainer as N, PopperContainerAriaRole as D, PopperContainerPositionExtended as W } from "../popper-container.js";
5
5
  import { V as B } from "./index.af05ced4.js";
6
- import { B as x, c as I, a as U } from "./index.3aedb3dd.js";
6
+ import { B as x, a as I, b as U } from "./index.2066e16f.js";
7
7
  import { n as G } from "./_plugin-vue2_normalizer.71e2aa87.js";
8
8
  import "../assets/tooltip.css";
9
- const p = { ...v };
10
- var E = /* @__PURE__ */ ((t) => (t.HIDDEN = "hidden", t))(E || {}), A = /* @__PURE__ */ ((t) => (t.ESCAPE = "Escape", t.ENTER = "Enter", t.ARROW_LEFT = "ArrowLeft", t.ARROW_UP = "ArrowUp", t.ARROW_RIGHT = "ArrowRight", t.ARROW_DOWN = "ArrowDown", t.PAGE_UP = "PageUp", t.PAGE_DOWN = "PageDown", t.END = "End", t.HOME = "Home", t))(A || {}), H = /* @__PURE__ */ ((t) => (t[t.ESCAPE = 27] = "ESCAPE", t[t.ENTER = 13] = "ENTER", t[t.ARROW_LEFT = 37] = "ARROW_LEFT", t[t.ARROW_UP = 38] = "ARROW_UP", t[t.ARROW_RIGHT = 39] = "ARROW_RIGHT", t[t.ARROW_DOWN = 40] = "ARROW_DOWN", t[t.PAGE_UP = 33] = "PAGE_UP", t[t.PAGE_DOWN = 34] = "PAGE_DOWN", t[t.END = 35] = "END", t[t.HOME = 36] = "HOME", t))(H || {});
9
+ const l = { ...v };
10
+ var A = /* @__PURE__ */ ((t) => (t.HIDDEN = "hidden", t))(A || {}), P = /* @__PURE__ */ ((t) => (t.ESCAPE = "Escape", t.ENTER = "Enter", t.ARROW_LEFT = "ArrowLeft", t.ARROW_UP = "ArrowUp", t.ARROW_RIGHT = "ArrowRight", t.ARROW_DOWN = "ArrowDown", t.PAGE_UP = "PageUp", t.PAGE_DOWN = "PageDown", t.END = "End", t.HOME = "Home", t))(P || {}), H = /* @__PURE__ */ ((t) => (t[t.ESCAPE = 27] = "ESCAPE", t[t.ENTER = 13] = "ENTER", t[t.ARROW_LEFT = 37] = "ARROW_LEFT", t[t.ARROW_UP = 38] = "ARROW_UP", t[t.ARROW_RIGHT = 39] = "ARROW_RIGHT", t[t.ARROW_DOWN = 40] = "ARROW_DOWN", t[t.PAGE_UP = 33] = "PAGE_UP", t[t.PAGE_DOWN = 34] = "PAGE_DOWN", t[t.END = 35] = "END", t[t.HOME = 36] = "HOME", t))(H || {});
11
11
  const $ = {
12
12
  name: "tooltip",
13
- components: { BentoTypography: x, PopperContainer: D },
14
- inheritAttrs: !1,
13
+ components: { BentoTypography: x, PopperContainer: N },
15
14
  props: {
16
15
  /**
17
16
  * The tooltip's id. Necessary for accessibility purposes.
@@ -28,8 +27,8 @@ const $ = {
28
27
  */
29
28
  position: {
30
29
  type: String,
31
- default: p.TOP,
32
- validator: (t) => Object.values(p).includes(t)
30
+ default: l.TOP,
31
+ validator: (t) => Object.values(l).includes(t)
33
32
  },
34
33
  /**
35
34
  * Tooltip's offset.
@@ -47,127 +46,128 @@ const $ = {
47
46
  isShown: { type: Boolean, default: !1 }
48
47
  },
49
48
  setup(t) {
50
- const o = m(() => ({
51
- [`b-tooltip--${E.HIDDEN}`]: !t.isShown
52
- })), n = m(() => t.isShown ? 1 : -1);
49
+ const o = d(() => ({
50
+ [`b-tooltip--${A.HIDDEN}`]: !t.isShown
51
+ })), e = d(() => t.isShown ? 1 : -1);
53
52
  return {
54
53
  // Enums
55
54
  BentoTypographyElement: I,
56
55
  BentoTypographyVariant: U,
57
- PopperContainerAriaRole: N,
56
+ PopperContainerAriaRole: D,
58
57
  PopperContainerPositionExtended: W,
59
58
  // Values
60
59
  conditionalClasses: o,
61
- tabIndex: n
60
+ tabIndex: e
62
61
  };
63
62
  }
64
63
  }, L = g($);
65
64
  var k = function() {
66
- var o = this, n = o._self._c;
67
- return o._self._setupProxy, n("popper-container", { staticClass: "b-tooltip", class: o.conditionalClasses, attrs: { id: o.id, "target-element": o.targetElement, position: o.position, offset: [0, 4], arrow: { classes: ["b-tooltip__arrow"] }, "aria-hidden": !o.isShown, tabindex: o.tabIndex, "aria-role": o.PopperContainerAriaRole.TOOLTIP, "fallback-position": o.PopperContainerPositionExtended.AUTO } }, [n("bento-typography", { attrs: { el: o.BentoTypographyElement.SPAN, variant: o.BentoTypographyVariant.CAPTION } }, [o._v(" " + o._s(o.content) + " ")])], 1);
65
+ var o = this, e = o._self._c;
66
+ return o._self._setupProxy, e("popper-container", { staticClass: "b-tooltip", class: o.conditionalClasses, attrs: { id: o.id, "target-element": o.targetElement, position: o.position, offset: [0, 4], arrow: { classes: ["b-tooltip__arrow"] }, "aria-hidden": !o.isShown, tabindex: o.tabIndex, "aria-role": o.PopperContainerAriaRole.TOOLTIP, "fallback-position": o.PopperContainerPositionExtended.AUTO } }, [e("bento-typography", { attrs: { el: o.BentoTypographyElement.SPAN, variant: o.BentoTypographyVariant.CAPTION } }, [o._v(" " + o._s(o.content) + " ")])], 1);
68
67
  }, y = [], q = /* @__PURE__ */ G(
69
68
  L,
70
69
  k,
71
70
  y,
72
71
  !1,
73
72
  null,
74
- "165c481a",
73
+ "60de3aa3",
75
74
  null,
76
75
  null
77
76
  );
78
- const F = q.exports, r = [], P = "aria-describedby", u = b("tooltip");
79
- let e, c = !1;
77
+ const F = q.exports, r = [], R = "aria-describedby", f = S("tooltip");
78
+ let n, u = !1;
80
79
  const a = w({
81
80
  targetElement: null,
82
81
  content: "START_MESSAGE",
83
- id: u,
82
+ id: f,
84
83
  position: void 0,
85
84
  isShown: !1
86
85
  }), M = (t) => {
87
86
  t.setAttribute("tabindex", "0");
88
87
  {
89
88
  const o = B.extend(F);
90
- e = new o({ propsData: { targetElement: t, content: "", id: u } }).$mount(), document.body.appendChild(e.$el);
89
+ n = new o({ propsData: { targetElement: t, content: "", id: f } }).$mount(), document.body.appendChild(n.$el);
91
90
  }
92
91
  }, V = () => {
93
- document.body.removeChild(e.$el), e.$destroy(), e = void 0;
94
- }, h = (t) => Object.values(p).includes(t.arg) ? t.arg : p.TOP, f = (t) => r.find(
92
+ document.body.removeChild(n.$el), n.$destroy(), n = void 0;
93
+ }, T = (t) => Object.values(l).includes(t.arg) ? t.arg : l.TOP, m = (t) => r.find(
95
94
  (o) => (
96
95
  // isEqualNode doesn't work correct for svg element, hence the second check here
97
96
  o.target.isEqualNode(t) && o.target === t
98
97
  )
99
98
  ), j = (t) => {
100
- const o = f(t);
99
+ const o = m(t);
101
100
  if (!o.content || !t)
102
101
  return;
103
- t && t.setAttribute(P, u);
104
- let n = !1;
102
+ t && t.setAttribute(R, f);
103
+ let e = !1;
105
104
  document.querySelectorAll("dialog").forEach((i) => {
106
- n = (i == null ? void 0 : i.open) || n;
107
- }), n && (t.after(e.$el), n = !1), c = !0, e.content = o.content, e.position = o.position, a.content = o.content, a.position = o.position, S(() => {
108
- c && (e.targetElement = t, e.isShown = !0, a.targetElement = t, a.isShown = !0);
105
+ e = (i == null ? void 0 : i.open) || e;
106
+ }), e && (t.after(n.$el), e = !1), u = !0, n.content = o.content, n.position = o.position, a.content = o.content, a.position = o.position, b(() => {
107
+ u && (n.targetElement = t, n.isShown = !0, a.targetElement = t, a.isShown = !0);
109
108
  });
110
- }, R = (t) => {
111
- c = !1, e.isShown = !1, a.isShown = !1, t && t.removeAttribute(P), e.$el.parentElement.tagName !== "BODY" && document.body.appendChild(e.$el);
109
+ }, h = (t) => {
110
+ var o, e, i, p;
111
+ (e = (o = n.$el) == null ? void 0 : o.parentElement) != null && e.tagName && ((p = (i = n.$el) == null ? void 0 : i.parentElement) == null ? void 0 : p.tagName) !== "BODY" && document.body.appendChild(n.$el), u = !1, n.isShown = !1, a.isShown = !1, t && t.removeAttribute(R);
112
112
  }, _ = (t, o) => {
113
113
  if (!o.hasOwnProperty("value") || o.value) {
114
114
  r.length === 0 && M(t);
115
- const n = () => j(t), i = () => R(t), T = {
115
+ const e = () => j(t), i = () => h(t), p = {
116
116
  target: t,
117
117
  content: o.value,
118
- position: h(o),
118
+ position: T(o),
119
119
  removeListeners: [
120
- s(t, "mouseenter", n),
120
+ s(t, "mouseenter", e),
121
121
  s(t, "mouseleave", i),
122
- s(t, "focus", n),
122
+ s(t, "focus", e),
123
123
  s(t, "blur", i),
124
124
  s(t, "keydown", (O) => {
125
- O.key === A.ESCAPE && i();
125
+ O.key === P.ESCAPE && i();
126
126
  })
127
127
  ]
128
128
  };
129
- r.push(T);
129
+ r.push(p);
130
130
  }
131
- }, l = (t, o) => {
132
- const n = f(t);
133
- if (n && ((n == null ? void 0 : n.content) !== o.value && (n.content = o.value, e.isShown && e.targetElement.isEqualNode(t) && (n.content ? e.content = o.value : e.isShown = !1)), n.position !== o.arg)) {
134
- const i = h(o);
135
- n.position = i, e.position = i;
131
+ }, c = (t, o) => {
132
+ const e = m(t);
133
+ if (e && ((e == null ? void 0 : e.content) !== o.value && (e.content = o.value, n.isShown && n.targetElement.isEqualNode(t) && (e.content ? n.content = o.value : n.isShown = !1)), e.position !== o.arg)) {
134
+ const i = T(o);
135
+ e.position = i, n.position = i;
136
136
  }
137
- }, d = (t) => {
138
- const o = f(t);
139
- o && (o.removeListeners.forEach((n) => {
140
- n();
141
- }), R(), r.splice(r.indexOf(o), 1), r.length === 0 && V());
137
+ }, E = (t) => {
138
+ const o = m(t);
139
+ o && (o.removeListeners.forEach((e) => {
140
+ e();
141
+ }), h(), r.splice(r.indexOf(o), 1), r.length === 0 && V());
142
142
  }, tt = {
143
143
  // Vue 2 Directive hooks
144
144
  bind(t, o) {
145
145
  _(t, o);
146
146
  },
147
147
  update(t, o) {
148
- l(t, o);
148
+ c(t, o);
149
149
  },
150
150
  unbind(t) {
151
- d(t);
151
+ E(t);
152
152
  },
153
153
  // Vue 3 Directive hooks
154
154
  beforeMount(t, o) {
155
155
  _(t, o);
156
156
  },
157
157
  mounted(t, o) {
158
- l(t, o);
158
+ c(t, o);
159
159
  },
160
160
  updated(t, o) {
161
- l(t, o);
161
+ c(t, o);
162
162
  },
163
163
  unmounted(t) {
164
- d(t);
164
+ E(t);
165
165
  }
166
166
  };
167
167
  export {
168
- p as B,
168
+ l as B,
169
169
  H as K,
170
- E as a,
170
+ A as a,
171
171
  tt as b
172
172
  };
173
- //# sourceMappingURL=tooltip.51be6248.js.map
173
+ //# sourceMappingURL=tooltip.807205c0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.807205c0.js","sources":["../../src/directives/tooltip/tooltip.types.ts","../../src/types/utils-events.ts","../../src/components/tooltip/tooltip.vue","../../src/directives/tooltip/tooltip.ts"],"sourcesContent":["import { PopperContainerPositionBasic } from '@/components/popper-container';\nimport type { DirectiveBinding } from 'vue/types/options';\n\nexport const BentoTooltipPosition = { ...PopperContainerPositionBasic };\nexport type BentoTooltipPosition = PopperContainerPositionBasic;\n\nexport enum BentoTooltipState {\n HIDDEN = 'hidden',\n}\n\nexport interface BentoTooltipDirectiveBinding extends Readonly<DirectiveBinding> {\n readonly value: string;\n}\n","import Vue from 'vue';\n\nexport interface ListenOptions {\n capture?: boolean;\n passive?: boolean;\n once?: boolean;\n self?: boolean;\n vm?: Vue;\n onCleanup?: () => void;\n}\n\nexport enum EventKey {\n ESCAPE = 'Escape',\n ENTER = 'Enter',\n ARROW_LEFT = 'ArrowLeft',\n ARROW_UP = 'ArrowUp',\n ARROW_RIGHT = 'ArrowRight',\n ARROW_DOWN = 'ArrowDown',\n PAGE_UP = 'PageUp',\n PAGE_DOWN = 'PageDown',\n END = 'End',\n HOME = 'Home',\n}\n\n/**\n * @deprecated `Event.keyCode` is deprecated. Use `EventKey` instead\n */\nexport enum KeyCode {\n ESCAPE = 27,\n ENTER = 13,\n ARROW_LEFT = 37,\n ARROW_UP = 38,\n ARROW_RIGHT = 39,\n ARROW_DOWN = 40,\n PAGE_UP = 33,\n PAGE_DOWN = 34,\n END = 35,\n HOME = 36,\n}\n","<template>\n <popper-container\n :id=\"id\"\n :target-element=\"targetElement\"\n :position=\"position\"\n :offset=\"[0, 4]\"\n :arrow=\"{ classes: ['b-tooltip__arrow'] }\"\n :aria-hidden=\"!isShown\"\n :class=\"conditionalClasses\"\n :tabindex=\"tabIndex\"\n class=\"b-tooltip\"\n :aria-role=\"PopperContainerAriaRole.TOOLTIP\"\n :fallback-position=\"PopperContainerPositionExtended.AUTO\"\n >\n <bento-typography :el=\"BentoTypographyElement.SPAN\" :variant=\"BentoTypographyVariant.CAPTION\">\n {{ content }}\n </bento-typography>\n </popper-container>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import { BentoTooltipPosition, BentoTooltipState } from '@/directives/tooltip/tooltip.types';\n import {\n PopperContainer,\n PopperContainerAriaRole,\n PopperContainerPositionExtended,\n } from '@/components/popper-container';\n import { BentoTypography, BentoTypographyElement, BentoTypographyVariant } from '@/components/typography';\n import { VueNodeElement } from '@/types';\n\n /**\n * Tooltip container, to be used internally to render the tooltip container where the text is shown.\n */\n export const Tooltip = {\n name: 'tooltip',\n components: { BentoTypography, PopperContainer },\n props: {\n /**\n * The tooltip's id. Necessary for accessibility purposes.\n */\n id: { type: String, default: null },\n /**\n * Tooltip's target reference to the DOM element or Vue component.\n * The tooltip will position itself relatively to target element, in the specified position.\n */\n targetElement: { type: [Element, Object] as PropType<VueNodeElement>, required: true },\n /**\n * Tooltip's position relative to the target element.\n * Possible values are: 'top', 'bottom', 'left' and 'right'.\n */\n position: {\n type: String as PropType<BentoTooltipPosition>,\n default: BentoTooltipPosition.TOP,\n validator: value => Object.values(BentoTooltipPosition).includes(value as BentoTooltipPosition),\n },\n /**\n * Tooltip's offset.\n * If specified, the tooltip will have an offset in pixels between it and the target element\n * in specified position.\n */\n offset: { type: Number, default: 0 },\n /**\n * Tooltip's text content.\n */\n content: { type: String, required: true },\n /**\n * Shows / Hides the Tooltip component\n */\n isShown: { type: Boolean, default: false },\n },\n setup(props) {\n const conditionalClasses = computed(() => ({\n [`b-tooltip--${BentoTooltipState.HIDDEN}`]: !props.isShown,\n }));\n\n const tabIndex = computed((): number => (props.isShown ? 1 : -1));\n\n return {\n // Enums\n BentoTypographyElement,\n BentoTypographyVariant,\n PopperContainerAriaRole,\n PopperContainerPositionExtended,\n\n // Values\n conditionalClasses,\n tabIndex,\n };\n },\n };\n\n export default defineComponent(Tooltip);\n</script>\n\n<style lang=\"scss\" scoped src=\"./tooltip.scss\" />\n","import { nextTick, reactive } from 'vue';\nimport { listen } from '@/utils/ts/events';\nimport { generateUid } from '@/utils/ts/unique-id';\nimport { EventKey } from '@/types/utils-events';\nimport { BentoTooltipDirectiveBinding, BentoTooltipPosition } from './tooltip.types';\nimport { createApp, h, isVue2, Vue2 } from 'vue-demi';\nimport BentoTooltip from '@/components/tooltip/tooltip.vue';\n\ninterface TooltipInstance {\n target: HTMLElement;\n content: string;\n position: BentoTooltipPosition;\n removeListeners: Array<() => void>;\n}\n\n/**\n * Tooltip directive to render a tooltip on a given HTML element or component.\n *\n * @usage\n * import { BentoTooltipDirective, BentoTooltipPosition } from '@adyen/bento-vue2';\n *\n * export default {\n * directives: { BentoTooltipDirective },\n * template: `\n * <bento-button\n * v-bento-tooltip-directive:BentoTooltipPosition.BOTTOM=\"refToTextContent\"\n * >\n * Button text\n * </bento-button>\n * `,\n * }\n */\nconst tooltipInstances: Array<TooltipInstance> = [];\nconst ariaDescribedByAttr = 'aria-describedby';\nconst tooltipId = generateUid('tooltip');\n\nlet tooltipVNode;\n\n// Reusable Tooltip component instance.\nlet tooltip;\n// Global visibility state to prevent tooltips from showing after it being instructed to hide\nlet open = false;\n\nconst tooltipProps = reactive({\n targetElement: null,\n content: 'START_MESSAGE',\n id: tooltipId,\n position: undefined,\n isShown: false,\n});\n\n/**\n * Creates a new Tooltip component instance and inserts it into DOM.\n * @param {HTMLElement} el the target element for the Tooltip\n * @internal\n */\nconst createTooltip = (el: HTMLElement) => {\n // Sets the target's tabindex so as to make the tooltip interactive via keyboard navigation\n el.setAttribute('tabindex', '0');\n\n if (isVue2) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Type error for Vue method in Vue 3 but this code only executes in vue 2 so ignoring.\n const TooltipComponent = Vue2.extend(BentoTooltip);\n tooltip = new TooltipComponent({ propsData: { targetElement: el, content: '', id: tooltipId } }).$mount();\n document.body.appendChild(tooltip.$el);\n } else {\n tooltipProps.targetElement = el;\n tooltip = createApp({\n components: { BentoTooltip },\n setup() {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Type error for h method in Vue 2 but this code only executes in vue 3 so ignoring.\n return () => h(BentoTooltip, { ...tooltipProps }, '');\n },\n });\n tooltipVNode = document.createElement('div');\n tooltipVNode.id = 'tooltip-parent';\n document.body.appendChild(tooltipVNode);\n tooltip.mount('#tooltip-parent');\n }\n};\n\n/**\n * Removes Tooltip component instance from the DOM and destroys it.\n * @internal\n */\nconst destroyTooltip = () => {\n if (isVue2) {\n document.body.removeChild(tooltip.$el);\n tooltip.$destroy();\n } else {\n tooltip.unmount();\n document.body.removeChild(tooltipVNode);\n }\n\n tooltip = undefined;\n};\n\n/**\n * Returns tooltip position based on the specified argument.\n * By default returns 'top' if no argument is specified.\n * @param {BentoTooltipDirectiveBinding} binding Directive binding object.\n * @returns {string} Tooltip position.\n * @internal\n */\nconst getTooltipPosition = (binding: BentoTooltipDirectiveBinding): BentoTooltipPosition =>\n Object.values(BentoTooltipPosition).includes(binding.arg as BentoTooltipPosition)\n ? (binding.arg as BentoTooltipPosition)\n : BentoTooltipPosition.TOP;\n\n/**\n * Get the correct Tooltip instance for the given target element\n * @param {HTMLElement} el the target element for the Tooltip\n * @returns\n */\nconst getTooltipInstanceForTarget = (el: HTMLElement): TooltipInstance =>\n tooltipInstances.find(\n ctx =>\n // isEqualNode doesn't work correct for svg element, hence the second check here\n ctx.target.isEqualNode(el) && ctx.target === el\n );\n\n/**\n * On mouse enter event updates tooltip with correct content and position, and shows tooltip.\n * @param {?HTMLElement} el - Target element\n * @internal\n */\nconst showTooltip = (el?: HTMLElement) => {\n const tooltipInstance = getTooltipInstanceForTarget(el);\n\n // If tooltip content is empty – do not show the tooltip\n if (!tooltipInstance.content || !el) {\n return;\n }\n\n if (el) {\n el.setAttribute(ariaDescribedByAttr, tooltipId);\n }\n\n // If the Tooltip is inside a dialog, move tooltip element inside of it\n // It gets restored to <body> when it gets hidden\n let isDialogOpen = false;\n document.querySelectorAll('dialog').forEach(node => {\n isDialogOpen = node?.open || isDialogOpen;\n });\n\n if (isDialogOpen) {\n el.after(tooltip.$el);\n isDialogOpen = false;\n }\n\n open = true;\n\n tooltip.content = tooltipInstance.content;\n tooltip.position = tooltipInstance.position;\n\n tooltipProps.content = tooltipInstance.content;\n tooltipProps.position = tooltipInstance.position;\n\n // Do calculations on a next tick, otherwise tooltip position calculations will be wrong\n nextTick(() => {\n // Do not open tooltip if it has been instructed to hide in process\n if (!open) {\n return;\n }\n tooltip.targetElement = el;\n tooltip.isShown = true;\n\n tooltipProps.targetElement = el;\n tooltipProps.isShown = true;\n });\n};\n\n/**\n * On mouse leave event hides the tooltip.\n * @internal\n */\nconst hideTooltip = (el?: HTMLElement) => {\n // Restore the tooltip element to body if it got move out of <body>\n if (tooltip.$el?.parentElement?.tagName && tooltip.$el?.parentElement?.tagName !== 'BODY') {\n document.body.appendChild(tooltip.$el);\n }\n\n open = false;\n tooltip.isShown = false;\n tooltipProps.isShown = false;\n if (el) {\n el.removeAttribute(ariaDescribedByAttr);\n }\n};\n\nconst tooltipBind = (el: HTMLElement, binding: BentoTooltipDirectiveBinding) => {\n // eslint-disable-next-line no-prototype-builtins\n if (!binding.hasOwnProperty('value') || binding.value) {\n // Create Tooltip component singleton instance\n if (tooltipInstances.length === 0) {\n createTooltip(el);\n }\n\n const show = () => showTooltip(el);\n const hide = () => hideTooltip(el);\n\n // Create and store context object, which has directive related handlers and content.\n const tooltipInstance: TooltipInstance = {\n target: el,\n content: binding.value,\n position: getTooltipPosition(binding),\n removeListeners: [\n listen(el, 'mouseenter', show),\n listen(el, 'mouseleave', hide),\n listen(el, 'focus', show),\n listen(el, 'blur', hide),\n listen(el, 'keydown', evt => {\n const keyboardEvent = <KeyboardEvent>evt;\n if (keyboardEvent.key === EventKey.ESCAPE) {\n hide();\n }\n }),\n ],\n };\n\n tooltipInstances.push(tooltipInstance);\n }\n};\n\nconst tooltipUpdate = (el: HTMLElement, binding: BentoTooltipDirectiveBinding) => {\n const tooltipInstance = getTooltipInstanceForTarget(el);\n if (tooltipInstance) {\n // Update tooltip content value if it is changed\n if (tooltipInstance?.content !== binding.value) {\n tooltipInstance.content = binding.value;\n // If tooltip is currently shown for current element – update tooltip's content value\n if (tooltip.isShown && tooltip.targetElement.isEqualNode(el)) {\n if (!tooltipInstance.content) {\n tooltip.isShown = false;\n } else {\n tooltip.content = binding.value;\n }\n }\n }\n // Update tooltip position if it is changed\n if (tooltipInstance.position !== binding.arg) {\n const position = getTooltipPosition(binding);\n tooltipInstance.position = position;\n tooltip.position = position;\n }\n }\n};\n\nconst tooltipUnbind = (el: HTMLElement) => {\n const context = getTooltipInstanceForTarget(el);\n\n // Prevent unbinding/removing when there's nothing to unbind, leads to stack overflow errors\n if (!context) {\n return;\n }\n\n context.removeListeners.forEach(removeListener => {\n removeListener();\n });\n\n // If el is removed while tooltip is displayed, the tooltip doesnt hide as\n // there is no el to trigger mouseleave/blur.\n hideTooltip();\n\n tooltipInstances.splice(tooltipInstances.indexOf(context), 1);\n\n // If all the elements using the directive are removed, then no point having\n // the component on the page.\n if (tooltipInstances.length === 0) {\n destroyTooltip();\n }\n};\n\n/**\n * This directive allows you to bind a tooltip to an element.\n * Tooltip can be configured to be shown in one of four positions: 'top', 'left', 'right' and 'bottom'.\n *\n * @example\n * import { BentoTooltipDirective as BentoTooltip, BentoTooltipPosition } from '@adyen/bento-vue2';\n *\n * export default {\n * directives: { BentoTooltip },\n * methods: {\n * contentExpression() {\n * return 'tooltip content';\n * },\n * },\n * template: `<div>\n * <div v-bento-tooltip:left=\"refToTooltipContent\"></div>\n * <div v-bento-tooltip:[TooltipPosition.BOTTOM]=\"refToTooltipContent\"></div>\n *\n * <!-- If you don't specify the position then by default it's `TooltipPosition.TOP` -->\n * <div v-bento-tooltip=\"refToTooltipContent\"></div>\n *\n * <!-- Tooltip content can also be a data property or a method or a computed property as well -->\n * <div v-bento-tooltip=\"contentExpression()\"></div>\n * </div>`,\n * };\n */\nexport const BentoTooltipDirective = {\n // Vue 2 Directive hooks\n bind(el, binding) {\n tooltipBind(el, binding);\n },\n update(el, binding) {\n tooltipUpdate(el, binding);\n },\n unbind(el) {\n tooltipUnbind(el);\n },\n // Vue 3 Directive hooks\n beforeMount(el, binding) {\n tooltipBind(el, binding);\n },\n mounted(el, binding) {\n tooltipUpdate(el, binding);\n },\n updated(el, binding) {\n tooltipUpdate(el, binding);\n },\n unmounted(el) {\n tooltipUnbind(el);\n },\n};\n"],"names":["BentoTooltipPosition","PopperContainerPositionBasic","BentoTooltipState","BentoTooltipState2","EventKey","EventKey2","KeyCode","KeyCode2","Tooltip","BentoTypography","PopperContainer","value","props","conditionalClasses","computed","tabIndex","BentoTypographyElement","BentoTypographyVariant","PopperContainerAriaRole","PopperContainerPositionExtended","_sfc_main","defineComponent","tooltipInstances","ariaDescribedByAttr","tooltipId","generateUid","tooltip","open","tooltipProps","reactive","createTooltip","el","TooltipComponent","Vue2","BentoTooltip","destroyTooltip","getTooltipPosition","binding","getTooltipInstanceForTarget","ctx","showTooltip","tooltipInstance","isDialogOpen","node","nextTick","hideTooltip","_b","_a","_d","_c","tooltipBind","show","hide","listen","evt","tooltipUpdate","position","tooltipUnbind","context","removeListener","BentoTooltipDirective"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ const t = (s) => (o) => !!s[o];
2
+ export {
3
+ t as u
4
+ };
5
+ //# sourceMappingURL=use-has-slot.068222e6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-has-slot.068222e6.js","sources":["../../src/composables/use-has-slot/use-has-slot.ts"],"sourcesContent":["import type { Slots } from 'vue/types/v3-setup-context';\n\n/**\n * Composable function that allows to verify if a Slot exits in a component.\n *\n * @example\n * <script script lang=\"ts\">\n * import { useHasSlot } from '@/composables/hasSlot';\n * import { useSlots } from 'vue';\n *\n * const slots = useSlots();\n * const hasSlot = useHasSlot(slots);\n * </script>\n *\n * @param {function(slots: Slots)} useHasSlots Encloses the slots object to be checked when the closure is called\n * @returns {function(name: string)} Checks if the named slot defined by \"name\" exists in the component\n */\nexport const useHasSlot = (slots: Slots) => (name: string) => !!slots[name];\n"],"names":["useHasSlot","slots","name"],"mappings":"AAiBa,MAAAA,IAAa,CAACC,MAAiB,CAACC,MAAiB,CAAC,CAACD,EAAMC,CAAI;"}
@@ -1,6 +1,6 @@
1
1
  import { computed as a } from "vue";
2
2
  import { BentoCountryVariant as o, useCountryName as l, useCountryCapital as n, useCountryPhoneCode as s } from "../country.js";
3
- import { u as C } from "./i18n.36074534.js";
3
+ import { u as C } from "./i18n.155748d6.js";
4
4
  const y = (r, u) => {
5
5
  const { locale: t } = C(void 0, !0);
6
6
  return a(() => {
@@ -26,4 +26,4 @@ const y = (r, u) => {
26
26
  export {
27
27
  y as u
28
28
  };
29
- //# sourceMappingURL=useCountryItems.eedde392.js.map
29
+ //# sourceMappingURL=useCountryItems.5d7b436e.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCountryItems.eedde392.js","sources":["../../src/components/dropdown/components/variants/dropdown-country/composables/useCountryItems.ts"],"sourcesContent":["import { computed, ComputedRef, Ref } from 'vue';\nimport { BentoCountryVariant, useCountryCapital, useCountryName, useCountryPhoneCode } from '@/components/country';\nimport { BentoCountryListboxOptions } from '../dropdown-country.types';\nimport { useI18n } from '@/utils/ts/i18n';\nimport { BentoListboxOptions } from '@/types';\n\nexport const useCountryItems = (variant: Ref<BentoCountryVariant>, items: Ref<BentoCountryListboxOptions>) => {\n const { locale } = useI18n(undefined, true);\n\n return computed(() => {\n switch (variant?.value) {\n case BentoCountryVariant.PHONE_CODE:\n return items.value.map(({ value }) => ({\n value,\n label: useCountryPhoneCode(value).value,\n }));\n case BentoCountryVariant.CAPITAL:\n return items.value.map(({ value }) => ({\n value,\n label: useCountryCapital(value, locale).value,\n }));\n case BentoCountryVariant.NAME:\n return items.value.map(({ value }) => ({ value, label: useCountryName(value, locale).value }));\n case BentoCountryVariant.CUSTOM:\n default:\n return items.value;\n }\n }) as ComputedRef<BentoListboxOptions>;\n};\n"],"names":["useCountryItems","variant","items","locale","useI18n","computed","BentoCountryVariant","value","useCountryPhoneCode","useCountryCapital","useCountryName"],"mappings":";;;AAMa,MAAAA,IAAkB,CAACC,GAAmCC,MAA2C;AAC1G,QAAM,EAAE,QAAAC,EAAA,IAAWC,EAAQ,QAAW,EAAI;AAE1C,SAAOC,EAAS,MAAM;AAClB,YAAQJ,KAAA,gBAAAA,EAAS,OAAO;AAAA,MACpB,KAAKK,EAAoB;AACrB,eAAOJ,EAAM,MAAM,IAAI,CAAC,EAAE,OAAAK,SAAa;AAAA,UACnC,OAAAA;AAAA,UACA,OAAOC,EAAoBD,CAAK,EAAE;AAAA,QACpC,EAAA;AAAA,MACN,KAAKD,EAAoB;AACrB,eAAOJ,EAAM,MAAM,IAAI,CAAC,EAAE,OAAAK,SAAa;AAAA,UACnC,OAAAA;AAAA,UACA,OAAOE,EAAkBF,GAAOJ,CAAM,EAAE;AAAA,QAC1C,EAAA;AAAA,MACN,KAAKG,EAAoB;AACrB,eAAOJ,EAAM,MAAM,IAAI,CAAC,EAAE,OAAAK,EAAM,OAAO,EAAE,OAAAA,GAAO,OAAOG,EAAeH,GAAOJ,CAAM,EAAE,QAAQ;AAAA,MACjG,KAAKG,EAAoB;AAAA,MACzB;AACI,eAAOJ,EAAM;AAAA,IACrB;AAAA,EAAA,CACH;AACL;"}
1
+ {"version":3,"file":"useCountryItems.5d7b436e.js","sources":["../../src/components/dropdown/components/variants/dropdown-country/composables/useCountryItems.ts"],"sourcesContent":["import { computed, ComputedRef, Ref } from 'vue';\nimport { BentoCountryVariant, useCountryCapital, useCountryName, useCountryPhoneCode } from '@/components/country';\nimport { BentoCountryListboxOptions } from '../dropdown-country.types';\nimport { useI18n } from '@/utils/ts/i18n';\nimport { BentoListboxOptions } from '@/types';\n\nexport const useCountryItems = (variant: Ref<BentoCountryVariant>, items: Ref<BentoCountryListboxOptions>) => {\n const { locale } = useI18n(undefined, true);\n\n return computed(() => {\n switch (variant?.value) {\n case BentoCountryVariant.PHONE_CODE:\n return items.value.map(({ value }) => ({\n value,\n label: useCountryPhoneCode(value).value,\n }));\n case BentoCountryVariant.CAPITAL:\n return items.value.map(({ value }) => ({\n value,\n label: useCountryCapital(value, locale).value,\n }));\n case BentoCountryVariant.NAME:\n return items.value.map(({ value }) => ({ value, label: useCountryName(value, locale).value }));\n case BentoCountryVariant.CUSTOM:\n default:\n return items.value;\n }\n }) as ComputedRef<BentoListboxOptions>;\n};\n"],"names":["useCountryItems","variant","items","locale","useI18n","computed","BentoCountryVariant","value","useCountryPhoneCode","useCountryCapital","useCountryName"],"mappings":";;;AAMa,MAAAA,IAAkB,CAACC,GAAmCC,MAA2C;AAC1G,QAAM,EAAE,QAAAC,EAAA,IAAWC,EAAQ,QAAW,EAAI;AAE1C,SAAOC,EAAS,MAAM;AAClB,YAAQJ,KAAA,gBAAAA,EAAS,OAAO;AAAA,MACpB,KAAKK,EAAoB;AACrB,eAAOJ,EAAM,MAAM,IAAI,CAAC,EAAE,OAAAK,SAAa;AAAA,UACnC,OAAAA;AAAA,UACA,OAAOC,EAAoBD,CAAK,EAAE;AAAA,QACpC,EAAA;AAAA,MACN,KAAKD,EAAoB;AACrB,eAAOJ,EAAM,MAAM,IAAI,CAAC,EAAE,OAAAK,SAAa;AAAA,UACnC,OAAAA;AAAA,UACA,OAAOE,EAAkBF,GAAOJ,CAAM,EAAE;AAAA,QAC1C,EAAA;AAAA,MACN,KAAKG,EAAoB;AACrB,eAAOJ,EAAM,MAAM,IAAI,CAAC,EAAE,OAAAK,EAAM,OAAO,EAAE,OAAAA,GAAO,OAAOG,EAAeH,GAAOJ,CAAM,EAAE,QAAQ;AAAA,MACjG,KAAKG,EAAoB;AAAA,MACzB;AACI,eAAOJ,EAAM;AAAA,IACrB;AAAA,EAAA,CACH;AACL;"}