@adyen/bento-vue3 1.89.2 → 1.90.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 (243) hide show
  1. package/dist/@types/components.d.ts +2 -0
  2. package/dist/@types/index.d.ts +403 -298
  3. package/dist/accordion.js +1 -1
  4. package/dist/action-bar.js +1 -1
  5. package/dist/ai-tag.js +1 -1
  6. package/dist/alert.js +1 -1
  7. package/dist/anchor-scroller.js +1 -1
  8. package/dist/assets/accordion-item.css +1 -1
  9. package/dist/assets/action-bar.css +1 -1
  10. package/dist/assets/base-modal.css +1 -1
  11. package/dist/assets/button-actions.css +1 -1
  12. package/dist/assets/card.css +1 -1
  13. package/dist/assets/data-grid.css +1 -1
  14. package/dist/assets/date-range-picker.css +1 -1
  15. package/dist/assets/dialog-page.css +1 -1
  16. package/dist/assets/file-uploader.css +1 -1
  17. package/dist/assets/input-time.css +1 -0
  18. package/dist/assets/inspector.css +1 -1
  19. package/dist/assets/modal-fullscreen.css +1 -1
  20. package/dist/assets/secondary-nav.css +1 -1
  21. package/dist/assets/sidepanel.css +1 -1
  22. package/dist/button.js +1 -1
  23. package/dist/card.js +1 -1
  24. package/dist/checkbox.js +2 -2
  25. package/dist/chip.js +1 -1
  26. package/dist/chunks/accordion-item.CZIxxSsH.js +141 -0
  27. package/dist/chunks/{accordion-item.BX1KrLMl.js.map → accordion-item.CZIxxSsH.js.map} +1 -1
  28. package/dist/chunks/action-bar.Pe_hvtja.js +336 -0
  29. package/dist/chunks/{action-bar.DLMaIUWW.js.map → action-bar.Pe_hvtja.js.map} +1 -1
  30. package/dist/chunks/ai-tag.BSlc78DU.js +137 -0
  31. package/dist/chunks/{ai-tag.DK63ExDc.js.map → ai-tag.BSlc78DU.js.map} +1 -1
  32. package/dist/chunks/{alert.C_8-VNi_.js → alert.CFWN2E0b.js} +86 -79
  33. package/dist/chunks/{alert.C_8-VNi_.js.map → alert.CFWN2E0b.js.map} +1 -1
  34. package/dist/chunks/anchor-scroller.DSfXK6vK.js +214 -0
  35. package/dist/chunks/{anchor-scroller.NhjLDBZI.js.map → anchor-scroller.DSfXK6vK.js.map} +1 -1
  36. package/dist/chunks/{base-modal.C2-JyHC_.js → base-modal.BjjDrx0z.js} +132 -125
  37. package/dist/chunks/{base-modal.C2-JyHC_.js.map → base-modal.BjjDrx0z.js.map} +1 -1
  38. package/dist/chunks/{button-actions-with-menu.BQFAgAI2.js → button-actions-with-menu.DvkS16ur.js} +2 -2
  39. package/dist/chunks/{button-actions-with-menu.BQFAgAI2.js.map → button-actions-with-menu.DvkS16ur.js.map} +1 -1
  40. package/dist/chunks/{button-actions.cMQWyZne.js → button-actions.Bh_PZ_fV.js} +202 -188
  41. package/dist/chunks/{button-actions.cMQWyZne.js.map → button-actions.Bh_PZ_fV.js.map} +1 -1
  42. package/dist/chunks/{calendar.DcCqkSNJ.js → calendar.CH-1Vgeb.js} +343 -329
  43. package/dist/chunks/{calendar.DcCqkSNJ.js.map → calendar.CH-1Vgeb.js.map} +1 -1
  44. package/dist/chunks/card.BzCGCCzH.js +223 -0
  45. package/dist/chunks/{card.CoxQ_L0w.js.map → card.BzCGCCzH.js.map} +1 -1
  46. package/dist/chunks/{checkbox-group.96n9Cc3W.js → checkbox-group.D_fN6Glu.js} +4 -4
  47. package/dist/chunks/{checkbox-group.96n9Cc3W.js.map → checkbox-group.D_fN6Glu.js.map} +1 -1
  48. package/dist/chunks/{checkbox.C6ATh8f5.js → checkbox.BlAhQl9N.js} +78 -71
  49. package/dist/chunks/{checkbox.C6ATh8f5.js.map → checkbox.BlAhQl9N.js.map} +1 -1
  50. package/dist/chunks/chip.DFldnqfz.js +72 -0
  51. package/dist/chunks/{chip.CdgpQyXN.js.map → chip.DFldnqfz.js.map} +1 -1
  52. package/dist/chunks/{code-snippet.DgAuuZF5.js → code-snippet.BePxxR3q.js} +113 -106
  53. package/dist/chunks/{code-snippet.DgAuuZF5.js.map → code-snippet.BePxxR3q.js.map} +1 -1
  54. package/dist/chunks/{controls-group.C7hOE1F4.js → controls-group.Cxk-0fCy.js} +2 -2
  55. package/dist/chunks/{controls-group.C7hOE1F4.js.map → controls-group.Cxk-0fCy.js.map} +1 -1
  56. package/dist/chunks/copy.CL893i9-.js +114 -0
  57. package/dist/chunks/{copy.C2kQ1PbI.js.map → copy.CL893i9-.js.map} +1 -1
  58. package/dist/chunks/{country.CaGc08Ps.js → country.15m_ATbO.js} +3 -3
  59. package/dist/chunks/{country.CaGc08Ps.js.map → country.15m_ATbO.js.map} +1 -1
  60. package/dist/chunks/country.types.6a7xxZIR.js +26 -0
  61. package/dist/chunks/{country.types.DjpMGz7a.js.map → country.types.6a7xxZIR.js.map} +1 -1
  62. package/dist/chunks/{dashboard-section.UafHRkMa.js → dashboard-section.CiNDItU2.js} +3 -3
  63. package/dist/chunks/{dashboard-section.UafHRkMa.js.map → dashboard-section.CiNDItU2.js.map} +1 -1
  64. package/dist/chunks/{dashed-underline.CcDV2Aks.js → dashed-underline.CwdpUz76.js} +3 -3
  65. package/dist/chunks/{dashed-underline.CcDV2Aks.js.map → dashed-underline.CwdpUz76.js.map} +1 -1
  66. package/dist/chunks/{data-grid-template.CnC4TQvk.js → data-grid-template.nXn1dLCw.js} +4 -4
  67. package/dist/chunks/{data-grid-template.CnC4TQvk.js.map → data-grid-template.nXn1dLCw.js.map} +1 -1
  68. package/dist/chunks/data-grid.CXWaoqzi.js +4242 -0
  69. package/dist/chunks/data-grid.CXWaoqzi.js.map +1 -0
  70. package/dist/chunks/date-picker.DPjCROIP.js +238 -0
  71. package/dist/chunks/{date-picker.dlzZ_-5f.js.map → date-picker.DPjCROIP.js.map} +1 -1
  72. package/dist/chunks/date-range-picker.fyrfFd04.js +998 -0
  73. package/dist/chunks/date-range-picker.fyrfFd04.js.map +1 -0
  74. package/dist/chunks/dialog-page.Bh-7RAwX.js +163 -0
  75. package/dist/chunks/{dialog-page.COfKqjT-.js.map → dialog-page.Bh-7RAwX.js.map} +1 -1
  76. package/dist/chunks/{dropdown-default-textbox.bq9AlGzJ.js → dropdown-default-textbox.aYsTZDZ7.js} +69 -62
  77. package/dist/chunks/{dropdown-default-textbox.bq9AlGzJ.js.map → dropdown-default-textbox.aYsTZDZ7.js.map} +1 -1
  78. package/dist/chunks/{dropdown-tag.Ysrac5GN.js → dropdown-tag.B7OA_Yv9.js} +5 -5
  79. package/dist/chunks/{dropdown-tag.Ysrac5GN.js.map → dropdown-tag.B7OA_Yv9.js.map} +1 -1
  80. package/dist/chunks/{dropdown.MhmX1P9o.js → dropdown.Do-mZiI6.js} +285 -271
  81. package/dist/chunks/{dropdown.MhmX1P9o.js.map → dropdown.Do-mZiI6.js.map} +1 -1
  82. package/dist/chunks/error-message.849uzpkq.js +157 -0
  83. package/dist/chunks/{error-message.DCgo8q20.js.map → error-message.849uzpkq.js.map} +1 -1
  84. package/dist/chunks/{file-uploader.Bfd1uUMe.js → file-uploader.BUvDU_cn.js} +604 -583
  85. package/dist/chunks/{file-uploader.Bfd1uUMe.js.map → file-uploader.BUvDU_cn.js.map} +1 -1
  86. package/dist/chunks/{filter-bar.CkAjLQol.js → filter-bar.fowl40RS.js} +998 -928
  87. package/dist/chunks/{filter-bar.CkAjLQol.js.map → filter-bar.fowl40RS.js.map} +1 -1
  88. package/dist/chunks/fixed-scroller.yVsaQzy5.js +157 -0
  89. package/dist/chunks/{fixed-scroller.DtkaGyMD.js.map → fixed-scroller.yVsaQzy5.js.map} +1 -1
  90. package/dist/chunks/{footer-actions.BcYSsoUg.js → footer-actions.uoNbOGAQ.js} +2 -2
  91. package/dist/chunks/{footer-actions.BcYSsoUg.js.map → footer-actions.uoNbOGAQ.js.map} +1 -1
  92. package/dist/chunks/form-layout-title.Cr3wdpK_.js +239 -0
  93. package/dist/chunks/{form-layout-title.DW5Kg1rh.js.map → form-layout-title.Cr3wdpK_.js.map} +1 -1
  94. package/dist/chunks/{header-meta.Bym9AlQm.js → header-meta.CmH6SnjE.js} +98 -84
  95. package/dist/chunks/{header-meta.Bym9AlQm.js.map → header-meta.CmH6SnjE.js.map} +1 -1
  96. package/dist/chunks/{header-with-views.Djba6iol.js → header-with-views.B2pPBcTf.js} +1091 -1070
  97. package/dist/chunks/{header-with-views.Djba6iol.js.map → header-with-views.B2pPBcTf.js.map} +1 -1
  98. package/dist/chunks/{header.o-7SyHtU.js → header.BVM8Usdi.js} +3 -3
  99. package/dist/chunks/{header.o-7SyHtU.js.map → header.BVM8Usdi.js.map} +1 -1
  100. package/dist/chunks/{info-icon.BUala_wq.js → info-icon.B3MDsjMu.js} +2 -2
  101. package/dist/chunks/{info-icon.BUala_wq.js.map → info-icon.B3MDsjMu.js.map} +1 -1
  102. package/dist/chunks/input-field-password.CHb2Ros_.js +353 -0
  103. package/dist/chunks/{input-field-password.DZytmp_p.js.map → input-field-password.CHb2Ros_.js.map} +1 -1
  104. package/dist/chunks/{input-field-phone-number.CxblrmaU.js → input-field-phone-number.DM2rmZkQ.js} +12 -5
  105. package/dist/chunks/{input-field-phone-number.CxblrmaU.js.map → input-field-phone-number.DM2rmZkQ.js.map} +1 -1
  106. package/dist/chunks/{input-field.CfU0ZKtL.js → input-field.DnYjM6yy.js} +118 -111
  107. package/dist/chunks/{input-field.CfU0ZKtL.js.map → input-field.DnYjM6yy.js.map} +1 -1
  108. package/dist/chunks/input-time.DeJ8lDio.js +103 -0
  109. package/dist/chunks/input-time.DeJ8lDio.js.map +1 -0
  110. package/dist/chunks/{inspector.B9k4tJWe.js → inspector.DMhKNW1K.js} +70 -63
  111. package/dist/chunks/{inspector.B9k4tJWe.js.map → inspector.DMhKNW1K.js.map} +1 -1
  112. package/dist/chunks/{list-item.DO5uULke.js → list-item.BHvXpqaS.js} +2 -2
  113. package/dist/chunks/{list-item.DO5uULke.js.map → list-item.BHvXpqaS.js.map} +1 -1
  114. package/dist/chunks/{listbox-option-tag.Cvplth7d.js → listbox-option-tag.CVxaZqbc.js} +2 -2
  115. package/dist/chunks/{listbox-option-tag.Cvplth7d.js.map → listbox-option-tag.CVxaZqbc.js.map} +1 -1
  116. package/dist/chunks/{modal-fullscreen.CuKVyTWb.js → modal-fullscreen.9CSTqFQc.js} +54 -47
  117. package/dist/chunks/{modal-fullscreen.CuKVyTWb.js.map → modal-fullscreen.9CSTqFQc.js.map} +1 -1
  118. package/dist/chunks/{modal.vue_vue_type_script_setup_true_lang.DmPw0l5Y.js → modal.vue_vue_type_script_setup_true_lang.BAxTkaQM.js} +48 -41
  119. package/dist/chunks/{modal.vue_vue_type_script_setup_true_lang.DmPw0l5Y.js.map → modal.vue_vue_type_script_setup_true_lang.BAxTkaQM.js.map} +1 -1
  120. package/dist/chunks/pagination.DL-h8OLF.js +413 -0
  121. package/dist/chunks/{pagination.dpVc6Yt0.js.map → pagination.DL-h8OLF.js.map} +1 -1
  122. package/dist/chunks/{promo-banner.BzveHNOI.js → promo-banner.-H4r_cwj.js} +39 -32
  123. package/dist/chunks/{promo-banner.BzveHNOI.js.map → promo-banner.-H4r_cwj.js.map} +1 -1
  124. package/dist/chunks/{radio-group.Cuiq4mxy.js → radio-group.DzhQgXv9.js} +4 -4
  125. package/dist/chunks/{radio-group.Cuiq4mxy.js.map → radio-group.DzhQgXv9.js.map} +1 -1
  126. package/dist/chunks/{rich-text-editor.DLMiT4f5.js → rich-text-editor.Ij2t4pyI.js} +418 -411
  127. package/dist/chunks/{rich-text-editor.DLMiT4f5.js.map → rich-text-editor.Ij2t4pyI.js.map} +1 -1
  128. package/dist/chunks/search-bar.DfNwnjes.js +114 -0
  129. package/dist/chunks/{search-bar.CsFyP0_I.js.map → search-bar.DfNwnjes.js.map} +1 -1
  130. package/dist/chunks/secondary-nav.CvipTDRh.js +285 -0
  131. package/dist/chunks/secondary-nav.CvipTDRh.js.map +1 -0
  132. package/dist/chunks/{segmented-control.KeQ5kuR1.js → segmented-control.CQWOO1-J.js} +2 -2
  133. package/dist/chunks/{segmented-control.KeQ5kuR1.js.map → segmented-control.CQWOO1-J.js.map} +1 -1
  134. package/dist/chunks/{selection-card-group.XM11Kk-4.js → selection-card-group.CcOWQAUC.js} +11 -11
  135. package/dist/chunks/{selection-card-group.XM11Kk-4.js.map → selection-card-group.CcOWQAUC.js.map} +1 -1
  136. package/dist/chunks/{sidepanel.b2QZ1Jsx.js → sidepanel.BObSv8UU.js} +56 -49
  137. package/dist/chunks/{sidepanel.b2QZ1Jsx.js.map → sidepanel.BObSv8UU.js.map} +1 -1
  138. package/dist/chunks/step.AsX2jAeL.js +268 -0
  139. package/dist/chunks/{step.BlwoLfdw.js.map → step.AsX2jAeL.js.map} +1 -1
  140. package/dist/chunks/structured-list-item.CgJR_ufh.js +112 -0
  141. package/dist/chunks/{structured-list-item.e-8kRleh.js.map → structured-list-item.CgJR_ufh.js.map} +1 -1
  142. package/dist/chunks/{summary-grid.types.CcvOC03H.js → summary-grid.types.DKPhtHw3.js} +5 -5
  143. package/dist/chunks/{summary-grid.types.CcvOC03H.js.map → summary-grid.types.DKPhtHw3.js.map} +1 -1
  144. package/dist/chunks/{tab.mR5uUSdp.js → tab.9nyNZiGw.js} +2 -2
  145. package/dist/chunks/{tab.mR5uUSdp.js.map → tab.9nyNZiGw.js.map} +1 -1
  146. package/dist/chunks/{tag.DujMVFh-.js → tag.YN2r-Pp3.js} +2 -2
  147. package/dist/chunks/{tag.DujMVFh-.js.map → tag.YN2r-Pp3.js.map} +1 -1
  148. package/dist/chunks/textarea.C-sBemuo.js +256 -0
  149. package/dist/chunks/{textarea.CHV6Z8nt.js.map → textarea.C-sBemuo.js.map} +1 -1
  150. package/dist/chunks/timeline-item.CHk8wXeT.js +433 -0
  151. package/dist/chunks/{timeline-item.CaGcRZbt.js.map → timeline-item.CHk8wXeT.js.map} +1 -1
  152. package/dist/chunks/{toast.C2oehk9P.js → toast.De4MTkiH.js} +64 -57
  153. package/dist/chunks/{toast.C2oehk9P.js.map → toast.De4MTkiH.js.map} +1 -1
  154. package/dist/chunks/{tooltip.CbADa_4p.js → tooltip.DHfG2aRt.js} +40 -38
  155. package/dist/chunks/tooltip.DHfG2aRt.js.map +1 -0
  156. package/dist/chunks/{tutorial.vue_vue_type_script_setup_true_lang.BOruzlTt.js → tutorial.vue_vue_type_script_setup_true_lang.CUDeriBU.js} +120 -113
  157. package/dist/chunks/{tutorial.vue_vue_type_script_setup_true_lang.BOruzlTt.js.map → tutorial.vue_vue_type_script_setup_true_lang.CUDeriBU.js.map} +1 -1
  158. package/dist/chunks/{use-cached-selected-values.ClEJRFAd.js → use-cached-selected-values.DIbfa5F1.js} +381 -360
  159. package/dist/chunks/{use-cached-selected-values.ClEJRFAd.js.map → use-cached-selected-values.DIbfa5F1.js.map} +1 -1
  160. package/dist/chunks/{use-country-items.D_3LBe2I.js → use-country-items.Dp7X1r2e.js} +3 -3
  161. package/dist/chunks/{use-country-items.D_3LBe2I.js.map → use-country-items.Dp7X1r2e.js.map} +1 -1
  162. package/dist/chunks/{use-country-phon-code.DoqTGkNr.js → use-country-phon-code.BzcawGpE.js} +107 -104
  163. package/dist/chunks/{use-country-phon-code.DoqTGkNr.js.map → use-country-phon-code.BzcawGpE.js.map} +1 -1
  164. package/dist/chunks/{use-date-input-formatter.CDRzd-hW.js → use-date-input-formatter.BiIraXZZ.js} +2 -2
  165. package/dist/chunks/{use-date-input-formatter.CDRzd-hW.js.map → use-date-input-formatter.BiIraXZZ.js.map} +1 -1
  166. package/dist/code-snippet.js +1 -1
  167. package/dist/country.js +3 -3
  168. package/dist/dashboard-template.js +1 -1
  169. package/dist/dashed-underline.js +1 -1
  170. package/dist/data-grid-template.js +1 -1
  171. package/dist/data-grid.js +1 -1
  172. package/dist/date-picker.js +2 -2
  173. package/dist/date-range-picker.js +2 -2
  174. package/dist/draggable-handle.js +51 -44
  175. package/dist/draggable-handle.js.map +1 -1
  176. package/dist/dropdown.js +4 -4
  177. package/dist/file-uploader.js +1 -1
  178. package/dist/filter-bar.js +1 -1
  179. package/dist/form-layout.js +1 -1
  180. package/dist/header-with-views.js +1 -1
  181. package/dist/header.js +1 -1
  182. package/dist/index.js +205 -203
  183. package/dist/index.js.map +1 -1
  184. package/dist/info-icon.js +1 -1
  185. package/dist/input-field-password.js +1 -1
  186. package/dist/input-field-phone-number.js +1 -1
  187. package/dist/input-field.js +1 -1
  188. package/dist/input-time.js +5 -0
  189. package/dist/input-time.js.map +1 -0
  190. package/dist/inspector.js +1 -1
  191. package/dist/internal.js +12 -12
  192. package/dist/list.js +1 -1
  193. package/dist/menu.js +1 -1
  194. package/dist/modal-fullscreen.js +1 -1
  195. package/dist/modal.js +2 -2
  196. package/dist/pagination.js +1 -1
  197. package/dist/popover.js +1 -1
  198. package/dist/promo-banner.js +1 -1
  199. package/dist/radio-group.js +1 -1
  200. package/dist/rich-text-editor.js +1 -1
  201. package/dist/search-bar.js +2 -2
  202. package/dist/secondary-nav.js +1 -1
  203. package/dist/segmented-control.js +1 -1
  204. package/dist/selection-card.js +1 -1
  205. package/dist/sidepanel.js +1 -1
  206. package/dist/stepper.js +1 -1
  207. package/dist/structured-list.js +1 -1
  208. package/dist/summary-grid.js +1 -1
  209. package/dist/tabs.js +1 -1
  210. package/dist/tag.js +1 -1
  211. package/dist/textarea.js +1 -1
  212. package/dist/timeline.js +1 -1
  213. package/dist/toast.js +1 -1
  214. package/dist/tutorial.js +1 -1
  215. package/dist/web-types.json +1 -1
  216. package/package.json +4 -4
  217. package/dist/chunks/accordion-item.BX1KrLMl.js +0 -134
  218. package/dist/chunks/action-bar.DLMaIUWW.js +0 -329
  219. package/dist/chunks/ai-tag.DK63ExDc.js +0 -130
  220. package/dist/chunks/anchor-scroller.NhjLDBZI.js +0 -207
  221. package/dist/chunks/card.CoxQ_L0w.js +0 -216
  222. package/dist/chunks/chip.CdgpQyXN.js +0 -65
  223. package/dist/chunks/copy.C2kQ1PbI.js +0 -107
  224. package/dist/chunks/country.types.DjpMGz7a.js +0 -19
  225. package/dist/chunks/data-grid.BSIXLRm7.js +0 -4014
  226. package/dist/chunks/data-grid.BSIXLRm7.js.map +0 -1
  227. package/dist/chunks/date-picker.dlzZ_-5f.js +0 -231
  228. package/dist/chunks/date-range-picker.DC6CK0As.js +0 -995
  229. package/dist/chunks/date-range-picker.DC6CK0As.js.map +0 -1
  230. package/dist/chunks/dialog-page.COfKqjT-.js +0 -156
  231. package/dist/chunks/error-message.DCgo8q20.js +0 -143
  232. package/dist/chunks/fixed-scroller.DtkaGyMD.js +0 -150
  233. package/dist/chunks/form-layout-title.DW5Kg1rh.js +0 -230
  234. package/dist/chunks/input-field-password.DZytmp_p.js +0 -346
  235. package/dist/chunks/pagination.dpVc6Yt0.js +0 -401
  236. package/dist/chunks/search-bar.CsFyP0_I.js +0 -107
  237. package/dist/chunks/secondary-nav.CLBdq98c.js +0 -138
  238. package/dist/chunks/secondary-nav.CLBdq98c.js.map +0 -1
  239. package/dist/chunks/step.BlwoLfdw.js +0 -259
  240. package/dist/chunks/structured-list-item.e-8kRleh.js +0 -105
  241. package/dist/chunks/textarea.CHV6Z8nt.js +0 -247
  242. package/dist/chunks/timeline-item.CaGcRZbt.js +0 -419
  243. package/dist/chunks/tooltip.CbADa_4p.js.map +0 -1
@@ -1,23 +1,23 @@
1
- import { defineComponent as ee, useAttrs as te, ref as y, computed as m, shallowRef as $, onMounted as ae, watch as ne, watchEffect as oe, resolveComponent as se, openBlock as s, createElementBlock as _, normalizeClass as w, createElementVNode as S, createBlock as f, unref as r, mergeProps as re, createCommentVNode as u, createVNode as C, withCtx as h, createTextVNode as Q, toDisplayString as x, renderSlot as le, normalizeProps as ie, guardReactiveProps as ce } from "vue";
2
- import { s as de, H as pe, t as e, L as ue, a as ge, b as fe, c as me, p as he, j as be, d as Oe, x as ve, e as ye, E as _e, h as Se, k as Ce, i as Ne, C as N, f as Y, g as E, l as Pe, m as ke } from "./codemirror.Bzus_EPG.js";
3
- import { c as Le, d as Te, e as xe, f as Ee } from "./es6.C1DXQV6f.js";
4
- import { B as Ie } from "./dropdown.MhmX1P9o.js";
5
- import { B as W } from "./button.DWF7FSIw.js";
6
- import { B as D } from "./typography.B3J6_tYk.js";
1
+ import { defineComponent as ee, useAttrs as te, ref as y, computed as f, shallowRef as V, onMounted as ne, watch as ae, watchEffect as oe, resolveComponent as se, openBlock as s, createElementBlock as S, normalizeClass as $, createElementVNode as _, createBlock as m, unref as r, mergeProps as re, createCommentVNode as u, createVNode as N, withCtx as h, createTextVNode as w, toDisplayString as P, renderSlot as ie, normalizeProps as le, guardReactiveProps as ce } from "vue";
2
+ import { s as de, H as pe, t as e, L as ue, a as ge, b as me, c as fe, p as he, j as be, d as Oe, x as ve, e as ye, E as Se, h as _e, k as Ne, i as Ce, C, f as Q, g as k, l as Te, m as xe } from "./codemirror.Bzus_EPG.js";
3
+ import { c as Ee, d as Le, e as Pe, f as ke } from "./es6.C1DXQV6f.js";
4
+ import { B as Ie } from "./dropdown.Do-mZiI6.js";
5
+ import { B as Y } from "./button.DWF7FSIw.js";
6
+ import { B as W } from "./typography.B3J6_tYk.js";
7
7
  import { B as Ae } from "./loading-indicator.BPol9I84.js";
8
8
  import { u as Re } from "./index.B875RXHM.js";
9
9
  import { E as Be } from "./expand.BrywY9jl.js";
10
- import { h as Ve } from "./base-modal.C2-JyHC_.js";
11
- import { C as $e } from "./copy.C2kQ1PbI.js";
12
- import { _ as we } from "./_plugin-vue_export-helper.CHgC5LLL.js";
10
+ import { h as De } from "./base-modal.BjjDrx0z.js";
11
+ import { C as Ve } from "./copy.CL893i9-.js";
12
+ import { _ as $e } from "./_plugin-vue_export-helper.CHgC5LLL.js";
13
13
  import "../assets/code-snippet.css";
14
- const Qe = {
15
- red: Le,
16
- orange: Ee,
17
- green: Te,
18
- blue: xe,
14
+ const we = {
15
+ red: Ee,
16
+ orange: ke,
17
+ green: Le,
18
+ blue: Pe,
19
19
  invalid: "#ffffff"
20
- }, Ye = (t, l) => pe.define([
20
+ }, Qe = (t, i) => pe.define([
21
21
  {
22
22
  tag: e.keyword,
23
23
  color: t.red
@@ -35,7 +35,7 @@ const Qe = {
35
35
  color: t.red
36
36
  },
37
37
  {
38
- tag: [e.definition(e.name), ...l !== "json" ? [e.separator] : []],
38
+ tag: [e.definition(e.name), ...i !== "json" ? [e.separator] : []],
39
39
  color: t.red
40
40
  },
41
41
  {
@@ -84,9 +84,9 @@ const Qe = {
84
84
  tag: e.invalid,
85
85
  color: t.invalid
86
86
  }
87
- ]), We = (t) => de(Ye(Qe, t));
87
+ ]), Ye = (t) => de(Qe(we, t));
88
88
  var I = /* @__PURE__ */ ((t) => (t.INLINE = "inline", t.SINGLELINE = "singleline", t.MULTILINE = "multiline", t))(I || {}), d = /* @__PURE__ */ ((t) => (t.JSON = "json", t.XML = "xml", t.JAVA = "java", t.JAVASCRIPT = "javascript", t.PYTHON = "python", t.CSV = "csv", t))(d || {}), b = /* @__PURE__ */ ((t) => (t.ACTION = "action", t.CHANGE = "change", t))(b || {});
89
- const De = me.deserialize({
89
+ const We = fe.deserialize({
90
90
  version: 14,
91
91
  states: "nQVQPOOOOQO'#Ce'#CeOOQO'#Ca'#CaQVQPOOOOQO-E6_-E6_",
92
92
  stateData: "g~OWOS~OQPORPOSPO~OQRSR~",
@@ -100,9 +100,9 @@ const De = me.deserialize({
100
100
  topRules: { Program: [0, 1] },
101
101
  tokenPrec: 18
102
102
  }), Me = ge.define({
103
- parser: De.configure({
103
+ parser: We.configure({
104
104
  props: [
105
- fe({
105
+ me({
106
106
  Separator: e.separator,
107
107
  Value: e.string,
108
108
  String: e.string,
@@ -112,43 +112,50 @@ const De = me.deserialize({
112
112
  ]
113
113
  })
114
114
  });
115
- function Ze() {
115
+ function je() {
116
116
  return new ue(Me);
117
117
  }
118
- const He = {
118
+ const ze = {
119
119
  [d.JSON]: ye,
120
120
  [d.XML]: ve,
121
121
  [d.JAVASCRIPT]: Oe,
122
122
  [d.JAVA]: be,
123
123
  [d.PYTHON]: he,
124
- [d.CSV]: Ze
125
- }, je = (t) => async () => He[t], Je = (t, l) => {
126
- const a = t.doc.lineAt(l.from), o = /^\s*/.exec(a.text);
124
+ [d.CSV]: je
125
+ }, Ze = (t) => async () => ze[t], He = (t, i) => {
126
+ const n = t.doc.lineAt(i.from), o = /^\s*/.exec(n.text);
127
127
  return o ? o[0] : "";
128
- }, Ue = {
128
+ }, Je = {
129
129
  key: "Enter",
130
- run: ({ state: t, dispatch: l }) => {
131
- const a = t.changeByRange((o) => {
130
+ run: ({ state: t, dispatch: i }) => {
131
+ const n = t.changeByRange((o) => {
132
132
  const p = `
133
- ${Je(t, o)}`;
133
+ ${He(t, o)}`;
134
134
  return {
135
135
  changes: { from: o.from, to: o.to, insert: p },
136
- range: _e.cursor(o.from + p.length)
136
+ range: Se.cursor(o.from + p.length)
137
137
  };
138
138
  });
139
- return l(t.update(a, { scrollIntoView: !0, userEvent: "input" })), !0;
139
+ return i(t.update(n, { scrollIntoView: !0, userEvent: "input" })), !0;
140
140
  }
141
141
  }, M = {
142
+ "de-DE": { codeSnippet: "Codeausschnitt", expand: "Anzeigen", nothingToDisplay: "Nichts anzuzeigen", run: "Lauf" },
143
+ "en-GB": { codeSnippet: "Code snippet", expand: "Expand", nothingToDisplay: "Nothing to display", run: "Run" },
142
144
  "en-US": { codeSnippet: "Code snippet", expand: "Expand", nothingToDisplay: "Nothing to display", run: "Run" },
145
+ "es-ES": { codeSnippet: "Fragmento de código", expand: "Ampliar", nothingToDisplay: "No hay nada que mostrar", run: "Ejecutar" },
146
+ "es-MX": { codeSnippet: "Fragmento de código", expand: "Ampliar", nothingToDisplay: "Nada que mostrar", run: "Ejecutar" },
147
+ "fr-FR": { codeSnippet: "Extrait de code", expand: "Développer", nothingToDisplay: "Rien à afficher", run: "Exécuter" },
148
+ "it-IT": { codeSnippet: "Frammento di codice", expand: "Espandi", nothingToDisplay: "Niente da visualizzare", run: "Corri" },
143
149
  "ja-JP": { codeSnippet: "コードスニペット", expand: "展開", nothingToDisplay: "表示するものがありません", run: "実行" },
144
- "pt-BR": { codeSnippet: "Trecho de código", expand: "Expandir", nothingToDisplay: "Nada para exibir", run: "Executar" }
145
- }, ze = {
150
+ "pt-BR": { codeSnippet: "Trecho de código", expand: "Expandir", nothingToDisplay: "Nada a mostrar", run: "Executar" },
151
+ "zh-CN": { codeSnippet: "代码片段", expand: "展开", nothingToDisplay: "暂无内容可显示", run: "运行" }
152
+ }, Ue = {
146
153
  key: 0,
147
154
  class: "b-code-snippet__action-bar"
148
- }, Ge = { class: "b-code-snippet__action-bar--start" }, Xe = { class: "b-code-snippet__action-bar--end" }, Fe = {
155
+ }, Fe = { class: "b-code-snippet__action-bar--start" }, Ge = { class: "b-code-snippet__action-bar--end" }, Xe = {
149
156
  key: 1,
150
157
  class: "b-code-snippet__code-area"
151
- }, Ke = { key: 2 }, qe = { class: "b-code-snippet__empty-state" }, et = {
158
+ }, qe = { key: 2 }, Ke = { class: "b-code-snippet__empty-state" }, et = {
152
159
  i18n: { messages: M },
153
160
  name: "bento-code-snippet"
154
161
  }, tt = /* @__PURE__ */ ee({
@@ -165,124 +172,124 @@ ${Je(t, o)}`;
165
172
  variant: { default: I.MULTILINE }
166
173
  },
167
174
  emits: [b.ACTION, b.CHANGE],
168
- setup(t, { emit: l }) {
169
- const a = t, o = l, A = te(), { t: p } = Re({ messages: M }), R = y(null), P = [], Z = () => {
170
- }, H = m(() => a.langLabel ?? a.lang.toUpperCase()), O = m(() => a.variant === I.INLINE), j = m(() => ({
175
+ setup(t, { emit: i }) {
176
+ const n = t, o = i, A = te(), { t: p } = Re({ messages: M }), R = y(null), T = [], j = () => {
177
+ }, z = f(() => n.langLabel ?? n.lang.toUpperCase()), O = f(() => n.variant === I.INLINE), Z = f(() => ({
171
178
  "b-code-snippet--inline": O.value,
172
179
  "b-code-snippet--scrollable": !O.value
173
- })), J = m(() => ({
174
- "b-code-snippet__code-area-content--editable": a.editable
175
- })), U = je(a.lang), B = $(), V = $(), z = new N(), G = new N(), X = new N(), F = new N(), i = y(null), k = y(0), K = m(() => a.actionableText || p("run"));
176
- ae(async () => {
177
- const n = await U();
178
- i.value = a.content;
179
- const c = ({ state: T }) => {
180
- i.value = T.doc.toString();
180
+ })), H = f(() => ({
181
+ "b-code-snippet__code-area-content--editable": n.editable
182
+ })), J = Ze(n.lang), B = V(), D = V(), U = new C(), F = new C(), G = new C(), X = new C(), l = y(null), x = y(0), q = f(() => n.actionableText || p("run"));
183
+ ne(async () => {
184
+ const a = await J();
185
+ l.value = n.content;
186
+ const c = ({ state: L }) => {
187
+ l.value = L.doc.toString();
181
188
  }, v = [
182
- Se(),
183
- Ce.of([Ne, Ue]),
184
- z.of(n()),
185
- G.of(We(a.lang)),
186
- X.of(Y.readOnly.of(!a.editable)),
187
- F.of(
188
- E.contentAttributes.of({
189
+ _e(),
190
+ Ne.of([Ce, Je]),
191
+ U.of(a()),
192
+ F.of(Ye(n.lang)),
193
+ G.of(Q.readOnly.of(!n.editable)),
194
+ X.of(
195
+ k.contentAttributes.of({
189
196
  "aria-label": A["aria-label"] ?? p("codeSnippet"),
190
197
  ...!O.value && { tabindex: "0" }
191
198
  })
192
199
  ),
193
- E.updateListener.of((T) => c(T))
200
+ k.updateListener.of((L) => c(L))
194
201
  ];
195
- a.variant === "multiline" && v.push([Pe(), ke()]);
196
- const g = Y.create({
197
- doc: a.content,
202
+ n.variant === "multiline" && v.push([Te(), xe()]);
203
+ const g = Q.create({
204
+ doc: n.content,
198
205
  extensions: [...v]
199
206
  });
200
- k.value = g.doc.length, V.value = new E({
207
+ x.value = g.doc.length, D.value = new k({
201
208
  state: g,
202
209
  parent: B.value
203
210
  });
204
- }), ne(
205
- () => a.content,
211
+ }), ae(
212
+ () => n.content,
206
213
  () => {
207
- if (a.content !== i.value) {
208
- const n = a.content.length;
209
- V.value.dispatch({
214
+ if (n.content !== l.value) {
215
+ const a = n.content.length;
216
+ D.value.dispatch({
210
217
  changes: {
211
218
  from: 0,
212
- to: k.value,
213
- insert: a.content
219
+ to: x.value,
220
+ insert: n.content
214
221
  }
215
- }), k.value = n;
222
+ }), x.value = a;
216
223
  }
217
224
  }
218
225
  );
219
- const q = () => {
220
- o(b.ACTION, i.value);
226
+ const K = () => {
227
+ o(b.ACTION, l.value);
221
228
  };
222
229
  oe(() => {
223
- i.value !== null && o(b.CHANGE, i.value);
230
+ l.value !== null && o(b.CHANGE, l.value);
224
231
  });
225
- const L = y(!1);
226
- return (n, c) => {
232
+ const E = y(!1);
233
+ return (a, c) => {
227
234
  const v = se("bento-code-snippet");
228
- return s(), _("div", {
229
- class: w(["b-code-snippet", j.value])
235
+ return s(), S("div", {
236
+ class: $(["b-code-snippet", Z.value])
230
237
  }, [
231
- O.value ? u("", !0) : (s(), _("section", ze, [
232
- S("div", Ge, [
233
- P.length > 0 ? (s(), f(r(Ie), re({
238
+ O.value ? u("", !0) : (s(), S("section", Ue, [
239
+ _("div", Fe, [
240
+ T.length > 0 ? (s(), m(r(Ie), re({
234
241
  key: 0,
235
242
  modelValue: R.value,
236
243
  "onUpdate:modelValue": c[0] || (c[0] = (g) => R.value = g)
237
- }, n.$props, {
238
- disabled: P.length === 1,
239
- items: P,
244
+ }, a.$props, {
245
+ disabled: T.length === 1,
246
+ items: T,
240
247
  class: "b-code-snippet__language-picker",
241
- onInput: Z
248
+ onInput: j
242
249
  }), null, 16, ["modelValue", "disabled"])) : u("", !0),
243
- C(r(D), {
250
+ N(r(W), {
244
251
  el: "span",
245
252
  stronger: ""
246
253
  }, {
247
254
  default: h(() => [
248
- Q(x(H.value), 1)
255
+ w(P(z.value), 1)
249
256
  ]),
250
257
  _: 1
251
258
  })
252
259
  ]),
253
- S("div", Xe, [
254
- n.loading ? (s(), f(r(Ae), { key: 0 })) : u("", !0),
255
- i.value !== null ? (s(), f(r($e), {
260
+ _("div", Ge, [
261
+ a.loading ? (s(), m(r(Ae), { key: 0 })) : u("", !0),
262
+ l.value !== null ? (s(), m(r(Ve), {
256
263
  key: 1,
257
264
  class: "b-structured-list__icon",
258
- text: i.value
265
+ text: l.value
259
266
  }, null, 8, ["text"])) : u("", !0),
260
- n.expandable ? (s(), f(r(W), {
267
+ a.expandable ? (s(), m(r(Y), {
261
268
  key: 2,
262
269
  variant: "tertiary",
263
270
  condensed: "",
264
271
  "aria-label": r(p)("expand"),
265
- onClick: c[1] || (c[1] = (g) => L.value = !0)
272
+ onClick: c[1] || (c[1] = (g) => E.value = !0)
266
273
  }, {
267
274
  iconLeft: h(() => [
268
- C(r(Be))
275
+ N(r(Be))
269
276
  ]),
270
277
  _: 1
271
278
  }, 8, ["aria-label"])) : u("", !0),
272
- n.actionable ? (s(), f(r(W), {
279
+ a.actionable ? (s(), m(r(Y), {
273
280
  key: 3,
274
281
  variant: "primary",
275
282
  tertiary: "",
276
283
  condensed: "",
277
- onClick: q
284
+ onClick: K
278
285
  }, {
279
286
  iconLeft: h(() => [
280
- C(r(D), {
287
+ N(r(W), {
281
288
  el: "span",
282
289
  class: "b-code-snippet__action-button"
283
290
  }, {
284
291
  default: h(() => [
285
- Q(x(K.value), 1)
292
+ w(P(q.value), 1)
286
293
  ]),
287
294
  _: 1
288
295
  })
@@ -291,40 +298,40 @@ ${Je(t, o)}`;
291
298
  })) : u("", !0)
292
299
  ])
293
300
  ])),
294
- n.content || n.editable ? (s(), _("code", Fe, [
295
- S("div", {
301
+ a.content || a.editable ? (s(), S("code", Xe, [
302
+ _("div", {
296
303
  ref_key: "container",
297
304
  ref: B,
298
- class: w(["b-code-snippet__code-area-content", J.value])
305
+ class: $(["b-code-snippet__code-area-content", H.value])
299
306
  }, null, 2)
300
- ])) : (s(), _("section", Ke, [
301
- le(n.$slots, "empty-state", {}, () => [
302
- S("div", qe, x(r(p)("nothingToDisplay")), 1)
307
+ ])) : (s(), S("section", qe, [
308
+ ie(a.$slots, "empty-state", {}, () => [
309
+ _("div", Ke, P(r(p)("nothingToDisplay")), 1)
303
310
  ], !0)
304
311
  ])),
305
- n.expandable ? (s(), f(Ve, {
312
+ a.expandable ? (s(), m(De, {
306
313
  key: 3,
307
314
  class: "b-code-snippet__modal",
308
315
  "hide-close-button": !0,
309
316
  "custom-padding": "0px",
310
317
  "is-dismissible": !0,
311
- "is-open": L.value,
318
+ "is-open": E.value,
312
319
  size: "large",
313
- onCloseModal: c[2] || (c[2] = (g) => L.value = !1)
320
+ onCloseModal: c[2] || (c[2] = (g) => E.value = !1)
314
321
  }, {
315
322
  content: h(() => [
316
- C(v, ie(ce({ ...n.$props, expandable: !1 })), null, 16)
323
+ N(v, le(ce({ ...a.$props, expandable: !1 })), null, 16)
317
324
  ]),
318
325
  _: 1
319
326
  }, 8, ["is-open"])) : u("", !0)
320
327
  ], 2);
321
328
  };
322
329
  }
323
- }), ft = /* @__PURE__ */ we(tt, [["__scopeId", "data-v-56590288"]]);
330
+ }), mt = /* @__PURE__ */ $e(tt, [["__scopeId", "data-v-56590288"]]);
324
331
  export {
325
332
  b as B,
326
333
  d as a,
327
334
  I as b,
328
- ft as c
335
+ mt as c
329
336
  };
330
- //# sourceMappingURL=code-snippet.DgAuuZF5.js.map
337
+ //# sourceMappingURL=code-snippet.BePxxR3q.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-snippet.DgAuuZF5.js","sources":["../../../vue2/src/components/code-snippet/highlight.ts","../../../vue2/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","../../../vue2/src/components/code-snippet/utils/get-lang-loader.ts","../../../vue2/src/components/code-snippet/utils/indent-same-as-line-before-extension.ts","../../../vue2/src/components/code-snippet/code-snippet.vue"],"sourcesContent":["import { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport { tags as t } from '@lezer/highlight';\nimport {\n BColorLabelOnBackgroundCriticalWeak,\n BColorLabelOnBackgroundHighlightWeak,\n BColorLabelOnBackgroundSuccessWeak,\n BColorLabelOnBackgroundWarningWeak,\n} from '@adyen/bento-design-tokens/dist/js/bento/es6';\nimport { type BentoCodeSnippetSupportedLanguage } from './code-snippet.types';\n\nconst lightThemeColors = {\n red: BColorLabelOnBackgroundCriticalWeak,\n orange: BColorLabelOnBackgroundWarningWeak,\n green: BColorLabelOnBackgroundSuccessWeak,\n blue: BColorLabelOnBackgroundHighlightWeak,\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, type HTMLAttributes, onMounted, ref, shallowRef, useAttrs, 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 = withDefaults(defineProps<BentoCodeSnippetProps>(), {\n actionable: false,\n actionableText: null,\n content: '',\n editable: false,\n expandable: false,\n lang: BentoCodeSnippetSupportedLanguage.JSON,\n langLabel: null,\n loading: false,\n variant: BentoCodeSnippetVariant.MULTILINE,\n });\n\n const emit = defineEmits([BentoCodeSnippetEvent.ACTION, BentoCodeSnippetEvent.CHANGE]);\n\n const attrs = useAttrs();\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 const editorAttributes = 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 editorReadOnly.of(EditorState.readOnly.of(!props.editable)),\n editorAttributes.of(\n EditorView.contentAttributes.of({\n 'aria-label': (attrs['aria-label'] as HTMLAttributes['aria-label']) ?? t('codeSnippet'),\n ...(!isInlineVariant.value && { tabindex: '0' }),\n })\n ),\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","BColorLabelOnBackgroundCriticalWeak","BColorLabelOnBackgroundWarningWeak","BColorLabelOnBackgroundSuccessWeak","BColorLabelOnBackgroundHighlightWeak","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","props","__props","emit","__emit","attrs","useAttrs","t","useI18n","selectedLanguage","ref","availableLanguages","handleChangeLanguage","displayedLang","computed","isInlineVariant","conditionalClasses","codeAreaContentConditionalClasses","loadLang","container","shallowRef","editor","languageConf","Compartment","editorTheme","editorReadOnly","editorAttributes","currentContents","contentLength","runText","onMounted","updateCurrentContents","state2","extensions","highlightActiveLine","keymap","indentWithTab","EditorState","EditorView","content","lineNumbers","history","watch","upcomingContentLength","onActionClicked","watchEffect","showModal"],"mappings":"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","x_google_ignoreList":[2]}
1
+ {"version":3,"file":"code-snippet.BePxxR3q.js","sources":["../../../vue2/src/components/code-snippet/highlight.ts","../../../vue2/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","../../../vue2/src/components/code-snippet/utils/get-lang-loader.ts","../../../vue2/src/components/code-snippet/utils/indent-same-as-line-before-extension.ts","../../../vue2/src/components/code-snippet/code-snippet.vue"],"sourcesContent":["import { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport { tags as t } from '@lezer/highlight';\nimport {\n BColorLabelOnBackgroundCriticalWeak,\n BColorLabelOnBackgroundHighlightWeak,\n BColorLabelOnBackgroundSuccessWeak,\n BColorLabelOnBackgroundWarningWeak,\n} from '@adyen/bento-design-tokens/dist/js/bento/es6';\nimport { type BentoCodeSnippetSupportedLanguage } from './code-snippet.types';\n\nconst lightThemeColors = {\n red: BColorLabelOnBackgroundCriticalWeak,\n orange: BColorLabelOnBackgroundWarningWeak,\n green: BColorLabelOnBackgroundSuccessWeak,\n blue: BColorLabelOnBackgroundHighlightWeak,\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, type HTMLAttributes, onMounted, ref, shallowRef, useAttrs, 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 = withDefaults(defineProps<BentoCodeSnippetProps>(), {\n actionable: false,\n actionableText: null,\n content: '',\n editable: false,\n expandable: false,\n lang: BentoCodeSnippetSupportedLanguage.JSON,\n langLabel: null,\n loading: false,\n variant: BentoCodeSnippetVariant.MULTILINE,\n });\n\n const emit = defineEmits([BentoCodeSnippetEvent.ACTION, BentoCodeSnippetEvent.CHANGE]);\n\n const attrs = useAttrs();\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 const editorAttributes = 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 editorReadOnly.of(EditorState.readOnly.of(!props.editable)),\n editorAttributes.of(\n EditorView.contentAttributes.of({\n 'aria-label': (attrs['aria-label'] as HTMLAttributes['aria-label']) ?? t('codeSnippet'),\n ...(!isInlineVariant.value && { tabindex: '0' }),\n })\n ),\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","BColorLabelOnBackgroundCriticalWeak","BColorLabelOnBackgroundWarningWeak","BColorLabelOnBackgroundSuccessWeak","BColorLabelOnBackgroundHighlightWeak","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","props","__props","emit","__emit","attrs","useAttrs","t","useI18n","selectedLanguage","ref","availableLanguages","handleChangeLanguage","displayedLang","computed","isInlineVariant","conditionalClasses","codeAreaContentConditionalClasses","loadLang","container","shallowRef","editor","languageConf","Compartment","editorTheme","editorReadOnly","editorAttributes","currentContents","contentLength","runText","onMounted","updateCurrentContents","state2","extensions","highlightActiveLine","keymap","indentWithTab","EditorState","EditorView","content","lineNumbers","history","watch","upcomingContentLength","onActionClicked","watchEffect","showModal"],"mappings":"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","x_google_ignoreList":[2]}
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as m, useAttrs as h, useSlots as y, computed as n, openBlock as s, createElementBlock as g, mergeProps as S, unref as l, createElementVNode as w, normalizeClass as B, createBlock as r, createCommentVNode as i, withCtx as C, renderSlot as d, createTextVNode as L, toDisplayString as v } from "vue";
2
2
  import { d as x, B as N } from "./typography.B3J6_tYk.js";
3
3
  import { u as q } from "./use-has-slot.CyMiImRQ.js";
4
- import { F as T } from "./error-message.DCgo8q20.js";
4
+ import { F as T } from "./error-message.849uzpkq.js";
5
5
  import { _ } from "./_plugin-vue_export-helper.CHgC5LLL.js";
6
6
  import "../assets/controls-group.css";
7
7
  const k = ["form", "disabled"], D = {}, P = /* @__PURE__ */ m({
@@ -92,4 +92,4 @@ const k = ["form", "disabled"], D = {}, P = /* @__PURE__ */ m({
92
92
  export {
93
93
  G as C
94
94
  };
95
- //# sourceMappingURL=controls-group.C7hOE1F4.js.map
95
+ //# sourceMappingURL=controls-group.Cxk-0fCy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controls-group.C7hOE1F4.js","sources":["../../../vue2/src/components/internal/controls-group/controls-group.vue"],"sourcesContent":["<template>\n <fieldset class=\"b-controls-group\" v-bind=\"attrs\" :class=\"conditionalClasses\" :form=\"form\" :disabled=\"disabled\">\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\n v-if=\"description || hasSlot('description')\"\n class=\"b-controls-group__description\"\n el=\"span\"\n >\n <slot name=\"description\">\n {{ description }}\n </slot>\n </bento-typography>\n </legend>\n <slot />\n </fieldset>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, useAttrs, useSlots } from 'vue';\n import { BentoTypography } from '@/components/typography';\n import { FieldLabel } from '@/components/internal/field-label';\n import { deprecate } from '@/utils/ts/deprecate';\n import { useHasSlot } from '@/composables';\n\n const attrs = useAttrs();\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\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 conditionalClasses = computed(() => ({\n 'b-controls-group--disabled': props.disabled,\n }));\n\n const legendConditionalClasses = computed(() => {\n const isLabelAndDescriptionPresent = props.label && (props.description || hasSlot('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 || hasSlot('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=\"./controls-group.scss\" />\n"],"names":["__default__","attrs","useAttrs","slots","useSlots","hasSlot","useHasSlot","props","__props","conditionalClasses","computed","legendConditionalClasses","deprecate"],"mappings":";;;;;;gCA6IIA,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA7GA,UAAAC,IAAAC,EAAA,GACAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAEAI,IAAAC,GAgDAC,IAAAC,EAAA,OAAA;AAAA,MAA2C,8BAAAH,EAAA;AAAA,IACH,EAAA,GAGxCI,IAAAD,EAAA,OAII;AAAA,MAAO,6CAAA,EAHPH,EAAA,UAAAA,EAAA,eAAAF,EAAA,aAAA,MACAE,EAAA,cAAA;AAAA,IAGkD,EAClD;AAKJ,WADA,EAAAA,EAAA,eAAAF,EAAA,aAAA,MAAAE,EAAA,aAAA,QAEIK;AAAA,MAAA,GAAAL,EAAA,aAAA;AAAA,MAC0B;AAAA,MACtB;AAAA,IAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"controls-group.Cxk-0fCy.js","sources":["../../../vue2/src/components/internal/controls-group/controls-group.vue"],"sourcesContent":["<template>\n <fieldset class=\"b-controls-group\" v-bind=\"attrs\" :class=\"conditionalClasses\" :form=\"form\" :disabled=\"disabled\">\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\n v-if=\"description || hasSlot('description')\"\n class=\"b-controls-group__description\"\n el=\"span\"\n >\n <slot name=\"description\">\n {{ description }}\n </slot>\n </bento-typography>\n </legend>\n <slot />\n </fieldset>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, useAttrs, useSlots } from 'vue';\n import { BentoTypography } from '@/components/typography';\n import { FieldLabel } from '@/components/internal/field-label';\n import { deprecate } from '@/utils/ts/deprecate';\n import { useHasSlot } from '@/composables';\n\n const attrs = useAttrs();\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\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 conditionalClasses = computed(() => ({\n 'b-controls-group--disabled': props.disabled,\n }));\n\n const legendConditionalClasses = computed(() => {\n const isLabelAndDescriptionPresent = props.label && (props.description || hasSlot('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 || hasSlot('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=\"./controls-group.scss\" />\n"],"names":["__default__","attrs","useAttrs","slots","useSlots","hasSlot","useHasSlot","props","__props","conditionalClasses","computed","legendConditionalClasses","deprecate"],"mappings":";;;;;;gCA6IIA,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA7GA,UAAAC,IAAAC,EAAA,GACAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAEAI,IAAAC,GAgDAC,IAAAC,EAAA,OAAA;AAAA,MAA2C,8BAAAH,EAAA;AAAA,IACH,EAAA,GAGxCI,IAAAD,EAAA,OAII;AAAA,MAAO,6CAAA,EAHPH,EAAA,UAAAA,EAAA,eAAAF,EAAA,aAAA,MACAE,EAAA,cAAA;AAAA,IAGkD,EAClD;AAKJ,WADA,EAAAA,EAAA,eAAAF,EAAA,aAAA,MAAAE,EAAA,aAAA,QAEIK;AAAA,MAAA,GAAAL,EAAA,aAAA;AAAA,MAC0B;AAAA,MACtB;AAAA,IAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}