@adyen/bento-vue2 1.44.0 → 1.46.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 (254) hide show
  1. package/dist/@types/index.d.ts +16661 -18847
  2. package/dist/action-bar.js +1 -1
  3. package/dist/alert.js +1 -1
  4. package/dist/assets/accordion-item.css +1 -1
  5. package/dist/assets/action-bar.css +1 -1
  6. package/dist/assets/base-button.css +1 -1
  7. package/dist/assets/base-modal.css +1 -1
  8. package/dist/assets/button.css +1 -1
  9. package/dist/assets/card.css +1 -1
  10. package/dist/assets/checkbox.css +1 -1
  11. package/dist/assets/data-grid.css +1 -1
  12. package/dist/assets/dialog-page.css +1 -1
  13. package/dist/assets/dropdown-default-textbox.css +1 -1
  14. package/dist/assets/dropdown.css +1 -1
  15. package/dist/assets/file-uploader.css +1 -1
  16. package/dist/assets/focus-trap.css +1 -1
  17. package/dist/assets/header.css +1 -1
  18. package/dist/assets/info-icon-with-popover.css +1 -0
  19. package/dist/assets/input-field.css +1 -1
  20. package/dist/assets/inspector.css +1 -1
  21. package/dist/assets/layout-row.css +1 -1
  22. package/dist/assets/link.css +1 -1
  23. package/dist/assets/menu.css +1 -1
  24. package/dist/assets/modal-fullscreen.css +1 -1
  25. package/dist/assets/popover.css +1 -1
  26. package/dist/assets/popper-container.css +1 -1
  27. package/dist/assets/radio-input.css +1 -1
  28. package/dist/assets/sidepanel.css +1 -1
  29. package/dist/assets/step.css +1 -1
  30. package/dist/assets/tabs.css +1 -1
  31. package/dist/assets/use-cached-selected-values.css +1 -1
  32. package/dist/button.js +3 -3
  33. package/dist/card.js +1 -1
  34. package/dist/checkbox.js +2 -2
  35. package/dist/chunks/{action-bar.Dx12xlEW.js → action-bar.e_2fmyN_.js} +6 -6
  36. package/dist/chunks/{action-bar.Dx12xlEW.js.map → action-bar.e_2fmyN_.js.map} +1 -1
  37. package/dist/chunks/{alert.D2Z_aiFC.js → alert.BcfhueIA.js} +2 -2
  38. package/dist/chunks/{alert.D2Z_aiFC.js.map → alert.BcfhueIA.js.map} +1 -1
  39. package/dist/chunks/{base-button.4UYC3kp2.js → base-button.BeMKxkgK.js} +2 -2
  40. package/dist/chunks/base-button.BeMKxkgK.js.map +1 -0
  41. package/dist/chunks/{base-modal.BrqNR-ah.js → base-modal.UPLi477L.js} +15 -15
  42. package/dist/chunks/{base-modal.BrqNR-ah.js.map → base-modal.UPLi477L.js.map} +1 -1
  43. package/dist/chunks/{button-actions-with-menu.ptKgeQEb.js → button-actions-with-menu.CyNvhDxN.js} +4 -4
  44. package/dist/chunks/{button-actions-with-menu.ptKgeQEb.js.map → button-actions-with-menu.CyNvhDxN.js.map} +1 -1
  45. package/dist/chunks/{button-actions.BIQ3qA8q.js → button-actions.BaypoF5i.js} +3 -3
  46. package/dist/chunks/{button-actions.BIQ3qA8q.js.map → button-actions.BaypoF5i.js.map} +1 -1
  47. package/dist/chunks/{button.CufUNBkv.js → button.Bx8WC-dy.js} +12 -12
  48. package/dist/chunks/button.Bx8WC-dy.js.map +1 -0
  49. package/dist/chunks/{calendar.B9WZ8ub3.js → calendar.LXRuFfcw.js} +2 -2
  50. package/dist/chunks/{calendar.B9WZ8ub3.js.map → calendar.LXRuFfcw.js.map} +1 -1
  51. package/dist/chunks/{card.D9g7fZDX.js → card.INSvvGNH.js} +2 -2
  52. package/dist/chunks/{card.D9g7fZDX.js.map → card.INSvvGNH.js.map} +1 -1
  53. package/dist/chunks/{checkbox-group.Bcqac3y8.js → checkbox-group.BNVnOYKH.js} +4 -4
  54. package/dist/chunks/{checkbox-group.Bcqac3y8.js.map → checkbox-group.BNVnOYKH.js.map} +1 -1
  55. package/dist/chunks/{checkbox.B1qjI4R_.js → checkbox.CcwY2CMn.js} +4 -4
  56. package/dist/chunks/checkbox.CcwY2CMn.js.map +1 -0
  57. package/dist/chunks/{code-snippet.rmKiWrIv.js → code-snippet.Bs7wIGi8.js} +113 -83
  58. package/dist/chunks/code-snippet.Bs7wIGi8.js.map +1 -0
  59. package/dist/chunks/{codemirror.BlV6WO5w.js → codemirror.OjJ-3ixa.js} +4645 -4333
  60. package/dist/chunks/codemirror.OjJ-3ixa.js.map +1 -0
  61. package/dist/chunks/{controls-group.J8shO_JL.js → controls-group.CIdhlTk3.js} +2 -2
  62. package/dist/chunks/{controls-group.J8shO_JL.js.map → controls-group.CIdhlTk3.js.map} +1 -1
  63. package/dist/chunks/{copy.DgzxvExj.js → copy.BakPR7GI.js} +4 -4
  64. package/dist/chunks/{copy.DgzxvExj.js.map → copy.BakPR7GI.js.map} +1 -1
  65. package/dist/chunks/{country.CM5oZOyZ.js → country.BegULkAC.js} +2 -2
  66. package/dist/chunks/{country.CM5oZOyZ.js.map → country.BegULkAC.js.map} +1 -1
  67. package/dist/chunks/{country.types.Br0AjxGy.js → country.types.pilf5B3F.js} +483 -480
  68. package/dist/chunks/{country.types.Br0AjxGy.js.map → country.types.pilf5B3F.js.map} +1 -1
  69. package/dist/chunks/{dashboard-section._KVy37B0.js → dashboard-section.DUN8FB74.js} +4 -4
  70. package/dist/chunks/{dashboard-section._KVy37B0.js.map → dashboard-section.DUN8FB74.js.map} +1 -1
  71. package/dist/chunks/{dashed-underline.DX5QlK14.js → dashed-underline.BDK3yEtw.js} +3 -3
  72. package/dist/chunks/{dashed-underline.DX5QlK14.js.map → dashed-underline.BDK3yEtw.js.map} +1 -1
  73. package/dist/chunks/{data-grid-template.BgTUIoak.js → data-grid-template.BO2v-T1n.js} +3 -3
  74. package/dist/chunks/{data-grid-template.BgTUIoak.js.map → data-grid-template.BO2v-T1n.js.map} +1 -1
  75. package/dist/chunks/{data-grid.sAbzCVND.js → data-grid.NkQC0etq.js} +21 -21
  76. package/dist/chunks/{data-grid.sAbzCVND.js.map → data-grid.NkQC0etq.js.map} +1 -1
  77. package/dist/chunks/{date-picker.DrSWxADA.js → date-picker.DFgjvQgX.js} +5 -5
  78. package/dist/chunks/{date-picker.DrSWxADA.js.map → date-picker.DFgjvQgX.js.map} +1 -1
  79. package/dist/chunks/{date-range-picker.CFIOD59O.js → date-range-picker.BBC3TGYw.js} +9 -9
  80. package/dist/chunks/{date-range-picker.CFIOD59O.js.map → date-range-picker.BBC3TGYw.js.map} +1 -1
  81. package/dist/chunks/{dialog-page.CplkzZGZ.js → dialog-page.Da2cxzZm.js} +3 -3
  82. package/dist/chunks/dialog-page.Da2cxzZm.js.map +1 -0
  83. package/dist/chunks/{dropdown-default-textbox.ZAFh7KqG.js → dropdown-default-textbox.CrylDCEX.js} +87 -75
  84. package/dist/chunks/dropdown-default-textbox.CrylDCEX.js.map +1 -0
  85. package/dist/chunks/{dropdown-tag.Ntdp7P7W.js → dropdown-tag.xVgcIWXL.js} +5 -5
  86. package/dist/chunks/{dropdown-tag.Ntdp7P7W.js.map → dropdown-tag.xVgcIWXL.js.map} +1 -1
  87. package/dist/chunks/{dropdown.DC9un4VJ.js → dropdown.BkLc07G8.js} +185 -181
  88. package/dist/chunks/dropdown.BkLc07G8.js.map +1 -0
  89. package/dist/chunks/{empty-state.B8ZeRgDi.js → empty-state.B6wjtgR0.js} +2 -2
  90. package/dist/chunks/{empty-state.B8ZeRgDi.js.map → empty-state.B6wjtgR0.js.map} +1 -1
  91. package/dist/chunks/{error-message.B7uoqQpq.js → error-message.Brg-AZjT.js} +2 -2
  92. package/dist/chunks/{error-message.B7uoqQpq.js.map → error-message.Brg-AZjT.js.map} +1 -1
  93. package/dist/chunks/{es6.C-HLzYPA.js → es6.D11bE5vq.js} +7 -7
  94. package/dist/chunks/{es6.C-HLzYPA.js.map → es6.D11bE5vq.js.map} +1 -1
  95. package/dist/chunks/file-uploader.BePx7fcJ.js +1879 -0
  96. package/dist/chunks/file-uploader.BePx7fcJ.js.map +1 -0
  97. package/dist/chunks/{filter-bar.Dowrph-Z.js → filter-bar.BbVGpEJx.js} +20 -20
  98. package/dist/chunks/{filter-bar.Dowrph-Z.js.map → filter-bar.BbVGpEJx.js.map} +1 -1
  99. package/dist/chunks/{fixed-scroller.B880PL1J.js → fixed-scroller.BE1hWLr6.js} +2 -2
  100. package/dist/chunks/{fixed-scroller.B880PL1J.js.map → fixed-scroller.BE1hWLr6.js.map} +1 -1
  101. package/dist/chunks/focus-trap.DA_1lCcM.js +495 -0
  102. package/dist/chunks/focus-trap.DA_1lCcM.js.map +1 -0
  103. package/dist/chunks/{footer-actions.B3GJ1wNP.js → footer-actions.O24MYRgM.js} +3 -3
  104. package/dist/chunks/{footer-actions.B3GJ1wNP.js.map → footer-actions.O24MYRgM.js.map} +1 -1
  105. package/dist/chunks/{form-layout-title.BarHgyjC.js → form-layout-title.DRuBsptB.js} +2 -2
  106. package/dist/chunks/{form-layout-title.BarHgyjC.js.map → form-layout-title.DRuBsptB.js.map} +1 -1
  107. package/dist/chunks/header.Bbwnv6Ei.js +205 -0
  108. package/dist/chunks/header.Bbwnv6Ei.js.map +1 -0
  109. package/dist/chunks/{index.Gcw_BUVh.js → index.B5Tq465X.js} +2 -1
  110. package/dist/chunks/{index.Gcw_BUVh.js.map → index.B5Tq465X.js.map} +1 -1
  111. package/dist/chunks/info-icon-with-popover.Cd3RQWUu.js +71 -0
  112. package/dist/chunks/info-icon-with-popover.Cd3RQWUu.js.map +1 -0
  113. package/dist/chunks/{info-icon.p-28zHUJ.js → info-icon.BnSZeQm8.js} +3 -3
  114. package/dist/chunks/{info-icon.p-28zHUJ.js.map → info-icon.BnSZeQm8.js.map} +1 -1
  115. package/dist/chunks/{input-field-password.CgxF9jhq.js → input-field-password.CvKC9xjJ.js} +6 -6
  116. package/dist/chunks/{input-field-password.CgxF9jhq.js.map → input-field-password.CvKC9xjJ.js.map} +1 -1
  117. package/dist/chunks/input-field.Dgop3JWW.js +231 -0
  118. package/dist/chunks/input-field.Dgop3JWW.js.map +1 -0
  119. package/dist/chunks/{inspector.types.DaY6OOzz.js → inspector.types.j1usQ6FN.js} +3 -3
  120. package/dist/chunks/{inspector.types.DaY6OOzz.js.map → inspector.types.j1usQ6FN.js.map} +1 -1
  121. package/dist/chunks/{layout-row.DzS_XyyF.js → layout-row.DAeZh7Rv.js} +4 -4
  122. package/dist/chunks/layout-row.DAeZh7Rv.js.map +1 -0
  123. package/dist/chunks/{link.v-y0fKjn.js → link.B2DE2ryp.js} +6 -6
  124. package/dist/chunks/{link.v-y0fKjn.js.map → link.B2DE2ryp.js.map} +1 -1
  125. package/dist/chunks/{listbox-option-tag.BnX0H4HE.js → listbox-option-tag.drC_50fU.js} +2 -2
  126. package/dist/chunks/{listbox-option-tag.BnX0H4HE.js.map → listbox-option-tag.drC_50fU.js.map} +1 -1
  127. package/dist/chunks/{menu.B78fzH_k.js → menu.DCRfI10M.js} +4 -4
  128. package/dist/chunks/{menu.B78fzH_k.js.map → menu.DCRfI10M.js.map} +1 -1
  129. package/dist/chunks/{modal-fullscreen.DgftXCJe.js → modal-fullscreen.DgDk6uxS.js} +5 -5
  130. package/dist/chunks/{modal-fullscreen.DgftXCJe.js.map → modal-fullscreen.DgDk6uxS.js.map} +1 -1
  131. package/dist/chunks/{modal.BA745pfv.js → modal.B7giFLek.js} +5 -5
  132. package/dist/chunks/{modal.BA745pfv.js.map → modal.B7giFLek.js.map} +1 -1
  133. package/dist/chunks/{pagination.CfwtuZ7R.js → pagination.Dc0VbxFL.js} +3 -3
  134. package/dist/chunks/{pagination.CfwtuZ7R.js.map → pagination.Dc0VbxFL.js.map} +1 -1
  135. package/dist/chunks/{popover.ZlmaSYms.js → popover.D8pR_dbl.js} +4 -4
  136. package/dist/chunks/{popover.ZlmaSYms.js.map → popover.D8pR_dbl.js.map} +1 -1
  137. package/dist/chunks/{popper-container.CnWphJTN.js → popper-container.B9qZTf2V.js} +4 -4
  138. package/dist/chunks/popper-container.B9qZTf2V.js.map +1 -0
  139. package/dist/chunks/{promo-banner.cTUF9seG.js → promo-banner.Dd-JQMUD.js} +3 -3
  140. package/dist/chunks/{promo-banner.cTUF9seG.js.map → promo-banner.Dd-JQMUD.js.map} +1 -1
  141. package/dist/chunks/{radio-group.EnMXbuly.js → radio-group.D5GEIgYv.js} +5 -5
  142. package/dist/chunks/{radio-group.EnMXbuly.js.map → radio-group.D5GEIgYv.js.map} +1 -1
  143. package/dist/chunks/{radio-input.q980f8Uf.js → radio-input.C1DZbkcT.js} +5 -5
  144. package/dist/chunks/radio-input.C1DZbkcT.js.map +1 -0
  145. package/dist/chunks/{search-bar.lYuXPzBX.js → search-bar.BN4grqVO.js} +3 -3
  146. package/dist/chunks/{search-bar.lYuXPzBX.js.map → search-bar.BN4grqVO.js.map} +1 -1
  147. package/dist/chunks/{secondary-nav.CF6WPYn4.js → secondary-nav.C8UE8xly.js} +7 -7
  148. package/dist/chunks/{secondary-nav.CF6WPYn4.js.map → secondary-nav.C8UE8xly.js.map} +1 -1
  149. package/dist/chunks/{segmented-control.CVeUROYR.js → segmented-control.C6HPgkVm.js} +2 -2
  150. package/dist/chunks/{segmented-control.CVeUROYR.js.map → segmented-control.C6HPgkVm.js.map} +1 -1
  151. package/dist/chunks/{selection-card-group.CjuBQ2UA.js → selection-card-group.BT7FOlbF.js} +6 -6
  152. package/dist/chunks/{selection-card-group.CjuBQ2UA.js.map → selection-card-group.BT7FOlbF.js.map} +1 -1
  153. package/dist/chunks/{sidepanel.NUx7L5f1.js → sidepanel.PEMSN4Hj.js} +10 -10
  154. package/dist/chunks/{sidepanel.NUx7L5f1.js.map → sidepanel.PEMSN4Hj.js.map} +1 -1
  155. package/dist/chunks/{step.5g9BIi15.js → step.Dq4w23dP.js} +2 -2
  156. package/dist/chunks/{step.5g9BIi15.js.map → step.Dq4w23dP.js.map} +1 -1
  157. package/dist/chunks/{structured-list-item.BEhWyaVP.js → structured-list-item.-ch3UkPz.js} +5 -5
  158. package/dist/chunks/{structured-list-item.BEhWyaVP.js.map → structured-list-item.-ch3UkPz.js.map} +1 -1
  159. package/dist/chunks/{summary-grid-item-custom.CSXo4NjY.js → summary-grid-item-custom.CLVYmhnp.js} +4 -4
  160. package/dist/chunks/{summary-grid-item-custom.CSXo4NjY.js.map → summary-grid-item-custom.CLVYmhnp.js.map} +1 -1
  161. package/dist/chunks/{tabs.Casntai-.js → tabs.B0f1qiMR.js} +3 -3
  162. package/dist/chunks/{tabs.Casntai-.js.map → tabs.B0f1qiMR.js.map} +1 -1
  163. package/dist/chunks/{tag.wTXg-O7i.js → tag.d36UYSWd.js} +2 -2
  164. package/dist/chunks/{tag.wTXg-O7i.js.map → tag.d36UYSWd.js.map} +1 -1
  165. package/dist/chunks/{textarea.F-JyRtIw.js → textarea.DORWuAZn.js} +3 -3
  166. package/dist/chunks/{textarea.F-JyRtIw.js.map → textarea.DORWuAZn.js.map} +1 -1
  167. package/dist/chunks/{timeline-item.BJyB8-Wv.js → timeline-item.CUm_n51y.js} +7 -7
  168. package/dist/chunks/timeline-item.CUm_n51y.js.map +1 -0
  169. package/dist/chunks/{toast.BEipTIrz.js → toast.DCaWC_wv.js} +2 -2
  170. package/dist/chunks/{toast.BEipTIrz.js.map → toast.DCaWC_wv.js.map} +1 -1
  171. package/dist/chunks/{toggle-button.CYplDIO-.js → toggle-button.DJqs599a.js} +2 -2
  172. package/dist/chunks/{toggle-button.CYplDIO-.js.map → toggle-button.DJqs599a.js.map} +1 -1
  173. package/dist/chunks/{tooltip.DH8TqpYV.js → tooltip.CQGwmwt9.js} +2 -2
  174. package/dist/chunks/{tooltip.DH8TqpYV.js.map → tooltip.CQGwmwt9.js.map} +1 -1
  175. package/dist/chunks/{tutorial.DFvMZAN5.js → tutorial.B_8XNKvM.js} +5 -5
  176. package/dist/chunks/{tutorial.DFvMZAN5.js.map → tutorial.B_8XNKvM.js.map} +1 -1
  177. package/dist/chunks/{use-cached-selected-values.BiqVX5O7.js → use-cached-selected-values.DJl7FKT5.js} +8 -8
  178. package/dist/chunks/use-cached-selected-values.DJl7FKT5.js.map +1 -0
  179. package/dist/chunks/{use-country-items.C25TI6tp.js → use-country-items.DPBbl1KK.js} +2 -2
  180. package/dist/chunks/{use-country-items.C25TI6tp.js.map → use-country-items.DPBbl1KK.js.map} +1 -1
  181. package/dist/code-snippet.js +1 -1
  182. package/dist/country.js +2 -2
  183. package/dist/dashboard-template.js +1 -1
  184. package/dist/dashed-underline.js +1 -1
  185. package/dist/data-grid-template.js +1 -1
  186. package/dist/data-grid.js +1 -1
  187. package/dist/date-picker.js +2 -2
  188. package/dist/date-range-picker.js +2 -2
  189. package/dist/dropdown.js +4 -4
  190. package/dist/empty-state.js +1 -1
  191. package/dist/file-uploader.js +1 -1
  192. package/dist/filter-bar.js +1 -1
  193. package/dist/focus-trap.js +1 -1
  194. package/dist/form-layout.js +1 -1
  195. package/dist/header.js +1 -1
  196. package/dist/index.js +57 -57
  197. package/dist/info-icon.js +1 -1
  198. package/dist/input-field-password.js +1 -1
  199. package/dist/input-field.js +1 -1
  200. package/dist/inspector.js +1 -1
  201. package/dist/internal.js +27 -25
  202. package/dist/internal.js.map +1 -1
  203. package/dist/layout.js +1 -1
  204. package/dist/link.js +1 -1
  205. package/dist/menu.js +1 -1
  206. package/dist/modal-fullscreen.js +1 -1
  207. package/dist/modal.js +2 -2
  208. package/dist/pagination.js +1 -1
  209. package/dist/popover.js +1 -1
  210. package/dist/popper-container.js +1 -1
  211. package/dist/promo-banner.js +1 -1
  212. package/dist/radio-group.js +2 -2
  213. package/dist/search-bar.js +2 -2
  214. package/dist/secondary-nav.js +1 -1
  215. package/dist/segmented-control.js +1 -1
  216. package/dist/selection-card.js +1 -1
  217. package/dist/sidepanel.js +1 -1
  218. package/dist/stepper.js +1 -1
  219. package/dist/structured-list.js +1 -1
  220. package/dist/styles/bento-dark.css +1 -0
  221. package/dist/styles/bento-light.css +1 -0
  222. package/dist/styles/bento.css +1 -0
  223. package/dist/styles/legacy.css +6 -5
  224. package/dist/styles/styleguide.css +1 -0
  225. package/dist/summary-grid.js +1 -1
  226. package/dist/tabs.js +1 -1
  227. package/dist/tag.js +1 -1
  228. package/dist/textarea.js +1 -1
  229. package/dist/timeline.js +1 -1
  230. package/dist/toast.js +1 -1
  231. package/dist/tutorial.js +1 -1
  232. package/dist/web-types.json +4 -4
  233. package/package.json +13 -8
  234. package/dist/chunks/base-button.4UYC3kp2.js.map +0 -1
  235. package/dist/chunks/button.CufUNBkv.js.map +0 -1
  236. package/dist/chunks/checkbox.B1qjI4R_.js.map +0 -1
  237. package/dist/chunks/code-snippet.rmKiWrIv.js.map +0 -1
  238. package/dist/chunks/codemirror.BlV6WO5w.js.map +0 -1
  239. package/dist/chunks/dialog-page.CplkzZGZ.js.map +0 -1
  240. package/dist/chunks/dropdown-default-textbox.ZAFh7KqG.js.map +0 -1
  241. package/dist/chunks/dropdown.DC9un4VJ.js.map +0 -1
  242. package/dist/chunks/file-uploader.ItCr8Ezn.js +0 -729
  243. package/dist/chunks/file-uploader.ItCr8Ezn.js.map +0 -1
  244. package/dist/chunks/focus-trap.DSkLNO_i.js +0 -443
  245. package/dist/chunks/focus-trap.DSkLNO_i.js.map +0 -1
  246. package/dist/chunks/header.BLjdXtYJ.js +0 -266
  247. package/dist/chunks/header.BLjdXtYJ.js.map +0 -1
  248. package/dist/chunks/input-field.CcjqGkLs.js +0 -228
  249. package/dist/chunks/input-field.CcjqGkLs.js.map +0 -1
  250. package/dist/chunks/layout-row.DzS_XyyF.js.map +0 -1
  251. package/dist/chunks/popper-container.CnWphJTN.js.map +0 -1
  252. package/dist/chunks/radio-input.q980f8Uf.js.map +0 -1
  253. package/dist/chunks/timeline-item.BJyB8-Wv.js.map +0 -1
  254. package/dist/chunks/use-cached-selected-values.BiqVX5O7.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adyen/bento-vue2",
3
- "version": "1.44.0",
3
+ "version": "1.46.0",
4
4
  "description": "Adyen Bento Vue2 components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -35,8 +35,10 @@
35
35
  "@vueuse/core": "11.3.0",
36
36
  "date-fns": "2.28.0",
37
37
  "focus-lock": "0.11.0",
38
+ "mime": "4.0.6",
38
39
  "uuid": "11.0.5",
39
- "@adyen/bento-design-tokens": "1.44.0"
40
+ "@adyen/bento-design-tokens": "1.46.0",
41
+ "@adyen/bento-tailwind": "0.1.0"
40
42
  },
41
43
  "peerDependencies": {
42
44
  "vue": "~2.7",
@@ -44,7 +46,8 @@
44
46
  "zod": "^3.22"
45
47
  },
46
48
  "overrides": {
47
- "@codemirror/state": "6.4.0",
49
+ "@codemirror/state": "catalog:",
50
+ "@codemirror/view": "catalog:",
48
51
  "react": "16.14.0"
49
52
  },
50
53
  "devDependencies": {
@@ -59,7 +62,7 @@
59
62
  "@codemirror/language": "6.10.3",
60
63
  "@codemirror/language-data": "6.4.0",
61
64
  "@codemirror/state": "6.4.0",
62
- "@codemirror/view": "6.23.1",
65
+ "@codemirror/view": "6.36.1",
63
66
  "@playwright/experimental-ct-vue2": "1.42.1",
64
67
  "@playwright/test": "1.42.1",
65
68
  "@storybook/addon-a11y": "7.6.20",
@@ -84,6 +87,7 @@
84
87
  "@vue/test-utils": "1.3.4",
85
88
  "axe-core": "4.4.2",
86
89
  "clean-webpack-plugin": "3.0.0",
90
+ "codemirror-lang-csv": "0.1.1",
87
91
  "css-loader": "5.2.7",
88
92
  "fork-ts-checker-webpack-plugin": "6.5.2",
89
93
  "html-webpack-plugin": "4.5.2",
@@ -92,7 +96,8 @@
92
96
  "react-dom": "18.3.1",
93
97
  "sass": "1.54.6",
94
98
  "sass-loader": "12.6.0",
95
- "ts-patch": "3.3.0",
99
+ "tsc-alias": "1.8.11",
100
+ "typescript": "5.6.3",
96
101
  "vite": "5.4.16",
97
102
  "vite-plugin-dynamic-import": "1.5.0",
98
103
  "vite-plugin-static-copy": "0.15.0",
@@ -106,7 +111,7 @@
106
111
  "vue-style-loader": "4.1.3",
107
112
  "vue-template-compiler": "2.7.16",
108
113
  "vue-tsc": "1.0.24",
109
- "@adyen/bento-cli": "0.2.2",
114
+ "@adyen/bento-cli": "0.2.3",
110
115
  "@adyen/bento-core": "0.0.1"
111
116
  },
112
117
  "optionalDependencies": {
@@ -120,7 +125,7 @@
120
125
  "build:prod": "pnpm run clean:build && pnpm run build:type-check && pnpm run build:lib && pnpm run build:types && pnpm run build:webtypes",
121
126
  "build:prod:plugin": "pnpm run clean:build && vue-tsc -p ../core/tsconfig.json && pnpm run build:lib && pnpm run build:types && pnpm run build:webtypes",
122
127
  "build:type-check": "vue-tsc --noEmit -p ./tsconfig.build.json",
123
- "build:types": "vue-tsc -p ./tsconfig.d.json && pnpm run build:types:api-extractor && pnpm run copy-components-defs",
128
+ "build:types": "vue-tsc -p ./tsconfig.d.json && tsc-alias -p ./tsconfig.d.json && pnpm run build:types:api-extractor && pnpm run copy-components-defs",
124
129
  "build:types:api-extractor": "api-extractor run --local --verbose && pnpm prettier dist/@types/index.d.ts -w && rm -rf dist/@types/packages",
125
130
  "copy-components-defs": "cp src/components.d.ts dist/@types",
126
131
  "build:webtypes": "vue-docgen-web-types --outFile=./dist/web-types.json",
@@ -150,6 +155,6 @@
150
155
  "e2e:ci": "pnpm run e2e:clean && playwright test -c ./playwright.integration.config.ts",
151
156
  "e2e:ci:update": "pnpm run e2e:clean && playwright test -c playwright.integration.config.ts --update-snapshots",
152
157
  "watch": "webpack --watch --config config/webpack.dev.ts",
153
- "netlify": "pnpm run --filter @adyen/bento-design-tokens build:dev && pnpm run build:storybook"
158
+ "netlify": "pnpm run --filter @adyen/bento-design-tokens build:dev && pnpm run --filter @adyen/bento-tailwind build && pnpm run build:storybook"
154
159
  }
155
160
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-button.4UYC3kp2.js","sources":["../../src/components/internal/base-button/base-button.types.ts","../../src/components/internal/base-button/base-button.vue"],"sourcesContent":["export enum BentoBaseButtonPropClass {\n DESTRUCTIVE = 'critical',\n ICON_ONLY = 'icon-only',\n}\n\nexport enum BentoBaseButtonEvent {\n BLUR = 'blur',\n CLICK = 'click',\n FOCUS = 'focus',\n KEYDOWN_ESC = 'keydown.esc',\n}\n\nexport enum BaseButtonType {\n BUTTON = 'button',\n RESET = 'reset',\n SUBMIT = 'submit',\n}\n","<template>\n <button\n ref=\"bentoBaseButtonRef\"\n class=\"b-base-button\"\n :class=\"conditionalClasses\"\n :disabled=\"disabled\"\n :type=\"type\"\n :aria-expanded=\"ariaAttributes['aria-expanded']\"\n @click=\"onClickButton\"\n @focus=\"onFocusButton\"\n @blur=\"onBlurButton\"\n >\n <span v-if=\"hasSlot('iconLeft')\" class=\"b-base-button__icon-left\" data-testid=\"icon-button-left\">\n <slot name=\"iconLeft\" />\n </span>\n <bento-typography v-if=\"hasSlot('default')\" el=\"span\" variant=\"body\" stronger class=\"b-base-button__label\">\n <slot />\n </bento-typography>\n <span v-if=\"hasSlot('iconRight')\" class=\"b-base-button__icon-right\" data-testid=\"icon-button-right\">\n <slot name=\"iconRight\" />\n </span>\n </button>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, ref } from 'vue';\n import { BentoBaseButtonEvent, BentoBaseButtonPropClass } from './base-button.types';\n import type { ButtonHTMLAttributes } from 'vue/types/jsx';\n import { BentoTypography } from '@/components/typography';\n import { useHasSlot } from '@/composables';\n import { Booleanish } from '@/types';\n\n /**\n * Base button component to use as a base for all the various types of bento buttons. For internal use only.\n *\n * * @example\n * import { BaseButton, BaseButtonEvent } from '@/components/internal/base-button';\n * import YourImportedIcon from @adyen/ui-assets-icons-16/example-icon';\n *\n * export default {\n * components: { BaseButton, YourImportedIcon },\n * props: {\n * text:\n * },\n * template: `\n * <base-button class=\"your-custom-button-styles\" @click=\"onClick\">\n * <template #iconLeft><your-imported-icon></template>\n * Button text\n * <template #iconRight><your-imported-icon></template>\n * </base-button>\n * `,\n * emits: [BentoButtonEvent.CLICK],\n * setup: (prps, { emit }) => {\n * const onClick = value => emit(BaseButtonEvent.CLICK, value);\n *\n * return {\n * onClick,\n * };\n * }\n * }\n */\n export default defineComponent({\n name: 'base-button',\n components: { BentoTypography },\n props: {\n /**\n * Disables button functionality\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * Displays button as critical\n */\n critical: {\n type: Boolean,\n default: false,\n },\n /**\n * The default behavior of the button.\n * Possible values are: 'button', 'reset', 'submit'\n */\n type: {\n type: String as PropType<ButtonHTMLAttributes['type']>,\n default: 'button',\n },\n },\n emits: [\n BentoBaseButtonEvent.CLICK,\n BentoBaseButtonEvent.FOCUS,\n BentoBaseButtonEvent.BLUR,\n BentoBaseButtonEvent.KEYDOWN_ESC,\n ],\n setup(props, { slots, emit, attrs }) {\n const ariaAttributes = computed(() => ({\n 'aria-expanded': attrs['aria-expanded']?.toString() as Booleanish,\n }));\n\n const bentoBaseButtonRef = ref(null);\n\n const conditionalClasses = computed(() => ({\n [`b-base-button--${BentoBaseButtonPropClass.DESTRUCTIVE}`]: props.critical,\n [`b-base-button--${BentoBaseButtonPropClass.ICON_ONLY}`]: !slots.default,\n }));\n\n const onClickButton = (e: MouseEvent) => {\n if (!props.disabled) {\n emit(BentoBaseButtonEvent.CLICK, e);\n } else {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n const onFocusButton = (e: FocusEvent) => {\n emit(BentoBaseButtonEvent.FOCUS, e);\n };\n\n const onBlurButton = (e: FocusEvent) => {\n emit(BentoBaseButtonEvent.BLUR, e);\n };\n\n return {\n // Values\n ariaAttributes,\n conditionalClasses,\n\n // Methods\n onClickButton,\n onFocusButton,\n onBlurButton,\n hasSlot: useHasSlot(slots),\n\n // Refs\n bentoBaseButtonRef,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./base-button.scss\" />\n"],"names":["BentoBaseButtonPropClass","BentoBaseButtonPropClass2","BentoBaseButtonEvent","BentoBaseButtonEvent2","_sfc_main","defineComponent","BentoTypography","props","slots","emit","attrs","ariaAttributes","computed","_a","bentoBaseButtonRef","ref","conditionalClasses","e","useHasSlot"],"mappings":";;;;;AAAY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,cAAA,YACAA,EAAA,YAAA,aAFQA,IAAAD,KAAA,CAAA,CAAA,GAKAE,IAAA,kBAAAC,OACRA,EAAA,OAAA,QACAA,EAAA,QAAA,SACAA,EAAA,QAAA,SACAA,EAAA,cAAA,eAJQA,IAAAD,KAAA,CAAA,CAAA;ACwDZ,MAAAE,IAAAC,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA,EAAA,iBAAAC,EAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,UAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,UAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,MAAA;AAAA,MAKA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA;AAAA,IACAJ,EAAA;AAAA,IACAA,EAAA;AAAA,IACAA,EAAA;AAAA,IACAA,EAAA;AAAA,EACA;AAAA,EACA,MAAAK,GAAA,EAAA,OAAAC,GAAA,MAAAC,GAAA,OAAAC,EAAA,GAAA;AAEA,UAAAC,IAAAC,EAAA,MAAA;;AAAA;AAAA,QAAA,kBAAAC,IAAAH,EAAA,eAAA,MAAA,gBAAAG,EAAA;AAAA,MACA;AAAA,KAAA,GAGAC,IAAAC,EAAA,IAAA,GAEAC,IAAAJ,EAAA,OAAA;AAAA,MAAA,CAAA,kBAAAZ,EAAA,WAAA,EAAA,GAAAO,EAAA;AAAA,MACA,CAAA,kBAAAP,EAAA,SAAA,EAAA,GAAA,CAAAQ,EAAA;AAAA,IACA,EAAA;AAoBA,WAAA;AAAA;AAAA,MAAA,gBAAAG;AAAA,MAEA,oBAAAK;AAAA;AAAA,MACA,eApBA,CAAAC,MAAA;AACA,QAAAV,EAAA,YAGAU,EAAA,eAAA,GACAA,EAAA,gBAAA,KAHAR,EAAAP,EAAA,OAAAe,CAAA;AAAA,MAIA;AAAA,MAiBA,eAdA,CAAAA,MAAA;AACA,QAAAR,EAAAP,EAAA,OAAAe,CAAA;AAAA,MAAA;AAAA,MAcA,cAXA,CAAAA,MAAA;AACA,QAAAR,EAAAP,EAAA,MAAAe,CAAA;AAAA,MAAA;AAAA,MAWA,SAAAC,EAAAV,CAAA;AAAA;AAAA,MACA,oBAAAM;AAAA,IAGA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"button.CufUNBkv.js","sources":["../../../core/src/components/button/button.types.ts","../../src/components/button/button.vue"],"sourcesContent":["/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoButtonVariant {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n TERTIARY = 'tertiary',\n TERTIARY_WITH_BACKGROUND = 'tertiary-with-background',\n}\n\nexport enum BentoButtonPropClass {\n CONDENSED = 'condensed',\n DESTRUCTIVE = 'critical',\n DISABLED = 'disabled',\n ICON_ONLY = 'icon-only',\n INVERSE = 'inverse',\n}\n\nexport interface BentoButtonProps {\n condensed?: boolean;\n critical?: boolean;\n disabled?: boolean;\n inverse?: boolean;\n variant?: BentoButtonVariant | `${BentoButtonVariant}`;\n type?: string;\n link?: object;\n}\n","<template>\n <component\n :is=\"componentType\"\n v-bind=\"componentProps\"\n class=\"b-button\"\n :class=\"{ ...conditionalClasses, ...getIconOnlyClass() }\"\n @click.capture=\"onClickButton\"\n >\n <span v-if=\"hasSlot('iconLeft')\" class=\"b-button__icon-left\" data-testid=\"icon-button-left\">\n <slot name=\"iconLeft\" />\n </span>\n <bento-typography v-if=\"hasSlot('default')\" el=\"span\" variant=\"body\" stronger class=\"b-button__label\">\n <slot />\n </bento-typography>\n <span v-if=\"hasSlot('iconRight')\" class=\"b-button__icon-right\" data-testid=\"icon-button-right\">\n <slot name=\"iconRight\" />\n </span>\n </component>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, PropType, useAttrs, useSlots } from 'vue';\n import { BentoButtonPropClass, BentoButtonVariant } from '@/core/components/button/button.types';\n import { BentoTypography } from '@/components/typography';\n import { useHasSlot } from '@/composables/use-has-slot/use-has-slot';\n import { Booleanish } from '@/types/prop-types';\n import type { RouterLinkProps } from 'vue-router/types/router';\n import type { AnchorHTMLAttributes, ButtonHTMLAttributes } from 'vue/types/jsx';\n import { BentoLink, BentoLinkVariant } from '@/components/link';\n\n // TODO: replace all this code when migrated to Vue 3 is complete as this is the only\n // current way to extend the `router-link` component in Vue 2 and Vue Router 3\n export interface LinkProps extends RouterLinkProps, AnchorHTMLAttributes {\n // eslint-disable-next-line vue/require-default-prop\n args?: { props: RouterLinkProps };\n\n /**\n * Set the rendered link to a regular external anchor link.\n */\n external: boolean;\n }\n\n const props = defineProps({\n /**\n * Reduces sizing of button\n */\n condensed: { type: Boolean, default: false },\n\n /**\n * Displays button as critical\n */\n critical: { type: Boolean, default: false },\n\n /**\n * Disables button functionality\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * Sets color set to inverse\n */\n inverse: { type: Boolean, default: false },\n\n /**\n * Object containing props passed on to the BentoLink component. @see BentoLink documentation for which properties you can pass.\n */\n link: { type: Object, default: undefined },\n\n /**\n * The default behavior of the button.\n * Possible values are: 'button', 'reset', 'submit'\n */\n type: {\n type: String as PropType<ButtonHTMLAttributes['type']>,\n default: 'button',\n },\n\n /**\n * Types of flavour of Button\n * @values primary, secondary, tertiary, tertiary-with-background\n */\n variant: {\n type: String as PropType<BentoButtonVariant | `${BentoButtonVariant}`>,\n default: BentoButtonVariant.PRIMARY,\n validator: (value: BentoButtonVariant) => Object.values(BentoButtonVariant).includes(value),\n },\n });\n\n const emit = defineEmits([\"blur\", \"click\", \"focus\", \"keydown.esc\"]);\n\n const attrs = useAttrs();\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const componentType = computed(() => {\n if (props?.link !== undefined) {\n return BentoLink;\n }\n return 'button';\n });\n const ariaAttributes = computed(() => ({\n 'aria-controls': attrs['aria-controls']?.toString() as string,\n 'aria-expanded': attrs['aria-expanded']?.toString() as Booleanish,\n }));\n\n const componentProps = computed(() =>\n componentType.value === 'button'\n ? {\n ...ariaAttributes.value,\n disabled: props.disabled,\n type: props.type,\n }\n : { ...props.link, disableTypography: true, variant: BentoLinkVariant.DEFAULT, isButton: true }\n );\n\n const variantClass = computed(() => ({\n [`b-button--${props.variant}${props.critical ? `-${BentoButtonPropClass.DESTRUCTIVE}` : ''}`]: true,\n }));\n\n const conditionalClasses = computed(() => ({\n ...variantClass.value,\n [`b-button--${BentoButtonPropClass.CONDENSED}`]: props.condensed,\n [`b-button--${BentoButtonPropClass.DISABLED}`]: props.disabled,\n [`b-button--${BentoButtonPropClass.INVERSE}`]: props.inverse,\n }));\n\n const getIconOnlyClass = () => ({\n [`b-button--${BentoButtonPropClass.ICON_ONLY}`]: !hasSlot('default'),\n });\n\n const onClickButton = (e: MouseEvent) => {\n if (!props.disabled) {\n emit('click', e);\n } else {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n</script>\n\n<script lang=\"ts\">\n /**\n * Button component for all the various types of bento buttons.\n *\n * @example\n * import { BentoButton } from '@adyen/bento-vue2';\n * import { CheckMarkIcon } from '@adyen/ui-assets-icons-16';\n *\n * export default {\n * components: { BentoButton },\n * template: `\n * <bento-button\n * disabled\n * variant=\"secondary\"\n * >\n * <template #iconLeft>\n * <check-mark svg-title=\"checked\" />\n * </template>\n *\n * Button text\n *\n * <template #iconRight>\n * <check-mark svg-title=\"checked\" />\n * </template>\n * </bento-button>\n * `,\n * }\n */\n export default {\n name: 'bento-button',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"@/core/components/button/button.scss\" />\n"],"names":["BentoButtonVariant","BentoButtonVariant2","BentoButtonPropClass","BentoButtonPropClass2","__default__","attrs","useAttrs","slots","useSlots","hasSlot","useHasSlot","componentType","computed","props","BentoLink","ariaAttributes","_a","_b","componentProps","BentoLinkVariant","variantClass","conditionalClasses","e","emit"],"mappings":";;;;;;AAGY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,UAAA,WACAA,EAAA,YAAA,aACAA,EAAA,WAAA,YACAA,EAAA,2BAAA,4BAJQA,IAAAD,KAAA,CAAA,CAAA,GAOAE,IAAA,kBAAAC,OACRA,EAAA,YAAA,aACAA,EAAA,cAAA,YACAA,EAAA,WAAA,YACAA,EAAA,YAAA,aACAA,EAAA,UAAA,WALQA,IAAAD,KAAA,CAAA,CAAA;AC8JR,MAAAE,IAAA;AAAA,EAAe,MAAA;AAEf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAhFAC,IAAAC,EAAA,GACAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAEAI,IAAAC,EAAA,OACIC,KAAA,gBAAAA,EAAA,UAAA,SACIC,IAEJ,QAAO,GAEXC,IAAAH,EAAA,MAAA;;AAAA;AAAA,QAAuC,kBAAAI,IAAAX,EAAA,eAAA,MAAA,gBAAAW,EAAA;AAAA,QACe,kBAAAC,IAAAZ,EAAA,eAAA,MAAA,gBAAAY,EAAA;AAAA,MACA;AAAA,KAAA,GAGtDC,IAAAN;AAAA,MAAuB,MAAAD,EAAA,UAAA,WAAA;AAAA,QAEb,GAAAI,EAAA;AAAA,QACsB,UAAAF,EAAA;AAAA,QACF,MAAAA,EAAA;AAAA,MACJ,IAAA,EAAA,GAAAA,EAAA,MAAA,mBAAA,IAAA,SAAAM,EAAA,SAAA,UAAA,GAAA;AAAA,IAE4E,GAGtGC,IAAAR,EAAA,OAAA;AAAA,MAAqC,CAAA,aAAAC,EAAA,OAAA,GAAAA,EAAA,WAAA,IAAAX,EAAA,WAAA,KAAA,EAAA,EAAA,GAAA;AAAA,IAC8D,EAAA,GAGnGmB,IAAAT,EAAA,OAAA;AAAA,MAA2C,GAAAQ,EAAA;AAAA,MACvB,CAAA,aAAAlB,EAAA,SAAA,EAAA,GAAAW,EAAA;AAAA,MACuC,CAAA,aAAAX,EAAA,QAAA,EAAA,GAAAW,EAAA;AAAA,MACD,CAAA,aAAAX,EAAA,OAAA,EAAA,GAAAW,EAAA;AAAA,IACD,EAAA;6LAGzD,OAAA;AAAA,MAAgC,CAAA,aAAAX,EAAA,SAAA,EAAA,GAAA,CAAAO,EAAA,SAAA;AAAA,IACuC,mBAGvE,CAAAa,MAAA;AACI,MAAAT,EAAA,YAGIS,EAAA,eAAA,GACAA,EAAA,gBAAA,KAHAC,EAAA,SAAAD,CAAA;AAAA,IAIJ;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox.B1qjI4R_.js","sources":["../../../core/src/components/checkbox/checkbox.types.ts","../../src/components/checkbox/checkbox.vue"],"sourcesContent":["import type { BentoTagProps } from '@/core/components/tag/tag.types';\nimport type {\n CheckboxInputType as BentoCheckboxType,\n MultiCheckboxInputType as BentoMultiCheckboxType,\n} from '@/core/components/internal/checkbox-input/checkbox-input.types';\nimport { CheckboxInputState as BentoCheckboxState } from '@/core/components/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\">\n <checkbox-input\n ref=\"input\"\n v-bind=\"$attrs\"\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 { computed, defineComponent, PropType, ref, toRefs } from 'vue';\n import {\n BentoCheckboxEvent,\n BentoCheckboxState,\n BentoCheckboxTag,\n BentoCheckboxType,\n BentoMultiCheckboxType,\n } from '@/core/components/checkbox/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 type { HTMLAttributes } from 'vue/types/jsx';\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 { BentoCheckboxGroupItems } from '@/core/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 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 computedAriaLabel = useAriaLabel({\n ariaLabel: ariaLabelAttribute.value as string,\n // TODO: take this line away when the aria-label props is removed\n label: ariaLabel,\n defaultFallback: hasSlot('default') ? (getSlotText(slots)('default') as string) : t('checkbox'),\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\n // Methods\n hasSlot,\n onChange,\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","computedAriaLabel","useAriaLabel","conditionalClass","CheckboxInputState","newValue"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-snippet.rmKiWrIv.js","sources":["../../src/components/code-snippet/highlight.ts","../../src/components/code-snippet/code-snippet.types.ts","../../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 { 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// These supported types need to be kept in line with the ones in packages/vue2/src/components/code-snippet/composables/useLanguage.ts function and vice-versa\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}\n\nexport enum BentoCodeSnippetEvent {\n ACTION = 'action',\n CHANGE = 'change',\n}\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';\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 = {\n [BentoCodeSnippetSupportedLanguage.JSON]: json,\n [BentoCodeSnippetSupportedLanguage.XML]: xml,\n [BentoCodeSnippetSupportedLanguage.JAVASCRIPT]: javascript,\n [BentoCodeSnippetSupportedLanguage.JAVA]: java,\n [BentoCodeSnippetSupportedLanguage.PYTHON]: python,\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 lang=\"ts\">\n import { computed, defineComponent, onMounted, PropType, 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 { BentoTooltipDirective } from '@/directives';\n import { BentoLoadingIndicator } from '@/components/loading-indicator';\n import { useI18n } from '@/utils/ts/i18n';\n import { Copy } from '@/internal';\n import ExpandIcon from '@adyen/ui-assets-icons-16/vue/expand';\n import {\n BentoCodeSnippetEvent,\n BentoCodeSnippetSupportedLanguage,\n BentoCodeSnippetVariant,\n } from '@/components/code-snippet/code-snippet.types';\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 /**\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 defineComponent({\n i18n: { messages },\n name: 'bento-code-snippet',\n components: {\n BentoTypography,\n BentoButton,\n BentoDropdown,\n Copy,\n BaseModal,\n BentoLoadingIndicator,\n ExpandIcon,\n },\n directives: { BentoTooltipDirective },\n props: {\n /**\n * Defines the variant of code-snippet\n */\n variant: {\n type: String as PropType<BentoCodeSnippetVariant | `${BentoCodeSnippetVariant}`>,\n default: BentoCodeSnippetVariant.MULTILINE,\n validator: (value: BentoCodeSnippetVariant) => Object.values(BentoCodeSnippetVariant).includes(value),\n },\n /**\n * Language name for syntax highlighting rules\n */\n lang: {\n type: String as PropType<BentoCodeSnippetSupportedLanguage | `${BentoCodeSnippetSupportedLanguage}`>,\n default: BentoCodeSnippetSupportedLanguage.JSON,\n validator: (value: BentoCodeSnippetSupportedLanguage) =>\n Object.values(BentoCodeSnippetSupportedLanguage).includes(value),\n },\n /**\n * Label to show in the action-bar, describing the language\n */\n langLabel: {\n type: String,\n default: null,\n },\n /**\n * The code content\n */\n content: {\n type: String,\n default: '',\n },\n /**\n * Allows editing of the code-snippet content by the user\n */\n editable: {\n type: Boolean,\n default: false,\n },\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: {\n type: Boolean,\n default: false,\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: {\n type: Boolean,\n default: false,\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: {\n type: String,\n default: 'run',\n },\n /**\n * Toggles the loading indicator within the action bar\n */\n loading: {\n type: Boolean,\n default: false,\n },\n },\n emits: [BentoCodeSnippetEvent.ACTION, BentoCodeSnippetEvent.CHANGE],\n setup(props, { emit }) {\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 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 runText = computed(() => t(props.actionableText as 'run'));\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\n return {\n // Values\n availableLanguages,\n codeAreaContentConditionalClasses,\n conditionalClasses,\n container,\n currentContents,\n displayedLang,\n editor,\n selectedLanguage,\n showModal,\n isInlineVariant,\n\n // Methods\n handleChangeLanguage,\n onActionClicked,\n runText,\n\n // Translations\n t,\n };\n },\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","importsMap","json","xml","javascript","java","python","getLangLoader","getIndentation","state","line","currentLine","indentMatch","INDENT_SAME_AS_LINE_BEFORE","dispatch","changes","range","newText","EditorSelection","_sfc_main","defineComponent","messages","BentoTypography","BentoButton","BentoDropdown","Copy","BaseModal","BentoLoadingIndicator","ExpandIcon","BentoTooltipDirective","value","props","emit","t","useI18n","selectedLanguage","ref","availableLanguages","handleChangeLanguage","displayedLang","computed","isInlineVariant","conditionalClasses","codeAreaContentConditionalClasses","loadLang","container","shallowRef","editor","languageConf","Compartment","editorTheme","editorReadOnly","currentContents","contentLength","onMounted","updateCurrentContents","state2","extensions","highlightActiveLine","keymap","indentWithTab","EditorState","EditorView","content","lineNumbers","history","watch","upcomingContentLength","runText","onActionClicked","watchEffect","showModal"],"mappings":"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"}