@adyen/bento-vue3 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/dist/@types/components.d.ts +8 -4
  2. package/dist/@types/packages/core/src/components/button/button.types.d.ts +8 -0
  3. package/dist/@types/packages/vue2/src/components/accordion/accordion.keys.d.ts +1 -1
  4. package/dist/@types/packages/vue2/src/components/accordion/accordion.types.d.ts +1 -24
  5. package/dist/@types/packages/vue2/src/components/accordion/accordion.vue.d.ts +17 -57
  6. package/dist/@types/packages/vue2/src/components/accordion/components/accordion-item.vue.d.ts +27 -29
  7. package/dist/@types/packages/vue2/src/components/accordion/index.d.ts +2 -3
  8. package/dist/@types/packages/vue2/src/components/alert/alert.vue.d.ts +0 -4
  9. package/dist/@types/packages/vue2/src/components/avatar-image/avatar-image.vue.d.ts +1 -4
  10. package/dist/@types/packages/vue2/src/components/button/button.vue.d.ts +136 -128
  11. package/dist/@types/packages/vue2/src/components/button/components/button-actions/button-actions.types.d.ts +3 -5
  12. package/dist/@types/packages/vue2/src/components/button/components/button-actions/button-actions.vue.d.ts +3 -3
  13. package/dist/@types/packages/vue2/src/components/button/components/loading-button/loading-button.vue.d.ts +2 -2
  14. package/dist/@types/packages/vue2/src/components/card/card.vue.d.ts +46 -15
  15. package/dist/@types/packages/vue2/src/components/checkbox/checkbox.types.d.ts +2 -1
  16. package/dist/@types/packages/vue2/src/components/checkbox/checkbox.vue.d.ts +6 -7
  17. package/dist/@types/packages/vue2/src/components/checkbox/components/checkbox-group/checkbox-group.vue.d.ts +4 -3
  18. package/dist/@types/packages/vue2/src/components/code-snippet/code-snippet.types.d.ts +2 -1
  19. package/dist/@types/packages/vue2/src/components/code-snippet/code-snippet.vue.d.ts +37 -11
  20. package/dist/@types/packages/vue2/src/components/country/country.vue.d.ts +0 -2
  21. package/dist/@types/packages/vue2/src/components/currency/currency.vue.d.ts +0 -3
  22. package/dist/@types/packages/vue2/src/components/data-grid/components/data-grid-columns/data-grid-columns.vue.d.ts +3 -22
  23. package/dist/@types/packages/vue2/src/components/data-grid/components/data-grid-config-settings/components/data-grid-config-settings-column-row/data-grid-config-settings-column-row.vue.d.ts +0 -5
  24. package/dist/@types/packages/vue2/src/components/data-grid/components/data-grid-config-settings/data-grid-config-settings.vue.d.ts +0 -24
  25. package/dist/@types/packages/vue2/src/components/data-grid/data-grid.types.d.ts +2 -0
  26. package/dist/@types/packages/vue2/src/components/data-grid/data-grid.vue.d.ts +277 -16
  27. package/dist/@types/packages/vue2/src/components/date/date.vue.d.ts +2 -5
  28. package/dist/@types/packages/vue2/src/components/date-picker/date-picker.vue.d.ts +0 -20
  29. package/dist/@types/packages/vue2/src/components/date-range-picker/components/date-range-picker-calendar/date-range-picker-calendar.vue.d.ts +0 -2
  30. package/dist/@types/packages/vue2/src/components/date-range-picker/date-range-picker.vue.d.ts +0 -20
  31. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.vue.d.ts +3 -6
  32. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-default-textbox/dropdown-default-textbox.vue.d.ts +3 -3
  33. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-options-container/dropdown-options-container.vue.d.ts +164 -104
  34. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-small-textbox/dropdown-small-textbox.vue.d.ts +2 -2
  35. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.types.d.ts +1 -1
  36. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue.d.ts +0 -2
  37. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.types.d.ts +1 -1
  38. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.types.d.ts +1 -1
  39. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.types.d.ts +1 -1
  40. package/dist/@types/packages/vue2/src/components/dropdown/dropdown.vue.d.ts +7 -9
  41. package/dist/@types/packages/vue2/src/components/empty-state/empty-state.types.d.ts +27 -0
  42. package/dist/@types/packages/vue2/src/components/empty-state/empty-state.vue.d.ts +76 -0
  43. package/dist/@types/packages/vue2/src/components/empty-state/index.d.ts +2 -0
  44. package/dist/@types/packages/vue2/src/components/filter-bar/components/all-filters-modal/all-filters-modal.vue.d.ts +19 -25
  45. package/dist/@types/packages/vue2/src/components/filter-bar/components/all-filters-modal/components/all-filters-modal-button/all-filters-modal-button.vue.d.ts +1 -1
  46. package/dist/@types/packages/vue2/src/components/filter-bar/components/base-filter/base-filter.vue.d.ts +1 -27
  47. package/dist/@types/packages/vue2/src/components/filter-bar/components/base-filter-button/base-filter-button.vue.d.ts +1 -4
  48. package/dist/@types/packages/vue2/src/components/filter-bar/components/date-filter/date-filter.vue.d.ts +1 -1
  49. package/dist/@types/packages/vue2/src/components/filter-bar/components/date-range-filter/date-range-filter.vue.d.ts +1 -11
  50. package/dist/@types/packages/vue2/src/components/filter-bar/components/filter-bar-button/filter-bar-button.vue.d.ts +53 -0
  51. package/dist/@types/packages/vue2/src/components/filter-bar/components/filter-bar-button/index.d.ts +1 -0
  52. package/dist/@types/packages/vue2/src/components/filter-bar/components/input-filter/input-filter.vue.d.ts +1 -0
  53. package/dist/@types/packages/vue2/src/components/filter-bar/components/range-filter/range-filter.vue.d.ts +0 -2
  54. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/select-filter.vue.d.ts +1 -1
  55. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-country-filter/select-country-filter.vue.d.ts +0 -2
  56. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-tag-filter/select-tag-filter.vue.d.ts +0 -2
  57. package/dist/@types/packages/vue2/src/components/filter-bar/filter-bar.vue.d.ts +0 -2
  58. package/dist/@types/packages/vue2/src/components/focus-trap/focus-trap.vue.d.ts +7 -0
  59. package/dist/@types/packages/vue2/src/components/header/header.vue.d.ts +0 -2
  60. package/dist/@types/packages/vue2/src/components/image/const.d.ts +1 -0
  61. package/dist/@types/packages/vue2/src/components/image/image.types.d.ts +19 -0
  62. package/dist/@types/packages/vue2/src/components/image/image.vue.d.ts +50 -0
  63. package/dist/@types/packages/vue2/src/components/image/index.d.ts +1 -0
  64. package/dist/@types/packages/vue2/src/components/info-icon/info-icon.vue.d.ts +3 -3
  65. package/dist/@types/packages/vue2/src/components/input-field/input-field.types.d.ts +1 -0
  66. package/dist/@types/packages/vue2/src/components/input-field/input-field.vue.d.ts +61 -58
  67. package/dist/@types/packages/vue2/src/components/internal/avatar/avatar.vue.d.ts +0 -3
  68. package/dist/@types/packages/vue2/src/components/internal/base-button/base-button.vue.d.ts +1 -4
  69. package/dist/@types/packages/vue2/src/components/internal/calendar/components/calendar-month/calendar-month.vue.d.ts +0 -5
  70. package/dist/@types/packages/vue2/src/components/internal/calendar/components/calendar-month/components/calendar-month-day/calendar-month-day.vue.d.ts +2 -2
  71. package/dist/@types/packages/vue2/src/components/internal/copy/copy.vue.d.ts +0 -2
  72. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/components/listbox-multi-select-category/listbox-multi-select-category.vue.d.ts +0 -2
  73. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/listbox-multi-select-options.vue.d.ts +0 -2
  74. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-multi-select/listbox-multi-select.vue.d.ts +0 -2
  75. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-option-tag/listbox-option-tag.vue.d.ts +0 -2
  76. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-single-select-option/listbox-single-select-option.vue.d.ts +0 -2
  77. package/dist/@types/packages/vue2/src/components/internal/listbox/listbox.vue.d.ts +3 -7
  78. package/dist/@types/packages/vue2/src/components/link/link.vue.d.ts +4 -0
  79. package/dist/@types/packages/vue2/src/components/menu/components/menu-item/menu-item.vue.d.ts +2 -5
  80. package/dist/@types/packages/vue2/src/components/menu/menu.vue.d.ts +6 -31
  81. package/dist/@types/packages/vue2/src/components/modal/components/base-modal/__mocks__/base-modal.vue.d.ts +0 -5
  82. package/dist/@types/packages/vue2/src/components/modal/components/base-modal/base-modal.vue.d.ts +14 -9
  83. package/dist/@types/packages/vue2/src/components/modal/components/modal-default/modal-default.vue.d.ts +2 -2
  84. package/dist/@types/packages/vue2/src/components/modal/components/modal-dialog/modal-dialog.vue.d.ts +4 -14
  85. package/dist/@types/packages/vue2/src/components/modal/modal.vue.d.ts +7 -6
  86. package/dist/@types/packages/vue2/src/components/pagination/components/pagination-context/pagination-context.vue.d.ts +0 -2
  87. package/dist/@types/packages/vue2/src/components/pagination/components/pagination-controls/pagination-controls.vue.d.ts +0 -2
  88. package/dist/@types/packages/vue2/src/components/pagination/components/pagination-results-per-page/pagination-results-per-page.vue.d.ts +0 -2
  89. package/dist/@types/packages/vue2/src/components/pagination/pagination.vue.d.ts +2 -1
  90. package/dist/@types/packages/vue2/src/components/payment-method/payment-method.vue.d.ts +0 -2
  91. package/dist/@types/packages/vue2/src/components/popover/components/popover-dismiss-button/popover-dismiss-button.vue.d.ts +0 -2
  92. package/dist/@types/packages/vue2/src/components/popover/components/popover-title/popover-title.vue.d.ts +1 -2
  93. package/dist/@types/packages/vue2/src/components/popover/popover.vue.d.ts +9 -9
  94. package/dist/@types/packages/vue2/src/components/popper-container/popper-container.vue.d.ts +5 -14
  95. package/dist/@types/packages/vue2/src/components/radio-group/components/radio-button/radio-button.vue.d.ts +4 -6
  96. package/dist/@types/packages/vue2/src/components/radio-group/radio-group.types.d.ts +2 -1
  97. package/dist/@types/packages/vue2/src/components/radio-group/radio-group.vue.d.ts +4 -3
  98. package/dist/@types/packages/vue2/src/components/search-bar/search-bar.vue.d.ts +19 -390
  99. package/dist/@types/packages/vue2/src/components/segmented-control/components/segmented-control-button/segmented-control-button.vue.d.ts +0 -3
  100. package/dist/@types/packages/vue2/src/components/segmented-control/segmented-control.vue.d.ts +1 -0
  101. package/dist/@types/packages/vue2/src/components/sidepanel/sidepanel.types.d.ts +3 -1
  102. package/dist/@types/packages/vue2/src/components/status/status.vue.d.ts +2 -5
  103. package/dist/@types/packages/vue2/src/components/structured-list/components/structered-list-item/structured-list-item.vue.d.ts +0 -2
  104. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item/summary-grid-item.vue.d.ts +2 -23
  105. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-amount/summary-grid-item-amount.vue.d.ts +2 -5
  106. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-numeric/summary-grid-item-numeric.vue.d.ts +2 -5
  107. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-percentage/summary-grid-item-percentage.vue.d.ts +2 -5
  108. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-text/summary-grid-item-text.vue.d.ts +1 -4
  109. package/dist/@types/packages/vue2/src/components/tabs/components/tab.types.d.ts +3 -1
  110. package/dist/@types/packages/vue2/src/components/tabs/components/tab.vue.d.ts +1 -0
  111. package/dist/@types/packages/vue2/src/components/tabs/tabs.keys.d.ts +1 -0
  112. package/dist/@types/packages/vue2/src/components/tabs/tabs.types.d.ts +6 -2
  113. package/dist/@types/packages/vue2/src/components/tabs/tabs.vue.d.ts +4 -9
  114. package/dist/@types/packages/vue2/src/components/tag/tag.vue.d.ts +6 -9
  115. package/dist/@types/packages/vue2/src/components/textarea/textarea.vue.d.ts +6 -10
  116. package/dist/@types/packages/vue2/src/components/timeline/components/timeline-item/timeline-item.vue.d.ts +4 -10
  117. package/dist/@types/packages/vue2/src/components/timeline/timeline.types.d.ts +1 -0
  118. package/dist/@types/packages/vue2/src/components/toast/components/toast-item/toast-item.vue.d.ts +0 -5
  119. package/dist/@types/packages/vue2/src/components/toggle/toggle.vue.d.ts +4 -6
  120. package/dist/@types/packages/vue2/src/components/tooltip/tooltip.vue.d.ts +24 -40
  121. package/dist/@types/packages/vue2/src/composables/use-default-slot-validator/use-default-slot-validator.d.ts +2 -1
  122. package/dist/@types/packages/vue2/src/composables/use-has-slot/use-has-slot.d.ts +8 -1
  123. package/dist/@types/packages/vue2/src/index.d.ts +3 -0
  124. package/dist/@types/packages/vue2/src/templates/data-grid-template/data-grid-template.vue.d.ts +9 -0
  125. package/dist/@types/packages/vue2/src/utils/ts/get-slot-text/get-slot-text.d.ts +1 -1
  126. package/dist/@types/packages/vue2/src/utils/ts/print-development-warning.d.ts +1 -0
  127. package/dist/accordion.js +104 -254
  128. package/dist/accordion.js.map +1 -1
  129. package/dist/alert.js +61 -64
  130. package/dist/alert.js.map +1 -1
  131. package/dist/assets/base-button.css +1 -1
  132. package/dist/assets/base-modal.css +1 -0
  133. package/dist/assets/button.css +1 -1
  134. package/dist/assets/calendar.css +1 -1
  135. package/dist/assets/checkbox.css +1 -1
  136. package/dist/assets/chevron-up.css +1 -0
  137. package/dist/assets/controls-group.css +1 -1
  138. package/dist/assets/copy.css +1 -1
  139. package/dist/assets/dropdown-default-textbox.css +1 -1
  140. package/dist/assets/dropdown.css +1 -1
  141. package/dist/assets/error-message.css +1 -1
  142. package/dist/assets/footer-actions.css +1 -1
  143. package/dist/assets/index.css +1 -1
  144. package/dist/assets/index10.css +1 -1
  145. package/dist/assets/index11.css +1 -1
  146. package/dist/assets/index12.css +1 -1
  147. package/dist/assets/index13.css +1 -1
  148. package/dist/assets/index14.css +1 -1
  149. package/dist/assets/index15.css +1 -1
  150. package/dist/assets/index16.css +1 -1
  151. package/dist/assets/index17.css +1 -1
  152. package/dist/assets/index18.css +1 -1
  153. package/dist/assets/index19.css +1 -1
  154. package/dist/assets/index2.css +1 -1
  155. package/dist/assets/index20.css +1 -1
  156. package/dist/assets/index21.css +1 -1
  157. package/dist/assets/index22.css +1 -1
  158. package/dist/assets/index24.css +1 -1
  159. package/dist/assets/index25.css +1 -1
  160. package/dist/assets/index26.css +1 -1
  161. package/dist/assets/index27.css +1 -1
  162. package/dist/assets/index28.css +1 -1
  163. package/dist/assets/index29.css +1 -1
  164. package/dist/assets/index3.css +1 -1
  165. package/dist/assets/index30.css +1 -1
  166. package/dist/assets/index31.css +1 -1
  167. package/dist/assets/index32.css +1 -1
  168. package/dist/assets/index33.css +1 -1
  169. package/dist/assets/index34.css +1 -1
  170. package/dist/assets/index35.css +1 -1
  171. package/dist/assets/index36.css +1 -1
  172. package/dist/assets/index37.css +1 -1
  173. package/dist/assets/index38.css +1 -1
  174. package/dist/assets/index39.css +1 -1
  175. package/dist/assets/index4.css +1 -1
  176. package/dist/assets/index40.css +1 -1
  177. package/dist/assets/index41.css +1 -1
  178. package/dist/assets/index42.css +1 -1
  179. package/dist/assets/index43.css +1 -0
  180. package/dist/assets/index5.css +1 -1
  181. package/dist/assets/index6.css +1 -1
  182. package/dist/assets/index7.css +1 -1
  183. package/dist/assets/index8.css +1 -1
  184. package/dist/assets/index9.css +1 -1
  185. package/dist/assets/listbox-option-tag.css +1 -1
  186. package/dist/assets/listbox.css +1 -1
  187. package/dist/assets/loading-button.css +1 -1
  188. package/dist/assets/tooltip.css +1 -1
  189. package/dist/avatar-image.js +1 -1
  190. package/dist/badge.js +2 -2
  191. package/dist/button.js +143 -12
  192. package/dist/button.js.map +1 -1
  193. package/dist/card.js +99 -94
  194. package/dist/card.js.map +1 -1
  195. package/dist/checkbox.js +40 -39
  196. package/dist/checkbox.js.map +1 -1
  197. package/dist/chunks/base-button.6d2843c2.js +108 -0
  198. package/dist/chunks/base-button.6d2843c2.js.map +1 -0
  199. package/dist/chunks/base-modal.3ccb9eb5.js +291 -0
  200. package/dist/chunks/base-modal.3ccb9eb5.js.map +1 -0
  201. package/dist/chunks/{button.e1c39f66.js → button.a8462029.js} +39 -42
  202. package/dist/chunks/button.a8462029.js.map +1 -0
  203. package/dist/chunks/{calendar.09b683b3.js → calendar.3f930683.js} +237 -240
  204. package/dist/chunks/calendar.3f930683.js.map +1 -0
  205. package/dist/chunks/checkbox.5e1e05ae.js +235 -0
  206. package/dist/chunks/checkbox.5e1e05ae.js.map +1 -0
  207. package/dist/chunks/{chevron-down.69bedf14.js → chevron-up.c03b58f8.js} +8 -8
  208. package/dist/chunks/chevron-up.c03b58f8.js.map +1 -0
  209. package/dist/chunks/controls-group.3b0dfb94.js +136 -0
  210. package/dist/chunks/controls-group.3b0dfb94.js.map +1 -0
  211. package/dist/chunks/{copy.2cf5e6c3.js → copy.1d14b783.js} +49 -50
  212. package/dist/chunks/copy.1d14b783.js.map +1 -0
  213. package/dist/chunks/{dropdown-default-textbox.203e747f.js → dropdown-default-textbox.a90e84f9.js} +88 -90
  214. package/dist/chunks/dropdown-default-textbox.a90e84f9.js.map +1 -0
  215. package/dist/chunks/{dropdown.8b415aac.js → dropdown.b798a82e.js} +348 -330
  216. package/dist/chunks/dropdown.b798a82e.js.map +1 -0
  217. package/dist/chunks/{error-message.ddfe8ea5.js → error-message.9acead25.js} +16 -16
  218. package/dist/chunks/error-message.9acead25.js.map +1 -0
  219. package/dist/chunks/footer-actions.9537d0df.js +111 -0
  220. package/dist/chunks/footer-actions.9537d0df.js.map +1 -0
  221. package/dist/chunks/get-slot-text.bead058f.js +9 -0
  222. package/dist/chunks/get-slot-text.bead058f.js.map +1 -0
  223. package/dist/chunks/{grid-layout.a30855ff.js → grid-layout.984317d7.js} +2 -2
  224. package/dist/chunks/{grid-layout.a30855ff.js.map → grid-layout.984317d7.js.map} +1 -1
  225. package/dist/chunks/index.228ecda0.js +101 -0
  226. package/dist/chunks/index.228ecda0.js.map +1 -0
  227. package/dist/chunks/index.89b00b94.js +124 -0
  228. package/dist/chunks/index.89b00b94.js.map +1 -0
  229. package/dist/chunks/{index.3da90517.js → index.9d8273fc.js} +38 -40
  230. package/dist/chunks/index.9d8273fc.js.map +1 -0
  231. package/dist/chunks/{index.c9225c3b.js → index.c2a80208.js} +195 -201
  232. package/dist/chunks/index.c2a80208.js.map +1 -0
  233. package/dist/chunks/{index.13949709.js → index.d26fdf71.js} +116 -113
  234. package/dist/chunks/{index.13949709.js.map → index.d26fdf71.js.map} +1 -1
  235. package/dist/chunks/{index.d27367cd.js → index.e84dbeae.js} +80 -83
  236. package/dist/chunks/{index.d27367cd.js.map → index.e84dbeae.js.map} +1 -1
  237. package/dist/chunks/listbox-option-tag.0c9c571e.js +129 -0
  238. package/dist/chunks/listbox-option-tag.0c9c571e.js.map +1 -0
  239. package/dist/chunks/{listbox.0c7c4e5e.js → listbox.6b52af1a.js} +315 -334
  240. package/dist/chunks/listbox.6b52af1a.js.map +1 -0
  241. package/dist/chunks/{loading-button.61d8ebe5.js → loading-button.081adbf3.js} +33 -33
  242. package/dist/chunks/loading-button.081adbf3.js.map +1 -0
  243. package/dist/chunks/tabs.keys.358742f2.js +7 -0
  244. package/dist/chunks/tabs.keys.358742f2.js.map +1 -0
  245. package/dist/chunks/{tooltip.835d9b52.js → tooltip.e4e34b86.js} +56 -59
  246. package/dist/chunks/tooltip.e4e34b86.js.map +1 -0
  247. package/dist/chunks/use-default-slot-validator.1169c221.js +16 -0
  248. package/dist/chunks/use-default-slot-validator.1169c221.js.map +1 -0
  249. package/dist/chunks/use-has-slot.9fac7123.js +16 -0
  250. package/dist/chunks/use-has-slot.9fac7123.js.map +1 -0
  251. package/dist/code-snippet.js +548 -463
  252. package/dist/code-snippet.js.map +1 -1
  253. package/dist/country.js +501 -505
  254. package/dist/country.js.map +1 -1
  255. package/dist/currency.js +38 -41
  256. package/dist/currency.js.map +1 -1
  257. package/dist/data-grid.js +837 -833
  258. package/dist/data-grid.js.map +1 -1
  259. package/dist/date-picker.js +83 -87
  260. package/dist/date-picker.js.map +1 -1
  261. package/dist/date-range-picker.js +2 -2
  262. package/dist/date.js +1 -1
  263. package/dist/dropdown.js +30 -32
  264. package/dist/dropdown.js.map +1 -1
  265. package/dist/empty-state.js +166 -0
  266. package/dist/empty-state.js.map +1 -0
  267. package/dist/filter-bar.js +986 -935
  268. package/dist/filter-bar.js.map +1 -1
  269. package/dist/focus-trap.js +1 -1
  270. package/dist/form-layout.js +72 -72
  271. package/dist/form-layout.js.map +1 -1
  272. package/dist/header.js +50 -52
  273. package/dist/header.js.map +1 -1
  274. package/dist/image.js +76 -0
  275. package/dist/image.js.map +1 -0
  276. package/dist/index.js +239 -232
  277. package/dist/index.js.map +1 -1
  278. package/dist/info-icon.js +2 -2
  279. package/dist/input-field.js +241 -269
  280. package/dist/input-field.js.map +1 -1
  281. package/dist/internal.js +7 -7
  282. package/dist/link.js +38 -36
  283. package/dist/link.js.map +1 -1
  284. package/dist/loading-indicator.js +1 -1
  285. package/dist/menu.js +131 -139
  286. package/dist/menu.js.map +1 -1
  287. package/dist/modal.js +121 -356
  288. package/dist/modal.js.map +1 -1
  289. package/dist/pagination.js +182 -185
  290. package/dist/pagination.js.map +1 -1
  291. package/dist/payment-method.js +19 -23
  292. package/dist/payment-method.js.map +1 -1
  293. package/dist/popover.js +56 -52
  294. package/dist/popover.js.map +1 -1
  295. package/dist/popper-container.js +36 -41
  296. package/dist/popper-container.js.map +1 -1
  297. package/dist/radio-group.js +112 -113
  298. package/dist/radio-group.js.map +1 -1
  299. package/dist/search-bar.js +77 -91
  300. package/dist/search-bar.js.map +1 -1
  301. package/dist/segmented-control.js +88 -75
  302. package/dist/segmented-control.js.map +1 -1
  303. package/dist/sidepanel.js +122 -121
  304. package/dist/sidepanel.js.map +1 -1
  305. package/dist/status.js +18 -21
  306. package/dist/status.js.map +1 -1
  307. package/dist/structured-list.js +1 -1
  308. package/dist/summary-grid.js +129 -162
  309. package/dist/summary-grid.js.map +1 -1
  310. package/dist/tabs.js +83 -75
  311. package/dist/tabs.js.map +1 -1
  312. package/dist/tag.js +32 -35
  313. package/dist/tag.js.map +1 -1
  314. package/dist/textarea.js +156 -155
  315. package/dist/textarea.js.map +1 -1
  316. package/dist/timeline.js +212 -213
  317. package/dist/timeline.js.map +1 -1
  318. package/dist/toast.js +68 -72
  319. package/dist/toast.js.map +1 -1
  320. package/dist/toggle.js +75 -73
  321. package/dist/toggle.js.map +1 -1
  322. package/dist/typography.js +1 -1
  323. package/dist/web-types.json +1 -1
  324. package/package.json +11 -10
  325. package/dist/@types/packages/vue2/src/components/data-grid/composables/useCalculateBodyFitContentDynamicStyles/useCalculateBodyFitContentDynamicStyles.d.ts +0 -2
  326. package/dist/@types/packages/vue2/src/components/data-grid/composables/useCalculateBodyFitContentDynamicStyles/useCalculateBodyFitContentDynamicStyles.types.d.ts +0 -8
  327. package/dist/@types/packages/vue2/src/components/filter-bar/components/base-filter/components/filter-bar-filter-button/filter-bar-filter-button.vue.d.ts +0 -58
  328. package/dist/@types/packages/vue2/src/components/filter-bar/components/base-filter/components/index.d.ts +0 -1
  329. package/dist/assets/button-actions.css +0 -1
  330. package/dist/assets/chevron-down.css +0 -1
  331. package/dist/chunks/base-button.20be08da.js +0 -111
  332. package/dist/chunks/base-button.20be08da.js.map +0 -1
  333. package/dist/chunks/button-actions.54e28e75.js +0 -124
  334. package/dist/chunks/button-actions.54e28e75.js.map +0 -1
  335. package/dist/chunks/button.e1c39f66.js.map +0 -1
  336. package/dist/chunks/calendar.09b683b3.js.map +0 -1
  337. package/dist/chunks/checkbox.a404069b.js +0 -226
  338. package/dist/chunks/checkbox.a404069b.js.map +0 -1
  339. package/dist/chunks/chevron-down.69bedf14.js.map +0 -1
  340. package/dist/chunks/controls-group.60fb2a86.js +0 -136
  341. package/dist/chunks/controls-group.60fb2a86.js.map +0 -1
  342. package/dist/chunks/copy.2cf5e6c3.js.map +0 -1
  343. package/dist/chunks/dropdown-default-textbox.203e747f.js.map +0 -1
  344. package/dist/chunks/dropdown.8b415aac.js.map +0 -1
  345. package/dist/chunks/error-message.ddfe8ea5.js.map +0 -1
  346. package/dist/chunks/footer-actions.0f640f87.js +0 -106
  347. package/dist/chunks/footer-actions.0f640f87.js.map +0 -1
  348. package/dist/chunks/get-slot-text.2db867f8.js +0 -9
  349. package/dist/chunks/get-slot-text.2db867f8.js.map +0 -1
  350. package/dist/chunks/index.222d29b0.js +0 -120
  351. package/dist/chunks/index.222d29b0.js.map +0 -1
  352. package/dist/chunks/index.3da90517.js.map +0 -1
  353. package/dist/chunks/index.aa34e363.js +0 -104
  354. package/dist/chunks/index.aa34e363.js.map +0 -1
  355. package/dist/chunks/index.c9225c3b.js.map +0 -1
  356. package/dist/chunks/listbox-option-tag.5ae8b79b.js +0 -133
  357. package/dist/chunks/listbox-option-tag.5ae8b79b.js.map +0 -1
  358. package/dist/chunks/listbox.0c7c4e5e.js.map +0 -1
  359. package/dist/chunks/loading-button.61d8ebe5.js.map +0 -1
  360. package/dist/chunks/tooltip.835d9b52.js.map +0 -1
  361. package/dist/chunks/use-default-slot-validator.83d977a1.js +0 -11
  362. package/dist/chunks/use-default-slot-validator.83d977a1.js.map +0 -1
  363. package/dist/chunks/use-has-slot.068222e6.js +0 -5
  364. package/dist/chunks/use-has-slot.068222e6.js.map +0 -1
@@ -1,19 +1,19 @@
1
- import { defineComponent as V, toRefs as $, computed as d, resolveComponent as y, openBlock as l, createElementBlock as h, normalizeClass as E, createElementVNode as N, createBlock as v, withCtx as b, renderSlot as C, createCommentVNode as f, toRef as B, createVNode as O, Fragment as M, renderList as U, createSlots as q, createTextVNode as _, toDisplayString as I } from "vue";
2
- import { B as w, b as P, a as G, d as H } from "./chunks/index.222d29b0.js";
3
- import { u as Y } from "./chunks/aria-label.ac9651a5.js";
4
- import { g as S } from "./chunks/unique-id.a2a2b458.js";
5
- import { u as z } from "./chunks/use-has-slot.068222e6.js";
6
- import { u as F } from "./chunks/use-default-slot-validator.83d977a1.js";
7
- import { g as Z } from "./chunks/get-slot-text.2db867f8.js";
8
- import { _ as k } from "./chunks/_plugin-vue_export-helper.dad06003.js";
9
- import { u as j } from "./chunks/use-form-layout-loading.d03e5d48.js";
10
- import { C as J } from "./chunks/controls-group.60fb2a86.js";
11
- import { E as K } from "./chunks/error-message.ddfe8ea5.js";
12
- import "./assets/index8.css";
13
- var m = /* @__PURE__ */ ((e) => (e.DISABLED = "disabled", e.READONLY = "readonly", e.ERROR = "error", e))(m || {}), g = /* @__PURE__ */ ((e) => (e.HORIZONTAL = "horizontal", e.VERTICAL = "vertical", e))(g || {}), c = /* @__PURE__ */ ((e) => (e.UPDATE = "update:model-value", e))(c || {});
14
- const Q = V({
1
+ import { defineComponent as L, toRefs as U, computed as n, resolveComponent as f, openBlock as l, createElementBlock as g, normalizeClass as _, createElementVNode as O, createBlock as v, withCtx as c, renderSlot as S, createCommentVNode as m, toRef as C, createVNode as M, Fragment as P, renderList as q, createSlots as w, createTextVNode as k, toDisplayString as B } from "vue";
2
+ import { B as H, d as z } from "./chunks/index.89b00b94.js";
3
+ import { u as F } from "./chunks/aria-label.ac9651a5.js";
4
+ import { g as I } from "./chunks/unique-id.a2a2b458.js";
5
+ import { u as G } from "./chunks/use-has-slot.9fac7123.js";
6
+ import { u as Y } from "./chunks/use-default-slot-validator.1169c221.js";
7
+ import { g as E } from "./chunks/get-slot-text.bead058f.js";
8
+ import { _ as T } from "./chunks/_plugin-vue_export-helper.dad06003.js";
9
+ import { u as Z } from "./chunks/use-form-layout-loading.d03e5d48.js";
10
+ import { C as j } from "./chunks/controls-group.3b0dfb94.js";
11
+ import { E as J } from "./chunks/error-message.9acead25.js";
12
+ import "./assets/index30.css";
13
+ var y = /* @__PURE__ */ ((e) => (e.DISABLED = "disabled", e.READONLY = "readonly", e.ERROR = "error", e))(y || {}), h = /* @__PURE__ */ ((e) => (e.HORIZONTAL = "horizontal", e.VERTICAL = "vertical", e))(h || {}), i = /* @__PURE__ */ ((e) => (e.UPDATE = "update:model-value", e.INPUT = "input", e))(i || {});
14
+ const K = L({
15
15
  name: "radio-button",
16
- components: { BentoTypography: w },
16
+ components: { BentoTypography: H },
17
17
  props: {
18
18
  /**
19
19
  * Disable the radio button (optional)
@@ -52,100 +52,99 @@ const Q = V({
52
52
  required: !0
53
53
  }
54
54
  },
55
- emits: [c.UPDATE],
56
- setup(e, { slots: a, emit: u }) {
57
- const i = z(a), { value: n } = $(e), p = S("radio-button"), t = S("description"), r = i("default"), s = i("description");
58
- F("radio-button", r, s);
59
- const o = d(() => ({
60
- [`b-radio-button--${m.DISABLED}`]: e.disabled,
61
- [`b-radio-button--${m.READONLY}`]: e.readonly
62
- })), T = d(() => ({
63
- [`b-radio-button__input--${m.ERROR}`]: e.hasError
64
- })), A = Y({
65
- ariaLabel: Z(a)("default"),
66
- label: n.value
67
- }), L = d(() => e.hasError), R = d(() => e.value === e.modelValue);
55
+ emits: [i.UPDATE],
56
+ setup(e, { slots: o, emit: s }) {
57
+ const { value: u } = U(e), d = I("radio-button"), p = I("description"), t = E(o)("default"), r = E(o)("description");
58
+ Y("radio-button", o.default, o.description);
59
+ const b = n(() => ({
60
+ [`b-radio-button--${y.DISABLED}`]: e.disabled,
61
+ [`b-radio-button--${y.READONLY}`]: e.readonly
62
+ })), a = n(() => ({
63
+ [`b-radio-button__input--${y.ERROR}`]: e.hasError
64
+ })), V = F({
65
+ ariaLabel: E(o)("default"),
66
+ label: u.value
67
+ }), R = n(() => e.hasError), $ = n(() => e.value === e.modelValue), A = () => {
68
+ !e.disabled && !e.readonly && s(i.UPDATE, e.value);
69
+ }, D = (N) => {
70
+ e.readonly && N.preventDefault();
71
+ };
68
72
  return {
69
73
  // Values
70
- ariaLabel: A,
71
- ariaInvalid: L,
72
- isChecked: R,
73
- defaultSlotValue: r,
74
- descriptionSlotValue: s,
75
- conditionalClassContainer: o,
76
- conditionalClassInput: T,
77
- radioButtonId: p,
78
- descriptionId: t,
79
- // Events
80
- onChange: () => {
81
- !e.disabled && !e.readonly && u(c.UPDATE, e.value);
82
- },
83
- onClick: (D) => {
84
- e.readonly && D.preventDefault();
85
- },
86
- // Enums
87
- BentoTypographyVariant: P,
88
- BentoTypographyElement: G
74
+ ariaLabel: V,
75
+ ariaInvalid: R,
76
+ isChecked: $,
77
+ defaultSlotValue: t,
78
+ descriptionSlotValue: r,
79
+ conditionalClassContainer: b,
80
+ conditionalClassInput: a,
81
+ radioButtonId: d,
82
+ descriptionId: p,
83
+ // Methods
84
+ hasSlot: G(o),
85
+ onChange: A,
86
+ onClick: D
89
87
  };
90
88
  }
91
89
  });
92
- const W = ["id", "aria-checked", "aria-label", "aria-invalid", "aria-describedby", "checked", "disabled", "aria-readonly", "value"], X = ["for"];
93
- function x(e, a, u, i, n, p) {
94
- const t = y("bento-typography");
95
- return l(), h("div", {
96
- class: E(["b-radio-button", e.conditionalClassContainer]),
90
+ const Q = ["id", "aria-checked", "aria-label", "aria-invalid", "aria-describedby", "checked", "disabled", "aria-readonly", "value"], W = ["for"];
91
+ function X(e, o, s, u, d, p) {
92
+ const t = f("bento-typography");
93
+ return l(), g("div", {
94
+ class: _(["b-radio-button", e.conditionalClassContainer]),
97
95
  "data-testid": "radio-button-container"
98
96
  }, [
99
- N("input", {
97
+ O("input", {
100
98
  id: e.radioButtonId,
101
99
  "aria-checked": e.isChecked,
102
100
  "aria-label": e.ariaLabel,
103
101
  "aria-invalid": e.ariaInvalid,
104
- "aria-describedby": e.descriptionSlotValue ? e.descriptionId : "",
102
+ "aria-describedby": e.hasSlot("description") ? e.descriptionId : "",
105
103
  checked: e.isChecked,
106
104
  disabled: e.disabled,
107
105
  "aria-readonly": e.readonly ? e.readonly : void 0,
108
106
  value: e.value,
109
107
  type: "radio",
110
- class: E(["b-radio-button__input", e.conditionalClassInput]),
108
+ class: _(["b-radio-button__input", e.conditionalClassInput]),
111
109
  role: "radio",
112
- onClick: a[0] || (a[0] = (...r) => e.onClick && e.onClick(...r)),
113
- onChange: a[1] || (a[1] = (...r) => e.onChange && e.onChange(...r))
114
- }, null, 42, W),
115
- e.defaultSlotValue ? (l(), h("label", {
110
+ onClick: o[0] || (o[0] = (...r) => e.onClick && e.onClick(...r)),
111
+ onChange: o[1] || (o[1] = (...r) => e.onChange && e.onChange(...r))
112
+ }, null, 42, Q),
113
+ e.hasSlot("default") ? (l(), g("label", {
116
114
  key: 0,
117
115
  for: e.radioButtonId,
118
116
  class: "b-radio-button__label-container"
119
117
  }, [
120
- e.defaultSlotValue ? (l(), v(t, {
118
+ e.hasSlot("default") ? (l(), v(t, {
121
119
  key: 0,
122
120
  class: "b-radio-button__label",
123
- el: e.BentoTypographyElement.SPAN,
124
- variant: e.BentoTypographyVariant.BODY
121
+ el: "span",
122
+ variant: "body"
125
123
  }, {
126
- default: b(() => [
127
- C(e.$slots, "default", {}, void 0, !0)
124
+ default: c(() => [
125
+ S(e.$slots, "default", {}, void 0, !0)
128
126
  ]),
129
127
  _: 3
130
- }, 8, ["el", "variant"])) : f("", !0),
131
- e.defaultSlotValue && e.descriptionSlotValue ? (l(), v(t, {
128
+ })) : m("", !0),
129
+ e.hasSlot("default") && e.hasSlot("description") ? (l(), v(t, {
132
130
  key: 1,
133
131
  id: e.descriptionId,
134
132
  class: "b-radio-button__description",
135
- el: e.BentoTypographyElement.SPAN,
136
- variant: e.BentoTypographyVariant.BODY
133
+ el: "span",
134
+ variant: "body"
137
135
  }, {
138
- default: b(() => [
139
- C(e.$slots, "description", {}, void 0, !0)
136
+ default: c(() => [
137
+ S(e.$slots, "description", {}, void 0, !0)
140
138
  ]),
141
139
  _: 3
142
- }, 8, ["id", "el", "variant"])) : f("", !0)
143
- ], 8, X)) : f("", !0)
140
+ }, 8, ["id"])) : m("", !0)
141
+ ], 8, W)) : m("", !0)
144
142
  ], 2);
145
143
  }
146
- const ee = /* @__PURE__ */ k(Q, [["render", x], ["__scopeId", "data-v-9bb45ebc"]]), oe = V({
144
+ const x = /* @__PURE__ */ T(K, [["render", X], ["__scopeId", "data-v-2bfa3dea"]]), ee = L({
147
145
  name: "bento-radio-group",
148
- components: { ControlsGroup: J, ErrorMessage: K, RadioButton: ee },
146
+ components: { ControlsGroup: j, ErrorMessage: J, RadioButton: x },
147
+ model: { prop: "modelValue" },
149
148
  props: {
150
149
  /**
151
150
  * Descriptive supporting text visbile underneath the label.
@@ -207,20 +206,20 @@ const ee = /* @__PURE__ */ k(Q, [["render", x], ["__scopeId", "data-v-9bb45ebc"]
207
206
  */
208
207
  variant: {
209
208
  type: String,
210
- default: g.VERTICAL,
211
- validator: (e) => Object.values(g).includes(e)
209
+ default: h.VERTICAL,
210
+ validator: (e) => Object.values(h).includes(e)
212
211
  }
213
212
  },
214
- emits: [c.UPDATE],
215
- setup(e, { emit: a }) {
216
- const u = B(e, "modelValue"), i = S("error"), { isReadOnly: n } = j(B(e, "readonly")), p = d(
217
- () => !e.disabled && !n.value && (!!e.errorMessage || e.hasError)
218
- ), t = d(() => !e.disabled && !n.value && !!e.errorMessage), r = d(() => ({
219
- "b-radio-group__buttons--horizontal": e.variant === g.HORIZONTAL
220
- })), s = (o) => {
221
- a(c.UPDATE, o);
213
+ emits: [i.UPDATE, i.INPUT],
214
+ setup(e, { emit: o }) {
215
+ const s = C(e, "modelValue"), u = I("error"), { isReadOnly: d } = Z(C(e, "readonly")), p = n(
216
+ () => !e.disabled && !d.value && (!!e.errorMessage || e.hasError)
217
+ ), t = n(() => !e.disabled && !d.value && !!e.errorMessage), r = n(() => ({
218
+ "b-radio-group__buttons--horizontal": e.variant === h.HORIZONTAL
219
+ })), b = (a) => {
220
+ o(i.UPDATE, a), o(i.INPUT, a);
222
221
  };
223
- return e.hasError && H(
222
+ return e.hasError && z(
224
223
  'BentoRadioGroup "hasError" property',
225
224
  `Use the BentoRadioGroup "errorMessage" property instead to indicate that there is a modifier error.
226
225
  Having the field as "undefined" will hide/remove the error.
@@ -228,23 +227,23 @@ const ee = /* @__PURE__ */ k(Q, [["render", x], ["__scopeId", "data-v-9bb45ebc"]
228
227
  "2.0.0"
229
228
  ), {
230
229
  // Values
231
- inputValue: u,
232
- errorId: i,
233
- isReadOnly: n,
230
+ inputValue: s,
231
+ errorId: u,
232
+ isReadOnly: d,
234
233
  shouldShowError: p,
235
234
  shouldShowErrorMessage: t,
236
235
  conditionalClasses: r,
237
236
  // Methods
238
- onInput: s
237
+ onInput: b
239
238
  };
240
239
  }
241
240
  });
242
- const ae = { class: "b-radio-group" };
243
- function re(e, a, u, i, n, p) {
244
- const t = y("radio-button"), r = y("controls-group"), s = y("error-message");
245
- return l(), h("div", ae, [
246
- O(r, {
247
- class: E(["b-radio-group__buttons", e.conditionalClasses]),
241
+ const oe = { class: "b-radio-group" };
242
+ function ae(e, o, s, u, d, p) {
243
+ const t = f("radio-button"), r = f("controls-group"), b = f("error-message");
244
+ return l(), g("div", oe, [
245
+ M(r, {
246
+ class: _(["b-radio-group__buttons", e.conditionalClasses]),
248
247
  "aria-describedby": e.shouldShowErrorMessage ? e.errorId : "",
249
248
  description: e.description,
250
249
  disabled: e.disabled,
@@ -255,25 +254,25 @@ function re(e, a, u, i, n, p) {
255
254
  "hide-label": e.hideLabel,
256
255
  "tooltip-text": e.tooltipText
257
256
  }, {
258
- default: b(() => [
259
- (l(!0), h(M, null, U(e.items, (o) => (l(), v(t, {
260
- key: o.value,
257
+ default: c(() => [
258
+ (l(!0), g(P, null, q(e.items, (a) => (l(), v(t, {
259
+ key: a.value,
261
260
  "model-value": e.inputValue,
262
- value: o.value,
263
- disabled: e.disabled || o.disabled,
264
- readonly: e.isReadOnly || o.readonly,
265
- "has-error": e.shouldShowError || o.hasError,
261
+ value: a.value,
262
+ disabled: e.disabled || a.disabled,
263
+ readonly: e.isReadOnly || a.readonly,
264
+ "has-error": e.shouldShowError || a.hasError,
266
265
  "onUpdate:modelValue": e.onInput
267
- }, q({
268
- default: b(() => [
269
- _(I(o.label) + " ", 1)
266
+ }, w({
267
+ default: c(() => [
268
+ k(B(a.label) + " ", 1)
270
269
  ]),
271
270
  _: 2
272
271
  }, [
273
- o.description ? {
272
+ a.description ? {
274
273
  name: "description",
275
- fn: b(() => [
276
- _(I(o.description), 1)
274
+ fn: c(() => [
275
+ k(B(a.description), 1)
277
276
  ]),
278
277
  key: "0"
279
278
  } : void 0
@@ -281,17 +280,17 @@ function re(e, a, u, i, n, p) {
281
280
  ]),
282
281
  _: 1
283
282
  }, 8, ["aria-describedby", "class", "description", "disabled", "form", "label", "optional", "required", "hide-label", "tooltip-text"]),
284
- e.shouldShowErrorMessage ? (l(), v(s, {
283
+ e.shouldShowErrorMessage ? (l(), v(b, {
285
284
  key: 0,
286
285
  id: e.errorId,
287
286
  "error-message": e.errorMessage,
288
287
  class: "b-radio-group__error-message"
289
- }, null, 8, ["id", "error-message"])) : f("", !0)
288
+ }, null, 8, ["id", "error-message"])) : m("", !0)
290
289
  ]);
291
290
  }
292
- const ge = /* @__PURE__ */ k(oe, [["render", re], ["__scopeId", "data-v-e54cc3b5"]]);
291
+ const fe = /* @__PURE__ */ T(ee, [["render", ae], ["__scopeId", "data-v-e417e91f"]]);
293
292
  export {
294
- ge as BentoRadioGroup,
295
- g as BentoRadioGroupVariant
293
+ fe as BentoRadioGroup,
294
+ h as BentoRadioGroupVariant
296
295
  };
297
296
  //# sourceMappingURL=radio-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.js","sources":["../../vue2/src/components/radio-group/components/radio-button/radio-button.types.ts","../../vue2/src/components/radio-group/radio-group.types.ts","../../vue2/src/components/radio-group/components/radio-button/radio-button.vue","../../vue2/src/components/radio-group/radio-group.vue"],"sourcesContent":["export enum BentoRadioButtonStateClass {\n DISABLED = 'disabled',\n READONLY = 'readonly',\n ERROR = 'error',\n}\n","export enum BentoRadioGroupVariant {\n HORIZONTAL = 'horizontal',\n VERTICAL = 'vertical',\n}\n\nexport interface BentoRadioGroupItem {\n value: string | number;\n label: string;\n description?: string;\n disabled?: boolean;\n readonly?: boolean;\n hasError?: boolean;\n}\n\nexport type BentoRadioGroupItems = Array<BentoRadioGroupItem>;\n\nexport enum BentoRadioGroupEvent {\n UPDATE = 'update:model-value',\n}\n","<template>\n <div class=\"b-radio-button\" data-testid=\"radio-button-container\" :class=\"conditionalClassContainer\">\n <input\n :id=\"radioButtonId\"\n :aria-checked=\"isChecked\"\n :aria-label=\"ariaLabel\"\n :aria-invalid=\"ariaInvalid\"\n :aria-describedby=\"descriptionSlotValue ? descriptionId : ''\"\n :checked=\"isChecked\"\n :disabled=\"disabled\"\n :aria-readonly=\"readonly ? readonly : undefined\"\n :value=\"value\"\n type=\"radio\"\n class=\"b-radio-button__input\"\n :class=\"conditionalClassInput\"\n role=\"radio\"\n @click=\"onClick\"\n @change=\"onChange\"\n />\n <label v-if=\"defaultSlotValue\" :for=\"radioButtonId\" class=\"b-radio-button__label-container\">\n <bento-typography\n v-if=\"defaultSlotValue\"\n class=\"b-radio-button__label\"\n :el=\"BentoTypographyElement.SPAN\"\n :variant=\"BentoTypographyVariant.BODY\"\n >\n <slot></slot>\n </bento-typography>\n <bento-typography\n v-if=\"defaultSlotValue && descriptionSlotValue\"\n :id=\"descriptionId\"\n class=\"b-radio-button__description\"\n :el=\"BentoTypographyElement.SPAN\"\n :variant=\"BentoTypographyVariant.BODY\"\n >\n <slot name=\"description\"></slot>\n </bento-typography>\n </label>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { BentoTypography, BentoTypographyElement, BentoTypographyVariant } from '@/components/typography';\n import type { HTMLAttributes } from 'vue/types/jsx';\n import { useAriaLabel } from '@/utils/ts/aria-label';\n import { generateUid } from '@/utils/ts/unique-id';\n import { computed, ComputedRef, defineComponent, toRefs } from 'vue';\n import { useDefaultSlotValidator, useHasSlot } from '@/composables';\n import { BentoRadioButtonStateClass } from './radio-button.types';\n import { BentoRadioGroupEvent } from '../../radio-group.types';\n import { getSlotText } from '@/utils/ts/get-slot-text';\n\n /**\n * Radio buttons are used when two or more options are mutually exclusive,\n * the user can only select a single option from a list of pre-defined options.\n * The label tag area is also clickable.\n * Only to be used internally.\n *\n * @usage\n * import { RadioButton } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { RadioButton },\n * template: `\n * <radio-button\n * disabled\n * value=\"inputRadio\"\n * >\n * Label text\n * <template #description>Description text below label</template>\n * </radio-button>\n * `,\n * }\n */\n export default defineComponent({\n name: 'radio-button',\n components: { BentoTypography },\n props: {\n /**\n * Disable the radio button (optional)\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * Shows radio-button in error state (optional)\n */\n hasError: {\n type: Boolean,\n default: false,\n },\n /**\n * This property should not be used directly.\n * It will be used by v-model directive on radio component.\n */\n modelValue: {\n type: [String, Number],\n default: null,\n },\n /**\n * Sets the radio button to readonly (optional)\n */\n readonly: {\n type: Boolean,\n default: false,\n },\n /**\n * Indicates the value of the input that will be returned when it's checked\n */\n value: {\n type: [String, Number],\n required: true,\n },\n },\n emits: [BentoRadioGroupEvent.UPDATE],\n setup(props, { slots, emit }) {\n const hasSlot = useHasSlot(slots);\n const { value } = toRefs(props);\n const radioButtonId = generateUid('radio-button');\n const descriptionId = generateUid('description');\n\n const defaultSlotValue = hasSlot('default');\n const descriptionSlotValue = hasSlot('description');\n\n useDefaultSlotValidator('radio-button', defaultSlotValue, descriptionSlotValue);\n\n const conditionalClassContainer = computed(() => ({\n [`b-radio-button--${BentoRadioButtonStateClass.DISABLED}`]: props.disabled,\n [`b-radio-button--${BentoRadioButtonStateClass.READONLY}`]: props.readonly,\n }));\n const conditionalClassInput = computed(() => ({\n [`b-radio-button__input--${BentoRadioButtonStateClass.ERROR}`]: props.hasError,\n }));\n\n const ariaLabel = useAriaLabel({\n ariaLabel: getSlotText(slots)('default'),\n label: value.value as string,\n });\n const ariaInvalid = computed<HTMLAttributes['aria-invalid']>(() => props.hasError);\n\n const isChecked: ComputedRef<boolean> = computed(() => props.value === props.modelValue);\n\n const onChange = () => {\n if (!props.disabled && !props.readonly) {\n emit(BentoRadioGroupEvent.UPDATE, props.value);\n }\n };\n\n // readonly attr doesn't work with radio button, so we need to manually ignore the click instead\n const onClick = event => {\n if (props.readonly) {\n event.preventDefault();\n }\n };\n\n return {\n // Values\n ariaLabel,\n ariaInvalid,\n isChecked,\n defaultSlotValue,\n descriptionSlotValue,\n conditionalClassContainer,\n conditionalClassInput,\n radioButtonId,\n descriptionId,\n\n // Events\n onChange,\n onClick,\n\n // Enums\n BentoTypographyVariant,\n BentoTypographyElement,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./radio-button.scss\" />\n","<template>\n <div class=\"b-radio-group\">\n <controls-group\n class=\"b-radio-group__buttons\"\n :aria-describedby=\"shouldShowErrorMessage ? errorId : ''\"\n :class=\"conditionalClasses\"\n :description=\"description\"\n :disabled=\"disabled\"\n :form=\"formId\"\n :label=\"label\"\n :optional=\"optional\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :tooltip-text=\"tooltipText\"\n >\n <radio-button\n v-for=\"item in items\"\n :key=\"item.value\"\n :model-value=\"inputValue\"\n :value=\"item.value\"\n :disabled=\"disabled || item.disabled\"\n :readonly=\"isReadOnly || item.readonly\"\n :has-error=\"shouldShowError || item.hasError\"\n @update:model-value=\"onInput\"\n >\n {{ item.label }}\n <template v-if=\"item.description\" #description>{{ item.description }}</template>\n </radio-button>\n </controls-group>\n <error-message\n v-if=\"shouldShowErrorMessage\"\n :id=\"errorId\"\n :error-message=\"errorMessage\"\n class=\"b-radio-group__error-message\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, toRef } from 'vue';\n import { ControlsGroup, ErrorMessage } from '@/components/internal';\n import RadioButton from './components/radio-button/radio-button.vue';\n import { generateUid } from '@/utils/ts/unique-id';\n import { deprecate } from '@/utils/ts/deprecate';\n import { BentoRadioGroupEvent, BentoRadioGroupItems, BentoRadioGroupVariant } from './radio-group.types';\n import { useFormLayoutFieldLoading } from '@/composables/use-form-layout-loading/use-form-layout-loading';\n\n /**\n * A radio group component should be used whenever it is necessary to use a set of radio buttons\n * This component conforms to the official WAI-ARIA guidelines for grouping controls: https://www.w3.org/WAI/tutorials/forms/grouping/\n *\n * import { BentoRadioGroup, BentoRadioGroupVariant } from '@adyen/bento-vue2/';\n *\n * export default {\n * components: { BentoRadioGroup },\n * template: `\n * <bento-radio-group\n * label=\"Your group label\"\n * :items=\"[\n * { value: 1, label: 'Your label' },\n * { value: 2, label: 'Another label', description: 'Your descriptive sub label' },\n * ]\"\n * :variant=\"BentoRadioGroupVariant.HORIZONTAL\"\n * />\n * `\n * };\n */\n export default defineComponent({\n name: 'bento-radio-group',\n components: { ControlsGroup, ErrorMessage, RadioButton },\n props: {\n /**\n * Descriptive supporting text visbile underneath the label.\n */\n description: { type: String, default: null },\n\n /**\n * If set to true, renders all radio-buttons in the group in a disabled state.\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * If string is passed, all radio-buttons in an error state and renders the string beneath the buttons.\n */\n errorMessage: { type: String, default: null },\n\n /**\n * The form id the radio group is associated with. Defaults to null, as a radio group can also be used standalone.\n */\n formId: { type: String, default: null },\n\n /**\n * If set to true, renders all radio-buttons in the group in an error state.\n *\n * @deprecated Use \"errorMessage\" prop instead\n */\n hasError: { type: Boolean, default: false },\n\n /**\n * Shows/hides the group label.\n */\n hideLabel: { type: Boolean, default: null },\n\n /**\n * The radio group's items.\n */\n items: { type: Array as PropType<BentoRadioGroupItems>, required: true },\n\n /**\n * The name associated with the group. Required for accessibility purposes.\n */\n label: { type: String, required: true },\n\n /**\n * Determines the initially selected value of the group. Corresponds to the BentoRadioButtonItem's value.\n * Defaults to no value selected.\n */\n modelValue: { type: [Number, String, null], default: null },\n\n /**\n * Indicates the field is optional.\n */\n optional: { type: Boolean, default: false },\n\n /**\n * If set to true, renders all radio-buttons in the group in a readonly state.\n */\n readonly: { type: Boolean, default: false },\n\n /**\n * Indicates the field is required.\n */\n required: { type: Boolean, default: false },\n\n /**\n * Tooltip message.\n */\n tooltipText: { type: String, default: null },\n\n /**\n * The radio group's layout. It can be vertical or horizontal. Defaults to vertical.\n */\n variant: {\n type: String as PropType<BentoRadioGroupVariant | `${BentoRadioGroupVariant}`>,\n default: BentoRadioGroupVariant.VERTICAL,\n validator: (value: BentoRadioGroupVariant) => Object.values(BentoRadioGroupVariant).includes(value),\n },\n },\n emits: [BentoRadioGroupEvent.UPDATE],\n setup(props, { emit }) {\n const inputValue = toRef(props, 'modelValue');\n const errorId = generateUid('error');\n const { isReadOnly } = useFormLayoutFieldLoading(toRef(props, 'readonly'));\n\n const shouldShowError = computed(\n () => !props.disabled && !isReadOnly.value && (!!props.errorMessage || props.hasError)\n );\n const shouldShowErrorMessage = computed(() => !props.disabled && !isReadOnly.value && !!props.errorMessage);\n\n const conditionalClasses = computed(() => ({\n 'b-radio-group__buttons--horizontal': props.variant === BentoRadioGroupVariant.HORIZONTAL,\n }));\n\n const onInput = value => {\n emit(BentoRadioGroupEvent.UPDATE, value);\n };\n\n if (props.hasError) {\n deprecate(\n 'BentoRadioGroup \"hasError\" property',\n `Use the BentoRadioGroup \"errorMessage\" property instead to indicate that there is a modifier error.\n Having the field as \"undefined\" will hide/remove the error.\n <bento-radio-group errorMessage=\"Error message text\" />`,\n '2.0.0'\n );\n }\n\n return {\n // Values\n inputValue,\n errorId,\n isReadOnly,\n shouldShowError,\n shouldShowErrorMessage,\n conditionalClasses,\n\n // Methods\n onInput,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./radio-group.scss\" />\n"],"names":["BentoRadioButtonStateClass","BentoRadioButtonStateClass2","BentoRadioGroupVariant","BentoRadioGroupVariant2","BentoRadioGroupEvent","BentoRadioGroupEvent2","_sfc_main$1","defineComponent","BentoTypography","props","slots","emit","hasSlot","useHasSlot","value","toRefs","radioButtonId","generateUid","descriptionId","defaultSlotValue","descriptionSlotValue","useDefaultSlotValidator","conditionalClassContainer","computed","conditionalClassInput","ariaLabel","useAriaLabel","getSlotText","ariaInvalid","isChecked","event","BentoTypographyVariant","BentoTypographyElement","openBlock","createElementBlock","normalizeClass","_ctx","createElementVNode","_cache","args","_hoisted_1$1","createCommentVNode","createBlock","_component_bento_typography","_sfc_main","ControlsGroup","ErrorMessage","RadioButton","inputValue","toRef","errorId","isReadOnly","useFormLayoutFieldLoading","shouldShowError","shouldShowErrorMessage","conditionalClasses","onInput","deprecate","_hoisted_1","createVNode","_component_controls_group","Fragment","renderList","item","_component_radio_button","createSlots","_component_error_message"],"mappings":"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"}
1
+ {"version":3,"file":"radio-group.js","sources":["../../vue2/src/components/radio-group/components/radio-button/radio-button.types.ts","../../vue2/src/components/radio-group/radio-group.types.ts","../../vue2/src/components/radio-group/components/radio-button/radio-button.vue","../../vue2/src/components/radio-group/radio-group.vue"],"sourcesContent":["export enum BentoRadioButtonStateClass {\n DISABLED = 'disabled',\n READONLY = 'readonly',\n ERROR = 'error',\n}\n","/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoRadioGroupVariant {\n HORIZONTAL = 'horizontal',\n VERTICAL = 'vertical',\n}\n\nexport interface BentoRadioGroupItem {\n value: string | number;\n label: string;\n description?: string;\n disabled?: boolean;\n readonly?: boolean;\n hasError?: boolean;\n}\n\nexport type BentoRadioGroupItems = Array<BentoRadioGroupItem>;\n\nexport enum BentoRadioGroupEvent {\n UPDATE = 'update:model-value',\n INPUT = 'input',\n}\n","<template>\n <div class=\"b-radio-button\" data-testid=\"radio-button-container\" :class=\"conditionalClassContainer\">\n <input\n :id=\"radioButtonId\"\n :aria-checked=\"isChecked\"\n :aria-label=\"ariaLabel\"\n :aria-invalid=\"ariaInvalid\"\n :aria-describedby=\"hasSlot('description') ? descriptionId : ''\"\n :checked=\"isChecked\"\n :disabled=\"disabled\"\n :aria-readonly=\"readonly ? readonly : undefined\"\n :value=\"value\"\n type=\"radio\"\n class=\"b-radio-button__input\"\n :class=\"conditionalClassInput\"\n role=\"radio\"\n @click=\"onClick\"\n @change=\"onChange\"\n />\n <label v-if=\"hasSlot('default')\" :for=\"radioButtonId\" class=\"b-radio-button__label-container\">\n <bento-typography v-if=\"hasSlot('default')\" class=\"b-radio-button__label\" el=\"span\" variant=\"body\">\n <slot></slot>\n </bento-typography>\n <bento-typography\n v-if=\"hasSlot('default') && hasSlot('description')\"\n :id=\"descriptionId\"\n class=\"b-radio-button__description\"\n el=\"span\"\n variant=\"body\"\n >\n <slot name=\"description\"></slot>\n </bento-typography>\n </label>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { BentoTypography } from '@/components/typography';\n import type { HTMLAttributes } from 'vue/types/jsx';\n import { useAriaLabel } from '@/utils/ts/aria-label';\n import { generateUid } from '@/utils/ts/unique-id';\n import { computed, ComputedRef, defineComponent, toRefs } from 'vue';\n import { useDefaultSlotValidator, useHasSlot } from '@/composables';\n import { BentoRadioButtonStateClass } from './radio-button.types';\n import { BentoRadioGroupEvent } from '../../radio-group.types';\n import { getSlotText } from '@/utils/ts/get-slot-text';\n\n /**\n * Radio buttons are used when two or more options are mutually exclusive,\n * the user can only select a single option from a list of pre-defined options.\n * The label tag area is also clickable.\n * Only to be used internally.\n *\n * @usage\n * import { RadioButton } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { RadioButton },\n * template: `\n * <radio-button\n * disabled\n * value=\"inputRadio\"\n * >\n * Label text\n * <template #description>Description text below label</template>\n * </radio-button>\n * `,\n * }\n */\n export default defineComponent({\n name: 'radio-button',\n components: { BentoTypography },\n props: {\n /**\n * Disable the radio button (optional)\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * Shows radio-button in error state (optional)\n */\n hasError: {\n type: Boolean,\n default: false,\n },\n /**\n * This property should not be used directly.\n * It will be used by v-model directive on radio component.\n */\n modelValue: {\n type: [String, Number],\n default: null,\n },\n /**\n * Sets the radio button to readonly (optional)\n */\n readonly: {\n type: Boolean,\n default: false,\n },\n /**\n * Indicates the value of the input that will be returned when it's checked\n */\n value: {\n type: [String, Number],\n required: true,\n },\n },\n emits: [BentoRadioGroupEvent.UPDATE],\n setup(props, { slots, emit }) {\n const { value } = toRefs(props);\n const radioButtonId = generateUid('radio-button');\n const descriptionId = generateUid('description');\n\n const defaultSlotValue = getSlotText(slots)('default');\n const descriptionSlotValue = getSlotText(slots)('description');\n\n useDefaultSlotValidator('radio-button', slots.default, slots.description);\n\n const conditionalClassContainer = computed(() => ({\n [`b-radio-button--${BentoRadioButtonStateClass.DISABLED}`]: props.disabled,\n [`b-radio-button--${BentoRadioButtonStateClass.READONLY}`]: props.readonly,\n }));\n const conditionalClassInput = computed(() => ({\n [`b-radio-button__input--${BentoRadioButtonStateClass.ERROR}`]: props.hasError,\n }));\n\n const ariaLabel = useAriaLabel({\n ariaLabel: getSlotText(slots)('default'),\n label: value.value as string,\n });\n const ariaInvalid = computed<HTMLAttributes['aria-invalid']>(() => props.hasError);\n\n const isChecked: ComputedRef<boolean> = computed(() => props.value === props.modelValue);\n\n const onChange = () => {\n if (!props.disabled && !props.readonly) {\n emit(BentoRadioGroupEvent.UPDATE, props.value);\n }\n };\n\n // readonly attr doesn't work with radio button, so we need to manually ignore the click instead\n const onClick = event => {\n if (props.readonly) {\n event.preventDefault();\n }\n };\n\n return {\n // Values\n ariaLabel,\n ariaInvalid,\n isChecked,\n defaultSlotValue,\n descriptionSlotValue,\n conditionalClassContainer,\n conditionalClassInput,\n radioButtonId,\n descriptionId,\n\n // Methods\n hasSlot: useHasSlot(slots),\n onChange,\n onClick,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./radio-button.scss\" />\n","<template>\n <div class=\"b-radio-group\">\n <controls-group\n class=\"b-radio-group__buttons\"\n :aria-describedby=\"shouldShowErrorMessage ? errorId : ''\"\n :class=\"conditionalClasses\"\n :description=\"description\"\n :disabled=\"disabled\"\n :form=\"formId\"\n :label=\"label\"\n :optional=\"optional\"\n :required=\"required\"\n :hide-label=\"hideLabel\"\n :tooltip-text=\"tooltipText\"\n >\n <radio-button\n v-for=\"item in items\"\n :key=\"item.value\"\n :model-value=\"inputValue\"\n :value=\"item.value\"\n :disabled=\"disabled || item.disabled\"\n :readonly=\"isReadOnly || item.readonly\"\n :has-error=\"shouldShowError || item.hasError\"\n @update:model-value=\"onInput\"\n >\n {{ item.label }}\n <template v-if=\"item.description\" #description>{{ item.description }}</template>\n </radio-button>\n </controls-group>\n <error-message\n v-if=\"shouldShowErrorMessage\"\n :id=\"errorId\"\n :error-message=\"errorMessage\"\n class=\"b-radio-group__error-message\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, toRef } from 'vue';\n import { ControlsGroup, ErrorMessage } from '@/components/internal';\n import RadioButton from './components/radio-button/radio-button.vue';\n import { generateUid } from '@/utils/ts/unique-id';\n import { deprecate } from '@/utils/ts/deprecate';\n import { BentoRadioGroupEvent, BentoRadioGroupItems, BentoRadioGroupVariant } from './radio-group.types';\n import { useFormLayoutFieldLoading } from '@/composables/use-form-layout-loading/use-form-layout-loading';\n\n /**\n * A radio group component should be used whenever it is necessary to use a set of radio buttons\n * This component conforms to the official WAI-ARIA guidelines for grouping controls: https://www.w3.org/WAI/tutorials/forms/grouping/\n *\n * import { BentoRadioGroup } from '@adyen/bento-vue2/';\n *\n * export default {\n * components: { BentoRadioGroup },\n * template: `\n * <bento-radio-group\n * label=\"Your group label\"\n * :items=\"[\n * { value: 1, label: 'Your label' },\n * { value: 2, label: 'Another label', description: 'Your descriptive sub label' },\n * ]\"\n * variant=\"horizontal\"\n * />\n * `\n * };\n */\n export default defineComponent({\n name: 'bento-radio-group',\n components: { ControlsGroup, ErrorMessage, RadioButton },\n model: { prop: 'modelValue' },\n props: {\n /**\n * Descriptive supporting text visbile underneath the label.\n */\n description: { type: String, default: null },\n\n /**\n * If set to true, renders all radio-buttons in the group in a disabled state.\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * If string is passed, all radio-buttons in an error state and renders the string beneath the buttons.\n */\n errorMessage: { type: String, default: null },\n\n /**\n * The form id the radio group is associated with. Defaults to null, as a radio group can also be used standalone.\n */\n formId: { type: String, default: null },\n\n /**\n * If set to true, renders all radio-buttons in the group in an error state.\n *\n * @deprecated Use \"errorMessage\" prop instead\n */\n hasError: { type: Boolean, default: false },\n\n /**\n * Shows/hides the group label.\n */\n hideLabel: { type: Boolean, default: null },\n\n /**\n * The radio group's items.\n */\n items: { type: Array as PropType<BentoRadioGroupItems>, required: true },\n\n /**\n * The name associated with the group. Required for accessibility purposes.\n */\n label: { type: String, required: true },\n\n /**\n * Determines the initially selected value of the group. Corresponds to the BentoRadioButtonItem's value.\n * Defaults to no value selected.\n */\n modelValue: { type: [Number, String, null], default: null },\n\n /**\n * Indicates the field is optional.\n */\n optional: { type: Boolean, default: false },\n\n /**\n * If set to true, renders all radio-buttons in the group in a readonly state.\n */\n readonly: { type: Boolean, default: false },\n\n /**\n * Indicates the field is required.\n */\n required: { type: Boolean, default: false },\n\n /**\n * Tooltip message.\n */\n tooltipText: { type: String, default: null },\n\n /**\n * The radio group's layout. It can be vertical or horizontal. Defaults to vertical.\n */\n variant: {\n type: String as PropType<BentoRadioGroupVariant | `${BentoRadioGroupVariant}`>,\n default: BentoRadioGroupVariant.VERTICAL,\n validator: (value: BentoRadioGroupVariant) => Object.values(BentoRadioGroupVariant).includes(value),\n },\n },\n emits: [BentoRadioGroupEvent.UPDATE, BentoRadioGroupEvent.INPUT],\n setup(props, { emit }) {\n const inputValue = toRef(props, 'modelValue');\n const errorId = generateUid('error');\n const { isReadOnly } = useFormLayoutFieldLoading(toRef(props, 'readonly'));\n\n const shouldShowError = computed(\n () => !props.disabled && !isReadOnly.value && (!!props.errorMessage || props.hasError)\n );\n const shouldShowErrorMessage = computed(() => !props.disabled && !isReadOnly.value && !!props.errorMessage);\n\n const conditionalClasses = computed(() => ({\n 'b-radio-group__buttons--horizontal': props.variant === BentoRadioGroupVariant.HORIZONTAL,\n }));\n\n const onInput = value => {\n emit(BentoRadioGroupEvent.UPDATE, value);\n emit(BentoRadioGroupEvent.INPUT, value);\n };\n\n if (props.hasError) {\n deprecate(\n 'BentoRadioGroup \"hasError\" property',\n `Use the BentoRadioGroup \"errorMessage\" property instead to indicate that there is a modifier error.\n Having the field as \"undefined\" will hide/remove the error.\n <bento-radio-group errorMessage=\"Error message text\" />`,\n '2.0.0'\n );\n }\n\n return {\n // Values\n inputValue,\n errorId,\n isReadOnly,\n shouldShowError,\n shouldShowErrorMessage,\n conditionalClasses,\n\n // Methods\n onInput,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./radio-group.scss\" />\n"],"names":["BentoRadioButtonStateClass","BentoRadioButtonStateClass2","BentoRadioGroupVariant","BentoRadioGroupVariant2","BentoRadioGroupEvent","BentoRadioGroupEvent2","_sfc_main$1","defineComponent","BentoTypography","props","slots","emit","value","toRefs","radioButtonId","generateUid","descriptionId","defaultSlotValue","getSlotText","descriptionSlotValue","useDefaultSlotValidator","conditionalClassContainer","computed","conditionalClassInput","ariaLabel","useAriaLabel","ariaInvalid","isChecked","onChange","onClick","event","useHasSlot","openBlock","createElementBlock","normalizeClass","_ctx","createElementVNode","_cache","args","_hoisted_1$1","createCommentVNode","createBlock","_component_bento_typography","_sfc_main","ControlsGroup","ErrorMessage","RadioButton","inputValue","toRef","errorId","isReadOnly","useFormLayoutFieldLoading","shouldShowError","shouldShowErrorMessage","conditionalClasses","onInput","deprecate","_hoisted_1","createVNode","_component_controls_group","Fragment","renderList","item","_component_radio_button","createSlots","_component_error_message"],"mappings":"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"}
@@ -1,30 +1,32 @@
1
- import { defineComponent as C, ref as d, watch as b, resolveComponent as s, openBlock as v, createElementBlock as S, createVNode as l, createSlots as I, withCtx as m, createElementVNode as E, withKeys as h } from "vue";
2
- import { BentoInputField as _, BentoInputFieldType as y } from "./input-field.js";
3
- import { d as T } from "./chunks/debounce.f8d92e44.js";
4
- import { S as A } from "./chunks/search.d18f9657.js";
5
- import { C as P } from "./chunks/cross-circle-fill.0feb37b3.js";
6
- import { _ as g } from "./chunks/_plugin-vue_export-helper.dad06003.js";
7
- import { u as z } from "./chunks/dropdown.8b415aac.js";
8
- import "./assets/index19.css";
9
- var n = /* @__PURE__ */ ((e) => (e.CLEAR = "clear", e.ESCAPE = "escape-pressed", e.INPUT = "input", e.UPDATE = "update:search-term", e))(n || {}), F = /* @__PURE__ */ ((e) => (e.CLEAR = "search-clear", e.INPUT = "search-input", e.UPDATE = "update:search-term", e))(F || {});
10
- const N = {
1
+ import { defineComponent as b, ref as i, watch as y, openBlock as C, createElementBlock as S, createVNode as o, unref as r, createSlots as g, withCtx as u, createElementVNode as A, withKeys as p } from "vue";
2
+ import { d as I } from "./chunks/debounce.f8d92e44.js";
3
+ import { u as E } from "./chunks/i18n.6c402773.js";
4
+ import { BentoInputField as x } from "./input-field.js";
5
+ import { S as P } from "./chunks/search.d18f9657.js";
6
+ import { C as T } from "./chunks/cross-circle-fill.0feb37b3.js";
7
+ import { _ as F } from "./chunks/_plugin-vue_export-helper.dad06003.js";
8
+ import { u as O } from "./chunks/dropdown.b798a82e.js";
9
+ import "./assets/index32.css";
10
+ var m = /* @__PURE__ */ ((e) => (e.CLEAR = "clear", e.ESCAPE = "escape-pressed", e.INPUT = "input", e.UPDATE = "update:search-term", e))(m || {}), k = /* @__PURE__ */ ((e) => (e.CLEAR = "search-clear", e.INPUT = "search-input", e.UPDATE = "update:search-term", e))(k || {});
11
+ const h = {
11
12
  "en-US": {
12
13
  search: "Search",
13
14
  clearSearch: "Clear search"
14
15
  }
15
- }, U = C({
16
- name: "bento-search-bar",
17
- i18n: { messages: N },
18
- components: {
19
- CrossCircleFillIcon: P,
20
- BentoInputField: _,
21
- SearchIcon: A
22
- },
16
+ }, K = { class: "b-search-bar" }, N = ["onKeypress", "onKeyup"], U = {
17
+ i18n: { messages: h }
18
+ }, L = /* @__PURE__ */ b({
19
+ ...U,
20
+ __name: "search-bar",
23
21
  props: {
24
22
  /**
25
23
  * Text that labels an the search bar input element
26
24
  */
27
25
  inputFieldAriaLabel: { type: String, required: !0 },
26
+ /**
27
+ * Reduces height of the search bar
28
+ */
29
+ condensed: { type: Boolean, default: !1 },
28
30
  /**
29
31
  * Custom debounce time. Default: 300
30
32
  */
@@ -38,87 +40,71 @@ const N = {
38
40
  */
39
41
  value: { type: String, default: void 0 }
40
42
  },
41
- emits: [
42
- n.INPUT,
43
- n.CLEAR,
44
- n.ESCAPE
45
- ],
46
- setup(e, { emit: r }) {
47
- const o = d(e.value), i = d();
48
- b(
49
- () => e.value,
43
+ emits: ["input", "clear", "escape-pressed"],
44
+ setup(e, { emit: t }) {
45
+ const s = e, { t: n } = E({ messages: h }), a = i(s.value), f = i();
46
+ y(
47
+ () => s.value,
50
48
  () => {
51
- o.value = e.value;
49
+ a.value = s.value;
52
50
  },
53
51
  { immediate: !0 }
54
52
  );
55
53
  const c = () => {
56
- o.value = "", r(n.CLEAR), r(n.INPUT, "");
57
- }, p = T(() => {
58
- r(n.INPUT, o.value);
59
- }, e.debounceTime);
60
- return {
61
- // Values
62
- searchTerm: o,
63
- bentoInputField: i,
64
- // Emits
65
- onClearSearch: c,
66
- onInputEvent: (t) => {
67
- o.value = t, p();
68
- },
69
- // Enums
70
- BentoInputFieldType: y,
71
- BentoSearchBarInternalEvent: n
54
+ a.value = "", t("clear"), t("input", "");
55
+ }, _ = I(() => {
56
+ t("input", a.value);
57
+ }, s.debounceTime), v = (l) => {
58
+ a.value = l, _();
72
59
  };
60
+ return (l, d) => (C(), S("div", K, [
61
+ o(x, {
62
+ ref_key: "bentoInputField",
63
+ ref: f,
64
+ value: a.value,
65
+ type: "search",
66
+ condensed: e.condensed,
67
+ "aria-label": e.inputFieldAriaLabel,
68
+ "aria-hidden": !1,
69
+ placeholder: e.placeholder,
70
+ onInput: v,
71
+ onEscapePressed: d[0] || (d[0] = (w) => t(r(m).ESCAPE))
72
+ }, g({
73
+ defaultIconBefore: u(() => [
74
+ o(r(P), {
75
+ "svg-title": r(n)("search"),
76
+ "aria-hidden": "true"
77
+ }, null, 8, ["svg-title"])
78
+ ]),
79
+ _: 2
80
+ }, [
81
+ a.value ? {
82
+ name: "iconAfter",
83
+ fn: u(() => [
84
+ A("div", {
85
+ class: "b-search-bar__clear-search",
86
+ tabindex: "0",
87
+ "data-testid": "b-search-bar-clear-search-button",
88
+ onClick: c,
89
+ onKeypress: p(c, ["enter"]),
90
+ onKeyup: p(c, ["space"])
91
+ }, [
92
+ o(r(T), {
93
+ "svg-title": r(n)("clearSearch")
94
+ }, null, 8, ["svg-title"])
95
+ ], 40, N)
96
+ ]),
97
+ key: "0"
98
+ } : void 0
99
+ ]), 1032, ["value", "condensed", "aria-label", "placeholder"])
100
+ ]));
73
101
  }
74
102
  });
75
- const $ = { class: "b-search-bar" };
76
- function L(e, r, o, i, c, p) {
77
- const u = s("search-icon"), t = s("cross-circle-fill-icon"), f = s("bento-input-field");
78
- return v(), S("div", $, [
79
- l(f, {
80
- ref: "bentoInputField",
81
- value: e.searchTerm,
82
- type: e.BentoInputFieldType.SEARCH,
83
- "aria-label": e.inputFieldAriaLabel,
84
- "aria-hidden": !1,
85
- placeholder: e.placeholder,
86
- onInput: e.onInputEvent,
87
- onEscapePressed: r[3] || (r[3] = (a) => e.$emit(e.BentoSearchBarInternalEvent.ESCAPE))
88
- }, I({
89
- defaultIconBefore: m(() => [
90
- l(u, {
91
- "svg-title": e.$t("search")
92
- }, null, 8, ["svg-title"])
93
- ]),
94
- _: 2
95
- }, [
96
- e.searchTerm ? {
97
- name: "iconAfter",
98
- fn: m(() => [
99
- E("div", {
100
- class: "b-search-bar__clear-search",
101
- tabindex: "0",
102
- "data-testid": "b-search-bar-clear-search-button",
103
- onClick: r[0] || (r[0] = (...a) => e.onClearSearch && e.onClearSearch(...a)),
104
- onKeypress: r[1] || (r[1] = h((...a) => e.onClearSearch && e.onClearSearch(...a), ["enter"])),
105
- onKeyup: r[2] || (r[2] = h((...a) => e.onClearSearch && e.onClearSearch(...a), ["space"]))
106
- }, [
107
- l(t, {
108
- "svg-title": e.$t("clearSearch")
109
- }, null, 8, ["svg-title"])
110
- ], 32)
111
- ]),
112
- key: "0"
113
- } : void 0
114
- ]), 1032, ["value", "type", "aria-label", "placeholder", "onInput"])
115
- ]);
116
- }
117
- const V = /* @__PURE__ */ g(U, [["render", L], ["__scopeId", "data-v-3384df49"]]);
103
+ const G = /* @__PURE__ */ F(L, [["__scopeId", "data-v-a4a9dd26"]]);
118
104
  export {
119
- V as BentoSearchBar,
120
- F as BentoSearchBarEvent,
121
- n as BentoSearchBarInternalEvent,
122
- z as useSearchBarFilter
105
+ G as BentoSearchBar,
106
+ k as BentoSearchBarEvent,
107
+ m as BentoSearchBarInternalEvent,
108
+ O as useSearchBarFilter
123
109
  };
124
110
  //# sourceMappingURL=search-bar.js.map