@adyen/bento-vue3 1.6.1 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/dist/@types/components.d.ts +2 -0
  2. package/dist/@types/packages/core/src/components/button/button.types.d.ts +3 -1
  3. package/dist/@types/packages/vue2/src/components/action-bar/action-bar.vue.d.ts +45 -0
  4. package/dist/@types/packages/vue2/src/components/action-bar/index.d.ts +1 -0
  5. package/dist/@types/packages/vue2/src/components/alert/alert.vue.d.ts +4 -4
  6. package/dist/@types/packages/vue2/src/components/avatar-image/avatar-image.vue.d.ts +1 -1
  7. package/dist/@types/packages/vue2/src/components/button/button.vue.d.ts +229 -220
  8. package/dist/@types/packages/vue2/src/components/button/components/button-actions/button-actions.vue.d.ts +9 -0
  9. package/dist/@types/packages/vue2/src/components/button/components/loading-button/loading-button.vue.d.ts +3 -3
  10. package/dist/@types/packages/vue2/src/components/checkbox/checkbox.vue.d.ts +1 -1
  11. package/dist/@types/packages/vue2/src/components/checkbox/components/checkbox-group/checkbox-group.vue.d.ts +5 -5
  12. package/dist/@types/packages/vue2/src/components/code-snippet/code-snippet.vue.d.ts +1 -1
  13. package/dist/@types/packages/vue2/src/components/country/country.vue.d.ts +4 -3
  14. package/dist/@types/packages/vue2/src/components/data-grid/data-grid.vue.d.ts +44 -46
  15. package/dist/@types/packages/vue2/src/components/date/date.vue.d.ts +1 -1
  16. package/dist/@types/packages/vue2/src/components/date-picker/date-picker.vue.d.ts +8 -2
  17. package/dist/@types/packages/vue2/src/components/date-range-picker/components/date-range-picker-calendar/date-range-picker-calendar.vue.d.ts +6 -0
  18. package/dist/@types/packages/vue2/src/components/date-range-picker/date-range-picker.vue.d.ts +8 -2
  19. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.vue.d.ts +1 -1
  20. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-default-textbox/dropdown-default-textbox.vue.d.ts +1 -1
  21. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-options-container/dropdown-options-container.vue.d.ts +46 -28
  22. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-small-textbox/dropdown-small-textbox.vue.d.ts +1 -1
  23. package/dist/@types/packages/vue2/src/components/dropdown/dropdown.types.d.ts +2 -0
  24. package/dist/@types/packages/vue2/src/components/dropdown/dropdown.vue.d.ts +22 -4
  25. package/dist/@types/packages/vue2/src/components/empty-state/empty-state.vue.d.ts +5 -2
  26. package/dist/@types/packages/vue2/src/components/filter-bar/components/all-filters-modal/all-filters-modal.vue.d.ts +802 -52
  27. package/dist/@types/packages/vue2/src/components/filter-bar/components/boolean-filter/boolean-filter.vue.d.ts +12 -5
  28. package/dist/@types/packages/vue2/src/components/filter-bar/components/filter-bar-button/filter-bar-button.vue.d.ts +1 -1
  29. package/dist/@types/packages/vue2/src/components/filter-bar/filter-bar.types.d.ts +12 -2
  30. package/dist/@types/packages/vue2/src/components/filter-bar/filter-bar.vue.d.ts +10 -0
  31. package/dist/@types/packages/vue2/src/components/form-layout/components/form-layout-field-tip/form-layout-field-tip.vue.d.ts +3 -3
  32. package/dist/@types/packages/vue2/src/components/header/header.vue.d.ts +1 -1
  33. package/dist/@types/packages/vue2/src/components/info-icon/info-icon.vue.d.ts +3 -3
  34. package/dist/@types/packages/vue2/src/components/input-field/input-field.vue.d.ts +2 -2
  35. package/dist/@types/packages/vue2/src/components/internal/button-actions-with-menu/button-actions-with-menu.vue.d.ts +21 -0
  36. package/dist/@types/packages/vue2/src/components/internal/calendar/calendar.vue.d.ts +6 -0
  37. package/dist/@types/packages/vue2/src/components/internal/calendar/components/calendar-month/calendar-month.vue.d.ts +19 -0
  38. package/dist/@types/packages/vue2/src/components/internal/controls-group/controls-group.vue.d.ts +1 -1
  39. package/dist/@types/packages/vue2/src/components/internal/fixed-scroller/fixed-scroller.vue.d.ts +22 -1
  40. package/dist/@types/packages/vue2/src/components/internal/listbox/listbox.vue.d.ts +64 -7
  41. package/dist/@types/packages/vue2/src/components/internal/teleport/index.d.ts +1 -0
  42. package/dist/@types/packages/vue2/src/components/internal/teleport/teleport.vue.d.ts +50 -0
  43. package/dist/@types/packages/vue2/src/components/link/link.vue.d.ts +1 -1
  44. package/dist/@types/packages/vue2/src/components/menu/menu.keys.d.ts +1 -0
  45. package/dist/@types/packages/vue2/src/components/menu/menu.vue.d.ts +15 -11
  46. package/dist/@types/packages/vue2/src/components/pagination/components/pagination-context/pagination-context.vue.d.ts +9 -0
  47. package/dist/@types/packages/vue2/src/components/pagination/pagination.vue.d.ts +10 -1
  48. package/dist/@types/packages/vue2/src/components/payment-method/payment-method.vue.d.ts +1 -0
  49. package/dist/@types/packages/vue2/src/components/popover/popover.vue.d.ts +4 -4
  50. package/dist/@types/packages/vue2/src/components/popper-container/popper-container.vue.d.ts +5 -5
  51. package/dist/@types/packages/vue2/src/components/radio-group/radio-group.vue.d.ts +10 -5
  52. package/dist/@types/packages/vue2/src/components/segmented-control/components/segmented-control-button/segmented-control-button.vue.d.ts +21 -0
  53. package/dist/@types/packages/vue2/src/components/segmented-control/segmented-control.vue.d.ts +21 -5
  54. package/dist/@types/packages/vue2/src/components/stepper/stepper.vue.d.ts +3 -3
  55. package/dist/@types/packages/vue2/src/components/structured-list/components/structered-list-item/structured-list-item.vue.d.ts +1 -1
  56. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item/summary-grid-item.vue.d.ts +1 -2
  57. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-amount/summary-grid-item-amount.vue.d.ts +1 -1
  58. package/dist/@types/packages/vue2/src/components/summary-grid/summary-grid.keys.d.ts +1 -0
  59. package/dist/@types/packages/vue2/src/components/summary-grid/summary-grid.types.d.ts +3 -0
  60. package/dist/@types/packages/vue2/src/components/tabs/components/tab.types.d.ts +1 -0
  61. package/dist/@types/packages/vue2/src/components/tabs/components/tab.vue.d.ts +9 -0
  62. package/dist/@types/packages/vue2/src/components/tabs/tabs.types.d.ts +1 -0
  63. package/dist/@types/packages/vue2/src/components/tabs/tabs.vue.d.ts +2 -0
  64. package/dist/@types/packages/vue2/src/components/textarea/textarea.vue.d.ts +5 -5
  65. package/dist/@types/packages/vue2/src/components/timeline/components/timeline-item/timeline-item.vue.d.ts +7 -4
  66. package/dist/@types/packages/vue2/src/components/timeline/timeline.types.d.ts +9 -2
  67. package/dist/@types/packages/vue2/src/components/tooltip/tooltip.vue.d.ts +15 -15
  68. package/dist/@types/packages/vue2/src/components/tutorial/components/tutorial-popover/components/tutorial-indicator/index.d.ts +1 -0
  69. package/dist/@types/packages/vue2/src/components/tutorial/components/tutorial-popover/components/tutorial-indicator/tutorial-indicator.vue.d.ts +12 -0
  70. package/dist/@types/packages/vue2/src/components/tutorial/components/tutorial-popover/index.d.ts +1 -0
  71. package/dist/@types/packages/vue2/src/components/tutorial/components/tutorial-popover/tutorial-popover.vue.d.ts +173 -0
  72. package/dist/@types/packages/vue2/src/components/tutorial/index.d.ts +2 -0
  73. package/dist/@types/packages/vue2/src/components/tutorial/tutorial.types.d.ts +13 -0
  74. package/dist/@types/packages/vue2/src/components/tutorial/tutorial.vue.d.ts +16 -0
  75. package/dist/@types/packages/vue2/src/composables/index.d.ts +5 -2
  76. package/dist/@types/packages/vue2/src/composables/use-click-outside/use-click-outside.d.ts +3 -0
  77. package/dist/@types/packages/vue2/src/composables/use-form-validate/index.d.ts +2 -0
  78. package/dist/@types/packages/vue2/src/composables/use-form-validate/use-form.d.ts +12 -0
  79. package/dist/@types/packages/vue2/src/composables/use-form-validate/use-form.types.d.ts +5 -0
  80. package/dist/@types/packages/vue2/src/composables/use-virtual-list/index.d.ts +2 -0
  81. package/dist/@types/packages/vue2/src/composables/use-virtual-list/use-virtual-list.d.ts +15 -0
  82. package/dist/@types/packages/vue2/src/composables/use-virtual-list/use-virtual-list.types.d.ts +20 -0
  83. package/dist/@types/packages/vue2/src/index.d.ts +1 -0
  84. package/dist/@types/packages/vue2/src/templates/data-grid-template/data-grid-template.vue.d.ts +4 -4
  85. package/dist/@types/packages/vue2/src/types/listbox.d.ts +12 -0
  86. package/dist/accordion.js +52 -43
  87. package/dist/accordion.js.map +1 -1
  88. package/dist/action-bar.js +210 -0
  89. package/dist/action-bar.js.map +1 -0
  90. package/dist/alert.js +3 -3
  91. package/dist/assets/base-modal.css +1 -1
  92. package/dist/assets/button-actions-with-menu.css +1 -0
  93. package/dist/assets/button.css +1 -1
  94. package/dist/assets/calendar.css +1 -1
  95. package/dist/assets/checkbox.css +1 -1
  96. package/dist/assets/checkmark.css +1 -0
  97. package/dist/assets/chevron-left.css +1 -0
  98. package/dist/assets/dropdown-default-textbox.css +1 -1
  99. package/dist/assets/dropdown.css +1 -1
  100. package/dist/assets/fixed-scroller.css +1 -0
  101. package/dist/assets/index.css +1 -1
  102. package/dist/assets/index10.css +1 -1
  103. package/dist/assets/index11.css +1 -1
  104. package/dist/assets/index12.css +1 -1
  105. package/dist/assets/index13.css +1 -1
  106. package/dist/assets/index14.css +1 -1
  107. package/dist/assets/index15.css +1 -1
  108. package/dist/assets/index16.css +1 -1
  109. package/dist/assets/index17.css +1 -1
  110. package/dist/assets/index18.css +1 -1
  111. package/dist/assets/index19.css +1 -1
  112. package/dist/assets/index2.css +1 -1
  113. package/dist/assets/index20.css +1 -1
  114. package/dist/assets/index21.css +1 -1
  115. package/dist/assets/index22.css +1 -1
  116. package/dist/assets/index23.css +1 -1
  117. package/dist/assets/index24.css +1 -1
  118. package/dist/assets/index25.css +1 -1
  119. package/dist/assets/index26.css +1 -1
  120. package/dist/assets/index27.css +1 -1
  121. package/dist/assets/index28.css +1 -1
  122. package/dist/assets/index29.css +1 -1
  123. package/dist/assets/index3.css +1 -1
  124. package/dist/assets/index30.css +1 -1
  125. package/dist/assets/index31.css +1 -1
  126. package/dist/assets/index32.css +1 -1
  127. package/dist/assets/index33.css +1 -1
  128. package/dist/assets/index34.css +1 -1
  129. package/dist/assets/index35.css +1 -1
  130. package/dist/assets/index36.css +1 -1
  131. package/dist/assets/index37.css +1 -1
  132. package/dist/assets/index38.css +1 -1
  133. package/dist/assets/index39.css +1 -1
  134. package/dist/assets/index40.css +1 -1
  135. package/dist/assets/index41.css +1 -1
  136. package/dist/assets/index42.css +1 -1
  137. package/dist/assets/index43.css +1 -1
  138. package/dist/assets/index44.css +1 -1
  139. package/dist/assets/index45.css +1 -1
  140. package/dist/assets/index46.css +1 -0
  141. package/dist/assets/index5.css +1 -1
  142. package/dist/assets/index6.css +1 -1
  143. package/dist/assets/index7.css +1 -1
  144. package/dist/assets/index8.css +1 -1
  145. package/dist/assets/index9.css +1 -1
  146. package/dist/assets/listbox.css +1 -1
  147. package/dist/assets/refresh.css +1 -0
  148. package/dist/avatar-image.js +1 -1
  149. package/dist/badge.js +1 -1
  150. package/dist/button.js +30 -22
  151. package/dist/button.js.map +1 -1
  152. package/dist/card.js +84 -84
  153. package/dist/card.js.map +1 -1
  154. package/dist/checkbox.js +6 -6
  155. package/dist/chunks/{base-button.4b5ab17e.js → base-button.7897a95e.js} +2 -2
  156. package/dist/chunks/{base-button.4b5ab17e.js.map → base-button.7897a95e.js.map} +1 -1
  157. package/dist/chunks/{base-modal.53a229ac.js → base-modal.0c85e7cb.js} +4 -4
  158. package/dist/chunks/{base-modal.53a229ac.js.map → base-modal.0c85e7cb.js.map} +1 -1
  159. package/dist/chunks/button-actions-with-menu.fa35390c.js +107 -0
  160. package/dist/chunks/button-actions-with-menu.fa35390c.js.map +1 -0
  161. package/dist/chunks/{button.975d0bb8.js → button.e5177388.js} +44 -36
  162. package/dist/chunks/button.e5177388.js.map +1 -0
  163. package/dist/chunks/{calendar.cc37ac1f.js → calendar.c83d4e99.js} +274 -250
  164. package/dist/chunks/calendar.c83d4e99.js.map +1 -0
  165. package/dist/chunks/{checkbox.67ceb148.js → checkbox.3cdbdd52.js} +7 -7
  166. package/dist/chunks/{checkbox.67ceb148.js.map → checkbox.3cdbdd52.js.map} +1 -1
  167. package/dist/chunks/checkmark.83e4f1e0.js +30 -0
  168. package/dist/chunks/checkmark.83e4f1e0.js.map +1 -0
  169. package/dist/chunks/{chevron-right.aef416c6.js → chevron-left.2fd6b083.js} +10 -10
  170. package/dist/chunks/chevron-left.2fd6b083.js.map +1 -0
  171. package/dist/chunks/{controls-group.7214dc7f.js → controls-group.38b436f6.js} +2 -2
  172. package/dist/chunks/{controls-group.7214dc7f.js.map → controls-group.38b436f6.js.map} +1 -1
  173. package/dist/chunks/{copy.7a73d1fd.js → copy.86236c8d.js} +4 -4
  174. package/dist/chunks/{copy.7a73d1fd.js.map → copy.86236c8d.js.map} +1 -1
  175. package/dist/chunks/{dropdown-default-textbox.0f878a8d.js → dropdown-default-textbox.0b38fac3.js} +4 -4
  176. package/dist/chunks/dropdown-default-textbox.0b38fac3.js.map +1 -0
  177. package/dist/chunks/{dropdown.7a104ce3.js → dropdown.afff433b.js} +144 -110
  178. package/dist/chunks/dropdown.afff433b.js.map +1 -0
  179. package/dist/chunks/{error-message.b91afffc.js → error-message.64e1964b.js} +2 -2
  180. package/dist/chunks/{error-message.b91afffc.js.map → error-message.64e1964b.js.map} +1 -1
  181. package/dist/chunks/fixed-scroller.e5aa7b00.js +148 -0
  182. package/dist/chunks/fixed-scroller.e5aa7b00.js.map +1 -0
  183. package/dist/chunks/{footer-actions.13f19a22.js → footer-actions.1ce44374.js} +3 -3
  184. package/dist/chunks/{footer-actions.13f19a22.js.map → footer-actions.1ce44374.js.map} +1 -1
  185. package/dist/chunks/{index.7f24db66.js → index.2bd3812b.js} +2 -2
  186. package/dist/chunks/{index.7f24db66.js.map → index.2bd3812b.js.map} +1 -1
  187. package/dist/chunks/{index.1dc4ebae.js → index.369b0e66.js} +112 -92
  188. package/dist/chunks/index.369b0e66.js.map +1 -0
  189. package/dist/chunks/{index.536bcb56.js → index.6a665ade.js} +3 -3
  190. package/dist/chunks/{index.536bcb56.js.map → index.6a665ade.js.map} +1 -1
  191. package/dist/chunks/{index.4c951e0d.js → index.77f35162.js} +6 -6
  192. package/dist/chunks/{index.4c951e0d.js.map → index.77f35162.js.map} +1 -1
  193. package/dist/chunks/index.bcc58fdd.js +1334 -0
  194. package/dist/chunks/index.bcc58fdd.js.map +1 -0
  195. package/dist/chunks/index.c207e9ab.js +602 -0
  196. package/dist/chunks/index.c207e9ab.js.map +1 -0
  197. package/dist/chunks/{index.6700224a.js → index.e579bc02.js} +2 -2
  198. package/dist/chunks/{index.6700224a.js.map → index.e579bc02.js.map} +1 -1
  199. package/dist/chunks/{index.d68847b0.js → index.fa7b44f1.js} +2 -2
  200. package/dist/chunks/{index.d68847b0.js.map → index.fa7b44f1.js.map} +1 -1
  201. package/dist/chunks/{listbox-option-tag.0f31ecb2.js → listbox-option-tag.809ec40e.js} +3 -3
  202. package/dist/chunks/{listbox-option-tag.0f31ecb2.js.map → listbox-option-tag.809ec40e.js.map} +1 -1
  203. package/dist/chunks/listbox.f6e5a11d.js +1306 -0
  204. package/dist/chunks/listbox.f6e5a11d.js.map +1 -0
  205. package/dist/chunks/{loading-button.6523a015.js → loading-button.746b7fa1.js} +2 -2
  206. package/dist/chunks/{loading-button.6523a015.js.map → loading-button.746b7fa1.js.map} +1 -1
  207. package/dist/chunks/refresh.c38c9eee.js +30 -0
  208. package/dist/chunks/refresh.c38c9eee.js.map +1 -0
  209. package/dist/chunks/summary-grid.keys.1d1028c2.js +5 -0
  210. package/dist/chunks/summary-grid.keys.1d1028c2.js.map +1 -0
  211. package/dist/chunks/{tooltip.b5391514.js → tooltip.f769eb14.js} +54 -51
  212. package/dist/chunks/{tooltip.b5391514.js.map → tooltip.f769eb14.js.map} +1 -1
  213. package/dist/code-snippet.js +6 -6
  214. package/dist/code-snippet.js.map +1 -1
  215. package/dist/country.js +553 -541
  216. package/dist/country.js.map +1 -1
  217. package/dist/currency.js +1 -1
  218. package/dist/data-grid.js +10 -10
  219. package/dist/data-grid.js.map +1 -1
  220. package/dist/date-picker.js +129 -118
  221. package/dist/date-picker.js.map +1 -1
  222. package/dist/date-range-picker.js +2 -2
  223. package/dist/date.js +1 -1
  224. package/dist/divider.js +1 -1
  225. package/dist/dropdown.js +4 -4
  226. package/dist/empty-state.js +44 -42
  227. package/dist/empty-state.js.map +1 -1
  228. package/dist/filter-bar.js +696 -683
  229. package/dist/filter-bar.js.map +1 -1
  230. package/dist/focus-trap.js +1 -1
  231. package/dist/form-layout.js +3 -3
  232. package/dist/header.js +121 -198
  233. package/dist/header.js.map +1 -1
  234. package/dist/image.js +4 -4
  235. package/dist/index.js +164 -158
  236. package/dist/index.js.map +1 -1
  237. package/dist/info-icon.js +8 -8
  238. package/dist/input-field.js +7 -7
  239. package/dist/internal.js +20 -144
  240. package/dist/internal.js.map +1 -1
  241. package/dist/link.js +2 -2
  242. package/dist/loading-indicator.js +1 -1
  243. package/dist/menu.js +3 -592
  244. package/dist/menu.js.map +1 -1
  245. package/dist/modal.js +3 -3
  246. package/dist/pagination.js +37 -21
  247. package/dist/pagination.js.map +1 -1
  248. package/dist/payment-method.js +50 -40
  249. package/dist/payment-method.js.map +1 -1
  250. package/dist/popover.js +16 -16
  251. package/dist/popper-container.js +6 -1276
  252. package/dist/popper-container.js.map +1 -1
  253. package/dist/radio-group.js +128 -97
  254. package/dist/radio-group.js.map +1 -1
  255. package/dist/search-bar.js +2 -2
  256. package/dist/segmented-control.js +130 -106
  257. package/dist/segmented-control.js.map +1 -1
  258. package/dist/sidepanel.js +94 -91
  259. package/dist/sidepanel.js.map +1 -1
  260. package/dist/status.js +2 -2
  261. package/dist/stepper.js +3 -3
  262. package/dist/structured-list.js +1 -1
  263. package/dist/summary-grid.js +146 -163
  264. package/dist/summary-grid.js.map +1 -1
  265. package/dist/tabs.js +128 -99
  266. package/dist/tabs.js.map +1 -1
  267. package/dist/tag.js +3 -3
  268. package/dist/textarea.js +4 -4
  269. package/dist/timeline.js +216 -203
  270. package/dist/timeline.js.map +1 -1
  271. package/dist/toast.js +3 -3
  272. package/dist/toggle.js +6 -6
  273. package/dist/tutorial.js +375 -0
  274. package/dist/tutorial.js.map +1 -0
  275. package/dist/typography.js +1 -1
  276. package/dist/web-types.json +1 -1
  277. package/package.json +5 -2
  278. package/dist/assets/chevron-right.css +0 -1
  279. package/dist/chunks/button.975d0bb8.js.map +0 -1
  280. package/dist/chunks/calendar.cc37ac1f.js.map +0 -1
  281. package/dist/chunks/chevron-right.aef416c6.js.map +0 -1
  282. package/dist/chunks/dropdown-default-textbox.0f878a8d.js.map +0 -1
  283. package/dist/chunks/dropdown.7a104ce3.js.map +0 -1
  284. package/dist/chunks/index.1dc4ebae.js.map +0 -1
  285. package/dist/chunks/listbox.0f25778d.js +0 -1213
  286. package/dist/chunks/listbox.0f25778d.js.map +0 -1
@@ -1,15 +1,16 @@
1
- import { defineComponent as y, computed as c, resolveComponent as m, openBlock as l, createElementBlock as b, normalizeClass as I, createElementVNode as B, createBlock as _, createCommentVNode as h, createVNode as A, withCtx as U, createTextVNode as N, toDisplayString as W, toRef as D, ref as g, onMounted as E, onUnmounted as T, toRefs as q, Fragment as F, renderList as R } from "vue";
2
- import { B as H } from "./chunks/index.7f24db66.js";
3
- import { g as S } from "./chunks/unique-id.a2a2b458.js";
4
- import { C as P } from "./chunks/listbox.0f25778d.js";
5
- import { _ as V } from "./chunks/_plugin-vue_export-helper.dad06003.js";
6
- import { B as M } from "./chunks/dropdown.7a104ce3.js";
7
- import { u as z } from "./chunks/i18n.6c402773.js";
8
- import { u as O } from "./chunks/aria-label.ac9651a5.js";
9
- import "./assets/index27.css";
10
- const j = y({
1
+ import { defineComponent as B, ref as m, computed as b, resolveComponent as v, openBlock as r, createElementBlock as g, normalizeClass as w, createElementVNode as W, createBlock as $, createCommentVNode as y, createVNode as T, withCtx as A, createTextVNode as D, toDisplayString as N, toRef as U, toRefs as E, onMounted as q, resolveDirective as F, Fragment as R, renderList as P, withDirectives as z } from "vue";
2
+ import { B as M } from "./chunks/index.2bd3812b.js";
3
+ import { g as O } from "./chunks/unique-id.a2a2b458.js";
4
+ import { C as j } from "./chunks/checkmark.83e4f1e0.js";
5
+ import { _ as L } from "./chunks/_plugin-vue_export-helper.dad06003.js";
6
+ import { b as G } from "./chunks/tooltip.f769eb14.js";
7
+ import { u as H } from "./chunks/i18n.6c402773.js";
8
+ import { u as J } from "./chunks/aria-label.ac9651a5.js";
9
+ import { o as K } from "./chunks/resize.a041304d.js";
10
+ import "./assets/index30.css";
11
+ const Q = B({
11
12
  name: "bento-segmented-control-button",
12
- components: { BentoTypography: H, CheckmarkIcon: P },
13
+ components: { BentoTypography: M, CheckmarkIcon: j },
13
14
  props: {
14
15
  /**
15
16
  * The string the button will showcase
@@ -46,33 +47,50 @@ const j = y({
46
47
  fullWidth: {
47
48
  type: Boolean,
48
49
  default: !1
50
+ },
51
+ /**
52
+ * Renders the button with a truncated text if the space is not enough to render the whole content
53
+ */
54
+ truncate: {
55
+ type: Boolean,
56
+ default: !1
57
+ },
58
+ /**
59
+ * Renders the button with centered text in case the text has to wrap multiple lines
60
+ */
61
+ wrap: {
62
+ type: Boolean,
63
+ default: !1
49
64
  }
50
65
  },
51
66
  emits: ["update:model-value"],
52
- setup(e, { emit: n }) {
53
- const d = S("segmented-control-button"), r = c(() => e.value === e.modelValue), s = c(() => ({
67
+ setup(e, { emit: o }) {
68
+ const d = m(), s = O("segmented-control-button"), u = b(() => e.value === e.modelValue), i = b(() => ({
54
69
  "b-segmented-control-button--hug-content": !e.fullWidth,
55
- "b-segmented-control-button--full-width": e.fullWidth
70
+ "b-segmented-control-button--full-width": e.fullWidth,
71
+ "b-segmented-control-button--truncate": e.truncate,
72
+ "b-segmented-control-button--wrap": e.wrap && !e.truncate
56
73
  }));
57
74
  return {
58
75
  // Values
59
- segmentedControlButtonId: d,
60
- isChecked: r,
61
- conditionalClasses: s,
76
+ segmentedControlButtonLabel: d,
77
+ segmentedControlButtonId: s,
78
+ isChecked: u,
79
+ conditionalClasses: i,
62
80
  // Methods
63
81
  onClick: () => {
64
- e.disabled || n("update:model-value", e.value);
82
+ e.disabled || o("update:model-value", e.value);
65
83
  }
66
84
  };
67
85
  }
68
86
  });
69
- const G = ["id", "aria-checked", "aria-label", "checked", "disabled", "value"], J = ["for"];
70
- function K(e, n, d, r, s, i) {
71
- const a = m("checkmark-icon"), o = m("bento-typography");
72
- return l(), b("div", {
73
- class: I(["b-segmented-control-button", e.conditionalClasses])
87
+ const X = ["id", "aria-checked", "aria-label", "checked", "disabled", "value"], Y = ["for"];
88
+ function Z(e, o, d, s, u, i) {
89
+ const l = v("checkmark-icon"), c = v("bento-typography");
90
+ return r(), g("div", {
91
+ class: w(["b-segmented-control-button", e.conditionalClasses])
74
92
  }, [
75
- B("input", {
93
+ W("input", {
76
94
  id: e.segmentedControlButtonId,
77
95
  "aria-checked": e.isChecked,
78
96
  "aria-label": e.label,
@@ -82,42 +100,44 @@ function K(e, n, d, r, s, i) {
82
100
  type: "radio",
83
101
  class: "b-segmented-control-button__input",
84
102
  role: "radio",
85
- onChange: n[0] || (n[0] = (...t) => e.onClick && e.onClick(...t))
86
- }, null, 40, G),
87
- e.label ? (l(), b("label", {
103
+ onChange: o[0] || (o[0] = (...t) => e.onClick && e.onClick(...t))
104
+ }, null, 40, X),
105
+ e.label ? (r(), g("label", {
88
106
  key: 0,
89
107
  for: e.segmentedControlButtonId,
90
108
  class: "b-segmented-control-button__label-container"
91
109
  }, [
92
- e.isChecked ? (l(), _(a, {
110
+ e.isChecked ? (r(), $(l, {
93
111
  key: 0,
94
112
  "aria-hidden": "true",
95
113
  class: "b-segmented-control-button__icon"
96
- })) : h("", !0),
97
- A(o, {
114
+ })) : y("", !0),
115
+ T(c, {
116
+ ref: "segmentedControlButtonLabel",
98
117
  class: "b-segmented-control-button__label",
99
118
  el: "span",
100
119
  variant: "body",
101
120
  stronger: ""
102
121
  }, {
103
- default: U(() => [
104
- N(W(e.label), 1)
122
+ default: A(() => [
123
+ D(N(e.label), 1)
105
124
  ]),
106
125
  _: 1
107
- })
108
- ], 8, J)) : h("", !0)
126
+ }, 512)
127
+ ], 8, Y)) : y("", !0)
109
128
  ], 2);
110
129
  }
111
- const Q = /* @__PURE__ */ V(j, [["render", K], ["__scopeId", "data-v-92fc438f"]]);
112
- var v = /* @__PURE__ */ ((e) => (e.UPDATE = "update:model-value", e))(v || {});
130
+ const x = /* @__PURE__ */ L(Q, [["render", Z], ["__scopeId", "data-v-72a8a7dc"]]);
131
+ var h = /* @__PURE__ */ ((e) => (e.UPDATE = "update:model-value", e))(h || {});
113
132
  const k = {
114
133
  "en-US": {
115
134
  ariaLabelFallback: "Segmented control"
116
135
  }
117
- }, X = y({
136
+ }, ee = B({
118
137
  name: "bento-segmented-control",
119
138
  i18n: { messages: k },
120
- components: { BentoDropdown: M, SegmentedControlButton: Q },
139
+ components: { SegmentedControlButton: x },
140
+ directives: { BentoTooltipDirective: G },
121
141
  props: {
122
142
  /**
123
143
  * Items that will populate the segmented control.
@@ -150,85 +170,89 @@ const k = {
150
170
  fullWidth: {
151
171
  type: Boolean,
152
172
  default: !1
173
+ },
174
+ /**
175
+ * If set to true, wraps the items in the segmented control to show their content whenever these don't fit in the available space anymore.
176
+ */
177
+ wrap: {
178
+ type: Boolean,
179
+ default: !1
153
180
  }
154
181
  },
155
- emits: [v.UPDATE],
156
- setup(e, { attrs: n, emit: d }) {
157
- const { t: r } = z({ messages: k }), s = D(e, "modelValue"), i = S("segmented-control-dropdown"), a = g(null), o = g(!0);
158
- let t;
159
- E(() => {
160
- const f = {
161
- root: null,
162
- // To prevent the observer from triggering on vertical intersection
163
- rootMargin: "100% 0% 100% 0%",
164
- threshold: 1
165
- };
166
- t = new IntersectionObserver((u) => {
167
- u && u.length && (u[u.length - 1].isIntersecting ? o.value = !0 : o.value = !1);
168
- }, f), t.observe(a.value);
169
- }), T(() => {
170
- t.disconnect();
171
- });
172
- const p = g(n["aria-label"]), { ariaLabel: $ } = q(e), w = O({
173
- ariaLabel: p.value,
182
+ emits: [h.UPDATE],
183
+ setup(e, { attrs: o, emit: d }) {
184
+ const { t: s } = H({ messages: k }), u = U(e, "modelValue"), i = m(o["aria-label"]), { ariaLabel: l } = E(e), c = J({
185
+ ariaLabel: i.value,
174
186
  // TODO: take this line away when the aria-label props is removed
175
- label: $,
176
- defaultFallback: r("ariaLabelFallback")
177
- }), C = c(() => o.value === !1), L = c(() => ({
178
- "b-segmented-control--hidden": C.value,
179
- "b-segmented-control--full-width": e.fullWidth
187
+ label: l,
188
+ defaultFallback: s("ariaLabelFallback")
189
+ }), t = m(), a = m(), p = m(), _ = b(() => !e.wrap);
190
+ q(() => {
191
+ K(t.value, () => {
192
+ var n;
193
+ t.value && (p.value = (n = a == null ? void 0 : a.value) == null ? void 0 : n.map(
194
+ (f) => f.$refs.segmentedControlButtonLabel.$el.offsetWidth < f.$refs.segmentedControlButtonLabel.$el.scrollWidth
195
+ ));
196
+ });
197
+ });
198
+ const V = b(
199
+ () => e.items.map((n, f) => {
200
+ var C;
201
+ return {
202
+ ...n,
203
+ tooltipText: _.value && ((C = p == null ? void 0 : p.value) != null && C[f]) ? n.label : void 0
204
+ };
205
+ })
206
+ ), I = (n) => {
207
+ d(h.UPDATE, n);
208
+ }, S = b(() => ({
209
+ "b-segmented-control--hug": !e.fullWidth,
210
+ "b-segmented-control--full-width": e.fullWidth,
211
+ "b-segmented-control--truncate": _.value,
212
+ "b-segmented-control--wrap": e.wrap
180
213
  }));
181
214
  return {
182
215
  // Values
183
- computedAriaLabel: w,
184
- inputValue: s,
185
- dropdownId: i,
186
- segmentedControlRef: a,
187
- conditionalClasses: L,
188
- isSegmentedControlVisible: o,
189
- isSegmentedControlHidden: C,
216
+ computedAriaLabel: c,
217
+ inputValue: u,
218
+ segmentedControlRef: t,
219
+ segmentedControlButtonRef: a,
220
+ computedItems: V,
221
+ truncate: _,
222
+ conditionalClasses: S,
190
223
  // Methods
191
- onInput: (f) => {
192
- d(v.UPDATE, f);
193
- }
224
+ onInput: I
194
225
  };
195
226
  }
196
227
  });
197
- const Y = { class: "b-segmented-control__wrapper" }, Z = ["aria-hidden"];
198
- function x(e, n, d, r, s, i) {
199
- const a = m("bento-dropdown"), o = m("segmented-control-button");
200
- return l(), b("div", Y, [
201
- e.isSegmentedControlHidden ? (l(), _(a, {
202
- key: 0,
203
- id: e.dropdownId,
204
- "aria-hidden": e.isSegmentedControlVisible,
205
- value: e.modelValue,
206
- items: e.items,
207
- "aria-label": e.computedAriaLabel,
208
- onInput: e.onInput
209
- }, null, 8, ["id", "aria-hidden", "value", "items", "aria-label", "onInput"])) : h("", !0),
210
- B("fieldset", {
211
- ref: "segmentedControlRef",
212
- role: "group",
213
- class: I(["b-segmented-control", e.conditionalClasses]),
214
- "aria-hidden": e.isSegmentedControlHidden
215
- }, [
216
- (l(!0), b(F, null, R(e.items, (t, p) => (l(), _(o, {
217
- key: `segmented-control-item-${p}-${t.label}`,
218
- class: "b-segmented-control__item",
219
- label: t.label,
220
- value: t.value,
221
- disabled: t.disabled,
222
- "full-width": e.fullWidth,
223
- "model-value": e.inputValue,
224
- "onUpdate:modelValue": e.onInput
225
- }, null, 8, ["label", "value", "disabled", "full-width", "model-value", "onUpdate:modelValue"]))), 128))
226
- ], 10, Z)
227
- ]);
228
+ function te(e, o, d, s, u, i) {
229
+ const l = v("segmented-control-button"), c = F("bento-tooltip-directive");
230
+ return r(), g("div", {
231
+ ref: "segmentedControlRef",
232
+ role: "group",
233
+ class: w(["b-segmented-control", e.conditionalClasses])
234
+ }, [
235
+ (r(!0), g(R, null, P(e.computedItems, (t, a) => z((r(), $(l, {
236
+ ref_for: !0,
237
+ ref: "segmentedControlButtonRef",
238
+ key: `segmented-control-item-${a}-${t.label}`,
239
+ class: "b-segmented-control__item",
240
+ label: t.label,
241
+ value: t.value,
242
+ disabled: t.disabled,
243
+ truncate: e.truncate,
244
+ wrap: e.wrap,
245
+ "full-width": e.fullWidth,
246
+ "model-value": e.inputValue,
247
+ "onUpdate:modelValue": e.onInput
248
+ }, null, 8, ["label", "value", "disabled", "truncate", "wrap", "full-width", "model-value", "onUpdate:modelValue"])), [
249
+ [c, t.tooltipText]
250
+ ])), 128))
251
+ ], 2);
228
252
  }
229
- const ie = /* @__PURE__ */ V(X, [["render", x], ["__scopeId", "data-v-f97adccf"]]);
253
+ const ce = /* @__PURE__ */ L(ee, [["render", te], ["__scopeId", "data-v-d443d921"]]);
230
254
  export {
231
- ie as BentoSegmentedControl,
232
- v as BentoSegmentedControlEvent
255
+ ce as BentoSegmentedControl,
256
+ h as BentoSegmentedControlEvent
233
257
  };
234
258
  //# sourceMappingURL=segmented-control.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"segmented-control.js","sources":["../../vue2/src/components/segmented-control/components/segmented-control-button/segmented-control-button.vue","../../vue2/src/components/segmented-control/segmented-control.types.ts","../../vue2/src/components/segmented-control/segmented-control.vue"],"sourcesContent":["<template>\n <div class=\"b-segmented-control-button\" :class=\"conditionalClasses\">\n <input\n :id=\"segmentedControlButtonId\"\n :aria-checked=\"isChecked\"\n :aria-label=\"label\"\n :checked=\"isChecked\"\n :disabled=\"disabled\"\n :value=\"value\"\n type=\"radio\"\n class=\"b-segmented-control-button__input\"\n role=\"radio\"\n @change=\"onClick\"\n />\n <label v-if=\"label\" :for=\"segmentedControlButtonId\" class=\"b-segmented-control-button__label-container\">\n <checkmark-icon v-if=\"isChecked\" aria-hidden=\"true\" class=\"b-segmented-control-button__icon\" />\n <bento-typography class=\"b-segmented-control-button__label\" el=\"span\" variant=\"body\" stronger>\n {{ label }}\n </bento-typography>\n </label>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { BentoTypography } from '@/components/typography';\n import { generateUid } from '@/utils/ts/unique-id';\n import { computed, ComputedRef, defineComponent } from 'vue';\n import CheckmarkIcon from '@adyen/ui-assets-icons-16/vue/checkmark';\n /**\n * Internal component to be used within the BentoSegmentedControl component only\n */\n export default defineComponent({\n name: 'bento-segmented-control-button',\n components: { BentoTypography, CheckmarkIcon },\n props: {\n /**\n * The string the button will showcase\n */\n label: {\n type: String,\n required: true,\n },\n /**\n * Indicates the value of the input that will be returned when it's selected\n */\n value: {\n type: [String, Number],\n required: true,\n },\n /**\n * This property should not be used directly.\n * It will be used by v-model directive on the segmented control component\n */\n modelValue: {\n type: [String, Number],\n default: null,\n },\n /**\n * Disable the radio button (optional)\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * Renders the button with a 100% width\n */\n fullWidth: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update:model-value'],\n setup(props, { emit }) {\n const segmentedControlButtonId = generateUid('segmented-control-button');\n const isChecked: ComputedRef<boolean> = computed(() => props.value === props.modelValue);\n const conditionalClasses = computed(() => ({\n 'b-segmented-control-button--hug-content': !props.fullWidth,\n 'b-segmented-control-button--full-width': props.fullWidth,\n }));\n const onClick = () => {\n if (!props.disabled) {\n emit('update:model-value', props.value);\n }\n };\n return {\n // Values\n segmentedControlButtonId,\n isChecked,\n conditionalClasses,\n // Methods\n onClick,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./segmented-control-button.scss\" />\n","export interface BentoSegmentedControlItem {\n label: string;\n value: string | number;\n disabled?: boolean;\n}\n\nexport enum BentoSegmentedControlEvent {\n UPDATE = 'update:model-value',\n}\n","<template>\n <div class=\"b-segmented-control__wrapper\">\n <bento-dropdown\n v-if=\"isSegmentedControlHidden\"\n :id=\"dropdownId\"\n :aria-hidden=\"isSegmentedControlVisible\"\n :value=\"modelValue\"\n :items=\"items\"\n :aria-label=\"computedAriaLabel\"\n @input=\"onInput\"\n />\n <fieldset\n ref=\"segmentedControlRef\"\n role=\"group\"\n class=\"b-segmented-control\"\n :class=\"conditionalClasses\"\n :aria-hidden=\"isSegmentedControlHidden\"\n >\n <segmented-control-button\n v-for=\"(item, index) in items\"\n :key=\"`segmented-control-item-${index}-${item.label}`\"\n class=\"b-segmented-control__item\"\n :label=\"item.label\"\n :value=\"item.value\"\n :disabled=\"item.disabled\"\n :full-width=\"fullWidth\"\n :model-value=\"inputValue\"\n @update:model-value=\"onInput\"\n ></segmented-control-button>\n </fieldset>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, onMounted, onUnmounted, PropType, ref, toRef, toRefs } from 'vue';\n import SegmentedControlButton from './components/segmented-control-button/segmented-control-button.vue';\n import { BentoSegmentedControlEvent, BentoSegmentedControlItem } from './segmented-control.types';\n import { BentoDropdown } from '@/components/dropdown';\n import { generateUid } from '@/utils/ts/unique-id';\n import { useI18n } from '@/utils/ts/i18n';\n import { useAriaLabel } from '@/utils/ts/aria-label';\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n /**\n * @example\n * import { BentoSegmentedControl } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoSegmentedControl },\n * template: `\n * <bento-segmented-control\n * :items=\"[{ label: 'Segment 1', value: 1 }, { label: 'Segment 2', value: 2 }, { label: 'Segment 3', value: 3, disabled: true }]\"\n * :model-value=\"1\"\n * :update:model-value=\"yourUpdateHandler\"\n * />\n * `\n * }\n */\n export default defineComponent({\n name: 'bento-segmented-control',\n i18n: { messages },\n components: { BentoDropdown, SegmentedControlButton },\n props: {\n /**\n * Items that will populate the segmented control.\n */\n items: {\n type: Array as PropType<BentoSegmentedControlItem[]>,\n required: true,\n validator: (arr: Array<BentoSegmentedControlItem[]>) => arr.length <= 5,\n },\n /**\n * Determines the selected value of the group. Corresponds to the BentoSegmentedControlItem's value.\n */\n modelValue: {\n type: [Number, String, null],\n required: true,\n },\n /**\n * @deprecated from version 2.0.0. Use the aria-label attribute instead.\n */\n /**\n * Accessible name describing the segmented control.\n */\n ariaLabel: {\n type: String,\n default: null,\n },\n /**\n * If set to true, renders the component full width.\n */\n fullWidth: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [BentoSegmentedControlEvent.UPDATE],\n setup(props, { attrs, emit }) {\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const inputValue = toRef(props, 'modelValue');\n const dropdownId = generateUid('segmented-control-dropdown');\n const segmentedControlRef = ref(null);\n const isSegmentedControlVisible = ref(true);\n let observer: IntersectionObserver;\n\n onMounted(() => {\n const config = {\n root: null,\n // To prevent the observer from triggering on vertical intersection\n rootMargin: '100% 0% 100% 0%',\n threshold: 1,\n };\n observer = new IntersectionObserver(entries => {\n if (entries && entries.length) {\n if (entries[entries.length - 1].isIntersecting) {\n // The segmented control is still visible within the viewport\n isSegmentedControlVisible.value = true;\n } else {\n // The segmented control is not fully visible anymore in the viewport\n isSegmentedControlVisible.value = false;\n }\n }\n }, config);\n observer.observe(segmentedControlRef.value);\n });\n\n onUnmounted(() => {\n observer.disconnect();\n });\n\n const ariaLabelAttribute = ref(attrs['aria-label']);\n const { ariaLabel } = toRefs(props);\n const computedAriaLabel = useAriaLabel({\n ariaLabel: ariaLabelAttribute.value as string,\n // TODO: take this line away when the aria-label props is removed\n label: ariaLabel,\n defaultFallback: t('ariaLabelFallback'),\n });\n\n const isSegmentedControlHidden = computed(() => isSegmentedControlVisible.value === false);\n\n const conditionalClasses = computed(() => ({\n 'b-segmented-control--hidden': isSegmentedControlHidden.value,\n 'b-segmented-control--full-width': props.fullWidth,\n }));\n\n const onInput = value => {\n emit(BentoSegmentedControlEvent.UPDATE, value);\n };\n\n return {\n // Values\n computedAriaLabel,\n inputValue,\n dropdownId,\n segmentedControlRef,\n conditionalClasses,\n isSegmentedControlVisible,\n isSegmentedControlHidden,\n\n // Methods\n onInput,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./segmented-control.scss\" />\n"],"names":["_sfc_main$1","defineComponent","BentoTypography","CheckmarkIcon","props","emit","segmentedControlButtonId","generateUid","isChecked","computed","conditionalClasses","createElementVNode","_ctx","_hoisted_1$1","openBlock","createElementBlock","createBlock","_component_checkmark_icon","createCommentVNode","createVNode","_component_bento_typography","BentoSegmentedControlEvent","BentoSegmentedControlEvent2","_sfc_main","messages","BentoDropdown","SegmentedControlButton","arr","attrs","t","useI18n","inputValue","toRef","dropdownId","segmentedControlRef","ref","isSegmentedControlVisible","observer","onMounted","config","entries","onUnmounted","ariaLabelAttribute","ariaLabel","toRefs","computedAriaLabel","useAriaLabel","isSegmentedControlHidden","value","_component_segmented_control_button","resolveComponent","_component_bento_dropdown","normalizeClass","Fragment","renderList","item","index"],"mappings":"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"}
1
+ {"version":3,"file":"segmented-control.js","sources":["../../vue2/src/components/segmented-control/components/segmented-control-button/segmented-control-button.vue","../../vue2/src/components/segmented-control/segmented-control.types.ts","../../vue2/src/components/segmented-control/segmented-control.vue"],"sourcesContent":["<template>\n <div class=\"b-segmented-control-button\" :class=\"conditionalClasses\">\n <input\n :id=\"segmentedControlButtonId\"\n :aria-checked=\"isChecked\"\n :aria-label=\"label\"\n :checked=\"isChecked\"\n :disabled=\"disabled\"\n :value=\"value\"\n type=\"radio\"\n class=\"b-segmented-control-button__input\"\n role=\"radio\"\n @change=\"onClick\"\n />\n <label v-if=\"label\" :for=\"segmentedControlButtonId\" class=\"b-segmented-control-button__label-container\">\n <checkmark-icon v-if=\"isChecked\" aria-hidden=\"true\" class=\"b-segmented-control-button__icon\" />\n <bento-typography\n ref=\"segmentedControlButtonLabel\"\n class=\"b-segmented-control-button__label\"\n el=\"span\"\n variant=\"body\"\n stronger\n >\n {{ label }}\n </bento-typography>\n </label>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { BentoTypography } from '@/components/typography';\n import { generateUid } from '@/utils/ts/unique-id';\n import { computed, ComputedRef, defineComponent, ref } from 'vue';\n import CheckmarkIcon from '@adyen/ui-assets-icons-16/vue/checkmark';\n /**\n * Internal component to be used within the BentoSegmentedControl component only\n */\n export default defineComponent({\n name: 'bento-segmented-control-button',\n components: { BentoTypography, CheckmarkIcon },\n props: {\n /**\n * The string the button will showcase\n */\n label: {\n type: String,\n required: true,\n },\n /**\n * Indicates the value of the input that will be returned when it's selected\n */\n value: {\n type: [String, Number],\n required: true,\n },\n /**\n * This property should not be used directly.\n * It will be used by v-model directive on the segmented control component\n */\n modelValue: {\n type: [String, Number],\n default: null,\n },\n /**\n * Disable the radio button (optional)\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * Renders the button with a 100% width\n */\n fullWidth: {\n type: Boolean,\n default: false,\n },\n /**\n * Renders the button with a truncated text if the space is not enough to render the whole content\n */\n truncate: {\n type: Boolean,\n default: false,\n },\n /**\n * Renders the button with centered text in case the text has to wrap multiple lines\n */\n wrap: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update:model-value'],\n setup(props, { emit }) {\n const segmentedControlButtonLabel = ref();\n const segmentedControlButtonId = generateUid('segmented-control-button');\n const isChecked: ComputedRef<boolean> = computed(() => props.value === props.modelValue);\n const conditionalClasses = computed(() => ({\n 'b-segmented-control-button--hug-content': !props.fullWidth,\n 'b-segmented-control-button--full-width': props.fullWidth,\n 'b-segmented-control-button--truncate': props.truncate,\n 'b-segmented-control-button--wrap': props.wrap && !props.truncate,\n }));\n const onClick = () => {\n if (!props.disabled) {\n emit('update:model-value', props.value);\n }\n };\n return {\n // Values\n segmentedControlButtonLabel,\n segmentedControlButtonId,\n isChecked,\n conditionalClasses,\n // Methods\n onClick,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./segmented-control-button.scss\" />\n","export interface BentoSegmentedControlItem {\n label: string;\n value: string | number;\n disabled?: boolean;\n}\n\nexport enum BentoSegmentedControlEvent {\n UPDATE = 'update:model-value',\n}\n","<template>\n <div ref=\"segmentedControlRef\" role=\"group\" class=\"b-segmented-control\" :class=\"conditionalClasses\">\n <segmented-control-button\n v-for=\"(item, index) in computedItems\"\n ref=\"segmentedControlButtonRef\"\n :key=\"`segmented-control-item-${index}-${item.label}`\"\n v-bento-tooltip-directive=\"item.tooltipText\"\n class=\"b-segmented-control__item\"\n :label=\"item.label\"\n :value=\"item.value\"\n :disabled=\"item.disabled\"\n :truncate=\"truncate\"\n :wrap=\"wrap\"\n :full-width=\"fullWidth\"\n :model-value=\"inputValue\"\n @update:model-value=\"onInput\"\n ></segmented-control-button>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, onMounted, PropType, ref, toRef, toRefs } from 'vue';\n import SegmentedControlButton from './components/segmented-control-button/segmented-control-button.vue';\n import { BentoSegmentedControlEvent, BentoSegmentedControlItem } from './segmented-control.types';\n import { BentoTooltipDirective } from '@/directives';\n import { useI18n } from '@/utils/ts/i18n';\n import { useAriaLabel } from '@/utils/ts/aria-label';\n import messages from './messages.json';\n import { observeSizeOfElement } from '@/utils/ts/resize';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n /**\n * @example\n * import { BentoSegmentedControl } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoSegmentedControl },\n * template: `\n * <bento-segmented-control\n * :items=\"[{ label: 'Segment 1', value: 1 }, { label: 'Segment 2', value: 2 }, { label: 'Segment 3', value: 3, disabled: true }]\"\n * :model-value=\"1\"\n * @update:model-value=\"yourUpdateHandler\"\n * />\n * `\n * }\n */\n export default defineComponent({\n name: 'bento-segmented-control',\n i18n: { messages },\n components: { SegmentedControlButton },\n directives: { BentoTooltipDirective },\n props: {\n /**\n * Items that will populate the segmented control.\n */\n items: {\n type: Array as PropType<BentoSegmentedControlItem[]>,\n required: true,\n validator: (arr: Array<BentoSegmentedControlItem[]>) => arr.length <= 5,\n },\n /**\n * Determines the selected value of the group. Corresponds to the BentoSegmentedControlItem's value.\n */\n modelValue: {\n type: [Number, String, null],\n required: true,\n },\n /**\n * @deprecated from version 2.0.0. Use the aria-label attribute instead.\n */\n /**\n * Accessible name describing the segmented control.\n */\n ariaLabel: {\n type: String,\n default: null,\n },\n /**\n * If set to true, renders the component full width.\n */\n fullWidth: {\n type: Boolean,\n default: false,\n },\n /**\n * If set to true, wraps the items in the segmented control to show their content whenever these don't fit in the available space anymore.\n */\n wrap: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [BentoSegmentedControlEvent.UPDATE],\n setup(props, { attrs, emit }) {\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const inputValue = toRef(props, 'modelValue');\n\n const ariaLabelAttribute = ref(attrs['aria-label']);\n const { ariaLabel } = toRefs(props);\n const computedAriaLabel = useAriaLabel({\n ariaLabel: ariaLabelAttribute.value as string,\n // TODO: take this line away when the aria-label props is removed\n label: ariaLabel,\n defaultFallback: t('ariaLabelFallback'),\n });\n\n const segmentedControlRef = ref();\n const segmentedControlButtonRef = ref();\n const hasEllipsis = ref();\n\n const truncate = computed(() => !props.wrap);\n\n onMounted(() => {\n observeSizeOfElement(segmentedControlRef.value, () => {\n if (segmentedControlRef.value) {\n hasEllipsis.value = segmentedControlButtonRef?.value?.map(\n el =>\n el.$refs.segmentedControlButtonLabel.$el.offsetWidth <\n el.$refs.segmentedControlButtonLabel.$el.scrollWidth\n );\n }\n });\n });\n\n const computedItems = computed(() =>\n props.items.map((el, index) => ({\n ...el,\n tooltipText: truncate.value && hasEllipsis?.value?.[index] ? el.label : undefined,\n }))\n );\n\n const onInput = value => {\n emit(BentoSegmentedControlEvent.UPDATE, value);\n };\n\n const conditionalClasses = computed(() => ({\n 'b-segmented-control--hug': !props.fullWidth,\n 'b-segmented-control--full-width': props.fullWidth,\n 'b-segmented-control--truncate': truncate.value,\n 'b-segmented-control--wrap': props.wrap,\n }));\n\n return {\n // Values\n computedAriaLabel,\n inputValue,\n segmentedControlRef,\n segmentedControlButtonRef,\n computedItems,\n truncate,\n conditionalClasses,\n\n // Methods\n onInput,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./segmented-control.scss\" />\n"],"names":["_sfc_main$1","defineComponent","BentoTypography","CheckmarkIcon","props","emit","segmentedControlButtonLabel","ref","segmentedControlButtonId","generateUid","isChecked","computed","conditionalClasses","createElementVNode","_ctx","_hoisted_1","openBlock","createElementBlock","createBlock","_component_checkmark_icon","createCommentVNode","createVNode","_component_bento_typography","BentoSegmentedControlEvent","BentoSegmentedControlEvent2","_sfc_main","messages","SegmentedControlButton","BentoTooltipDirective","arr","attrs","t","useI18n","inputValue","toRef","ariaLabelAttribute","ariaLabel","toRefs","computedAriaLabel","useAriaLabel","segmentedControlRef","segmentedControlButtonRef","hasEllipsis","truncate","onMounted","observeSizeOfElement","_a","el","computedItems","index","onInput","value","_directive_bento_tooltip_directive","resolveDirective","normalizeClass","item"],"mappings":"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"}