@adyen/bento-vue2 1.68.2 → 1.69.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 (428) hide show
  1. package/dist/@types/components.d.ts +1 -0
  2. package/dist/@types/index.d.ts +625 -1274
  3. package/dist/accordion.js +1 -1
  4. package/dist/action-bar.js +1 -1
  5. package/dist/alert.js +1 -1
  6. package/dist/assets/accordion-item.css +1 -1
  7. package/dist/assets/action-bar.css +1 -1
  8. package/dist/assets/base-button.css +1 -1
  9. package/dist/assets/base-modal.css +1 -1
  10. package/dist/assets/button-actions-with-menu.css +1 -1
  11. package/dist/assets/button.css +1 -1
  12. package/dist/assets/calendar.css +1 -1
  13. package/dist/assets/card.css +1 -1
  14. package/dist/assets/checkbox-group.css +1 -1
  15. package/dist/assets/checkbox-input.css +1 -1
  16. package/dist/assets/checkbox.css +1 -1
  17. package/dist/assets/chip.css +1 -1
  18. package/dist/assets/copy.css +1 -1
  19. package/dist/assets/country.css +1 -1
  20. package/dist/assets/currency.css +1 -1
  21. package/dist/assets/dashed-underline.css +1 -1
  22. package/dist/assets/data-grid-template.css +1 -1
  23. package/dist/assets/data-grid.css +1 -1
  24. package/dist/assets/date-picker.css +1 -1
  25. package/dist/assets/date-range-picker.css +1 -1
  26. package/dist/assets/dialog-page.css +1 -1
  27. package/dist/assets/divider.css +1 -1
  28. package/dist/assets/dropdown-default-textbox.css +1 -1
  29. package/dist/assets/dropdown-tag.css +1 -1
  30. package/dist/assets/dropdown.css +1 -1
  31. package/dist/assets/empty-state.css +1 -1
  32. package/dist/assets/file-uploader.css +1 -1
  33. package/dist/assets/filter-bar.css +1 -1
  34. package/dist/assets/focus-trap.css +1 -1
  35. package/dist/assets/footer-actions.css +1 -1
  36. package/dist/assets/form-layout-title.css +1 -1
  37. package/dist/assets/grid-layout.css +1 -1
  38. package/dist/assets/header-meta.css +1 -1
  39. package/dist/assets/header-with-views.css +1 -1
  40. package/dist/assets/header.css +1 -1
  41. package/dist/assets/info-icon.css +1 -1
  42. package/dist/assets/input-field-password.css +1 -1
  43. package/dist/assets/input-field-phone-number.css +1 -1
  44. package/dist/assets/input-field.css +1 -1
  45. package/dist/assets/inspector.css +1 -1
  46. package/dist/assets/layout-row.css +1 -1
  47. package/dist/assets/link.css +1 -1
  48. package/dist/assets/listbox-option-tag.css +1 -1
  49. package/dist/assets/loading-indicator.css +1 -1
  50. package/dist/assets/modal-fullscreen.css +1 -1
  51. package/dist/assets/pagination.css +1 -1
  52. package/dist/assets/payment-method.css +1 -1
  53. package/dist/assets/popper-container.css +1 -1
  54. package/dist/assets/promo-banner.css +1 -1
  55. package/dist/assets/radio-group.css +1 -1
  56. package/dist/assets/radio-input.css +1 -1
  57. package/dist/assets/rich-text-editor.css +1 -1
  58. package/dist/assets/search-bar.css +1 -1
  59. package/dist/assets/secondary-nav.css +1 -1
  60. package/dist/assets/segmented-control.css +1 -1
  61. package/dist/assets/selection-card-group.css +1 -1
  62. package/dist/assets/sidepanel.css +1 -1
  63. package/dist/assets/status.css +1 -1
  64. package/dist/assets/step.css +1 -1
  65. package/dist/assets/structured-list-item.css +1 -1
  66. package/dist/assets/tab.css +1 -1
  67. package/dist/assets/tag.css +1 -1
  68. package/dist/assets/textarea.css +1 -1
  69. package/dist/assets/timeline-item.css +1 -1
  70. package/dist/assets/toast.css +1 -1
  71. package/dist/assets/toggle-button.css +1 -1
  72. package/dist/assets/toggle.css +1 -1
  73. package/dist/assets/tooltip.css +1 -1
  74. package/dist/assets/tutorial.css +1 -1
  75. package/dist/assets/typography.css +1 -1
  76. package/dist/assets/use-cached-selected-values.css +1 -1
  77. package/dist/avatar.js +1 -1
  78. package/dist/button.js +9 -9
  79. package/dist/card.js +1 -1
  80. package/dist/checkbox.js +2 -2
  81. package/dist/chip.js +1 -1
  82. package/dist/chunks/{accordion-item.BNtdoVto.js → accordion-item.NSQ50RyR.js} +3 -3
  83. package/dist/chunks/accordion-item.NSQ50RyR.js.map +1 -0
  84. package/dist/chunks/{action-bar.DQb7WVVd.js → action-bar.Dhi6k0CP.js} +18 -19
  85. package/dist/chunks/action-bar.Dhi6k0CP.js.map +1 -0
  86. package/dist/chunks/{alert.c1rhDDrU.js → alert.Dx9P_L2k.js} +3 -3
  87. package/dist/chunks/{alert.c1rhDDrU.js.map → alert.Dx9P_L2k.js.map} +1 -1
  88. package/dist/chunks/aria-label.CaUURpnB.js.map +1 -1
  89. package/dist/chunks/{avatar.BgwjpLQO.js → avatar.CWmZ2n1W.js} +2 -2
  90. package/dist/chunks/avatar.CWmZ2n1W.js.map +1 -0
  91. package/dist/chunks/{base-button.-gx_u8Bd.js → base-button.BPZ_qSAu.js} +6 -6
  92. package/dist/chunks/base-button.BPZ_qSAu.js.map +1 -0
  93. package/dist/chunks/{base-modal.CkkfT6r6.js → base-modal.Cehud1uW.js} +19 -19
  94. package/dist/chunks/base-modal.Cehud1uW.js.map +1 -0
  95. package/dist/chunks/button-actions-with-menu.DIpUg6BF.js +85 -0
  96. package/dist/chunks/button-actions-with-menu.DIpUg6BF.js.map +1 -0
  97. package/dist/chunks/button-actions.types.BptAXjD8.js +8 -0
  98. package/dist/chunks/button-actions.types.BptAXjD8.js.map +1 -0
  99. package/dist/chunks/{button.hF-nD1Og.js → button.B0hSQWOR.js} +4 -4
  100. package/dist/chunks/button.B0hSQWOR.js.map +1 -0
  101. package/dist/chunks/{calendar.DvIQEYwN.js → calendar.BuAVH2aU.js} +8 -8
  102. package/dist/chunks/calendar.BuAVH2aU.js.map +1 -0
  103. package/dist/chunks/{card.CASAAsuJ.js → card.DLRC9V0Q.js} +20 -19
  104. package/dist/chunks/card.DLRC9V0Q.js.map +1 -0
  105. package/dist/chunks/{checkbox-group.QdX-NrSG.js → checkbox-group.Cdt2Ik2_.js} +6 -6
  106. package/dist/chunks/checkbox-group.Cdt2Ik2_.js.map +1 -0
  107. package/dist/chunks/{checkbox-input.CNWigbX4.js → checkbox-input.C9vmlMZe.js} +7 -7
  108. package/dist/chunks/checkbox-input.C9vmlMZe.js.map +1 -0
  109. package/dist/chunks/{checkbox.DCD6SSXC.js → checkbox.JhfbjDfJ.js} +6 -6
  110. package/dist/chunks/checkbox.JhfbjDfJ.js.map +1 -0
  111. package/dist/chunks/{chip.OV0EWIP3.js → chip.Cn68PNxA.js} +10 -10
  112. package/dist/chunks/chip.Cn68PNxA.js.map +1 -0
  113. package/dist/chunks/{code-snippet.dIKi0D7d.js → code-snippet.hYghglvk.js} +8 -8
  114. package/dist/chunks/code-snippet.hYghglvk.js.map +1 -0
  115. package/dist/chunks/{controls-group.CccuLkgP.js → controls-group.B1cxRdIA.js} +3 -3
  116. package/dist/chunks/{controls-group.CccuLkgP.js.map → controls-group.B1cxRdIA.js.map} +1 -1
  117. package/dist/chunks/{copy.CF8Fzu2Y.js → copy.UbMV4m6b.js} +14 -14
  118. package/dist/chunks/copy.UbMV4m6b.js.map +1 -0
  119. package/dist/chunks/{country.melpzEsY.js → country.CZQYhKpE.js} +6 -6
  120. package/dist/chunks/country.CZQYhKpE.js.map +1 -0
  121. package/dist/chunks/country.types.C0Q_hhgJ.js.map +1 -1
  122. package/dist/chunks/{currency.BM9OXTqe.js → currency.Oq7zcRM5.js} +3 -3
  123. package/dist/chunks/currency.Oq7zcRM5.js.map +1 -0
  124. package/dist/chunks/{dashboard-section.BIe6eVHq.js → dashboard-section.BRnRO3AZ.js} +4 -4
  125. package/dist/chunks/{dashboard-section.BIe6eVHq.js.map → dashboard-section.BRnRO3AZ.js.map} +1 -1
  126. package/dist/chunks/{dashed-underline.BbH6Lnd2.js → dashed-underline.BN_whJrR.js} +12 -13
  127. package/dist/chunks/dashed-underline.BN_whJrR.js.map +1 -0
  128. package/dist/chunks/{data-grid-template.Co0Ecr79.js → data-grid-template.BlRKgkX6.js} +5 -5
  129. package/dist/chunks/data-grid-template.BlRKgkX6.js.map +1 -0
  130. package/dist/chunks/{data-grid.erxjh5TN.js → data-grid.B0bOXr4p.js} +1218 -1166
  131. package/dist/chunks/data-grid.B0bOXr4p.js.map +1 -0
  132. package/dist/chunks/{date-picker.DGIS6Pp-.js → date-picker.Dyf6HJwP.js} +11 -11
  133. package/dist/chunks/date-picker.Dyf6HJwP.js.map +1 -0
  134. package/dist/chunks/date-range-picker.-FSh7RLm.js +967 -0
  135. package/dist/chunks/date-range-picker.-FSh7RLm.js.map +1 -0
  136. package/dist/chunks/{date.BfyWX2PY.js → date.w2Ya6_lp.js} +2 -2
  137. package/dist/chunks/{date.BfyWX2PY.js.map → date.w2Ya6_lp.js.map} +1 -1
  138. package/dist/chunks/{dialog-page.CLHZqQeU.js → dialog-page.CdJloGXQ.js} +9 -9
  139. package/dist/chunks/dialog-page.CdJloGXQ.js.map +1 -0
  140. package/dist/chunks/{divider.Cc4JFWG_.js → divider.CFbtmKeQ.js} +6 -6
  141. package/dist/chunks/divider.CFbtmKeQ.js.map +1 -0
  142. package/dist/chunks/{dropdown-default-textbox.94q6opSD.js → dropdown-default-textbox.DzpZoK-P.js} +81 -80
  143. package/dist/chunks/dropdown-default-textbox.DzpZoK-P.js.map +1 -0
  144. package/dist/chunks/dropdown-tag.CRbOHBPK.js +273 -0
  145. package/dist/chunks/dropdown-tag.CRbOHBPK.js.map +1 -0
  146. package/dist/chunks/{dropdown.DazYAy4B.js → dropdown.DB_MlO1F.js} +43 -43
  147. package/dist/chunks/dropdown.DB_MlO1F.js.map +1 -0
  148. package/dist/chunks/{empty-state.mtXfb1BB.js → empty-state.BqMgiQAu.js} +6 -6
  149. package/dist/chunks/empty-state.BqMgiQAu.js.map +1 -0
  150. package/dist/chunks/{error-message.BgxnwPLF.js → error-message.PWgUfpvo.js} +3 -3
  151. package/dist/chunks/{error-message.BgxnwPLF.js.map → error-message.PWgUfpvo.js.map} +1 -1
  152. package/dist/chunks/es6.MoTTyETW.js +12 -0
  153. package/dist/chunks/es6.MoTTyETW.js.map +1 -0
  154. package/dist/chunks/events.CMzGybJJ.js.map +1 -1
  155. package/dist/chunks/{file-uploader.BPslxGI8.js → file-uploader.llBOTc1s.js} +41 -41
  156. package/dist/chunks/file-uploader.llBOTc1s.js.map +1 -0
  157. package/dist/chunks/{filter-bar.DL19SXF1.js → filter-bar.8rNB7K2X.js} +189 -192
  158. package/dist/chunks/filter-bar.8rNB7K2X.js.map +1 -0
  159. package/dist/chunks/{fixed-scroller.XN-jvWqb.js → fixed-scroller.CRnBrXfk.js} +2 -2
  160. package/dist/chunks/{fixed-scroller.XN-jvWqb.js.map → fixed-scroller.CRnBrXfk.js.map} +1 -1
  161. package/dist/chunks/{focus-trap.C-wIQqpO.js → focus-trap.B4C5TXxl.js} +2 -2
  162. package/dist/chunks/focus-trap.B4C5TXxl.js.map +1 -0
  163. package/dist/chunks/{footer-actions.BE_zzX-e.js → footer-actions.C9ZYDWNU.js} +12 -12
  164. package/dist/chunks/footer-actions.C9ZYDWNU.js.map +1 -0
  165. package/dist/chunks/{form-layout-title.CIynHgCF.js → form-layout-title.CboZDCN9.js} +5 -5
  166. package/dist/chunks/form-layout-title.CboZDCN9.js.map +1 -0
  167. package/dist/chunks/{grid-layout.HvTAa4to.js → grid-layout.1aIiz2N_.js} +4 -4
  168. package/dist/chunks/grid-layout.1aIiz2N_.js.map +1 -0
  169. package/dist/chunks/{header-meta.CfloYa86.js → header-meta.C75OXHwb.js} +26 -27
  170. package/dist/chunks/{header-meta.CfloYa86.js.map → header-meta.C75OXHwb.js.map} +1 -1
  171. package/dist/chunks/{header-with-views.BUQ-MlAq.js → header-with-views.Dzifal09.js} +129 -133
  172. package/dist/chunks/header-with-views.Dzifal09.js.map +1 -0
  173. package/dist/chunks/{header.uyxNdQa3.js → header.DAcRpRch.js} +8 -8
  174. package/dist/chunks/header.DAcRpRch.js.map +1 -0
  175. package/dist/chunks/image.C2D2hKat.js.map +1 -1
  176. package/dist/chunks/{info-icon.CYOXx8CL.js → info-icon.B4P_Zi58.js} +10 -10
  177. package/dist/chunks/info-icon.B4P_Zi58.js.map +1 -0
  178. package/dist/chunks/{input-field-password.C1zTapiN.js → input-field-password.DsslmTb_.js} +29 -29
  179. package/dist/chunks/input-field-password.DsslmTb_.js.map +1 -0
  180. package/dist/chunks/{input-field-phone-number.K8BYjWfa.js → input-field-phone-number.D2T8jzAr.js} +8 -7
  181. package/dist/chunks/{input-field-phone-number.K8BYjWfa.js.map → input-field-phone-number.D2T8jzAr.js.map} +1 -1
  182. package/dist/chunks/{input-field.5S-pUNxA.js → input-field.DnnXXill.js} +5 -5
  183. package/dist/chunks/input-field.DnnXXill.js.map +1 -0
  184. package/dist/chunks/{inspector.BI28vKQz.js → inspector.H05UI3LY.js} +6 -6
  185. package/dist/chunks/inspector.H05UI3LY.js.map +1 -0
  186. package/dist/chunks/keyboard-navigation.pB8weElW.js.map +1 -1
  187. package/dist/chunks/{layout-row.C_F2wX6d.js → layout-row.BWxn-eQ-.js} +12 -12
  188. package/dist/chunks/layout-row.BWxn-eQ-.js.map +1 -0
  189. package/dist/chunks/{link.CXy_LoFI.js → link.B3F22FTY.js} +3 -3
  190. package/dist/chunks/link.B3F22FTY.js.map +1 -0
  191. package/dist/chunks/{listbox-option-tag.D0Cql_R3.js → listbox-option-tag.On3eD2RE.js} +4 -4
  192. package/dist/chunks/listbox-option-tag.On3eD2RE.js.map +1 -0
  193. package/dist/chunks/{loading-indicator.z8COalOc.js → loading-indicator.Iy1CVr_T.js} +2 -2
  194. package/dist/chunks/loading-indicator.Iy1CVr_T.js.map +1 -0
  195. package/dist/chunks/minus-small.DJacLGTw.js.map +1 -1
  196. package/dist/chunks/{modal-fullscreen.DHotw1RI.js → modal-fullscreen.BgmKDCl4.js} +31 -32
  197. package/dist/chunks/modal-fullscreen.BgmKDCl4.js.map +1 -0
  198. package/dist/chunks/{modal.eoNQ6E3U.js → modal.DMqbIDcX.js} +6 -6
  199. package/dist/chunks/modal.DMqbIDcX.js.map +1 -0
  200. package/dist/chunks/{pagination.4J7ZMyf5.js → pagination.38ahUAk8.js} +5 -5
  201. package/dist/chunks/pagination.38ahUAk8.js.map +1 -0
  202. package/dist/chunks/{payment-method.Cx4nPDtE.js → payment-method.CRluCp_L.js} +3 -3
  203. package/dist/chunks/payment-method.CRluCp_L.js.map +1 -0
  204. package/dist/chunks/popover.types.B1HUQoCG.js +6 -0
  205. package/dist/chunks/popover.types.B1HUQoCG.js.map +1 -0
  206. package/dist/chunks/{popper-container.DIFqmRsp.js → popper-container.Bu75g2nc.js} +3 -3
  207. package/dist/chunks/popper-container.Bu75g2nc.js.map +1 -0
  208. package/dist/chunks/{promo-banner.Bbc2U3S3.js → promo-banner.BGMV3nRn.js} +6 -6
  209. package/dist/chunks/promo-banner.BGMV3nRn.js.map +1 -0
  210. package/dist/chunks/{radio-group.4_KKjvAm.js → radio-group.BVLoYrgU.js} +8 -8
  211. package/dist/chunks/radio-group.BVLoYrgU.js.map +1 -0
  212. package/dist/chunks/{radio-input.uJAhxKRs.js → radio-input.BRceOAA4.js} +7 -7
  213. package/dist/chunks/radio-input.BRceOAA4.js.map +1 -0
  214. package/dist/chunks/{rich-text-editor.BUKLdRkN.js → rich-text-editor.BZ6CyBsK.js} +8 -8
  215. package/dist/chunks/rich-text-editor.BZ6CyBsK.js.map +1 -0
  216. package/dist/chunks/{search-bar.CuBj5FAE.js → search-bar.VfZoy5FX.js} +6 -5
  217. package/dist/chunks/search-bar.VfZoy5FX.js.map +1 -0
  218. package/dist/chunks/{secondary-nav.C6usurfD.js → secondary-nav.BXXKo5HE.js} +9 -9
  219. package/dist/chunks/secondary-nav.BXXKo5HE.js.map +1 -0
  220. package/dist/chunks/{segmented-control.DHZEfmT-.js → segmented-control.CGBrRBLL.js} +11 -11
  221. package/dist/chunks/segmented-control.CGBrRBLL.js.map +1 -0
  222. package/dist/chunks/{selection-card-group.0o5T4tab.js → selection-card-group.DgQLQ4Wo.js} +10 -10
  223. package/dist/chunks/selection-card-group.DgQLQ4Wo.js.map +1 -0
  224. package/dist/chunks/{sidepanel.DyThBUgV.js → sidepanel.BR0coAJl.js} +9 -9
  225. package/dist/chunks/sidepanel.BR0coAJl.js.map +1 -0
  226. package/dist/chunks/{status.types.p_TCvoo0.js → status.types.DBYsEsiT.js} +3 -3
  227. package/dist/chunks/status.types.DBYsEsiT.js.map +1 -0
  228. package/dist/chunks/{step.DMMofD4B.js → step.DJkLl2s4.js} +5 -5
  229. package/dist/chunks/step.DJkLl2s4.js.map +1 -0
  230. package/dist/chunks/{structured-list-item.Bnn6-Z3q.js → structured-list-item.CACpjdy4.js} +7 -7
  231. package/dist/chunks/structured-list-item.CACpjdy4.js.map +1 -0
  232. package/dist/chunks/{summary-grid.types.D_FU3sUq.js → summary-grid.types.CVuvqM3p.js} +7 -7
  233. package/dist/chunks/{summary-grid.types.D_FU3sUq.js.map → summary-grid.types.CVuvqM3p.js.map} +1 -1
  234. package/dist/chunks/{tab.BhWPBxcB.js → tab.D33__imf.js} +5 -5
  235. package/dist/chunks/tab.D33__imf.js.map +1 -0
  236. package/dist/chunks/{tag.CGkclKVL.js → tag.DfHE26ZN.js} +4 -4
  237. package/dist/chunks/tag.DfHE26ZN.js.map +1 -0
  238. package/dist/chunks/textarea.D7uQzuRr.js +214 -0
  239. package/dist/chunks/textarea.D7uQzuRr.js.map +1 -0
  240. package/dist/chunks/{timeline-item.DqLhj0Lb.js → timeline-item.QOBiWKEL.js} +11 -11
  241. package/dist/chunks/timeline-item.QOBiWKEL.js.map +1 -0
  242. package/dist/chunks/{toast.BOyeuS19.js → toast.CZxRRsPl.js} +5 -5
  243. package/dist/chunks/toast.CZxRRsPl.js.map +1 -0
  244. package/dist/chunks/toggle-button.DeECoGRn.js +1031 -0
  245. package/dist/chunks/toggle-button.DeECoGRn.js.map +1 -0
  246. package/dist/chunks/{toggle.DyXL09-x.js → toggle.hylSNOmz.js} +8 -8
  247. package/dist/chunks/toggle.hylSNOmz.js.map +1 -0
  248. package/dist/chunks/{tooltip.wQsyAwkC.js → tooltip.BYj8cc9F.js} +66 -62
  249. package/dist/chunks/tooltip.BYj8cc9F.js.map +1 -0
  250. package/dist/chunks/{tutorial.CxrGhLS7.js → tutorial.BkAXmyzV.js} +29 -31
  251. package/dist/chunks/tutorial.BkAXmyzV.js.map +1 -0
  252. package/dist/chunks/{typography.J1v_SPG3.js → typography.w3m-EY4E.js} +7 -7
  253. package/dist/chunks/typography.w3m-EY4E.js.map +1 -0
  254. package/dist/chunks/{use-bento-toast-controller.Cn_2Eogn.js → use-bento-toast-controller.uglKlMjv.js} +2 -2
  255. package/dist/chunks/{use-bento-toast-controller.Cn_2Eogn.js.map → use-bento-toast-controller.uglKlMjv.js.map} +1 -1
  256. package/dist/chunks/{use-cached-selected-values.0EeyFfyF.js → use-cached-selected-values.CI9xi8dE.js} +12 -12
  257. package/dist/chunks/use-cached-selected-values.CI9xi8dE.js.map +1 -0
  258. package/dist/chunks/use-country-items.BllTb5MK.js.map +1 -1
  259. package/dist/chunks/use-country-phon-code.BOaJ9PDl.js.map +1 -1
  260. package/dist/chunks/use-has-slot.C9lQZ6nz.js.map +1 -1
  261. package/dist/code-snippet.js +1 -1
  262. package/dist/country.js +1 -1
  263. package/dist/currency.js +1 -1
  264. package/dist/dashboard-template.js +1 -1
  265. package/dist/dashed-underline.js +1 -1
  266. package/dist/data-grid-template.js +1 -1
  267. package/dist/data-grid.js +1 -1
  268. package/dist/date-picker.js +2 -2
  269. package/dist/date-range-picker.js +2 -2
  270. package/dist/date.js +1 -1
  271. package/dist/divider.js +1 -1
  272. package/dist/dropdown.js +4 -4
  273. package/dist/empty-state.js +1 -1
  274. package/dist/file-uploader.js +1 -1
  275. package/dist/filter-bar.js +1 -1
  276. package/dist/focus-trap.js +1 -1
  277. package/dist/form-layout.js +1 -1
  278. package/dist/header-with-views.js +1 -1
  279. package/dist/header.js +1 -1
  280. package/dist/index.js +175 -177
  281. package/dist/index.js.map +1 -1
  282. package/dist/info-icon.js +1 -1
  283. package/dist/input-field-password.js +1 -1
  284. package/dist/input-field-phone-number.js +3 -2
  285. package/dist/input-field.js +1 -1
  286. package/dist/inspector.js +1 -1
  287. package/dist/internal.js +33 -32
  288. package/dist/internal.js.map +1 -1
  289. package/dist/layout.js +1 -1
  290. package/dist/link.js +1 -1
  291. package/dist/loading-indicator.js +1 -1
  292. package/dist/menu.js +1 -1
  293. package/dist/modal-fullscreen.js +1 -1
  294. package/dist/modal.js +2 -2
  295. package/dist/pagination.js +1 -1
  296. package/dist/payment-method.js +1 -1
  297. package/dist/popover.js +2 -2
  298. package/dist/popper-container.js +1 -1
  299. package/dist/promo-banner.js +1 -1
  300. package/dist/radio-group.js +2 -2
  301. package/dist/rich-text-editor.js +1 -1
  302. package/dist/search-bar.js +2 -2
  303. package/dist/secondary-nav.js +1 -1
  304. package/dist/segmented-control.js +1 -1
  305. package/dist/selection-card.js +1 -1
  306. package/dist/sidepanel.js +1 -1
  307. package/dist/status.js +1 -1
  308. package/dist/stepper.js +1 -1
  309. package/dist/structured-list.js +1 -1
  310. package/dist/styles/bento-dark.css +17 -4
  311. package/dist/styles/bento-light.css +17 -4
  312. package/dist/styles/bento.css +17 -4
  313. package/dist/styles/legacy.css +17 -4
  314. package/dist/styles/styleguide.css +17 -4
  315. package/dist/styles/utility.css +3 -0
  316. package/dist/summary-grid.js +1 -1
  317. package/dist/tabs.js +1 -1
  318. package/dist/tag.js +1 -1
  319. package/dist/textarea.js +1 -1
  320. package/dist/timeline.js +1 -1
  321. package/dist/toast.js +1 -1
  322. package/dist/toggle.js +1 -1
  323. package/dist/tutorial.js +1 -1
  324. package/dist/typography.js +1 -1
  325. package/dist/use-form-v4.js.map +1 -1
  326. package/dist/web-types.json +934 -363
  327. package/package.json +7 -7
  328. package/dist/assets/button-actions.css +0 -1
  329. package/dist/assets/menu.css +0 -1
  330. package/dist/assets/popover.css +0 -1
  331. package/dist/assets/teleport.css +0 -1
  332. package/dist/chunks/accordion-item.BNtdoVto.js.map +0 -1
  333. package/dist/chunks/action-bar.DQb7WVVd.js.map +0 -1
  334. package/dist/chunks/avatar.BgwjpLQO.js.map +0 -1
  335. package/dist/chunks/base-button.-gx_u8Bd.js.map +0 -1
  336. package/dist/chunks/base-modal.CkkfT6r6.js.map +0 -1
  337. package/dist/chunks/base-modal.keys.C2PQXcE2.js +0 -5
  338. package/dist/chunks/base-modal.keys.C2PQXcE2.js.map +0 -1
  339. package/dist/chunks/button-actions-with-menu.nPj7sdGE.js +0 -83
  340. package/dist/chunks/button-actions-with-menu.nPj7sdGE.js.map +0 -1
  341. package/dist/chunks/button-actions.Ju27CRNG.js +0 -194
  342. package/dist/chunks/button-actions.Ju27CRNG.js.map +0 -1
  343. package/dist/chunks/button.hF-nD1Og.js.map +0 -1
  344. package/dist/chunks/calendar.DvIQEYwN.js.map +0 -1
  345. package/dist/chunks/card.CASAAsuJ.js.map +0 -1
  346. package/dist/chunks/checkbox-group.QdX-NrSG.js.map +0 -1
  347. package/dist/chunks/checkbox-input.CNWigbX4.js.map +0 -1
  348. package/dist/chunks/checkbox.DCD6SSXC.js.map +0 -1
  349. package/dist/chunks/chip.OV0EWIP3.js.map +0 -1
  350. package/dist/chunks/code-snippet.dIKi0D7d.js.map +0 -1
  351. package/dist/chunks/copy.CF8Fzu2Y.js.map +0 -1
  352. package/dist/chunks/country.melpzEsY.js.map +0 -1
  353. package/dist/chunks/currency.BM9OXTqe.js.map +0 -1
  354. package/dist/chunks/dashed-underline.BbH6Lnd2.js.map +0 -1
  355. package/dist/chunks/data-grid-template.Co0Ecr79.js.map +0 -1
  356. package/dist/chunks/data-grid.erxjh5TN.js.map +0 -1
  357. package/dist/chunks/date-picker.DGIS6Pp-.js.map +0 -1
  358. package/dist/chunks/date-range-picker.CIaKRXIQ.js +0 -1021
  359. package/dist/chunks/date-range-picker.CIaKRXIQ.js.map +0 -1
  360. package/dist/chunks/dialog-page.CLHZqQeU.js.map +0 -1
  361. package/dist/chunks/divider.Cc4JFWG_.js.map +0 -1
  362. package/dist/chunks/dropdown-default-textbox.94q6opSD.js.map +0 -1
  363. package/dist/chunks/dropdown-tag.BaosvGGZ.js +0 -240
  364. package/dist/chunks/dropdown-tag.BaosvGGZ.js.map +0 -1
  365. package/dist/chunks/dropdown.DazYAy4B.js.map +0 -1
  366. package/dist/chunks/empty-state.mtXfb1BB.js.map +0 -1
  367. package/dist/chunks/es6.n1ewaW31.js +0 -11
  368. package/dist/chunks/es6.n1ewaW31.js.map +0 -1
  369. package/dist/chunks/file-uploader.BPslxGI8.js.map +0 -1
  370. package/dist/chunks/filter-bar.DL19SXF1.js.map +0 -1
  371. package/dist/chunks/focus-trap.C-wIQqpO.js.map +0 -1
  372. package/dist/chunks/footer-actions.BE_zzX-e.js.map +0 -1
  373. package/dist/chunks/form-layout-title.CIynHgCF.js.map +0 -1
  374. package/dist/chunks/grid-layout.HvTAa4to.js.map +0 -1
  375. package/dist/chunks/header-with-views.BUQ-MlAq.js.map +0 -1
  376. package/dist/chunks/header.uyxNdQa3.js.map +0 -1
  377. package/dist/chunks/info-icon.CYOXx8CL.js.map +0 -1
  378. package/dist/chunks/input-field-password.C1zTapiN.js.map +0 -1
  379. package/dist/chunks/input-field.5S-pUNxA.js.map +0 -1
  380. package/dist/chunks/inspector.BI28vKQz.js.map +0 -1
  381. package/dist/chunks/layout-row.C_F2wX6d.js.map +0 -1
  382. package/dist/chunks/link.CXy_LoFI.js.map +0 -1
  383. package/dist/chunks/listbox-option-tag.D0Cql_R3.js.map +0 -1
  384. package/dist/chunks/loading-indicator.z8COalOc.js.map +0 -1
  385. package/dist/chunks/menu.D0OQgk40.js +0 -515
  386. package/dist/chunks/menu.D0OQgk40.js.map +0 -1
  387. package/dist/chunks/modal-fullscreen.DHotw1RI.js.map +0 -1
  388. package/dist/chunks/modal-fullscreen.keys.CMba3hYp.js +0 -5
  389. package/dist/chunks/modal-fullscreen.keys.CMba3hYp.js.map +0 -1
  390. package/dist/chunks/modal.eoNQ6E3U.js.map +0 -1
  391. package/dist/chunks/pagination.4J7ZMyf5.js.map +0 -1
  392. package/dist/chunks/payment-method.Cx4nPDtE.js.map +0 -1
  393. package/dist/chunks/popover.Bo4Bkudr.js +0 -145
  394. package/dist/chunks/popover.Bo4Bkudr.js.map +0 -1
  395. package/dist/chunks/popover.types.CBqyA4ly.js +0 -6
  396. package/dist/chunks/popover.types.CBqyA4ly.js.map +0 -1
  397. package/dist/chunks/popper-container.DIFqmRsp.js.map +0 -1
  398. package/dist/chunks/promo-banner.Bbc2U3S3.js.map +0 -1
  399. package/dist/chunks/radio-group.4_KKjvAm.js.map +0 -1
  400. package/dist/chunks/radio-input.uJAhxKRs.js.map +0 -1
  401. package/dist/chunks/rich-text-editor.BUKLdRkN.js.map +0 -1
  402. package/dist/chunks/search-bar.CuBj5FAE.js.map +0 -1
  403. package/dist/chunks/secondary-nav.C6usurfD.js.map +0 -1
  404. package/dist/chunks/segmented-control.DHZEfmT-.js.map +0 -1
  405. package/dist/chunks/selection-card-group.0o5T4tab.js.map +0 -1
  406. package/dist/chunks/sidepanel.DyThBUgV.js.map +0 -1
  407. package/dist/chunks/sidepanel.keys.R0DKQuYx.js +0 -5
  408. package/dist/chunks/sidepanel.keys.R0DKQuYx.js.map +0 -1
  409. package/dist/chunks/status.types.p_TCvoo0.js.map +0 -1
  410. package/dist/chunks/step.DMMofD4B.js.map +0 -1
  411. package/dist/chunks/structured-list-item.Bnn6-Z3q.js.map +0 -1
  412. package/dist/chunks/tab.BhWPBxcB.js.map +0 -1
  413. package/dist/chunks/tag.CGkclKVL.js.map +0 -1
  414. package/dist/chunks/teleport.BV6zrDjA.js +0 -128
  415. package/dist/chunks/teleport.BV6zrDjA.js.map +0 -1
  416. package/dist/chunks/textarea.UPM6N9V1.js +0 -203
  417. package/dist/chunks/textarea.UPM6N9V1.js.map +0 -1
  418. package/dist/chunks/timeline-item.DqLhj0Lb.js.map +0 -1
  419. package/dist/chunks/toast.BOyeuS19.js.map +0 -1
  420. package/dist/chunks/toggle-button.DEVVvpkw.js +0 -83
  421. package/dist/chunks/toggle-button.DEVVvpkw.js.map +0 -1
  422. package/dist/chunks/toggle.DyXL09-x.js.map +0 -1
  423. package/dist/chunks/tooltip.wQsyAwkC.js.map +0 -1
  424. package/dist/chunks/tutorial.CxrGhLS7.js.map +0 -1
  425. package/dist/chunks/typography.J1v_SPG3.js.map +0 -1
  426. package/dist/chunks/use-cached-selected-values.0EeyFfyF.js.map +0 -1
  427. package/dist/chunks/use-click-outside.BnhTgpSt.js +0 -14
  428. package/dist/chunks/use-click-outside.BnhTgpSt.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as L, useSlots as D, ref as C, watch as h, computed as o } from "vue";
2
- import { B as H, d as M } from "./typography.J1v_SPG3.js";
2
+ import { B as H, d as M } from "./typography.w3m-EY4E.js";
3
3
  import { C as U } from "./chevron-down.eYtgv5ly.js";
4
4
  import { C as O } from "./chevron-up.d8cwIlA_.js";
5
5
  import { u as R } from "./use-expandable-content-height.GkjjbmPy.js";
@@ -7,10 +7,11 @@ import { u as z } from "./use-has-slot.C9lQZ6nz.js";
7
7
  import { g as W } from "./generate-uid.NJ8tVoha.js";
8
8
  import { u as F } from "./i18n.BQkEbtPM.js";
9
9
  import { o as K } from "./resize.Bqks3WUm.js";
10
- import { c as N, B as P } from "./button-actions.Ju27CRNG.js";
10
+ import { B as N } from "./button-actions.types.BptAXjD8.js";
11
+ import { B as P } from "./toggle-button.DeECoGRn.js";
11
12
  import { n as Y } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
12
13
  import "../assets/card.css";
13
- var y = /* @__PURE__ */ ((s) => (s.PRIMARY = "primary", s.SECONDARY = "secondary", s))(y || {}), i = /* @__PURE__ */ ((s) => (s.DEFAULT = "default", s.SMALL = "small", s))(i || {});
14
+ var y = /* @__PURE__ */ ((s) => (s.PRIMARY = "primary", s.SECONDARY = "secondary", s))(y || {}), c = /* @__PURE__ */ ((s) => (s.DEFAULT = "default", s.SMALL = "small", s))(c || {});
14
15
  const j = {
15
16
  "en-US": {
16
17
  hideContent: "Hide content",
@@ -37,11 +38,11 @@ const j = {
37
38
  closed: { type: Boolean, default: !1 },
38
39
  disabled: { type: Boolean, default: !1 },
39
40
  expandable: { type: Boolean, default: !1 },
40
- titleSize: { default: i.DEFAULT }
41
+ titleSize: { default: c.DEFAULT }
41
42
  },
42
43
  emits: ["click", "expanded"],
43
44
  setup(s, { emit: t }) {
44
- const e = s, { t: a } = F(), n = D(), l = z(n), c = C(null), f = W("card"), r = C(!e.closed);
45
+ const e = s, { t: a } = F(), n = D(), l = z(n), i = C(null), f = W("card"), r = C(!e.closed);
45
46
  h(
46
47
  () => e.closed,
47
48
  (d) => {
@@ -62,7 +63,7 @@ const j = {
62
63
  "b-card__header--expandable": e.expandable,
63
64
  "b-card__header--without-body": !e.expandable && !_.value
64
65
  })), w = o(() => ({
65
- "b-card__toggle--small-text": e.titleSize === i.SMALL
66
+ "b-card__toggle--small-text": e.titleSize === c.SMALL
66
67
  })), S = o(() => ({
67
68
  "b-card__body--expandable": e.expandable && l("content"),
68
69
  "b-card__body--without-header": !e.expandable && !p.value
@@ -80,22 +81,22 @@ const j = {
80
81
  })), E = o(
81
82
  () => ({
82
83
  el: "div",
83
- variant: e.titleSize === i.DEFAULT ? "title" : "body",
84
- strongest: e.titleSize === i.SMALL,
85
- wide: e.titleSize === i.SMALL
84
+ variant: e.titleSize === c.DEFAULT ? "title" : "body",
85
+ strongest: e.titleSize === c.SMALL,
86
+ wide: e.titleSize === c.SMALL
86
87
  })
87
- ), { updateContentHeight: u, contentHeight: b } = R(c, r), I = o(
88
+ ), { updateContentHeight: u, contentHeight: b } = R(i, r), I = o(
88
89
  () => e.expandable && b.value ? { "max-height": b.value } : {}
89
90
  );
90
91
  return h(
91
- () => c.value,
92
+ () => i.value,
92
93
  () => {
93
94
  let d = null;
94
- !d && c.value && (d = K(c.value, () => {
95
- c.value && u();
95
+ !d && i.value && (d = K(i.value, () => {
96
+ i.value && u();
96
97
  }));
97
98
  }
98
- ), { __sfc: !0, t: a, slots: n, hasSlot: l, props: e, emit: t, contentDiv: c, cardId: f, showContent: r, showHeader: p, showTitleWrapper: x, showCardBody: _, tabIndex: g, headerTabIndex: m, cardConditionalClasses: v, cardHeaderConditionalClasses: k, cardToggleConditionalClasses: w, cardBodyConditionalClasses: S, cardContentConditionalClasses: B, cardActionsConditionalClasses: T, cardTitleWrapperConditionalClasses: A, typography: E, updateContentHeight: u, contentHeight: b, contentMaxHeight: I, toggleExpansion: () => {
99
+ ), { __sfc: !0, t: a, slots: n, hasSlot: l, props: e, emit: t, contentDiv: i, cardId: f, showContent: r, showHeader: p, showTitleWrapper: x, showCardBody: _, tabIndex: g, headerTabIndex: m, cardConditionalClasses: v, cardHeaderConditionalClasses: k, cardToggleConditionalClasses: w, cardBodyConditionalClasses: S, cardContentConditionalClasses: B, cardActionsConditionalClasses: T, cardTitleWrapperConditionalClasses: A, typography: E, updateContentHeight: u, contentHeight: b, contentMaxHeight: I, toggleExpansion: () => {
99
100
  !e.disabled && e.expandable && (r.value = !r.value, t("expanded", r.value), u());
100
101
  }, onClick: () => {
101
102
  e.disabled || (t("click"), e.clickable || M(
@@ -125,12 +126,12 @@ var G = function() {
125
126
  Q,
126
127
  !1,
127
128
  null,
128
- "49a71f6e"
129
+ "deeda1d9"
129
130
  );
130
- const pe = V.exports;
131
+ const ue = V.exports;
131
132
  export {
132
133
  y as B,
133
- i as a,
134
- pe as c
134
+ c as a,
135
+ ue as c
135
136
  };
136
- //# sourceMappingURL=card.CASAAsuJ.js.map
137
+ //# sourceMappingURL=card.DLRC9V0Q.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.DLRC9V0Q.js","sources":["../../src/components/card/card.types.ts","../../src/components/card/card.vue"],"sourcesContent":["/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoCardBackground {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoCardTitleSize {\n DEFAULT = 'default',\n SMALL = 'small',\n}\n","<template>\n <div\n class=\"b-card\"\n :class=\"cardConditionalClasses\"\n :tabindex=\"tabIndex\"\n data-testid=\"card\"\n @click=\"onClick\"\n @keydown.enter=\"onKeyDown\"\n @keydown.space=\"onKeyDown\"\n >\n <div v-if=\"hasSlot('image')\" class=\"b-card__image\">\n <slot name=\"image\"></slot>\n </div>\n <div\n v-if=\"showHeader\"\n class=\"b-card__header\"\n :class=\"cardHeaderConditionalClasses\"\n :tabindex=\"headerTabIndex\"\n :aria-controls=\"expandable ? cardId : null\"\n :aria-expanded=\"expandable ? `${showContent}` : null\"\n :role=\"expandable ? 'button' : null\"\n @click=\"toggleExpansion\"\n @keypress.enter=\"toggleExpansion\"\n @keypress.space=\"toggleExpansion\"\n >\n <div class=\"b-card__header-wrapper\">\n <div v-if=\"showTitleWrapper\" class=\"b-card__header-slot-wrapper\">\n <div class=\"b-card__title-wrapper\" :class=\"cardTitleWrapperConditionalClasses\">\n <div v-if=\"expandable\" class=\"b-card__toggle\" :class=\"cardToggleConditionalClasses\">\n <chevron-up-icon v-if=\"showContent\" :svg-title=\"t('hideContent')\" aria-hidden=\"true\" />\n <chevron-down-icon v-else :svg-title=\"t('showContent')\" aria-hidden=\"true\" />\n </div>\n <bento-typography v-if=\"hasSlot('default')\" class=\"b-card__title\" v-bind=\"typography\">\n <slot />\n </bento-typography>\n </div>\n\n <template v-if=\"hasSlot('header')\">\n <slot name=\"header\"></slot>\n </template>\n </div>\n\n <bento-typography v-if=\"hasSlot('description')\" class=\"b-card__description\" el=\"div\" variant=\"body\">\n <slot name=\"description\" />\n </bento-typography>\n </div>\n </div>\n\n <Transition name=\"b-card__animation\">\n <div v-if=\"showCardBody\" class=\"b-card__wrapper\" :style=\"contentMaxHeight\">\n <div\n :id=\"expandable ? cardId : null\"\n ref=\"contentDiv\"\n class=\"b-card__body\"\n :class=\"cardBodyConditionalClasses\"\n >\n <div v-if=\"hasSlot('content')\" class=\"b-card__content\" :class=\"cardContentConditionalClasses\">\n <slot name=\"content\" />\n </div>\n\n <div v-if=\"actions\" class=\"b-card__actions\" :class=\"cardActionsConditionalClasses\">\n <bento-button-actions :actions=\"actions\" :layout=\"actionsLayout\"></bento-button-actions>\n </div>\n </div>\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, ref, useSlots, watch } from 'vue';\n\n // Components\n import { BentoTypography } from '@/components/typography';\n import { BentoButtonActions, BentoButtonActionsLayout, type BentoButtonActionsList } from '@/components/button';\n import { BentoCardBackground, BentoCardTitleSize } from '@/components/card/card.types';\n import ChevronDownIcon from '@adyen/ui-assets-icons-16/vue/chevron-down';\n import ChevronUpIcon from '@adyen/ui-assets-icons-16/vue/chevron-up';\n\n // Composables\n import { useExpandableContentHeight } from '@/composables/use-expandable-content-height/use-expandable-content-height';\n\n // Utils\n import { useHasSlot } from '@/composables';\n import { generateUid } from '@/core/utils/ts';\n import { useI18n } from '@/utils/ts/i18n';\n import { observeSizeOfElement } from '@/utils/ts/resize';\n\n import messages from './messages.json';\n import { deprecate } from '@/utils/ts/deprecate';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const props = defineProps({\n actions: { default: null },\n actionsLayout: { default: BentoButtonActionsLayout.BUTTONS_END },\n background: { default: BentoCardBackground.PRIMARY },\n clickable: { type: Boolean, default: false },\n closed: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n expandable: { type: Boolean, default: false },\n titleSize: { default: BentoCardTitleSize.DEFAULT }\n});\n\n const emit = defineEmits([\"click\", \"expanded\"]);\n\n const contentDiv = ref<HTMLDivElement>(null);\n\n const cardId = generateUid('card');\n const showContent = ref(!props.closed);\n watch(\n () => props.closed,\n value => {\n showContent.value = !value;\n }\n );\n const showHeader = computed(() => hasSlot('default') || hasSlot('description') || hasSlot('header'));\n const showTitleWrapper = computed(() => hasSlot('default') || hasSlot('header'));\n const showCardBody = computed(\n () =>\n (hasSlot('content') || props.actions?.length) &&\n (!props.expandable || (props.expandable && showContent.value))\n );\n const tabIndex = computed(() => (props.clickable && !props.disabled ? 0 : -1));\n const headerTabIndex = computed(() => (props.expandable && !props.disabled ? 0 : -1));\n\n const cardConditionalClasses = computed(() => ({\n [`b-card--${props.background}`]: props.background,\n 'b-card--clickable': props.clickable,\n 'b-card--expandable': props.expandable,\n 'b-card--disabled': (props.clickable || props.expandable) && props.disabled,\n }));\n\n const cardHeaderConditionalClasses = computed(() => ({\n 'b-card__header--expandable': props.expandable,\n 'b-card__header--without-body': !props.expandable && !showCardBody.value,\n }));\n\n const cardToggleConditionalClasses = computed(() => ({\n 'b-card__toggle--small-text': props.titleSize === BentoCardTitleSize.SMALL,\n }));\n\n const cardBodyConditionalClasses = computed(() => ({\n 'b-card__body--expandable': props.expandable && hasSlot('content'),\n 'b-card__body--without-header': !props.expandable && !showHeader.value,\n }));\n\n const cardContentConditionalClasses = computed(() => ({\n 'b-card__content--without-header': !props.expandable && !showHeader.value,\n 'b-card__content--expandable': props.expandable,\n }));\n\n const cardActionsConditionalClasses = computed(() => {\n const isNotExpandableWithoutContent = !props.expandable && props.actions && !hasSlot('content');\n\n return {\n 'b-card__actions--without-content': isNotExpandableWithoutContent,\n 'b-card__actions--without-content-and-with-header': isNotExpandableWithoutContent && showHeader.value,\n };\n });\n\n const cardTitleWrapperConditionalClasses = computed(() => ({\n 'b-card__title-wrapper--truncated': hasSlot('header'),\n }));\n\n const typography = computed(\n () =>\n ({\n el: 'div',\n variant: props.titleSize === BentoCardTitleSize.DEFAULT ? 'title' : 'body',\n strongest: props.titleSize === BentoCardTitleSize.SMALL,\n wide: props.titleSize === BentoCardTitleSize.SMALL,\n }) as InstanceType<typeof BentoTypography>['$props']\n );\n\n // Toggle open and close logic and animation\n const { updateContentHeight, contentHeight } = useExpandableContentHeight(contentDiv, showContent);\n\n const contentMaxHeight = computed(() =>\n props.expandable && contentHeight.value ? { 'max-height': contentHeight.value } : {}\n );\n\n watch(\n () => contentDiv.value,\n () => {\n let observer: ResizeObserver | null = null;\n if (!observer && contentDiv.value) {\n observer = observeSizeOfElement(contentDiv.value, () => {\n if (contentDiv.value) {\n updateContentHeight();\n }\n });\n }\n }\n );\n\n const toggleExpansion = () => {\n if (!props.disabled && props.expandable) {\n showContent.value = !showContent.value;\n emit('expanded', showContent.value);\n updateContentHeight();\n }\n };\n\n const onClick = () => {\n if (!props.disabled) {\n emit('click');\n\n if (!props.clickable) {\n deprecate(\n 'BentoCard \"@click\" property',\n `Use the BentoCard \"@click\" with the \"clickable\" property to enable accessible styles.`,\n '2.0.0'\n );\n }\n }\n };\n\n const onKeyDown = () => {\n if (props.clickable && !props.disabled) {\n emit('click');\n }\n };\n</script>\n\n<script lang=\"ts\">\n /**\n * A card is a flexible and composable container.\n * Use cards to represent a single object or to visually group certain content, like legal information within company settings.\n *\n * @example\n * import { BentoCard } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoCard },\n * template: `\n * <bento-card>\n * Title of the Card\n * </bento-card>\n * `\n * };\n */\n export default {\n i18n: { messages },\n name: 'bento-card',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"@/core/components/card/card.scss\" />\n"],"names":["BentoCardBackground","BentoCardBackground2","BentoCardTitleSize","BentoCardTitleSize2","__default__","messages","t","useI18n","slots","useSlots","hasSlot","useHasSlot","contentDiv","ref","cardId","generateUid","showContent","props","watch","value","showHeader","computed","showTitleWrapper","showCardBody","_a","tabIndex","headerTabIndex","cardConditionalClasses","cardHeaderConditionalClasses","cardToggleConditionalClasses","cardBodyConditionalClasses","cardContentConditionalClasses","cardActionsConditionalClasses","isNotExpandableWithoutContent","cardTitleWrapperConditionalClasses","typography","updateContentHeight","contentHeight","useExpandableContentHeight","contentMaxHeight","observer","observeSizeOfElement","emit","deprecate"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { defineComponent as y, toRef as _, computed as l, watch as c, ref as v } from "vue";
2
- import { a as n, B as E } from "./checkbox.DCD6SSXC.js";
2
+ import { a as n, B as E } from "./checkbox.JhfbjDfJ.js";
3
3
  import { g as x } from "./generate-uid.NJ8tVoha.js";
4
- import { d as k } from "./typography.J1v_SPG3.js";
4
+ import { d as k } from "./typography.w3m-EY4E.js";
5
5
  import { u as C } from "./use-form-layout-loading.D3lALhtC.js";
6
- import { E as S } from "./error-message.BgxnwPLF.js";
7
- import { C as M } from "./controls-group.CccuLkgP.js";
6
+ import { E as S } from "./error-message.PWgUfpvo.js";
7
+ import { C as M } from "./controls-group.B1cxRdIA.js";
8
8
  import { n as I } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
9
9
  import "../assets/checkbox-group.css";
10
10
  var s = /* @__PURE__ */ ((r) => (r.HORIZONTAL = "horizontal", r.VERTICAL = "vertical", r))(s || {});
@@ -142,11 +142,11 @@ var w = function() {
142
142
  B,
143
143
  !1,
144
144
  null,
145
- "c124cab2"
145
+ "50db0a63"
146
146
  );
147
147
  const q = O.exports;
148
148
  export {
149
149
  s as B,
150
150
  q as c
151
151
  };
152
- //# sourceMappingURL=checkbox-group.QdX-NrSG.js.map
152
+ //# sourceMappingURL=checkbox-group.Cdt2Ik2_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-group.Cdt2Ik2_.js","sources":["../../src/components/checkbox/components/checkbox-group/checkbox-group.types.ts","../../src/components/checkbox/components/checkbox-group/checkbox-group.vue"],"sourcesContent":["import type { BentoCheckboxTag } from '../../checkbox.types';\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoCheckboxGroupVariant {\n HORIZONTAL = 'horizontal',\n VERTICAL = 'vertical',\n}\n\ninterface BentoCheckboxGroupItem {\n value: string | number;\n label: string;\n description?: string;\n disabled?: boolean;\n hasError?: boolean;\n errorMessage?: string;\n readonly?: boolean;\n tag?: BentoCheckboxTag;\n}\n\nexport type BentoCheckboxGroupItems = Array<BentoCheckboxGroupItem>;\n","<template>\n <div class=\"b-checkbox-group\">\n <controls-group\n class=\"b-checkbox-group__checkboxes\"\n :aria-describedby=\"shouldShowGroupErrorMessage ? errorId : ''\"\n :component-name=\"COMPONENT_NAME\"\n :class=\"conditionalClasses\"\n :description=\"description\"\n :disabled=\"disabled\"\n :form=\"formId\"\n :hide-label=\"hideLabel\"\n :label=\"label\"\n :optional=\"optional\"\n :required=\"required\"\n :tooltip-text=\"tooltipText\"\n >\n <bento-checkbox\n v-for=\"item in items\"\n :key=\"item.value\"\n :model-value=\"inputValue\"\n :value=\"item.value\"\n :disabled=\"disabled || item.disabled\"\n :has-error=\"shouldShowGroupError || item.hasError\"\n :error-message=\"shouldShowGroupError ? null : item.errorMessage\"\n :readonly=\"isReadOnly || item.readonly\"\n :tag=\"item.tag\"\n @update:model-value=\"onInput\"\n >\n <template #default>{{ item.label }}</template>\n <template v-if=\"item.description\" #description>{{ item.description }}</template>\n <template v-if=\"hasContentSlot('content')\" #content>\n <slot name=\"content\" v-bind=\"item\"></slot>\n </template>\n </bento-checkbox>\n </controls-group>\n <error-message\n v-if=\"shouldShowGroupErrorMessage\"\n :id=\"errorId\"\n :error-message=\"errorMessage\"\n class=\"b-checkbox-group__error-message\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, type PropType, ref, toRef, watch } from 'vue';\n import { ControlsGroup } from '@/components/internal/controls-group';\n import { ErrorMessage } from '@/components/internal/error-message';\n import { type BentoCheckboxGroupItems, BentoCheckboxGroupVariant } from './checkbox-group.types';\n import BentoCheckbox from '@/components/checkbox/checkbox.vue';\n import { BentoCheckboxEvent } from '../../checkbox.types';\n import { generateUid } from '@/core/utils/ts';\n import { deprecate } from '@/utils/ts/deprecate';\n import { useFormLayoutFieldLoading } from '@/composables/use-form-layout-loading/use-form-layout-loading';\n\n /**\n * The name of the component to be used in the Vue devtools and console warnings.\n */\n const COMPONENT_NAME = 'bento-checkbox-group';\n\n /**\n * A checkbox group component should be used whenever it is necessary to group a set of checkboxes that are related together\n * This component conforms to the official WAI-ARIA guidelines for grouping controls: https://www.w3.org/WAI/tutorials/forms/grouping/\n *\n * import { BentoCheckboxGroup } from '@adyen/bento-vue2/';\n *\n * export default {\n * components: { BentoCheckboxGroup },\n * template: `\n * <bento-checkbox-group\n * label=\"Your group label\"\n * :items=\"[\n * { value: 1, label: 'Your label' },\n * { value: 2, label: 'Another label', description: 'Your sub label' },\n * ]\"\n * />\n * `\n * };\n */\n export default defineComponent({\n name: COMPONENT_NAME,\n components: { BentoCheckbox, ControlsGroup, ErrorMessage },\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 checkboxes in the group in a disabled state.\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * Renders all checkboxes in an error state with an error message.\n */\n errorMessage: { type: String, default: null },\n\n /**\n * The form id the checkbox group is associated with. Defaults to null, as a checkbox group can also be used standalone.\n */\n formId: { type: String, default: null },\n\n /**\n * If set to true, renders all checkboxes 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 checkbox group's items.\n */\n items: { type: Array as PropType<BentoCheckboxGroupItems>, 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 BentoCheckboxButtonItem's value.\n * Defaults to no value selected.\n */\n modelValue: { type: Array<number | string | null>, default: () => [] },\n\n /**\n * Indicates the field is optional.\n */\n optional: { type: Boolean, default: false },\n\n /**\n * If set to true, renders all checkboxes 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 checkbox group's layout. It can be vertical or horizontal. Defaults to vertical.\n */\n variant: {\n type: String as PropType<BentoCheckboxGroupVariant | `${BentoCheckboxGroupVariant}`>,\n default: BentoCheckboxGroupVariant.VERTICAL,\n validator: (value: BentoCheckboxGroupVariant) =>\n Object.values(BentoCheckboxGroupVariant).includes(value),\n },\n },\n emits: [BentoCheckboxEvent.UPDATE, BentoCheckboxEvent.INPUT],\n setup(props, { emit, slots }) {\n const errorId = generateUid('error');\n const { isReadOnly } = useFormLayoutFieldLoading(toRef(props, 'readonly'));\n\n const shouldShowGroupError = computed(\n () => !props.disabled && !isReadOnly.value && (!!props.errorMessage || props.hasError)\n );\n const shouldShowGroupErrorMessage = computed(\n () => !props.disabled && !isReadOnly.value && !!props.errorMessage\n );\n\n const conditionalClasses = computed(() => ({\n 'b-checkbox-group__checkboxes--horizontal': props.variant === BentoCheckboxGroupVariant.HORIZONTAL,\n }));\n\n // Slots logic\n // Temporary, use-has-slots composable doesn't currently work for\n // vue3 named scoped slots\n const hasContentSlot = name => !!slots[name];\n const shouldShowSlotsError = computed(() => hasContentSlot('content') && props.variant !== 'vertical');\n\n watch(\n shouldShowSlotsError,\n newValue => {\n if (newValue) {\n throw new Error('The content slot is only available for the vertical checkbox group layout');\n }\n },\n { immediate: true }\n );\n\n const inputValue = ref(props.modelValue);\n watch(\n () => props.modelValue,\n () => {\n inputValue.value = props.modelValue;\n }\n );\n\n const onInput = value => {\n inputValue.value = value;\n emit(BentoCheckboxEvent.UPDATE, value);\n emit(BentoCheckboxEvent.INPUT, value);\n };\n\n if (props.hasError) {\n deprecate(\n 'BentoCheckboxGroup \"hasError\" property',\n `Use the BentoCheckboxGroup \"errorMessage\" property instead to indicate that there is a modifier error.\n Having the field as \"undefined\" will hide/remove the error.\n <bento-checkbox-group errorMessage=\"Error message text\" />`,\n '2.0.0'\n );\n }\n\n return {\n // Values\n COMPONENT_NAME,\n errorId,\n isReadOnly,\n shouldShowGroupError,\n shouldShowGroupErrorMessage,\n conditionalClasses,\n inputValue,\n hasContentSlot,\n\n // Methods\n onInput,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"@/core/components/checkbox-group/checkbox-group.scss\" />\n"],"names":["BentoCheckboxGroupVariant","BentoCheckboxGroupVariant2","COMPONENT_NAME","_sfc_main","defineComponent","BentoCheckbox","ControlsGroup","ErrorMessage","value","BentoCheckboxEvent","props","emit","slots","errorId","generateUid","isReadOnly","useFormLayoutFieldLoading","toRef","shouldShowGroupError","computed","shouldShowGroupErrorMessage","conditionalClasses","hasContentSlot","name","shouldShowSlotsError","watch","newValue","inputValue","ref","onInput","deprecate"],"mappings":"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"}
@@ -62,7 +62,7 @@ const B = {
62
62
  },
63
63
  emits: ["update:model-value"],
64
64
  setup(f, { emit: t }) {
65
- const a = f, e = D(null), n = l(() => g()), { disabled: i, indeterminate: h, modelValue: o, readonly: b, value: c } = I(a), m = l(() => ({
65
+ const a = f, e = D(null), n = l(() => g()), { disabled: i, indeterminate: h, modelValue: o, readonly: k, value: c } = I(a), m = l(() => ({
66
66
  [`b-checkbox-input--${s.DISABLED}`]: a.disabled,
67
67
  [`b-checkbox-input--${s.READONLY}`]: a.readonly
68
68
  })), C = l(() => ({
@@ -74,8 +74,8 @@ const B = {
74
74
  ), v = l(
75
75
  () => a.hasError && !a.disabled && !a.readonly
76
76
  );
77
- return { __sfc: !0, props: a, emit: t, inputRef: e, attrs: n, disabled: i, indeterminate: h, modelValue: o, readonly: b, value: c, conditionalClasses: m, outlineConditionalClasses: C, isCheckboxGroup: d, isChecked: p, ariaChecked: y, ariaInvalid: v, onClick: (r) => {
78
- if (b.value) {
77
+ return { __sfc: !0, props: a, emit: t, inputRef: e, attrs: n, disabled: i, indeterminate: h, modelValue: o, readonly: k, value: c, conditionalClasses: m, outlineConditionalClasses: C, isCheckboxGroup: d, isChecked: p, ariaChecked: y, ariaInvalid: v, onClick: (r) => {
78
+ if (k.value) {
79
79
  r.preventDefault();
80
80
  return;
81
81
  }
@@ -84,8 +84,8 @@ const B = {
84
84
  return;
85
85
  const x = r.target.checked;
86
86
  if (d.value) {
87
- const u = [...o.value], k = u.indexOf(c.value);
88
- k === -1 ? u.push(c.value) : u.splice(k, 1), t(_.UPDATE, u);
87
+ const u = [...o.value], b = u.indexOf(c.value);
88
+ b === -1 ? u.push(c.value) : u.splice(b, 1), t(_.UPDATE, u);
89
89
  } else
90
90
  t(_.UPDATE, x);
91
91
  }, CheckmarkSmallIcon: S, MinusSmallIcon: R };
@@ -108,10 +108,10 @@ var N = function() {
108
108
  O,
109
109
  !1,
110
110
  null,
111
- "114bf4ba"
111
+ "fae3736f"
112
112
  );
113
113
  const F = P.exports;
114
114
  export {
115
115
  F as C
116
116
  };
117
- //# sourceMappingURL=checkbox-input.CNWigbX4.js.map
117
+ //# sourceMappingURL=checkbox-input.C9vmlMZe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-input.C9vmlMZe.js","sources":["../../src/components/internal/checkbox-input/checkbox-input.vue"],"sourcesContent":["<template>\n <div class=\"b-checkbox-input\" :class=\"conditionalClasses\">\n <!-- Don't change order because it matters for CSS. Icons first -->\n <minus-small-icon v-if=\"indeterminate\" class=\"b-checkbox-input__icon\" svg-title=\"\" aria-hidden=\"true\" />\n <checkmark-small-icon v-else-if=\"isChecked\" class=\"b-checkbox-input__icon\" svg-title=\"\" aria-hidden=\"true\" />\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-bind=\"attrs\"\n type=\"checkbox\"\n class=\"b-checkbox-input__outline\"\n :class=\"outlineConditionalClasses\"\n :aria-label=\"ariaLabel\"\n :aria-checked=\"ariaChecked\"\n :aria-describedby=\"ariaDescribedby\"\n :aria-invalid=\"ariaInvalid\"\n :checked=\"isChecked\"\n :disabled=\"disabled\"\n :indeterminate.prop=\"indeterminate\"\n :value=\"value\"\n :aria-readonly=\"readonly\"\n @click=\"onClick\"\n @change=\"onChange\"\n @keydown.space.prevent=\"inputRef?.click()\"\n @keydown.enter.prevent=\"inputRef?.click()\"\n />\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, type HTMLAttributes, type PropType, ref, toRefs, useAttrs } from 'vue';\n import {\n CheckboxInputEvent,\n type CheckboxInputGroupItems,\n CheckboxInputState,\n type CheckboxInputType,\n type MultiCheckboxInputType,\n } from '@/internal/checkbox-input/checkbox-input.types';\n import CheckmarkSmallIcon from '@adyen/ui-assets-icons-16/vue/checkmark-small';\n import MinusSmallIcon from '@adyen/ui-assets-icons-16/vue/minus-small';\n import { isVue3 } from 'vue-demi';\n\n const props = defineProps({\n /**\n * The aria label associated to the input checkbox.\n */\n ariaLabel: { type: String, default: '' },\n\n /**\n * An additional string that serves as description for the input checkbox (useful if the component shows a description).\n */\n ariaDescribedby: { type: String, default: '' },\n\n /**\n * Setting this property to true will disable the checkbox in your form.\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * Setting this property to true will show the checkbox in error state.\n */\n hasError: { type: Boolean, default: false },\n\n /**\n * Sets the id of the checkbox. Required for accessibility purposes\n */\n id: { type: String, default: null },\n\n /**\n * The :indeterminate CSS pseudo-class represents any form element\n * whose state is indeterminate, such as checkboxes which have their HTML indeterminate attribute\n * set to true, radio buttons which are members of a group in which all radio buttons are unchecked,\n * and indeterminate <progress> elements. https://developer.mozilla.org/en-US/docs/Web/CSS/:indeterminate\n * This property lets you control the input.indeterminate native property.\n */\n indeterminate: { type: Boolean, default: false },\n\n /**\n * When handling a single checkbox with a singular state, use a boolean.\n *\n * When handling multiple checkboxes, use an array of keys.\n * These keys exist as a set \"value\" prop for each checkbox.\n */\n modelValue: {\n type: [Boolean, Array] as PropType<CheckboxInputType | CheckboxInputGroupItems>,\n default: false,\n },\n\n /**\n * Setting this property to true will set the checkbox to read only state.\n */\n readonly: { type: Boolean, default: false },\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n *\n * In the case of multiple checkboxes this value is used as a unique key.\n */\n value: { type: [String, Number], default: null },\n });\n\n const emit = defineEmits([\"update:model-value\"]);\n\n const inputRef = ref<HTMLInputElement | null>(null);\n\n // filter out style classes because in vue3 they are also part of attrs\n const attrs = computed(() => {\n if (isVue3) {\n const { class: _class, style: _style, ...rest } = useAttrs();\n return rest;\n } else {\n return useAttrs();\n }\n });\n\n const { disabled, indeterminate, modelValue, readonly, value } = toRefs(props);\n\n const conditionalClasses = computed(() => ({\n [`b-checkbox-input--${CheckboxInputState.DISABLED}`]: props.disabled,\n [`b-checkbox-input--${CheckboxInputState.READONLY}`]: props.readonly,\n }));\n\n const outlineConditionalClasses = computed(() => ({\n [`b-checkbox-input__outline--${CheckboxInputState.UNCHECKED}`]: !isChecked.value && !props.indeterminate,\n [`b-checkbox-input__outline--${CheckboxInputState.ERROR}`]: props.hasError,\n [`b-checkbox-input__outline--${CheckboxInputState.READONLY}`]: props.readonly,\n }));\n\n const isCheckboxGroup = computed(() => Array.isArray(modelValue.value));\n\n const isChecked = computed(() => {\n if (!isCheckboxGroup.value) {\n return modelValue.value as boolean;\n }\n\n return (modelValue.value as MultiCheckboxInputType).some(item => item === value.value);\n });\n\n // ARIA fields\n const ariaChecked = computed<HTMLAttributes['aria-checked']>(() =>\n props.indeterminate ? 'mixed' : `${!!isChecked.value}`\n );\n const ariaInvalid = computed<HTMLAttributes['aria-invalid']>(\n () => props.hasError && !props.disabled && !props.readonly\n );\n\n // readonly attr doesn't work with checkbox, so we need to manually ignore the click instead\n const onClick = (event: Event) => {\n if (readonly.value) {\n event.preventDefault();\n return;\n }\n };\n const onChange = (event: Event) => {\n if (disabled.value) {\n return;\n }\n\n const newValue: boolean = (event.target as HTMLInputElement).checked;\n\n if (isCheckboxGroup.value) {\n const newCheckedList = [...(modelValue.value as MultiCheckboxInputType)];\n const index = newCheckedList.indexOf(value.value);\n\n if (index === -1) {\n newCheckedList.push(value.value);\n } else {\n newCheckedList.splice(index, 1);\n }\n emit(CheckboxInputEvent.UPDATE, newCheckedList);\n } else {\n emit(CheckboxInputEvent.UPDATE, newValue);\n }\n };\n</script>\n\n<script lang=\"ts\">\n /**\n * Internal component that renders a checkbox input (without label)\n *\n * @example\n * import { BentoCheckboxInput } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoCheckboxInput },\n * template: `\n * <label for=\"checkbox-id\">Your label</label>\n * <span id=\"description-id\">Description</span>\n * <bento-checkbox-input id=\"checkbox-id\" aria=label=\"Your label\" aria-describedby=\"description-id\" />\n * `\n * }\n */\n export default {\n name: 'checkbox-input',\n inheritAttrs: false,\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"@/core/components/internal/checkbox-input/checkbox-input.scss\" />\n"],"names":["__default__","inputRef","ref","attrs","computed","useAttrs","disabled","indeterminate","modelValue","readonly","value","toRefs","props","conditionalClasses","CheckboxInputState","outlineConditionalClasses","isChecked","isCheckboxGroup","item","ariaChecked","ariaInvalid","event","newValue","newCheckedList","index","emit","CheckboxInputEvent"],"mappings":";;;;;;AAiMI,MAAAA,IAAA;AAAA,EAAe,MAAA;AAAA,EACL,cAAA;AAEV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA5FAC,IAAAC,EAAA,IAAA,GAGAC,IAAAC,EAAA,MAKQC,EAAA,CACJ,GAGJ,EAAA,UAAAC,GAAA,eAAAC,GAAA,YAAAC,GAAA,UAAAC,GAAA,OAAAC,EAAA,IAAAC,EAAAC,CAAA,GAEAC,IAAAT,EAAA,OAAA;AAAA,MAA2C,CAAA,qBAAAU,EAAA,QAAA,EAAA,GAAAF,EAAA;AAAA,MACqB,CAAA,qBAAAE,EAAA,QAAA,EAAA,GAAAF,EAAA;AAAA,IACA,EAAA,GAGhEG,IAAAX,EAAA,OAAA;AAAA,MAAkD,CAAA,8BAAAU,EAAA,SAAA,EAAA,GAAA,CAAAE,EAAA,SAAA,CAAAJ,EAAA;AAAA,MAC6C,CAAA,8BAAAE,EAAA,KAAA,EAAA,GAAAF,EAAA;AAAA,MACzB,CAAA,8BAAAE,EAAA,QAAA,EAAA,GAAAF,EAAA;AAAA,IACG,EAAA,GAGzEK,IAAAb,EAAA,MAAA,MAAA,QAAAI,EAAA,KAAA,CAAA,GAEAQ,IAAAZ,EAAA,MACIa,EAAA,QAIAT,EAAA,MAAA,KAAA,CAAAU,MAAAA,MAAAR,EAAA,KAAA,IAHIF,EAAA,KAGiF,GAIzFW,IAAAf;AAAA,MAAoB,MAAAQ,EAAA,gBAAA,UAAA,GAAA,CAAA,CAAAI,EAAA,KAAA;AAAA,IACoC,GAExDI,IAAAhB;AAAA,MAAoB,MAAAQ,EAAA,YAAA,CAAAA,EAAA,YAAA,CAAAA,EAAA;AAAA,IACkC;uQAItD,CAAAS,MAAA;AACI,UAAAZ,EAAA,OAAA;AACI,QAAAY,EAAA,eAAA;AACA;AAAA,MAAA;AAAA,IACJ,aAEJ,CAAAA,MAAA;AACI,UAAAf,EAAA;AACI;AAGJ,YAAAgB,IAAAD,EAAA,OAAA;AAEA,UAAAJ,EAAA,OAAA;AACI,cAAAM,IAAA,CAAA,GAAAf,EAAA,KAAA,GACAgB,IAAAD,EAAA,QAAAb,EAAA,KAAA;AAEA,QAAAc,MAAA,KACID,EAAA,KAAAb,EAAA,KAAA,IAEAa,EAAA,OAAAC,GAAA,CAAA,GAEJC,EAAAC,EAAA,QAAAH,CAAA;AAAA,MAA8C;AAE9C,QAAAE,EAAAC,EAAA,QAAAJ,CAAA;AAAA,IACJ;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as R, toRefs as k, computed as o, ref as A, onMounted as H, useAttrs as j } from "vue";
2
- import { B as F } from "./typography.J1v_SPG3.js";
3
- import { C as z } from "./checkbox-input.CNWigbX4.js";
2
+ import { B as F } from "./typography.w3m-EY4E.js";
3
+ import { C as z } from "./checkbox-input.C9vmlMZe.js";
4
4
  import { C } from "./minus-small.DJacLGTw.js";
5
5
  import { u as J } from "./use-default-slot-validator.BDn0wkYP.js";
6
6
  import { u as O } from "./use-has-slot.C9lQZ6nz.js";
@@ -8,8 +8,8 @@ import { g as B } from "./generate-uid.NJ8tVoha.js";
8
8
  import { g as f } from "./get-slot-text.BQS5Olxm.js";
9
9
  import { u as Y } from "./i18n.BQkEbtPM.js";
10
10
  import { u as K } from "./aria-label.CaUURpnB.js";
11
- import { B as Q } from "./tag.CGkclKVL.js";
12
- import { E as W } from "./error-message.BgxnwPLF.js";
11
+ import { B as Q } from "./tag.DfHE26ZN.js";
12
+ import { E as W } from "./error-message.PWgUfpvo.js";
13
13
  import { n as X } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
14
14
  import "../assets/checkbox.css";
15
15
  var s = /* @__PURE__ */ ((a) => (a.UPDATE = "update:model-value", a.INPUT = "input", a))(s || {});
@@ -168,11 +168,11 @@ var ee = function() {
168
168
  ae,
169
169
  !1,
170
170
  null,
171
- "9a0acfc4"
171
+ "e4babb4b"
172
172
  );
173
173
  const _e = te.exports;
174
174
  export {
175
175
  _e as B,
176
176
  s as a
177
177
  };
178
- //# sourceMappingURL=checkbox.DCD6SSXC.js.map
178
+ //# sourceMappingURL=checkbox.JhfbjDfJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.JhfbjDfJ.js","sources":["../../src/components/checkbox/checkbox.types.ts","../../src/components/checkbox/checkbox.vue"],"sourcesContent":["import type { BentoTagProps } from '../tag/tag.types';\nimport {\n CheckboxInputState as BentoCheckboxState,\n type CheckboxInputType as BentoCheckboxType,\n type MultiCheckboxInputType as BentoMultiCheckboxType,\n} from '@/internal/checkbox-input/checkbox-input.types';\n\nexport { BentoCheckboxState, BentoCheckboxType, BentoMultiCheckboxType };\n\nexport enum BentoCheckboxEvent {\n UPDATE = 'update:model-value',\n INPUT = 'input',\n}\n\nexport type BentoCheckboxTag = BentoTagProps;\n","<template>\n <label class=\"b-checkbox\" :class=\"conditionalClass\" v-bind=\"styleAttrs\" :aria-hidden=\"getAriaHidden($attrs)\">\n <checkbox-input\n v-bind=\"$attrs\"\n ref=\"input\"\n :aria-label=\"computedAriaLabel\"\n :aria-describedby=\"ariaDescribedBy\"\n :disabled=\"disabled\"\n :has-error=\"shouldShowError\"\n :indeterminate=\"isIndeterminate\"\n :value=\"value\"\n :model-value=\"modelValue\"\n :readonly=\"readonly\"\n @update:model-value=\"onChange\"\n />\n <span v-if=\"hasSlot('default') || shouldShowErrorMessage\" class=\"b-checkbox__text\">\n <bento-typography v-if=\"hasSlot('default')\" class=\"b-checkbox__label\" el=\"span\" variant=\"body\">\n <span><slot /></span>\n <bento-typography v-if=\"optional\" class=\"b-checkbox__label-requirement\" el=\"span\"\n >({{ t('optional') }})</bento-typography\n >\n <bento-typography v-else-if=\"required\" class=\"b-checkbox__label-requirement\" el=\"span\"\n >({{ t('required') }})</bento-typography\n >\n <bento-tag v-if=\"tag\" class=\"b-checkbox__label-tag\" v-bind=\"tag\" />\n </bento-typography>\n <bento-typography\n v-if=\"hasSlot('default') && hasSlot('description')\"\n :id=\"descriptionId\"\n class=\"b-checkbox__description\"\n el=\"span\"\n variant=\"body\"\n >\n <slot name=\"description\"></slot>\n </bento-typography>\n <error-message v-if=\"shouldShowErrorMessage\" :id=\"errorId\" :error-message=\"errorMessage\" />\n\n <bento-typography v-if=\"contentSlotAvailable\" class=\"b-checkbox__content\" el=\"span\" variant=\"body\">\n <slot name=\"content\"></slot>\n </bento-typography>\n </span>\n </label>\n</template>\n\n<script lang=\"ts\">\n import {\n computed,\n defineComponent,\n type HTMLAttributes,\n onMounted,\n type PropType,\n ref,\n toRefs,\n useAttrs,\n } from 'vue';\n import {\n BentoCheckboxEvent,\n BentoCheckboxState,\n type BentoCheckboxTag,\n type BentoCheckboxType,\n type BentoMultiCheckboxType,\n } from './checkbox.types';\n import { BentoTypography } from '@/components/typography';\n import { CheckboxInput } from '@/components/internal/checkbox-input';\n import { ErrorMessage } from '@/components/internal/error-message';\n import { useDefaultSlotValidator, useHasSlot } from '@/composables';\n import { generateUid } from '@/core/utils/ts';\n import { getSlotText } from '@/utils/ts/get-slot-text';\n import { useI18n } from '@/utils/ts/i18n';\n import { useAriaLabel } from '@/utils/ts/aria-label';\n import { BentoTag } from '@/components/tag';\n import { type BentoCheckboxGroupItems } from './components/checkbox-group/checkbox-group.types';\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n /**\n * Checkboxes are used to make a binary choice about an option.\n * The label tag area is also clickable.\n *\n * @usage\n * import { BentoCheckbox } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoCheckbox },\n * template: `\n * <bento-checkbox>\n * Label text\n * <template #description>Sub label text</template>\n * </bento-checkbox>\n * `,\n * }\n */\n export default defineComponent({\n name: 'bento-checkbox',\n i18n: { messages },\n components: {\n BentoTag,\n BentoTypography,\n CheckboxInput,\n ErrorMessage,\n },\n inheritAttrs: false,\n model: { prop: 'modelValue' },\n props: {\n /**\n * @deprecated from version 2.0.0. Use the aria-label attribute instead.\n */\n /**\n * Accessible name for the radio button component. It is strongly recommended to pas this value in case this component is used without a label.\n */\n ariaLabel: { type: String, default: null },\n\n /**\n * Setting this property to true will disable the checkbox in your form.\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * Renders the checkbox in an error state with an error message.\n */\n errorMessage: { type: String, default: null },\n\n /**\n * Setting this property to true will show the checkbox in error state.\n */\n hasError: { type: Boolean, default: false },\n\n /**\n * The :indeterminate CSS pseudo-class represents any form element\n * whose state is indeterminate, such as checkboxes which have their HTML indeterminate attribute\n * set to true, radio buttons which are members of a group in which all radio buttons are unchecked,\n * and indeterminate <progress> elements. https://developer.mozilla.org/en-US/docs/Web/CSS/:indeterminate\n * This property lets you control the input.indeterminate native property.\n */\n indeterminate: { type: Boolean, default: false },\n\n /**\n * When handling a single checkbox with a singular state, use a boolean.\n *\n * When handling multiple checkboxes, use an array of keys.\n * These keys exist as a set \"value\" prop for each checkbox.\n */\n modelValue: {\n type: [Boolean, Array] as PropType<BentoCheckboxType | BentoCheckboxGroupItems>,\n default: false,\n },\n\n /**\n * Highlights the checkbox is optional.\n */\n optional: { type: Boolean, default: false },\n\n /**\n * Setting this property to true will set the checkbox to read only state.\n */\n readonly: { type: Boolean, default: false },\n\n /**\n * Highlights the checkbox is required.\n */\n required: { type: Boolean, default: false },\n\n /**\n * Sets the properties of the BentoTag component that is placed next to the label.\n * {@see BentoTag}\n */\n tag: { type: Object as PropType<BentoCheckboxTag>, default: undefined },\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n *\n * In the case of multiple checkboxes this value is used as a unique key.\n */\n value: { type: [String, Number], default: null },\n },\n emits: [BentoCheckboxEvent.UPDATE, BentoCheckboxEvent.INPUT],\n setup(props, { attrs, emit, slots }) {\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n const descriptionId = generateUid('description');\n const errorId = generateUid('error');\n const hasSlot = useHasSlot(slots);\n\n const { disabled, indeterminate, modelValue, readonly, value } = toRefs(props);\n\n const defaultSlotValue = getSlotText(slots)('default');\n const descriptionSlotValue = getSlotText(slots)('description');\n\n useDefaultSlotValidator('bento-checkbox', slots.default, slots.description);\n\n const isCheckboxGroup = computed(() => Array.isArray(modelValue.value));\n const isChecked = computed(() => {\n if (!isCheckboxGroup.value) {\n return modelValue.value as boolean;\n }\n\n return (modelValue.value as BentoMultiCheckboxType).some(item => item === value.value);\n });\n const isIndeterminate = computed(() => indeterminate.value);\n\n const shouldShowError = computed(\n () => !props.disabled && !props.readonly && (props.hasError || !!props.errorMessage)\n );\n const shouldShowErrorMessage = computed(() => !props.disabled && !props.readonly && !!props.errorMessage);\n\n // Content slot logic\n const hasContentSlot = computed(() => hasSlot('content'));\n const isCheckedOrIntermediate = computed(() => isIndeterminate?.value || isChecked?.value);\n const contentSlotAvailable = computed(\n () => hasContentSlot?.value && isCheckboxGroup?.value && isCheckedOrIntermediate?.value\n );\n\n // ARIA fields\n const ariaDescribedBy = computed<HTMLAttributes['aria-describedby']>(\n () =>\n `${shouldShowErrorMessage.value ? errorId : ''} ${\n defaultSlotValue && descriptionSlotValue ? descriptionId : ''\n }`.trim() || null\n );\n\n const ariaLabelAttribute = ref(attrs['aria-label']);\n const { ariaLabel } = toRefs(props);\n const checkboxTranslation = ref();\n // Translations used in the script tag need to be inside onMounted otherwise they fail in Vue 3\n onMounted(() => {\n checkboxTranslation.value = t('checkbox');\n });\n // Only add aria-label if no label slot is present\n const computedAriaLabel = computed(\n () =>\n 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: hasSlot('default')\n ? (getSlotText(slots)('default') as string)\n : checkboxTranslation.value,\n }).value\n );\n const getAriaHidden = (attributes: HTMLAttributes) => attributes?.['aria-hidden'];\n\n const styleAttrs = computed(() => {\n const { style, class: cls } = useAttrs();\n return {\n class: cls as HTMLAttributes['class'],\n style: style as HTMLAttributes['style'],\n };\n });\n\n const conditionalClass = computed(() => ({\n [`b-checkbox--${BentoCheckboxState.DISABLED}`]: disabled.value,\n [`b-checkbox--${BentoCheckboxState.READONLY}`]: readonly.value,\n }));\n\n const onChange = (newValue: BentoCheckboxType | BentoCheckboxGroupItems) => {\n if (disabled.value) {\n return;\n }\n emit(BentoCheckboxEvent.UPDATE, newValue);\n emit(BentoCheckboxEvent.INPUT, newValue);\n };\n\n return {\n // Values\n descriptionId,\n errorId,\n ariaDescribedBy,\n computedAriaLabel,\n conditionalClass,\n defaultSlotValue,\n descriptionSlotValue,\n isIndeterminate,\n shouldShowError,\n shouldShowErrorMessage,\n contentSlotAvailable,\n hasContentSlot,\n styleAttrs,\n\n // Methods\n hasSlot,\n onChange,\n getAriaHidden,\n\n t,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"@/core/components/checkbox/checkbox.scss\" />\n"],"names":["BentoCheckboxEvent","BentoCheckboxEvent2","_sfc_main","defineComponent","messages","BentoTag","BentoTypography","CheckboxInput","ErrorMessage","props","attrs","emit","slots","t","useI18n","descriptionId","generateUid","errorId","hasSlot","useHasSlot","disabled","indeterminate","modelValue","readonly","value","toRefs","defaultSlotValue","getSlotText","descriptionSlotValue","useDefaultSlotValidator","isCheckboxGroup","computed","isChecked","item","isIndeterminate","shouldShowError","shouldShowErrorMessage","hasContentSlot","isCheckedOrIntermediate","contentSlotAvailable","ariaDescribedBy","ariaLabelAttribute","ref","ariaLabel","checkboxTranslation","onMounted","computedAriaLabel","useAriaLabel","getAriaHidden","attributes","styleAttrs","style","cls","useAttrs","conditionalClass","CheckboxInputState","newValue"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { defineComponent as l, computed as s } from "vue";
2
- import { B as i } from "./base-button.-gx_u8Bd.js";
3
- import { B as p } from "./typography.J1v_SPG3.js";
2
+ import { B as i } from "./base-button.BPZ_qSAu.js";
3
+ import { B as p } from "./typography.w3m-EY4E.js";
4
4
  import { C as m } from "./cross-small.CoQUe8SS.js";
5
5
  import { u as d } from "./i18n.BQkEbtPM.js";
6
- import { t as u } from "./truncate.BfIl_-71.js";
7
- import { n as _ } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
6
+ import { t as f } from "./truncate.BfIl_-71.js";
7
+ import { n as u } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
8
8
  import "../assets/chip.css";
9
- const f = {
9
+ const _ = {
10
10
  "en-US": {
11
11
  remove: "Remove"
12
12
  },
@@ -16,7 +16,7 @@ const f = {
16
16
  "pt-BR": {
17
17
  remove: "Remover"
18
18
  }
19
- }, y = { i18n: { messages: f } }, h = /* @__PURE__ */ l({
19
+ }, y = { i18n: { messages: _ } }, h = /* @__PURE__ */ l({
20
20
  ...y,
21
21
  __name: "chip",
22
22
  props: {
@@ -30,7 +30,7 @@ const f = {
30
30
  emits: ["click"],
31
31
  setup(a, { emit: o }) {
32
32
  const e = a, { t } = d(), n = s(
33
- () => e.characterLimit ? u(e.label, e.characterLimit) : e.label
33
+ () => e.characterLimit ? f(e.label, e.characterLimit) : e.label
34
34
  ), r = s(
35
35
  () => e.condensed ? "caption" : "body"
36
36
  ), c = s(() => ({
@@ -48,16 +48,16 @@ var b = function() {
48
48
  } }, scopedSlots: o._u([{ key: "iconRight", fn: function() {
49
49
  return [e(t.CrossSmallIcon, { staticClass: "b-chip__icon", attrs: { "svg-title": t.t("remove") } })];
50
50
  }, proxy: !0 }]) }, [e(t.BentoTypography, { staticClass: "b-chip__text", attrs: { el: "span", variant: t.computedTypographyVariant } }, [o._v(" " + o._s(t.computedLabel) + " ")])], 1);
51
- }, v = [], B = /* @__PURE__ */ _(
51
+ }, v = [], B = /* @__PURE__ */ u(
52
52
  h,
53
53
  b,
54
54
  v,
55
55
  !1,
56
56
  null,
57
- "dedf8f97"
57
+ "fc6261ff"
58
58
  );
59
59
  const S = B.exports;
60
60
  export {
61
61
  S as B
62
62
  };
63
- //# sourceMappingURL=chip.OV0EWIP3.js.map
63
+ //# sourceMappingURL=chip.Cn68PNxA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chip.Cn68PNxA.js","sources":["../../src/components/chip/chip.vue"],"sourcesContent":["<template>\n <base-button class=\"b-chip\" :disabled=\"disabled\" :class=\"conditionalClasses\" @click=\"emit('click')\">\n <bento-typography el=\"span\" :variant=\"computedTypographyVariant\" class=\"b-chip__text\">\n {{ computedLabel }}\n </bento-typography>\n <template #iconRight><cross-small-icon :svg-title=\"t('remove')\" class=\"b-chip__icon\" /></template>\n </base-button>\n</template>\n\n<script setup lang=\"ts\">\n import { BaseButton } from '@/components/internal/base-button';\n import { BentoTypography, type BentoTypographyVariant } from '@/components/typography';\n import CrossSmallIcon from '@adyen/ui-assets-icons-16/vue/cross-small';\n\n import { useI18n } from '@/utils/ts/i18n';\n import { truncate } from '@/utils/ts/truncate';\n\n import type { BentoChipProps } from './chip.types';\n\n import messages from './messages.json';\n import { computed } from 'vue';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const props = defineProps({\n label: null,\n disabled: { type: Boolean, default: false },\n readonly: { type: Boolean, default: false },\n error: { type: Boolean, default: false },\n condensed: { type: Boolean, default: false },\n characterLimit: { default: null }\n});\n\n const emit = defineEmits([\"click\"]);\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const computedLabel = computed(() =>\n props.characterLimit ? truncate(props.label, props.characterLimit) : props.label\n );\n\n const computedTypographyVariant = computed<`${BentoTypographyVariant}`>(() =>\n props.condensed ? 'caption' : 'body'\n );\n\n const conditionalClasses = computed(() => ({\n 'b-chip--condensed': props.condensed,\n 'b-chip--readonly': props.readonly && !props.disabled,\n 'b-chip--error': props.error,\n }));\n</script>\n\n<script lang=\"ts\">\n /**\n * Chip is a dismissible tag-like component that can be used to display selected items, which may need to be removed by the user.\n *\n * @example\n * import { BentoChip } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoChip },\n * template: `\n * <bento-chip\n * label=\"Label\"\n * :character-limit=\"20\"\n * condensed\n * @click=\"removeChip()\"\n *\n * />\n * `\n * }\n */\n export default { i18n: { messages } };\n</script>\n\n<style lang=\"scss\" scoped src=\"./chip.scss\" />\n"],"names":["__default__","messages","useI18n","computedLabel","computed","props","truncate","computedTypographyVariant","conditionalClasses"],"mappings":";;;;;;;;;;;;;;;;;;GAwEIA,IAAA,EAAA,MAAA,EAAA,UAAAC,EAAA,EAAA;;;;;;;;;;;;;iBArCA,EAAA,EAAA,IAAAC,EAAA,GAEAC,IAAAC;AAAA,MAAsB,MAAAC,EAAA,iBAAAC,EAAAD,EAAA,OAAAA,EAAA,cAAA,IAAAA,EAAA;AAAA,IACyD,GAG/EE,IAAAH;AAAA,MAAkC,MAAAC,EAAA,YAAA,YAAA;AAAA,IACA,GAGlCG,IAAAJ,EAAA,OAAA;AAAA,MAA2C,qBAAAC,EAAA;AAAA,MACZ,oBAAAA,EAAA,YAAA,CAAAA,EAAA;AAAA,MACkB,iBAAAA,EAAA;AAAA,IACtB,EAAA;;;;;;;;;;;;;;;;;;;;"}
@@ -1,14 +1,14 @@
1
1
  import { defineComponent as M, ref as g, computed as l, shallowRef as N, onMounted as Q, watch as Y, watchEffect as H } from "vue";
2
2
  import { s as V, H as D, t as e, L as Z, a as j, b as J, c as W, p as U, j as G, d as z, x as F, e as X, E as K, h as q, k as ee, C as _, f as P, i as te, g as T, l as ne, m as ae } from "./codemirror.Zv80n3Z2.js";
3
- import { b as oe, c as se, d as re, e as ie } from "./es6.n1ewaW31.js";
4
- import { B as le } from "./dropdown.DazYAy4B.js";
5
- import { B as ce } from "./button.hF-nD1Og.js";
6
- import { B as de } from "./typography.J1v_SPG3.js";
7
- import { B as pe } from "./loading-indicator.z8COalOc.js";
3
+ import { c as oe, d as se, e as re, f as ie } from "./es6.MoTTyETW.js";
4
+ import { B as le } from "./dropdown.DB_MlO1F.js";
5
+ import { B as ce } from "./button.B0hSQWOR.js";
6
+ import { B as de } from "./typography.w3m-EY4E.js";
7
+ import { B as pe } from "./loading-indicator.Iy1CVr_T.js";
8
8
  import { u as ge } from "./i18n.BQkEbtPM.js";
9
9
  import { E as ue } from "./expand.Bbielaja.js";
10
- import { h as fe } from "./base-modal.CkkfT6r6.js";
11
- import { C as he } from "./copy.CF8Fzu2Y.js";
10
+ import { h as fe } from "./base-modal.Cehud1uW.js";
11
+ import { C as he } from "./copy.UbMV4m6b.js";
12
12
  import { n as me } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
13
13
  import "../assets/code-snippet.css";
14
14
  const _e = {
@@ -256,4 +256,4 @@ export {
256
256
  c as b,
257
257
  Je as c
258
258
  };
259
- //# sourceMappingURL=code-snippet.dIKi0D7d.js.map
259
+ //# sourceMappingURL=code-snippet.hYghglvk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-snippet.hYghglvk.js","sources":["../../src/components/code-snippet/highlight.ts","../../src/components/code-snippet/code-snippet.types.ts","../../../../node_modules/.pnpm/codemirror-lang-csv@0.1.1/node_modules/codemirror-lang-csv/dist/index.js","../../src/components/code-snippet/utils/get-lang-loader.ts","../../src/components/code-snippet/utils/indent-same-as-line-before-extension.ts","../../src/components/code-snippet/code-snippet.vue"],"sourcesContent":["import { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport { tags as t } from '@lezer/highlight';\nimport {\n BCodeSnippetCodeAreaHighlightBlue,\n BCodeSnippetCodeAreaHighlightGreen,\n BCodeSnippetCodeAreaHighlightOrange,\n BCodeSnippetCodeAreaHighlightRed,\n} from '@adyen/bento-design-tokens/dist/js/bento/es6';\nimport { type BentoCodeSnippetSupportedLanguage } from './code-snippet.types';\n\nconst lightThemeColors = {\n red: BCodeSnippetCodeAreaHighlightRed,\n orange: BCodeSnippetCodeAreaHighlightOrange,\n green: BCodeSnippetCodeAreaHighlightGreen,\n blue: BCodeSnippetCodeAreaHighlightBlue,\n invalid: '#ffffff',\n};\n\nconst highlightStyle = (colors, language: BentoCodeSnippetSupportedLanguage | `${BentoCodeSnippetSupportedLanguage}`) =>\n HighlightStyle.define([\n {\n tag: t.keyword,\n color: colors.red,\n },\n {\n tag: [t.name, t.deleted, t.character, t.propertyName, t.macroName],\n color: colors.green,\n },\n {\n tag: [t.function(t.variableName), t.labelName],\n color: colors.blue,\n },\n {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: colors.red,\n },\n {\n tag: [t.definition(t.name), ...(language !== 'json' ? [t.separator] : [])],\n color: colors.red,\n },\n {\n tag: [t.typeName, t.className, t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: colors.orange,\n },\n {\n tag: [t.operator, t.operatorKeyword, t.url, t.escape, t.regexp, t.link, t.special(t.string)],\n color: colors.blue,\n },\n {\n tag: [t.meta, t.comment],\n color: colors.orange,\n },\n {\n tag: t.strong,\n fontWeight: 'bold',\n },\n {\n tag: t.emphasis,\n fontStyle: 'italic',\n },\n {\n tag: t.strikethrough,\n textDecoration: 'line-through',\n },\n {\n tag: t.link,\n color: colors.orange,\n textDecoration: 'underline',\n },\n {\n tag: t.heading,\n fontWeight: 'bold',\n color: colors.blue,\n },\n {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: colors.red,\n },\n {\n tag: [t.processingInstruction, t.string, t.inserted],\n color: colors.blue,\n },\n {\n tag: t.invalid,\n color: colors.invalid,\n },\n ]);\n\nexport const lightThemeHighlight = (\n language: BentoCodeSnippetSupportedLanguage | `${BentoCodeSnippetSupportedLanguage}`\n) => syntaxHighlighting(highlightStyle(lightThemeColors, language));\n","/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoCodeSnippetVariant {\n INLINE = 'inline',\n SINGLELINE = 'singleline',\n MULTILINE = 'multiline',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoCodeSnippetSupportedLanguage {\n JSON = 'json',\n XML = 'xml',\n JAVA = 'java',\n JAVASCRIPT = 'javascript',\n PYTHON = 'python',\n CSV = 'csv',\n}\n\nexport enum BentoCodeSnippetEvent {\n ACTION = 'action',\n CHANGE = 'change',\n}\n\nexport interface BentoCodeSnippetProps {\n /**\n * Displays a button that when clicked will emit an action event\n * Leaves to the parent component the logic of what to do with it\n */\n actionable?: boolean;\n\n /**\n * Displays a button that when clicked will emit a run event\n * Leaves to the parent component the logic of what to do with it\n */\n actionableText?: string;\n\n /**\n * The code content\n */\n content?: string;\n\n /**\n * Displays a button that can expand the codeblock into a modal to easily\n * view large blocks of code.\n */\n expandable?: boolean;\n\n /**\n * Allows editing of the code-snippet content by the user\n */\n editable?: boolean;\n\n /**\n * Language name for syntax highlighting rules\n */\n lang?: BentoCodeSnippetSupportedLanguage | `${BentoCodeSnippetSupportedLanguage}`;\n\n /**\n * Label to show in the action-bar, describing the language\n */\n langLabel?: string;\n\n /**\n * Toggles the loading indicator within the action bar\n */\n loading?: boolean;\n\n /**\n * Defines the variant of code-snippet\n */\n variant?: BentoCodeSnippetVariant | `${BentoCodeSnippetVariant}`;\n}\n","import { LRParser } from '@lezer/lr';\nimport { LRLanguage, LanguageSupport } from '@codemirror/language';\nimport { styleTags, tags } from '@lezer/highlight';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst parser = LRParser.deserialize({\n version: 14,\n states: \"nQVQPOOOOQO'#Ce'#CeOOQO'#Ca'#CaQVQPOOOOQO-E6_-E6_\",\n stateData: \"g~OWOS~OQPORPOSPO~OQRSR~\",\n goto: \"eYPPPPPZPPPaQRORSRTQOR\",\n nodeNames: \"⚠ Program String Separator Value\",\n maxTerm: 9,\n skippedNodes: [0],\n repeatNodeCount: 1,\n tokenData: \"'Y~RZOYtYZ!cZrtrs!hs|t|}'T}!]t!]!^'T!^;'St;'S;=`!]<%lOt~yUS~OYtZ|t}!]t!^;'St;'S;=`!]<%lOt~!`P;=`<%lt~!hOW~~!m]S~OY!hYZ#fZr!hrs%Ss|!h|}#f}!]!h!]!^#f!^#O!h#O#P%m#P;'S!h;'S;=`&}<%lO!h~#iVOr#frs$Os#O#f#O#P$T#P;'S#f;'S;=`$|<%lO#f~$TOQ~~$WRO;'S#f;'S;=`$a;=`O#f~$dWOr#frs$Os#O#f#O#P$T#P;'S#f;'S;=`$|;=`<%l#f<%lO#f~%PP;=`<%l#f~%ZUQ~S~OYtZ|t}!]t!^;'St;'S;=`!]<%lOt~%rYS~OY!hYZ#fZ|!h|}#f}!]!h!]!^#f!^;'S!h;'S;=`&b;=`<%l#f<%lO!h~&eWOr#frs$Os#O#f#O#P$T#P;'S#f;'S;=`$|;=`<%l!h<%lO#f~'QP;=`<%l!h~'YOR~\",\n tokenizers: [0],\n topRules: {\"Program\":[0,1]},\n tokenPrec: 18\n});\n\nconst csvLanguage = LRLanguage.define({\n parser: parser.configure({\n props: [\n styleTags({\n Separator: tags.separator,\n Value: tags.string,\n String: tags.string,\n LineComment: tags.lineComment,\n \"( )\": tags.paren,\n }),\n ],\n }),\n});\nfunction csv() {\n return new LanguageSupport(csvLanguage);\n}\n\nexport { csv, csvLanguage };\n","import { BentoCodeSnippetSupportedLanguage } from '@/components/code-snippet/code-snippet.types';\nimport { json } from '@codemirror/lang-json';\nimport { xml } from '@codemirror/lang-xml';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { java } from '@codemirror/lang-java';\nimport { python } from '@codemirror/lang-python';\nimport { csv } from 'codemirror-lang-csv';\nimport type { LanguageSupport } from '@codemirror/language';\n\n/**\n * TODO: This should be handled with dynamic imports,\n * without relying on importing every single language/package available.\n * These supported types need to be kept in line with the ones in packages/vue2/src/components/code-snippet/code-snippet.types.ts enum\n */\nconst importsMap: Record<BentoCodeSnippetSupportedLanguage, () => LanguageSupport> = {\n [BentoCodeSnippetSupportedLanguage.JSON]: json,\n [BentoCodeSnippetSupportedLanguage.XML]: xml,\n [BentoCodeSnippetSupportedLanguage.JAVASCRIPT]: javascript,\n [BentoCodeSnippetSupportedLanguage.JAVA]: java,\n [BentoCodeSnippetSupportedLanguage.PYTHON]: python,\n [BentoCodeSnippetSupportedLanguage.CSV]: csv,\n};\n\n/**\n * Returns a language loder for `CodeMirror`.\n * Supported languages: json, xml, javascript & java\n *\n * @param language Language to be used\n * @returns Language configuration loader to be used in codemirror\n */\nexport const getLangLoader = (language: BentoCodeSnippetSupportedLanguage | `${BentoCodeSnippetSupportedLanguage}`) => {\n const loadLang = async () => importsMap[language];\n\n return loadLang;\n};\n","import { EditorSelection, type EditorState, type SelectionRange } from '@codemirror/state';\n\n/**\n * Calculate indentation for a new line based on line before it.\n * @param state - The editor state\n * @param line - the selection range, in this case one line\n * @returns the indentation string to be pre-pended on a new line.\n */\nconst getIndentation = (state: EditorState, line: SelectionRange) => {\n const currentLine = state.doc.lineAt(line.from);\n const indentMatch = /^\\s*/.exec(currentLine.text);\n return indentMatch ? indentMatch[0] : '';\n};\n\n/**\n * This extension to codemirror will, upon pressing the 'Enter' key, indent the new line\n * the same as the line before it.\n */\nexport const INDENT_SAME_AS_LINE_BEFORE = {\n key: 'Enter',\n run: ({ state, dispatch }) => {\n const changes = state.changeByRange(range => {\n const indentation = getIndentation(state, range);\n const newText = `\\n${indentation}`;\n return {\n changes: { from: range.from, to: range.to, insert: newText },\n range: EditorSelection.cursor(range.from + newText.length),\n };\n });\n dispatch(state.update(changes, { scrollIntoView: true, userEvent: 'input' }));\n return true;\n },\n};\n\nexport default INDENT_SAME_AS_LINE_BEFORE;\n","<template>\n <div class=\"b-code-snippet\" :class=\"conditionalClasses\">\n <section v-if=\"!isInlineVariant\" class=\"b-code-snippet__action-bar\">\n <div class=\"b-code-snippet__action-bar--start\">\n <bento-dropdown\n v-if=\"availableLanguages.length > 0\"\n v-model=\"selectedLanguage\"\n v-bind=\"$props\"\n :disabled=\"availableLanguages.length === 1\"\n :items=\"availableLanguages\"\n class=\"b-code-snippet__language-picker\"\n @input=\"handleChangeLanguage\"\n />\n <bento-typography el=\"span\" stronger>\n {{ displayedLang }}\n </bento-typography>\n </div>\n <div class=\"b-code-snippet__action-bar--end\">\n <bento-loading-indicator v-if=\"loading\" />\n <copy v-if=\"currentContents !== null\" class=\"b-structured-list__icon\" :text=\"currentContents\" />\n <bento-button\n v-if=\"expandable\"\n variant=\"tertiary\"\n condensed\n :aria-label=\"t('expand')\"\n @click=\"showModal = true\"\n >\n <template #iconLeft>\n <expand-icon />\n </template>\n </bento-button>\n <bento-button v-if=\"actionable\" variant=\"primary\" tertiary condensed @click=\"onActionClicked\">\n <template #iconLeft>\n <bento-typography el=\"span\" class=\"b-code-snippet__action-button\">\n {{ runText }}\n </bento-typography>\n </template>\n </bento-button>\n </div>\n </section>\n <code v-if=\"content || editable\" class=\"b-code-snippet__code-area\">\n <div ref=\"container\" class=\"b-code-snippet__code-area-content\" :class=\"codeAreaContentConditionalClasses\" />\n </code>\n <section v-else>\n <slot name=\"empty-state\">\n <!-- TODO: switch with empty-state component when ready -->\n <div class=\"b-code-snippet__empty-state\">{{ t('nothingToDisplay') }}</div>\n </slot>\n </section>\n <base-modal\n v-if=\"expandable\"\n class=\"b-code-snippet__modal\"\n :hide-close-button=\"true\"\n :custom-padding=\"'0px'\"\n :is-dismissible=\"true\"\n :is-open=\"showModal\"\n size=\"large\"\n @close-modal=\"showModal = false\"\n >\n <template #content>\n <bento-code-snippet v-bind=\"{ ...$props, expandable: false }\" />\n </template>\n </base-modal>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, onMounted, ref, shallowRef, watch, watchEffect } from 'vue';\n import { EditorView, highlightActiveLine, keymap, lineNumbers } from '@codemirror/view';\n import { Compartment, EditorState } from '@codemirror/state';\n import { history, indentWithTab } from '@codemirror/commands';\n import { lightThemeHighlight } from './highlight';\n import { getLangLoader, INDENT_SAME_AS_LINE_BEFORE } from './utils';\n import { BentoDropdown } from '@/components/dropdown';\n import { BentoButton } from '@/components/button';\n import { BentoTypography } from '@/components/typography';\n import { BentoLoadingIndicator } from '@/components/loading-indicator';\n import { useI18n } from '@/utils/ts/i18n';\n import { Copy } from '@/internal';\n import {\n BentoCodeSnippetEvent,\n type BentoCodeSnippetProps,\n BentoCodeSnippetSupportedLanguage,\n BentoCodeSnippetVariant,\n } from './code-snippet.types';\n import ExpandIcon from '@adyen/ui-assets-icons-16/vue/expand';\n import BaseModal from '@/components/modal/components/base-modal/base-modal.vue';\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const props = defineProps({\n actionable: { type: Boolean, default: false },\n actionableText: { default: null },\n content: { default: '' },\n expandable: { type: Boolean, default: false },\n editable: { type: Boolean, default: false },\n lang: { default: BentoCodeSnippetSupportedLanguage.JSON },\n langLabel: { default: null },\n loading: { type: Boolean, default: false },\n variant: { default: BentoCodeSnippetVariant.MULTILINE }\n});\n\n const emit = defineEmits([BentoCodeSnippetEvent.ACTION, BentoCodeSnippetEvent.CHANGE]);\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n // language\n const selectedLanguage = ref<string | null>(null);\n const availableLanguages = []; // TODO: implement\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n const handleChangeLanguage = () => {};\n const displayedLang = computed(() => props.langLabel ?? props.lang.toUpperCase());\n\n const isInlineVariant = computed(() => props.variant === BentoCodeSnippetVariant.INLINE);\n\n const conditionalClasses = computed(() => ({\n 'b-code-snippet--inline': isInlineVariant.value,\n 'b-code-snippet--scrollable': !isInlineVariant.value,\n }));\n\n const codeAreaContentConditionalClasses = computed(() => ({\n 'b-code-snippet__code-area-content--editable': props.editable,\n }));\n\n const loadLang = getLangLoader(props.lang);\n\n const container = shallowRef<HTMLDivElement>();\n const editor = shallowRef<EditorView>();\n const languageConf = new Compartment();\n const editorTheme = new Compartment();\n const editorReadOnly = new Compartment();\n\n const currentContents = ref(null);\n const contentLength = ref(0);\n\n const runText = computed(() => props.actionableText || t('run'));\n\n onMounted(async () => {\n const language = await loadLang();\n\n // alongside the updateListener plugin it acts as a watcher of changes to the editor state\n currentContents.value = props.content;\n const updateCurrentContents = ({ state }) => {\n currentContents.value = state.doc.toString();\n };\n\n const extensions = [\n highlightActiveLine(),\n keymap.of([indentWithTab, INDENT_SAME_AS_LINE_BEFORE]),\n languageConf.of(language()),\n editorTheme.of(lightThemeHighlight(props.lang)),\n\n editorReadOnly.of(EditorState.readOnly.of(!props.editable)),\n EditorView.updateListener.of(content => updateCurrentContents(content)),\n ];\n\n if (props.variant === 'multiline') {\n extensions.push([lineNumbers(), history()]);\n }\n\n const state = EditorState.create({\n doc: props.content,\n extensions: [...extensions],\n });\n contentLength.value = state.doc.length;\n\n editor.value = new EditorView({\n state,\n parent: container.value,\n });\n });\n watch(\n () => props.content,\n () => {\n if (props.content !== currentContents.value) {\n const upcomingContentLength = props.content.length;\n editor.value.dispatch({\n changes: {\n from: 0,\n to: contentLength.value,\n insert: props.content,\n },\n });\n contentLength.value = upcomingContentLength;\n }\n }\n );\n\n const onActionClicked = () => {\n emit(BentoCodeSnippetEvent.ACTION, currentContents.value);\n };\n\n watchEffect(() => {\n if (currentContents.value !== null) {\n emit(BentoCodeSnippetEvent.CHANGE, currentContents.value);\n }\n });\n\n const showModal = ref(false);\n</script>\n\n<script lang=\"ts\">\n /**\n * A code-snippet is a container to display code in a readable way.\n * Come with added functionalities like syntax highlighting, editing and actioning the code\n *\n * @example\n * import { BentoCodeSnippet } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoCodeSnippet },\n * template: `\n * <bento-code-snippet :variant=\"BentoCodeSnippetVariant.MULTILINE\" content=\"{ example: 1234 }\" />\n * `\n * }\n */\n export default {\n i18n: { messages },\n name: 'bento-code-snippet',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./code-snippet.scss\"></style>\n"],"names":["lightThemeColors","BCodeSnippetCodeAreaHighlightRed","BCodeSnippetCodeAreaHighlightOrange","BCodeSnippetCodeAreaHighlightGreen","BCodeSnippetCodeAreaHighlightBlue","highlightStyle","colors","language","HighlightStyle","tags","lightThemeHighlight","syntaxHighlighting","BentoCodeSnippetVariant","BentoCodeSnippetVariant2","BentoCodeSnippetSupportedLanguage","BentoCodeSnippetSupportedLanguage2","BentoCodeSnippetEvent","BentoCodeSnippetEvent2","parser","LRParser","csvLanguage","LRLanguage","styleTags","csv","LanguageSupport","importsMap","json","xml","javascript","java","python","getLangLoader","getIndentation","state","line","currentLine","indentMatch","INDENT_SAME_AS_LINE_BEFORE","dispatch","changes","range","newText","EditorSelection","__default__","messages","t","useI18n","selectedLanguage","ref","availableLanguages","handleChangeLanguage","displayedLang","computed","props","isInlineVariant","conditionalClasses","codeAreaContentConditionalClasses","loadLang","container","shallowRef","editor","languageConf","Compartment","editorTheme","editorReadOnly","currentContents","contentLength","runText","onMounted","updateCurrentContents","state2","extensions","highlightActiveLine","keymap","indentWithTab","EditorState","EditorView","content","lineNumbers","history","watch","upcomingContentLength","onActionClicked","emit","watchEffect","showModal"],"mappings":"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","x_google_ignoreList":[2]}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as d, useAttrs as p, computed as s } from "vue";
2
- import { d as c, B as b } from "./typography.J1v_SPG3.js";
3
- import { F as u } from "./error-message.BgxnwPLF.js";
2
+ import { d as c, B as b } from "./typography.w3m-EY4E.js";
3
+ import { F as u } from "./error-message.PWgUfpvo.js";
4
4
  import { n as _ } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
5
5
  import "../assets/controls-group.css";
6
6
  const f = {}, m = /* @__PURE__ */ d({
@@ -78,4 +78,4 @@ const B = g.exports;
78
78
  export {
79
79
  B as C
80
80
  };
81
- //# sourceMappingURL=controls-group.CccuLkgP.js.map
81
+ //# sourceMappingURL=controls-group.B1cxRdIA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controls-group.CccuLkgP.js","sources":["../../src/components/internal/controls-group/controls-group.vue"],"sourcesContent":["<template>\n <fieldset\n class=\"b-controls-group\"\n :class=\"conditionalClasses\"\n :form=\"form\"\n :disabled=\"disabled\"\n :aria-describedby=\"ariaAttributes['aria-describedby']\"\n >\n <legend class=\"b-controls-group__label-container\" :class=\"legendConditionalClasses\">\n <field-label\n v-if=\"label\"\n class=\"b-controls-group__label\"\n :label=\"label\"\n :tooltip-text=\"tooltipText\"\n :optional=\"optional\"\n :required=\"required\"\n />\n <bento-typography v-if=\"description\" class=\"b-controls-group__description\" el=\"span\">\n {{ description }}\n </bento-typography>\n </legend>\n <slot />\n </fieldset>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, useAttrs } from 'vue';\n import { BentoTypography } from '@/components/typography';\n import { FieldLabel } from '@/components/internal/field-label';\n import { deprecate } from '@/utils/ts/deprecate';\n\n const attrs = useAttrs();\n\n const props = defineProps({\n /**\n * Descriptive supporting text visbile underneath the label.\n */\n description: { type: String, default: null },\n\n /**\n * The name of the component to cite when throwing a depreacte error.\n */\n componentName: { type: String, required: true },\n\n /**\n * Sets all child controls of the <fieldset> as disabled.\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * The value of the id attribute of a <form> element the <fieldset> is to part of, even if it is not inside the form itself.\n */\n form: { type: String, default: null },\n\n /**\n * Shows/hides the group label.\n */\n hideLabel: { type: Boolean, default: null },\n\n /**\n * The name associated with the group. Required for accessibility purposes.\n * The label is shown when `hideLabel` is set to `true` or if `description` is passed\n */\n label: { type: String, required: true },\n\n /**\n * Indicates the field is optional.\n */\n optional: { 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 const ariaAttributes = computed(() => ({\n 'aria-describedby': attrs['aria-describedby']?.toString() as string,\n }));\n\n const conditionalClasses = computed(() => ({\n 'b-controls-group--disabled': props.disabled,\n }));\n\n const legendConditionalClasses = computed(() => {\n const isLabelAndDescriptionPresent = props.label && props.description;\n const shouldShowLabel = isLabelAndDescriptionPresent || props.hideLabel === false;\n\n return {\n 'b-controls-group__label-container--hidden': !shouldShowLabel,\n };\n });\n\n // eslint-disable-next-line eqeqeq -- Needs to show deprecate message when hideLabel is not set and no description available\n const hasNoPropsDefined = !props.description && props.hideLabel == undefined;\n if (hasNoPropsDefined) {\n deprecate(\n `${props.componentName}: The property \\`label\\` will always be rendered by default.`,\n `After version 2.0.0, the label will be shown by default.\n To continue hiding the label set \\`:hide-label=\"true\"\\`. Up until version 2.0.0, to display the label set \\`hide-label=\"false\"\\`.\n \\`label\\` will always be rendered when \\`description\\` is passed alongside with \\`label\\``,\n `2.0.0`\n );\n }\n</script>\n\n<script lang=\"ts\">\n /**\n * A controls group components should be used whenever it is necessary to group a set of controls (i.e. radio buttons or checkboxes)\n * This component conforms to the official WAI-ARIA guidelines for grouping controls: https://www.w3.org/WAI/tutorials/forms/grouping/\n *\n * NOTE: This component should not be used by itself but more implemented by other exported components\n * @example\n * import { ControlsGroup, BentoCheckbox, BentoRadioButton } from '@adyen/bento-vue2/';\n *\n * export default {\n * components: { ControlsGroup, BentoRadioButton },\n * template: `\n * <controls-group\n * label=\"Your group label\"\n * description=\"Description\"\n * >\n * <bento-radio-button\n * disabled\n * value=\"inputRadio\"\n * >\n * Label text\n * </bento-radio-button>\n * <bento-radio-button\n * value=\"inputRadio\"\n * >\n * Another label text\n * </bento-radio-button>\n * </controls-group>\n * `\n * };\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"@/core/components/controls-group/controls-group.scss\" />\n"],"names":["__default__","attrs","useAttrs","ariaAttributes","computed","_a","conditionalClasses","props","legendConditionalClasses","hasNoPropsDefined","deprecate"],"mappings":";;;;;AA8II,MAAAA,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA/GAC,IAAAC,EAAA,GAkDAC,IAAAC,EAAA,MAAA;;AAAA;AAAA,QAAuC,qBAAAC,IAAAJ,EAAA,kBAAA,MAAA,gBAAAI,EAAA;AAAA,MACqB;AAAA,KAAA,GAG5DC,IAAAF,EAAA,OAAA;AAAA,MAA2C,8BAAAG,EAAA;AAAA,IACH,EAAA,GAGxCC,IAAAJ,EAAA,OAII;AAAA,MAAO,6CAAA,EAHPG,EAAA,SAAAA,EAAA,eACAA,EAAA,cAAA;AAAA,IAGkD,EAClD,GAIJE,IAAA,CAAAF,EAAA,eAAAA,EAAA,aAAA;AACA,WAAAE,KACIC;AAAA,MAAA,GAAAH,EAAA,aAAA;AAAA,MAC0B;AAAA,MACtB;AAAA,IAGA;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"controls-group.B1cxRdIA.js","sources":["../../src/components/internal/controls-group/controls-group.vue"],"sourcesContent":["<template>\n <fieldset\n class=\"b-controls-group\"\n :class=\"conditionalClasses\"\n :form=\"form\"\n :disabled=\"disabled\"\n :aria-describedby=\"ariaAttributes['aria-describedby']\"\n >\n <legend class=\"b-controls-group__label-container\" :class=\"legendConditionalClasses\">\n <field-label\n v-if=\"label\"\n class=\"b-controls-group__label\"\n :label=\"label\"\n :tooltip-text=\"tooltipText\"\n :optional=\"optional\"\n :required=\"required\"\n />\n <bento-typography v-if=\"description\" class=\"b-controls-group__description\" el=\"span\">\n {{ description }}\n </bento-typography>\n </legend>\n <slot />\n </fieldset>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, useAttrs } from 'vue';\n import { BentoTypography } from '@/components/typography';\n import { FieldLabel } from '@/components/internal/field-label';\n import { deprecate } from '@/utils/ts/deprecate';\n\n const attrs = useAttrs();\n\n const props = defineProps({\n /**\n * Descriptive supporting text visbile underneath the label.\n */\n description: { type: String, default: null },\n\n /**\n * The name of the component to cite when throwing a depreacte error.\n */\n componentName: { type: String, required: true },\n\n /**\n * Sets all child controls of the <fieldset> as disabled.\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * The value of the id attribute of a <form> element the <fieldset> is to part of, even if it is not inside the form itself.\n */\n form: { type: String, default: null },\n\n /**\n * Shows/hides the group label.\n */\n hideLabel: { type: Boolean, default: null },\n\n /**\n * The name associated with the group. Required for accessibility purposes.\n * The label is shown when `hideLabel` is set to `true` or if `description` is passed\n */\n label: { type: String, required: true },\n\n /**\n * Indicates the field is optional.\n */\n optional: { 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 const ariaAttributes = computed(() => ({\n 'aria-describedby': attrs['aria-describedby']?.toString() as string,\n }));\n\n const conditionalClasses = computed(() => ({\n 'b-controls-group--disabled': props.disabled,\n }));\n\n const legendConditionalClasses = computed(() => {\n const isLabelAndDescriptionPresent = props.label && props.description;\n const shouldShowLabel = isLabelAndDescriptionPresent || props.hideLabel === false;\n\n return {\n 'b-controls-group__label-container--hidden': !shouldShowLabel,\n };\n });\n\n // eslint-disable-next-line eqeqeq -- Needs to show deprecate message when hideLabel is not set and no description available\n const hasNoPropsDefined = !props.description && props.hideLabel == undefined;\n if (hasNoPropsDefined) {\n deprecate(\n `${props.componentName}: The property \\`label\\` will always be rendered by default.`,\n `After version 2.0.0, the label will be shown by default.\n To continue hiding the label set \\`:hide-label=\"true\"\\`. Up until version 2.0.0, to display the label set \\`hide-label=\"false\"\\`.\n \\`label\\` will always be rendered when \\`description\\` is passed alongside with \\`label\\``,\n `2.0.0`\n );\n }\n</script>\n\n<script lang=\"ts\">\n /**\n * A controls group components should be used whenever it is necessary to group a set of controls (i.e. radio buttons or checkboxes)\n * This component conforms to the official WAI-ARIA guidelines for grouping controls: https://www.w3.org/WAI/tutorials/forms/grouping/\n *\n * NOTE: This component should not be used by itself but more implemented by other exported components\n * @example\n * import { ControlsGroup, BentoCheckbox, BentoRadioButton } from '@adyen/bento-vue2/';\n *\n * export default {\n * components: { ControlsGroup, BentoRadioButton },\n * template: `\n * <controls-group\n * label=\"Your group label\"\n * description=\"Description\"\n * >\n * <bento-radio-button\n * disabled\n * value=\"inputRadio\"\n * >\n * Label text\n * </bento-radio-button>\n * <bento-radio-button\n * value=\"inputRadio\"\n * >\n * Another label text\n * </bento-radio-button>\n * </controls-group>\n * `\n * };\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"@/core/components/controls-group/controls-group.scss\" />\n"],"names":["__default__","attrs","useAttrs","ariaAttributes","computed","_a","conditionalClasses","props","legendConditionalClasses","hasNoPropsDefined","deprecate"],"mappings":";;;;;AA8II,MAAAA,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA/GAC,IAAAC,EAAA,GAkDAC,IAAAC,EAAA,MAAA;;AAAA;AAAA,QAAuC,qBAAAC,IAAAJ,EAAA,kBAAA,MAAA,gBAAAI,EAAA;AAAA,MACqB;AAAA,KAAA,GAG5DC,IAAAF,EAAA,OAAA;AAAA,MAA2C,8BAAAG,EAAA;AAAA,IACH,EAAA,GAGxCC,IAAAJ,EAAA,OAII;AAAA,MAAO,6CAAA,EAHPG,EAAA,SAAAA,EAAA,eACAA,EAAA,cAAA;AAAA,IAGkD,EAClD,GAIJE,IAAA,CAAAF,EAAA,eAAAA,EAAA,aAAA;AACA,WAAAE,KACIC;AAAA,MAAA,GAAAH,EAAA,aAAA;AAAA,MAC0B;AAAA,MACtB;AAAA,IAGA;;;;;;;;;;;;;;;"}