@adyen/bento-vue2 1.31.1 → 1.32.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 (217) hide show
  1. package/dist/@types/components.d.ts +0 -2
  2. package/dist/@types/index.d.ts +4 -2
  3. package/dist/accordion.js +1 -1
  4. package/dist/action-bar.js +1 -1
  5. package/dist/alert.js +1 -1
  6. package/dist/assets/accordion-item.css +1 -1
  7. package/dist/assets/action-bar.css +1 -1
  8. package/dist/assets/base-modal.css +1 -1
  9. package/dist/assets/card.css +1 -1
  10. package/dist/assets/code-snippet.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/filter-bar.css +1 -1
  14. package/dist/assets/inspector.css +1 -1
  15. package/dist/assets/menu.css +1 -1
  16. package/dist/assets/modal-fullscreen.css +1 -1
  17. package/dist/assets/popover.css +1 -1
  18. package/dist/assets/sidepanel.css +1 -1
  19. package/dist/assets/tag.css +1 -1
  20. package/dist/assets/use-cached-selected-values.css +1 -1
  21. package/dist/avatar.js +1 -1
  22. package/dist/button.js +4 -4
  23. package/dist/card.js +1 -1
  24. package/dist/checkbox.js +2 -2
  25. package/dist/chunks/{accordion-item.DmnrjNzw.js → accordion-item.CNYpvxwN.js} +2 -2
  26. package/dist/chunks/{accordion-item.DmnrjNzw.js.map → accordion-item.CNYpvxwN.js.map} +1 -1
  27. package/dist/chunks/{action-bar.B_0DvTPe.js → action-bar.Ds_ofJs6.js} +6 -6
  28. package/dist/chunks/{action-bar.B_0DvTPe.js.map → action-bar.Ds_ofJs6.js.map} +1 -1
  29. package/dist/chunks/{alert.CJyTM4Az.js → alert.Ba2hSVeM.js} +3 -3
  30. package/dist/chunks/{alert.CJyTM4Az.js.map → alert.Ba2hSVeM.js.map} +1 -1
  31. package/dist/chunks/{avatar.tSIC1ahz.js → avatar.DohItrb9.js} +2 -2
  32. package/dist/chunks/{avatar.tSIC1ahz.js.map → avatar.DohItrb9.js.map} +1 -1
  33. package/dist/chunks/{base-button.DER7_IsF.js → base-button.-qw8sZSY.js} +2 -2
  34. package/dist/chunks/{base-button.DER7_IsF.js.map → base-button.-qw8sZSY.js.map} +1 -1
  35. package/dist/chunks/{base-modal.ChqzRaIU.js → base-modal.B17Ib1QQ.js} +5 -5
  36. package/dist/chunks/{base-modal.ChqzRaIU.js.map → base-modal.B17Ib1QQ.js.map} +1 -1
  37. package/dist/chunks/{button-actions-with-menu.ZDejXKrX.js → button-actions-with-menu.K8p3AG8r.js} +4 -4
  38. package/dist/chunks/{button-actions-with-menu.ZDejXKrX.js.map → button-actions-with-menu.K8p3AG8r.js.map} +1 -1
  39. package/dist/chunks/{button-actions.BNTiClWe.js → button-actions.IJs0hN8c.js} +3 -3
  40. package/dist/chunks/{button-actions.BNTiClWe.js.map → button-actions.IJs0hN8c.js.map} +1 -1
  41. package/dist/chunks/{button.DhAUh5JA.js → button.qOf7CXY2.js} +3 -3
  42. package/dist/chunks/{button.DhAUh5JA.js.map → button.qOf7CXY2.js.map} +1 -1
  43. package/dist/chunks/{calendar.QEa4jeX-.js → calendar.etLGotqH.js} +4 -4
  44. package/dist/chunks/{calendar.QEa4jeX-.js.map → calendar.etLGotqH.js.map} +1 -1
  45. package/dist/chunks/{card.Bzc_8gg1.js → card.-BYuiE_X.js} +3 -3
  46. package/dist/chunks/{card.Bzc_8gg1.js.map → card.-BYuiE_X.js.map} +1 -1
  47. package/dist/chunks/{checkbox-group.BSOHcerG.js → checkbox-group.Bj9gURHB.js} +5 -5
  48. package/dist/chunks/{checkbox-group.BSOHcerG.js.map → checkbox-group.Bj9gURHB.js.map} +1 -1
  49. package/dist/chunks/{checkbox.BP2_1_qF.js → checkbox.CKQZXIR3.js} +4 -4
  50. package/dist/chunks/{checkbox.BP2_1_qF.js.map → checkbox.CKQZXIR3.js.map} +1 -1
  51. package/dist/chunks/{code-snippet.njEtbQlt.js → code-snippet.Dr7HvCcg.js} +37 -37
  52. package/dist/chunks/{code-snippet.njEtbQlt.js.map → code-snippet.Dr7HvCcg.js.map} +1 -1
  53. package/dist/chunks/{controls-group.Xc8GU6VO.js → controls-group.WoEXCpkM.js} +3 -3
  54. package/dist/chunks/{controls-group.Xc8GU6VO.js.map → controls-group.WoEXCpkM.js.map} +1 -1
  55. package/dist/chunks/{copy.9yVc8L5b.js → copy.CIuoE2VU.js} +3 -3
  56. package/dist/chunks/{copy.9yVc8L5b.js.map → copy.CIuoE2VU.js.map} +1 -1
  57. package/dist/chunks/{country.KayLT0zy.js → country.DeYdzMXh.js} +2 -2
  58. package/dist/chunks/{country.KayLT0zy.js.map → country.DeYdzMXh.js.map} +1 -1
  59. package/dist/chunks/{currency.H7n7RQiX.js → currency.Cfq_Yw2V.js} +2 -2
  60. package/dist/chunks/{currency.H7n7RQiX.js.map → currency.Cfq_Yw2V.js.map} +1 -1
  61. package/dist/chunks/{dashboard-section.COlHzwkB.js → dashboard-section.CKy3tW-3.js} +3 -3
  62. package/dist/chunks/{dashboard-section.COlHzwkB.js.map → dashboard-section.CKy3tW-3.js.map} +1 -1
  63. package/dist/chunks/{dashed-underline.C0lIPy0T.js → dashed-underline.OyLCDT1U.js} +4 -4
  64. package/dist/chunks/{dashed-underline.C0lIPy0T.js.map → dashed-underline.OyLCDT1U.js.map} +1 -1
  65. package/dist/chunks/{data-grid-template.D2pO9uS9.js → data-grid-template.CxaInpI8.js} +3 -3
  66. package/dist/chunks/{data-grid-template.D2pO9uS9.js.map → data-grid-template.CxaInpI8.js.map} +1 -1
  67. package/dist/chunks/{data-grid.VZ1STYt0.js → data-grid.Dsv60eRz.js} +501 -498
  68. package/dist/chunks/{data-grid.VZ1STYt0.js.map → data-grid.Dsv60eRz.js.map} +1 -1
  69. package/dist/chunks/{date-picker.MKbisqpp.js → date-picker.CZ34YMMu.js} +17 -17
  70. package/dist/chunks/{date-picker.MKbisqpp.js.map → date-picker.CZ34YMMu.js.map} +1 -1
  71. package/dist/chunks/{date-range-picker.5zSN9d5P.js → date-range-picker.C__cQBs3.js} +25 -25
  72. package/dist/chunks/{date-range-picker.5zSN9d5P.js.map → date-range-picker.C__cQBs3.js.map} +1 -1
  73. package/dist/chunks/{date.DKjxxR6P.js → date.DQaxR7TF.js} +2 -2
  74. package/dist/chunks/{date.DKjxxR6P.js.map → date.DQaxR7TF.js.map} +1 -1
  75. package/dist/chunks/{dialog-page.DAh0M4mT.js → dialog-page.Cc-XASGB.js} +31 -32
  76. package/dist/chunks/{dialog-page.DAh0M4mT.js.map → dialog-page.Cc-XASGB.js.map} +1 -1
  77. package/dist/chunks/{dropdown-default-textbox.Yx8EPd6W.js → dropdown-default-textbox.BM9qsdzQ.js} +2 -2
  78. package/dist/chunks/{dropdown-default-textbox.Yx8EPd6W.js.map → dropdown-default-textbox.BM9qsdzQ.js.map} +1 -1
  79. package/dist/chunks/{dropdown-tag.ChMjZXqI.js → dropdown-tag.DEqYdqVG.js} +6 -6
  80. package/dist/chunks/{dropdown-tag.ChMjZXqI.js.map → dropdown-tag.DEqYdqVG.js.map} +1 -1
  81. package/dist/chunks/{dropdown.D-9cUSSo.js → dropdown.Bn6SRkU5.js} +18 -18
  82. package/dist/chunks/{dropdown.D-9cUSSo.js.map → dropdown.Bn6SRkU5.js.map} +1 -1
  83. package/dist/chunks/{empty-state.BqVOj4v1.js → empty-state.CWy3y5Ly.js} +3 -3
  84. package/dist/chunks/{empty-state.BqVOj4v1.js.map → empty-state.CWy3y5Ly.js.map} +1 -1
  85. package/dist/chunks/{error-message.IjcYmSSd.js → error-message.epR1WJH2.js} +3 -3
  86. package/dist/chunks/{error-message.IjcYmSSd.js.map → error-message.epR1WJH2.js.map} +1 -1
  87. package/dist/chunks/{filter-bar.7nGTSoYh.js → filter-bar.Dcsv7a4q.js} +25 -25
  88. package/dist/chunks/filter-bar.Dcsv7a4q.js.map +1 -0
  89. package/dist/chunks/{fixed-scroller.Bq1AgPnw.js → fixed-scroller.wvGW5A2g.js} +2 -2
  90. package/dist/chunks/{fixed-scroller.Bq1AgPnw.js.map → fixed-scroller.wvGW5A2g.js.map} +1 -1
  91. package/dist/chunks/{footer-actions.C8aAV7xl.js → footer-actions.B6Q5ybfw.js} +4 -4
  92. package/dist/chunks/{footer-actions.C8aAV7xl.js.map → footer-actions.B6Q5ybfw.js.map} +1 -1
  93. package/dist/chunks/{form-layout-title.BzNU0B72.js → form-layout-title.ChRqPBDL.js} +3 -3
  94. package/dist/chunks/{form-layout-title.BzNU0B72.js.map → form-layout-title.ChRqPBDL.js.map} +1 -1
  95. package/dist/chunks/{header.Z0INnUEd.js → header.jOE8ctvn.js} +5 -5
  96. package/dist/chunks/{header.Z0INnUEd.js.map → header.jOE8ctvn.js.map} +1 -1
  97. package/dist/chunks/{info-icon.BkVcFKkT.js → info-icon.DQI7sjBY.js} +2 -2
  98. package/dist/chunks/{info-icon.BkVcFKkT.js.map → info-icon.DQI7sjBY.js.map} +1 -1
  99. package/dist/chunks/{input-field.DMBpk8py.js → input-field.mEo-bCtk.js} +4 -4
  100. package/dist/chunks/{input-field.DMBpk8py.js.map → input-field.mEo-bCtk.js.map} +1 -1
  101. package/dist/chunks/{inspector.types.BbPF5hmc.js → inspector.types.l7r-FN49.js} +3 -3
  102. package/dist/chunks/{inspector.types.BbPF5hmc.js.map → inspector.types.l7r-FN49.js.map} +1 -1
  103. package/dist/chunks/{link.DJ1A53gF.js → link.CjFBXE3D.js} +2 -2
  104. package/dist/chunks/{link.DJ1A53gF.js.map → link.CjFBXE3D.js.map} +1 -1
  105. package/dist/chunks/{listbox-option-tag.cRJfigp-.js → listbox-option-tag.BXz3dHfF.js} +3 -3
  106. package/dist/chunks/{listbox-option-tag.cRJfigp-.js.map → listbox-option-tag.BXz3dHfF.js.map} +1 -1
  107. package/dist/chunks/{loading-button.CcYmeIl8.js → loading-button.Ba8So0d6.js} +2 -2
  108. package/dist/chunks/{loading-button.CcYmeIl8.js.map → loading-button.Ba8So0d6.js.map} +1 -1
  109. package/dist/chunks/{menu.C8ZmHcw8.js → menu.e-PrV4Wl.js} +5 -5
  110. package/dist/chunks/{menu.C8ZmHcw8.js.map → menu.e-PrV4Wl.js.map} +1 -1
  111. package/dist/chunks/{modal-fullscreen.CO8EYRRT.js → modal-fullscreen.PFFfWzPD.js} +5 -5
  112. package/dist/chunks/{modal-fullscreen.CO8EYRRT.js.map → modal-fullscreen.PFFfWzPD.js.map} +1 -1
  113. package/dist/chunks/{modal.DfjUKkg-.js → modal.DPrBUWDe.js} +6 -6
  114. package/dist/chunks/{modal.DfjUKkg-.js.map → modal.DPrBUWDe.js.map} +1 -1
  115. package/dist/chunks/{pagination.Cfx0W4Ol.js → pagination.CT08YpqC.js} +4 -4
  116. package/dist/chunks/{pagination.Cfx0W4Ol.js.map → pagination.CT08YpqC.js.map} +1 -1
  117. package/dist/chunks/{payment-method.D9Qx-s4V.js → payment-method.BnLkBqVQ.js} +2 -2
  118. package/dist/chunks/{payment-method.D9Qx-s4V.js.map → payment-method.BnLkBqVQ.js.map} +1 -1
  119. package/dist/chunks/{popover.BUB-a17X.js → popover.Du6UI6Yh.js} +4 -4
  120. package/dist/chunks/{popover.BUB-a17X.js.map → popover.Du6UI6Yh.js.map} +1 -1
  121. package/dist/chunks/{radio-group.BD2V4FKN.js → radio-group.D650KrHa.js} +5 -5
  122. package/dist/chunks/{radio-group.BD2V4FKN.js.map → radio-group.D650KrHa.js.map} +1 -1
  123. package/dist/chunks/{search-bar.TiQbXYj4.js → search-bar.hxEJk-w0.js} +2 -2
  124. package/dist/chunks/{search-bar.TiQbXYj4.js.map → search-bar.hxEJk-w0.js.map} +1 -1
  125. package/dist/chunks/{secondary-nav.DgAWiJMb.js → secondary-nav.Bsi7Dj0s.js} +3 -3
  126. package/dist/chunks/{secondary-nav.DgAWiJMb.js.map → secondary-nav.Bsi7Dj0s.js.map} +1 -1
  127. package/dist/chunks/{segmented-control.C05AwFnZ.js → segmented-control.BeXMVbce.js} +3 -3
  128. package/dist/chunks/{segmented-control.C05AwFnZ.js.map → segmented-control.BeXMVbce.js.map} +1 -1
  129. package/dist/chunks/{selection-card-group.DJlp94TC.js → selection-card-group.D5DRYhrw.js} +4 -4
  130. package/dist/chunks/{selection-card-group.DJlp94TC.js.map → selection-card-group.D5DRYhrw.js.map} +1 -1
  131. package/dist/chunks/{sidepanel.CS8HWC7H.js → sidepanel.DRP_jFVq.js} +5 -5
  132. package/dist/chunks/{sidepanel.CS8HWC7H.js.map → sidepanel.DRP_jFVq.js.map} +1 -1
  133. package/dist/chunks/{status.types.BhbOYpZx.js → status.types.CcGZuqg5.js} +2 -2
  134. package/dist/chunks/{status.types.BhbOYpZx.js.map → status.types.CcGZuqg5.js.map} +1 -1
  135. package/dist/chunks/{step.CZqxgAkd.js → step.RkChji1p.js} +3 -3
  136. package/dist/chunks/{step.CZqxgAkd.js.map → step.RkChji1p.js.map} +1 -1
  137. package/dist/chunks/{structured-list-item.8NE9UKBY.js → structured-list-item.BfEARGrz.js} +6 -6
  138. package/dist/chunks/{structured-list-item.8NE9UKBY.js.map → structured-list-item.BfEARGrz.js.map} +1 -1
  139. package/dist/chunks/{summary-grid-item-custom.Cl-LVb2n.js → summary-grid-item-custom.Cjv109f8.js} +5 -5
  140. package/dist/chunks/{summary-grid-item-custom.Cl-LVb2n.js.map → summary-grid-item-custom.Cjv109f8.js.map} +1 -1
  141. package/dist/chunks/{tabs.CE65f3E_.js → tabs.BLCcrVbI.js} +3 -3
  142. package/dist/chunks/{tabs.CE65f3E_.js.map → tabs.BLCcrVbI.js.map} +1 -1
  143. package/dist/chunks/{tag.B2o39TYl.js → tag.4Vqj8tm4.js} +4 -4
  144. package/dist/chunks/tag.4Vqj8tm4.js.map +1 -0
  145. package/dist/chunks/{textarea.DzUvpK3q.js → textarea.DM2Cwx14.js} +4 -4
  146. package/dist/chunks/{textarea.DzUvpK3q.js.map → textarea.DM2Cwx14.js.map} +1 -1
  147. package/dist/chunks/{timeline-item.BktaQxIY.js → timeline-item.B2c3eI3L.js} +9 -9
  148. package/dist/chunks/{timeline-item.BktaQxIY.js.map → timeline-item.B2c3eI3L.js.map} +1 -1
  149. package/dist/chunks/{toast.0EYDj8o-.js → toast.rrKNWeM6.js} +4 -4
  150. package/dist/chunks/{toast.0EYDj8o-.js.map → toast.rrKNWeM6.js.map} +1 -1
  151. package/dist/chunks/{toggle-button.2U-vbQhk.js → toggle-button.CBuKACw5.js} +2 -2
  152. package/dist/chunks/{toggle-button.2U-vbQhk.js.map → toggle-button.CBuKACw5.js.map} +1 -1
  153. package/dist/chunks/{toggle.CiOVTWlk.js → toggle.DtrStAja.js} +2 -2
  154. package/dist/chunks/{toggle.CiOVTWlk.js.map → toggle.DtrStAja.js.map} +1 -1
  155. package/dist/chunks/{tooltip.BmKdsFTL.js → tooltip.4f_qwm8o.js} +2 -2
  156. package/dist/chunks/{tooltip.BmKdsFTL.js.map → tooltip.4f_qwm8o.js.map} +1 -1
  157. package/dist/chunks/{tutorial.Cc58Yk8q.js → tutorial.DUjlu3SH.js} +5 -5
  158. package/dist/chunks/{tutorial.Cc58Yk8q.js.map → tutorial.DUjlu3SH.js.map} +1 -1
  159. package/dist/chunks/{typography.Bjtu3Gca.js → typography.CdCYtxYj.js} +1 -2
  160. package/dist/chunks/{typography.Bjtu3Gca.js.map → typography.CdCYtxYj.js.map} +1 -1
  161. package/dist/chunks/{use-bento-toast-controller.BifdE4ak.js → use-bento-toast-controller.C66wCsav.js} +2 -2
  162. package/dist/chunks/{use-bento-toast-controller.BifdE4ak.js.map → use-bento-toast-controller.C66wCsav.js.map} +1 -1
  163. package/dist/chunks/{use-cached-selected-values.DgARPcHp.js → use-cached-selected-values.DWQ8SMSi.js} +332 -328
  164. package/dist/chunks/use-cached-selected-values.DWQ8SMSi.js.map +1 -0
  165. package/dist/code-snippet.js +1 -1
  166. package/dist/country.js +1 -1
  167. package/dist/currency.js +1 -1
  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/date.js +1 -1
  175. package/dist/dropdown.js +4 -4
  176. package/dist/empty-state.js +1 -1
  177. package/dist/filter-bar.js +1 -1
  178. package/dist/form-layout.js +1 -1
  179. package/dist/header.js +1 -1
  180. package/dist/index.js +63 -63
  181. package/dist/info-icon.js +1 -1
  182. package/dist/input-field.js +1 -1
  183. package/dist/inspector.js +1 -1
  184. package/dist/internal.js +8 -8
  185. package/dist/link.js +1 -1
  186. package/dist/menu.js +1 -1
  187. package/dist/modal-fullscreen.js +1 -1
  188. package/dist/modal.js +2 -2
  189. package/dist/pagination.js +1 -1
  190. package/dist/payment-method.js +1 -1
  191. package/dist/popover.js +1 -1
  192. package/dist/radio-group.js +1 -1
  193. package/dist/search-bar.js +2 -2
  194. package/dist/secondary-nav.js +1 -1
  195. package/dist/segmented-control.js +1 -1
  196. package/dist/selection-card.js +1 -1
  197. package/dist/sidepanel.js +1 -1
  198. package/dist/status.js +1 -1
  199. package/dist/stepper.js +1 -1
  200. package/dist/structured-list.js +1 -1
  201. package/dist/summary-grid.js +1 -1
  202. package/dist/tabs.js +1 -1
  203. package/dist/tag.js +1 -1
  204. package/dist/textarea.js +1 -1
  205. package/dist/timeline.js +1 -1
  206. package/dist/toast.js +1 -1
  207. package/dist/toggle.js +1 -1
  208. package/dist/tutorial.js +1 -1
  209. package/dist/typography.js +1 -1
  210. package/dist/web-types.json +1 -45
  211. package/package.json +3 -3
  212. package/dist/assets/badge.css +0 -1
  213. package/dist/badge.js +0 -57
  214. package/dist/badge.js.map +0 -1
  215. package/dist/chunks/filter-bar.7nGTSoYh.js.map +0 -1
  216. package/dist/chunks/tag.B2o39TYl.js.map +0 -1
  217. package/dist/chunks/use-cached-selected-values.DgARPcHp.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  import { defineComponent as T, useSlots as I, ref as C, watch as h, computed as n } from "vue";
2
- import { B as H } from "./typography.Bjtu3Gca.js";
2
+ import { B as H } from "./typography.CdCYtxYj.js";
3
3
  import { C as D, a as M } from "./chevron-up.B2uWhZf7.js";
4
4
  import { u as U } from "./use-expandable-content-height.GkjjbmPy.js";
5
5
  import { u as z } from "./use-has-slot.C9lQZ6nz.js";
6
6
  import { g as R } from "./unique-id.XFfoKuc2.js";
7
7
  import { u as O } from "./i18n.BQkEbtPM.js";
8
8
  import { o as W } from "./resize.Bqks3WUm.js";
9
- import { c as F, B as N } from "./button-actions.BNTiClWe.js";
9
+ import { c as F, B as N } from "./button-actions.IJs0hN8c.js";
10
10
  import { n as P } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
11
11
  import "../assets/card.css";
12
12
  var f = /* @__PURE__ */ ((o) => (o.PRIMARY = "primary", o.SECONDARY = "secondary", o))(f || {}), c = /* @__PURE__ */ ((o) => (o.DEFAULT = "default", o.SMALL = "small", o))(c || {});
@@ -112,4 +112,4 @@ export {
112
112
  c as a,
113
113
  la as c
114
114
  };
115
- //# sourceMappingURL=card.Bzc_8gg1.js.map
115
+ //# sourceMappingURL=card.-BYuiE_X.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card.Bzc_8gg1.js","sources":["../../src/components/card/card.types.ts","../../src/components/card/card.vue"],"sourcesContent":["/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoCardBackground {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoCardTitleSize {\n DEFAULT = 'default',\n SMALL = 'small',\n}\n","<template>\n <div class=\"b-card\" :class=\"cardConditionalClasses\" data-testid=\"card\" @click=\"onClick\">\n <div v-if=\"hasSlot('image')\" class=\"b-card__image\">\n <slot name=\"image\"></slot>\n </div>\n <div\n v-if=\"showHeader\"\n class=\"b-card__header\"\n :class=\"cardHeaderConditionalClasses\"\n :tabindex=\"tabIndex\"\n :aria-controls=\"expandable ? cardId : null\"\n :aria-expanded=\"expandable ? `${showContent}` : null\"\n :role=\"expandable ? 'button' : null\"\n @click=\"toggleExpansion\"\n @keypress.enter=\"toggleExpansion\"\n @keypress.space=\"toggleExpansion\"\n >\n <div class=\"b-card__header-wrapper\">\n <div v-if=\"showTitleWrapper\" class=\"b-card__header-slot-wrapper\">\n <div class=\"b-card__title-wrapper\" :class=\"cardTitleWrapperConditionalClasses\">\n <div v-if=\"expandable\" class=\"b-card__toggle\" :class=\"cardToggleConditionalClasses\">\n <chevron-up-icon v-if=\"showContent\" :svg-title=\"t('hideCardContent')\" aria-hidden=\"true\" />\n <chevron-down-icon v-else :svg-title=\"t('showCardContent')\" aria-hidden=\"true\" />\n </div>\n <bento-typography v-if=\"hasSlot('default')\" class=\"b-card__title\" v-bind=\"typography\">\n <slot />\n </bento-typography>\n </div>\n\n <template v-if=\"hasSlot('header')\">\n <slot name=\"header\"></slot>\n </template>\n </div>\n\n <bento-typography v-if=\"hasSlot('description')\" class=\"b-card__description\" el=\"div\" variant=\"body\">\n <slot name=\"description\" />\n </bento-typography>\n </div>\n </div>\n\n <Transition name=\"b-card__animation\">\n <div v-if=\"showCardBody\" class=\"b-card__wrapper\" :style=\"contentMaxHeight\">\n <div\n :id=\"expandable ? cardId : null\"\n ref=\"contentDiv\"\n class=\"b-card__body\"\n :class=\"cardBodyConditionalClasses\"\n >\n <div v-if=\"hasSlot('content')\" class=\"b-card__content\" :class=\"cardContentConditionalClasses\">\n <slot name=\"content\" />\n </div>\n\n <div v-if=\"actions\" class=\"b-card__actions\" :class=\"cardActionsConditionalClasses\">\n <bento-button-actions :actions=\"actions\" :layout=\"actionsLayout\"></bento-button-actions>\n </div>\n </div>\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, ref, useSlots, watch } from 'vue';\n\n // Components\n import { BentoTypography } from '@/components/typography';\n import { BentoButtonActions, BentoButtonActionsLayout, BentoButtonActionsList } from '@/components/button';\n import { BentoCardBackground, BentoCardTitleSize } from '@/components/card/card.types';\n import ChevronDownIcon from '@adyen/ui-assets-icons-16/vue/chevron-down';\n import ChevronUpIcon from '@adyen/ui-assets-icons-16/vue/chevron-up';\n\n // Composables\n import { useExpandableContentHeight } from '@/composables/use-expandable-content-height/use-expandable-content-height';\n\n // Utils\n import { useHasSlot } from '@/composables';\n import { generateUid } from '@/utils/ts/unique-id';\n import { useI18n } from '@/utils/ts/i18n';\n import { observeSizeOfElement } from '@/utils/ts/resize';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const props = withDefaults(\n defineProps<{\n /**\n * List of actions that will be used to render the buttons.\n * First element in the list will be rendered as \"primary\".\n * All elements after the first will be rendered as \"secondary\".\n *\n * Each object in the list should have a `title`, an `event` and\n * (optional) a Vue `icon` from the library `@adyen/ui-assets-icons-16`.\n *\n * `title`: Button's text.\n *\n * `event`: Event triggered when clicking the Button.\n *\n * `icon`: Vue Icon from the library `@adyen/ui-assets-icons-16`.\n *\n * ```\n * [{\n * title: 'Primary',\n * event: () => { ... },\n * icon: FourPeopleIcon\n * }, {\n * title: 'Secondary',\n * event: () => { ... }\n * }]\n * ```\n */\n actions?: BentoButtonActionsList;\n\n /**\n * Defines the layout in which the button actions is presented.\n * It can be one of:\n *\n * @values BUTTONS_START\n * @values BUTTONS_END\n * @values FILL_CONTAINER\n * @values SPACE_BETWEEN\n * @values VERTICAL_STACK\n */\n actionsLayout?: BentoButtonActionsLayout | `${BentoButtonActionsLayout}`;\n\n /**\n * Defines the color of card background\n */\n background?: BentoCardBackground | `${BentoCardBackground}`;\n\n /**\n * Sets the expandable card in a closed state\n */\n closed?: boolean;\n\n /**\n * Disables the expandable card\n */\n disabled?: boolean;\n\n /**\n * The whole content of the card will be expandable in accordion manner\n */\n expandable?: boolean;\n\n /**\n * Defines the title size of the card header\n */\n titleSize?: BentoCardTitleSize | `${BentoCardTitleSize}`;\n }>(),\n {\n actions: null,\n actionsLayout: BentoButtonActionsLayout.BUTTONS_END,\n background: BentoCardBackground.PRIMARY,\n closed: false,\n disabled: false,\n expandable: false,\n titleSize: BentoCardTitleSize.DEFAULT,\n }\n );\n\n const emit = defineEmits<{\n (e: 'click');\n (e: 'expanded', isExpanded: boolean);\n }>();\n\n const contentDiv = ref<HTMLDivElement>(null);\n\n const cardId = generateUid('card');\n const showContent = ref(!props.closed);\n watch(\n () => props.closed,\n value => {\n showContent.value = !value;\n }\n );\n const showHeader = computed(() => hasSlot('default') || hasSlot('description') || hasSlot('header'));\n const showTitleWrapper = computed(() => hasSlot('default') || hasSlot('header'));\n const showCardBody = computed(\n () =>\n (hasSlot('content') || props.actions?.length) &&\n (!props.expandable || (props.expandable && showContent.value))\n );\n const tabIndex = computed(() => (props.expandable && !props.disabled ? 0 : -1));\n\n const cardConditionalClasses = computed(() => ({\n [`b-card--${props.background}`]: props.background,\n 'b-card--expandable': props.expandable,\n 'b-card--disabled': props.expandable && props.disabled,\n }));\n\n const cardHeaderConditionalClasses = computed(() => ({\n 'b-card__header--expandable': props.expandable,\n 'b-card__header--without-body': !props.expandable && !showCardBody.value,\n }));\n\n const cardToggleConditionalClasses = computed(() => ({\n 'b-card__toggle--small-text': props.titleSize === BentoCardTitleSize.SMALL,\n }));\n\n const cardBodyConditionalClasses = computed(() => ({\n 'b-card__body--expandable': props.expandable && hasSlot('content'),\n 'b-card__body--without-header': !props.expandable && !showHeader.value,\n }));\n\n const cardContentConditionalClasses = computed(() => ({\n 'b-card__content--without-header': !props.expandable && !showHeader.value,\n 'b-card__content--expandable': props.expandable,\n }));\n\n const cardActionsConditionalClasses = computed(() => {\n const isNotExpandableWithoutContent = !props.expandable && props.actions && !hasSlot('content');\n\n return {\n 'b-card__actions--without-content': isNotExpandableWithoutContent,\n 'b-card__actions--without-content-and-with-header': isNotExpandableWithoutContent && showHeader.value,\n };\n });\n\n const cardTitleWrapperConditionalClasses = computed(() => ({\n 'b-card__title-wrapper--truncated': hasSlot('header'),\n }));\n\n const typography = computed(\n () =>\n ({\n el: 'div',\n variant: props.titleSize === BentoCardTitleSize.DEFAULT ? 'title' : 'body',\n strongest: props.titleSize === BentoCardTitleSize.SMALL,\n wide: props.titleSize === BentoCardTitleSize.SMALL,\n } as InstanceType<typeof BentoTypography>['$props'])\n );\n\n // Toggle open and close logic and animation\n const { updateContentHeight, contentHeight } = useExpandableContentHeight(contentDiv, showContent);\n\n const contentMaxHeight = computed(() =>\n props.expandable && contentHeight.value ? { 'max-height': contentHeight.value } : {}\n );\n\n watch(\n () => contentDiv.value,\n () => {\n let observer: ResizeObserver | null = null;\n if (!observer && contentDiv.value) {\n observer = observeSizeOfElement(contentDiv.value, () => {\n if (contentDiv.value) {\n updateContentHeight();\n }\n });\n }\n }\n );\n\n const toggleExpansion = () => {\n if (!props.disabled && props.expandable) {\n showContent.value = !showContent.value;\n emit('expanded', showContent.value);\n updateContentHeight();\n }\n };\n\n const onClick = () => {\n if (!props.disabled) {\n emit('click');\n }\n };\n</script>\n\n<script lang=\"ts\">\n /**\n * A card is a flexible and composable container.\n * Use cards to represent a single object or to visually group certain content, like legal information within company settings.\n *\n * @example\n * import { BentoCard } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoCard },\n * template: `\n * <bento-card>\n * Title of the Card\n * </bento-card>\n * `\n * };\n */\n export default {\n i18n: { messages },\n name: 'bento-card',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./card.scss\" />\n"],"names":["BentoCardBackground","BentoCardBackground2","BentoCardTitleSize","BentoCardTitleSize2","__default__","messages","t","useI18n","slots","useSlots","hasSlot","useHasSlot","contentDiv","ref","cardId","generateUid","showContent","props","watch","value","showHeader","computed","showTitleWrapper","showCardBody","_a","tabIndex","cardConditionalClasses","cardHeaderConditionalClasses","cardToggleConditionalClasses","cardBodyConditionalClasses","cardContentConditionalClasses","cardActionsConditionalClasses","isNotExpandableWithoutContent","cardTitleWrapperConditionalClasses","typography","updateContentHeight","contentHeight","useExpandableContentHeight","contentMaxHeight","observer","observeSizeOfElement","emit"],"mappings":"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"}
1
+ {"version":3,"file":"card.-BYuiE_X.js","sources":["../../src/components/card/card.types.ts","../../src/components/card/card.vue"],"sourcesContent":["/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoCardBackground {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoCardTitleSize {\n DEFAULT = 'default',\n SMALL = 'small',\n}\n","<template>\n <div class=\"b-card\" :class=\"cardConditionalClasses\" data-testid=\"card\" @click=\"onClick\">\n <div v-if=\"hasSlot('image')\" class=\"b-card__image\">\n <slot name=\"image\"></slot>\n </div>\n <div\n v-if=\"showHeader\"\n class=\"b-card__header\"\n :class=\"cardHeaderConditionalClasses\"\n :tabindex=\"tabIndex\"\n :aria-controls=\"expandable ? cardId : null\"\n :aria-expanded=\"expandable ? `${showContent}` : null\"\n :role=\"expandable ? 'button' : null\"\n @click=\"toggleExpansion\"\n @keypress.enter=\"toggleExpansion\"\n @keypress.space=\"toggleExpansion\"\n >\n <div class=\"b-card__header-wrapper\">\n <div v-if=\"showTitleWrapper\" class=\"b-card__header-slot-wrapper\">\n <div class=\"b-card__title-wrapper\" :class=\"cardTitleWrapperConditionalClasses\">\n <div v-if=\"expandable\" class=\"b-card__toggle\" :class=\"cardToggleConditionalClasses\">\n <chevron-up-icon v-if=\"showContent\" :svg-title=\"t('hideCardContent')\" aria-hidden=\"true\" />\n <chevron-down-icon v-else :svg-title=\"t('showCardContent')\" aria-hidden=\"true\" />\n </div>\n <bento-typography v-if=\"hasSlot('default')\" class=\"b-card__title\" v-bind=\"typography\">\n <slot />\n </bento-typography>\n </div>\n\n <template v-if=\"hasSlot('header')\">\n <slot name=\"header\"></slot>\n </template>\n </div>\n\n <bento-typography v-if=\"hasSlot('description')\" class=\"b-card__description\" el=\"div\" variant=\"body\">\n <slot name=\"description\" />\n </bento-typography>\n </div>\n </div>\n\n <Transition name=\"b-card__animation\">\n <div v-if=\"showCardBody\" class=\"b-card__wrapper\" :style=\"contentMaxHeight\">\n <div\n :id=\"expandable ? cardId : null\"\n ref=\"contentDiv\"\n class=\"b-card__body\"\n :class=\"cardBodyConditionalClasses\"\n >\n <div v-if=\"hasSlot('content')\" class=\"b-card__content\" :class=\"cardContentConditionalClasses\">\n <slot name=\"content\" />\n </div>\n\n <div v-if=\"actions\" class=\"b-card__actions\" :class=\"cardActionsConditionalClasses\">\n <bento-button-actions :actions=\"actions\" :layout=\"actionsLayout\"></bento-button-actions>\n </div>\n </div>\n </div>\n </Transition>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, ref, useSlots, watch } from 'vue';\n\n // Components\n import { BentoTypography } from '@/components/typography';\n import { BentoButtonActions, BentoButtonActionsLayout, BentoButtonActionsList } from '@/components/button';\n import { BentoCardBackground, BentoCardTitleSize } from '@/components/card/card.types';\n import ChevronDownIcon from '@adyen/ui-assets-icons-16/vue/chevron-down';\n import ChevronUpIcon from '@adyen/ui-assets-icons-16/vue/chevron-up';\n\n // Composables\n import { useExpandableContentHeight } from '@/composables/use-expandable-content-height/use-expandable-content-height';\n\n // Utils\n import { useHasSlot } from '@/composables';\n import { generateUid } from '@/utils/ts/unique-id';\n import { useI18n } from '@/utils/ts/i18n';\n import { observeSizeOfElement } from '@/utils/ts/resize';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const props = withDefaults(\n defineProps<{\n /**\n * List of actions that will be used to render the buttons.\n * First element in the list will be rendered as \"primary\".\n * All elements after the first will be rendered as \"secondary\".\n *\n * Each object in the list should have a `title`, an `event` and\n * (optional) a Vue `icon` from the library `@adyen/ui-assets-icons-16`.\n *\n * `title`: Button's text.\n *\n * `event`: Event triggered when clicking the Button.\n *\n * `icon`: Vue Icon from the library `@adyen/ui-assets-icons-16`.\n *\n * ```\n * [{\n * title: 'Primary',\n * event: () => { ... },\n * icon: FourPeopleIcon\n * }, {\n * title: 'Secondary',\n * event: () => { ... }\n * }]\n * ```\n */\n actions?: BentoButtonActionsList;\n\n /**\n * Defines the layout in which the button actions is presented.\n * It can be one of:\n *\n * @values BUTTONS_START\n * @values BUTTONS_END\n * @values FILL_CONTAINER\n * @values SPACE_BETWEEN\n * @values VERTICAL_STACK\n */\n actionsLayout?: BentoButtonActionsLayout | `${BentoButtonActionsLayout}`;\n\n /**\n * Defines the color of card background\n */\n background?: BentoCardBackground | `${BentoCardBackground}`;\n\n /**\n * Sets the expandable card in a closed state\n */\n closed?: boolean;\n\n /**\n * Disables the expandable card\n */\n disabled?: boolean;\n\n /**\n * The whole content of the card will be expandable in accordion manner\n */\n expandable?: boolean;\n\n /**\n * Defines the title size of the card header\n */\n titleSize?: BentoCardTitleSize | `${BentoCardTitleSize}`;\n }>(),\n {\n actions: null,\n actionsLayout: BentoButtonActionsLayout.BUTTONS_END,\n background: BentoCardBackground.PRIMARY,\n closed: false,\n disabled: false,\n expandable: false,\n titleSize: BentoCardTitleSize.DEFAULT,\n }\n );\n\n const emit = defineEmits<{\n (e: 'click');\n (e: 'expanded', isExpanded: boolean);\n }>();\n\n const contentDiv = ref<HTMLDivElement>(null);\n\n const cardId = generateUid('card');\n const showContent = ref(!props.closed);\n watch(\n () => props.closed,\n value => {\n showContent.value = !value;\n }\n );\n const showHeader = computed(() => hasSlot('default') || hasSlot('description') || hasSlot('header'));\n const showTitleWrapper = computed(() => hasSlot('default') || hasSlot('header'));\n const showCardBody = computed(\n () =>\n (hasSlot('content') || props.actions?.length) &&\n (!props.expandable || (props.expandable && showContent.value))\n );\n const tabIndex = computed(() => (props.expandable && !props.disabled ? 0 : -1));\n\n const cardConditionalClasses = computed(() => ({\n [`b-card--${props.background}`]: props.background,\n 'b-card--expandable': props.expandable,\n 'b-card--disabled': props.expandable && props.disabled,\n }));\n\n const cardHeaderConditionalClasses = computed(() => ({\n 'b-card__header--expandable': props.expandable,\n 'b-card__header--without-body': !props.expandable && !showCardBody.value,\n }));\n\n const cardToggleConditionalClasses = computed(() => ({\n 'b-card__toggle--small-text': props.titleSize === BentoCardTitleSize.SMALL,\n }));\n\n const cardBodyConditionalClasses = computed(() => ({\n 'b-card__body--expandable': props.expandable && hasSlot('content'),\n 'b-card__body--without-header': !props.expandable && !showHeader.value,\n }));\n\n const cardContentConditionalClasses = computed(() => ({\n 'b-card__content--without-header': !props.expandable && !showHeader.value,\n 'b-card__content--expandable': props.expandable,\n }));\n\n const cardActionsConditionalClasses = computed(() => {\n const isNotExpandableWithoutContent = !props.expandable && props.actions && !hasSlot('content');\n\n return {\n 'b-card__actions--without-content': isNotExpandableWithoutContent,\n 'b-card__actions--without-content-and-with-header': isNotExpandableWithoutContent && showHeader.value,\n };\n });\n\n const cardTitleWrapperConditionalClasses = computed(() => ({\n 'b-card__title-wrapper--truncated': hasSlot('header'),\n }));\n\n const typography = computed(\n () =>\n ({\n el: 'div',\n variant: props.titleSize === BentoCardTitleSize.DEFAULT ? 'title' : 'body',\n strongest: props.titleSize === BentoCardTitleSize.SMALL,\n wide: props.titleSize === BentoCardTitleSize.SMALL,\n } as InstanceType<typeof BentoTypography>['$props'])\n );\n\n // Toggle open and close logic and animation\n const { updateContentHeight, contentHeight } = useExpandableContentHeight(contentDiv, showContent);\n\n const contentMaxHeight = computed(() =>\n props.expandable && contentHeight.value ? { 'max-height': contentHeight.value } : {}\n );\n\n watch(\n () => contentDiv.value,\n () => {\n let observer: ResizeObserver | null = null;\n if (!observer && contentDiv.value) {\n observer = observeSizeOfElement(contentDiv.value, () => {\n if (contentDiv.value) {\n updateContentHeight();\n }\n });\n }\n }\n );\n\n const toggleExpansion = () => {\n if (!props.disabled && props.expandable) {\n showContent.value = !showContent.value;\n emit('expanded', showContent.value);\n updateContentHeight();\n }\n };\n\n const onClick = () => {\n if (!props.disabled) {\n emit('click');\n }\n };\n</script>\n\n<script lang=\"ts\">\n /**\n * A card is a flexible and composable container.\n * Use cards to represent a single object or to visually group certain content, like legal information within company settings.\n *\n * @example\n * import { BentoCard } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoCard },\n * template: `\n * <bento-card>\n * Title of the Card\n * </bento-card>\n * `\n * };\n */\n export default {\n i18n: { messages },\n name: 'bento-card',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./card.scss\" />\n"],"names":["BentoCardBackground","BentoCardBackground2","BentoCardTitleSize","BentoCardTitleSize2","__default__","messages","t","useI18n","slots","useSlots","hasSlot","useHasSlot","contentDiv","ref","cardId","generateUid","showContent","props","watch","value","showHeader","computed","showTitleWrapper","showCardBody","_a","tabIndex","cardConditionalClasses","cardHeaderConditionalClasses","cardToggleConditionalClasses","cardBodyConditionalClasses","cardContentConditionalClasses","cardActionsConditionalClasses","isNotExpandableWithoutContent","cardTitleWrapperConditionalClasses","typography","updateContentHeight","contentHeight","useExpandableContentHeight","contentMaxHeight","observer","observeSizeOfElement","emit"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { defineComponent as y, toRef as _, computed as l, watch as c, ref as v } from "vue";
2
- import { B as E, a as n } from "./checkbox.BP2_1_qF.js";
2
+ import { B as E, a as n } from "./checkbox.CKQZXIR3.js";
3
3
  import { g as x } from "./unique-id.XFfoKuc2.js";
4
- import { d as k } from "./typography.Bjtu3Gca.js";
4
+ import { d as k } from "./typography.CdCYtxYj.js";
5
5
  import { u as C } from "./use-form-layout-loading.D3lALhtC.js";
6
- import { C as S } from "./controls-group.Xc8GU6VO.js";
7
- import { E as M } from "./error-message.IjcYmSSd.js";
6
+ import { C as S } from "./controls-group.WoEXCpkM.js";
7
+ import { E as M } from "./error-message.epR1WJH2.js";
8
8
  import { n as I } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
9
9
  import "../assets/checkbox-group.css";
10
10
  var s = /* @__PURE__ */ ((r) => (r.HORIZONTAL = "horizontal", r.VERTICAL = "vertical", r))(s || {});
@@ -149,4 +149,4 @@ export {
149
149
  s as B,
150
150
  q as c
151
151
  };
152
- //# sourceMappingURL=checkbox-group.BSOHcerG.js.map
152
+ //# sourceMappingURL=checkbox-group.Bj9gURHB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-group.BSOHcerG.js","sources":["../../src/components/checkbox/components/checkbox-group/checkbox-group.types.ts","../../src/components/checkbox/components/checkbox-group/checkbox-group.vue"],"sourcesContent":["import type { BentoCheckboxTag } from '@/components/checkbox';\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoCheckboxGroupVariant {\n HORIZONTAL = 'horizontal',\n VERTICAL = 'vertical',\n}\n\ninterface BentoCheckboxGroupItem {\n value: string | number;\n label: string;\n description?: string;\n disabled?: boolean;\n hasError?: boolean;\n errorMessage?: string;\n readonly?: boolean;\n tag?: BentoCheckboxTag;\n}\n\nexport type BentoCheckboxGroupItems = Array<BentoCheckboxGroupItem>;\n","<template>\n <div class=\"b-checkbox-group\">\n <controls-group\n class=\"b-checkbox-group__checkboxes\"\n :aria-describedby=\"shouldShowGroupErrorMessage ? errorId : ''\"\n :component-name=\"COMPONENT_NAME\"\n :class=\"conditionalClasses\"\n :description=\"description\"\n :disabled=\"disabled\"\n :form=\"formId\"\n :hide-label=\"hideLabel\"\n :label=\"label\"\n :optional=\"optional\"\n :required=\"required\"\n :tooltip-text=\"tooltipText\"\n >\n <bento-checkbox\n v-for=\"item in items\"\n :key=\"item.value\"\n :model-value=\"inputValue\"\n :value=\"item.value\"\n :disabled=\"disabled || item.disabled\"\n :has-error=\"shouldShowGroupError || item.hasError\"\n :error-message=\"shouldShowGroupError ? null : item.errorMessage\"\n :readonly=\"isReadOnly || item.readonly\"\n :tag=\"item.tag\"\n @update:model-value=\"onInput\"\n >\n <template #default>{{ item.label }}</template>\n <template v-if=\"item.description\" #description>{{ item.description }}</template>\n <template v-if=\"hasContentSlot('content')\" #content>\n <slot name=\"content\" v-bind=\"item\"></slot>\n </template>\n </bento-checkbox>\n </controls-group>\n <error-message\n v-if=\"shouldShowGroupErrorMessage\"\n :id=\"errorId\"\n :error-message=\"errorMessage\"\n class=\"b-checkbox-group__error-message\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, ref, toRef, watch } from 'vue';\n import { ControlsGroup } from '@/components/internal/controls-group';\n import { ErrorMessage } from '@/components/internal/error-message';\n import { BentoCheckboxGroupItems, BentoCheckboxGroupVariant } from './checkbox-group.types';\n import BentoCheckbox from '@/components/checkbox/checkbox.vue';\n import { BentoCheckboxEvent } from '../../checkbox.types';\n import { generateUid } from '@/utils/ts/unique-id';\n import { deprecate } from '@/utils/ts/deprecate';\n import { useFormLayoutFieldLoading } from '@/composables/use-form-layout-loading/use-form-layout-loading';\n\n /**\n * The name of the component to be used in the Vue devtools and console warnings.\n */\n const COMPONENT_NAME = 'bento-checkbox-group';\n\n /**\n * A checkbox group component should be used whenever it is necessary to group a set of checkboxes that are related together\n * This component conforms to the official WAI-ARIA guidelines for grouping controls: https://www.w3.org/WAI/tutorials/forms/grouping/\n *\n * import { BentoCheckboxGroup } from '@adyen/bento-vue2/';\n *\n * export default {\n * components: { BentoCheckboxGroup },\n * template: `\n * <bento-checkbox-group\n * label=\"Your group label\"\n * :items=\"[\n * { value: 1, label: 'Your label' },\n * { value: 2, label: 'Another label', description: 'Your sub label' },\n * ]\"\n * />\n * `\n * };\n */\n export default defineComponent({\n name: COMPONENT_NAME,\n components: { BentoCheckbox, ControlsGroup, ErrorMessage },\n model: { prop: 'modelValue' },\n props: {\n /**\n * Descriptive supporting text visbile underneath the label.\n */\n description: { type: String, default: null },\n\n /**\n * If set to true, renders all checkboxes in the group in a disabled state.\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * Renders all checkboxes in an error state with an error message.\n */\n errorMessage: { type: String, default: null },\n\n /**\n * The form id the checkbox group is associated with. Defaults to null, as a checkbox group can also be used standalone.\n */\n formId: { type: String, default: null },\n\n /**\n * If set to true, renders all checkboxes in the group in an error state.\n *\n * @deprecated Use \"errorMessage\" prop instead\n */\n hasError: { type: Boolean, default: false },\n\n /**\n * Shows/hides the group label.\n */\n hideLabel: { type: Boolean, default: null },\n\n /**\n * The checkbox group's items.\n */\n items: { type: Array as PropType<BentoCheckboxGroupItems>, required: true },\n\n /**\n * The name associated with the group. Required for accessibility purposes.\n */\n label: { type: String, required: true },\n\n /**\n * Determines the initially selected value of the group. Corresponds to the BentoCheckboxButtonItem's value.\n * Defaults to no value selected.\n */\n modelValue: { type: Array<number | string | null>, default: () => [] },\n\n /**\n * Indicates the field is optional.\n */\n optional: { type: Boolean, default: false },\n\n /**\n * If set to true, renders all checkboxes in the group in a readonly state.\n */\n readonly: { type: Boolean, default: false },\n\n /**\n * Indicates the field is required.\n */\n required: { type: Boolean, default: false },\n\n /**\n * Tooltip message.\n */\n tooltipText: { type: String, default: null },\n\n /**\n * The checkbox group's layout. It can be vertical or horizontal. Defaults to vertical.\n */\n variant: {\n type: String as PropType<BentoCheckboxGroupVariant | `${BentoCheckboxGroupVariant}`>,\n default: BentoCheckboxGroupVariant.VERTICAL,\n validator: (value: BentoCheckboxGroupVariant) =>\n Object.values(BentoCheckboxGroupVariant).includes(value),\n },\n },\n emits: [BentoCheckboxEvent.UPDATE, BentoCheckboxEvent.INPUT],\n setup(props, { emit, slots }) {\n const errorId = generateUid('error');\n const { isReadOnly } = useFormLayoutFieldLoading(toRef(props, 'readonly'));\n\n const shouldShowGroupError = computed(\n () => !props.disabled && !isReadOnly.value && (!!props.errorMessage || props.hasError)\n );\n const shouldShowGroupErrorMessage = computed(\n () => !props.disabled && !isReadOnly.value && !!props.errorMessage\n );\n\n const conditionalClasses = computed(() => ({\n 'b-checkbox-group__checkboxes--horizontal': props.variant === BentoCheckboxGroupVariant.HORIZONTAL,\n }));\n\n // Slots logic\n // Temporary, use-has-slots composable doesn't currently work for\n // vue3 named scoped slots\n const hasContentSlot = name => !!slots[name];\n const shouldShowSlotsError = computed(() => hasContentSlot('content') && props.variant !== 'vertical');\n\n watch(\n shouldShowSlotsError,\n newValue => {\n if (newValue) {\n throw new Error('The content slot is only available for the vertical checkbox group layout');\n }\n },\n { immediate: true }\n );\n\n const inputValue = ref(props.modelValue);\n watch(\n () => props.modelValue,\n () => {\n inputValue.value = props.modelValue;\n }\n );\n\n const onInput = value => {\n inputValue.value = value;\n emit(BentoCheckboxEvent.UPDATE, value);\n emit(BentoCheckboxEvent.INPUT, value);\n };\n\n if (props.hasError) {\n deprecate(\n 'BentoCheckboxGroup \"hasError\" property',\n `Use the BentoCheckboxGroup \"errorMessage\" property instead to indicate that there is a modifier error.\n Having the field as \"undefined\" will hide/remove the error.\n <bento-checkbox-group errorMessage=\"Error message text\" />`,\n '2.0.0'\n );\n }\n\n return {\n // Values\n COMPONENT_NAME,\n errorId,\n isReadOnly,\n shouldShowGroupError,\n shouldShowGroupErrorMessage,\n conditionalClasses,\n inputValue,\n hasContentSlot,\n\n // Methods\n onInput,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./checkbox-group.scss\" />\n"],"names":["BentoCheckboxGroupVariant","BentoCheckboxGroupVariant2","COMPONENT_NAME","_sfc_main","defineComponent","BentoCheckbox","ControlsGroup","ErrorMessage","value","BentoCheckboxEvent","props","emit","slots","errorId","generateUid","isReadOnly","useFormLayoutFieldLoading","toRef","shouldShowGroupError","computed","shouldShowGroupErrorMessage","conditionalClasses","hasContentSlot","name","shouldShowSlotsError","watch","newValue","inputValue","ref","onInput","deprecate"],"mappings":";;;;;;;;;AAKY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,aAAA,cACAA,EAAA,WAAA,YAFQA,IAAAD,KAAA,CAAA,CAAA;ACqDZ,MAAAE,IAAA,wBAqBAC,IAAAC,EAAA;AAAA,EAAA,MAAAF;AAAA,EACA,YAAA,EAAA,eAAAG,GAAA,eAAAC,GAAA,cAAAC,EAAA;AAAA,EACA,OAAA,EAAA,MAAA,aAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,aAAA,EAAA,MAAA,QAAA,SAAA,KAAA;AAAA;AAAA;AAAA;AAAA,IAIA,UAAA,EAAA,MAAA,SAAA,SAAA,GAAA;AAAA;AAAA;AAAA;AAAA,IAKA,cAAA,EAAA,MAAA,QAAA,SAAA,KAAA;AAAA;AAAA;AAAA;AAAA,IAKA,QAAA,EAAA,MAAA,QAAA,SAAA,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA,EAAA,MAAA,SAAA,SAAA,GAAA;AAAA;AAAA;AAAA;AAAA,IAOA,WAAA,EAAA,MAAA,SAAA,SAAA,KAAA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA,EAAA,MAAA,OAAA,UAAA,GAAA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA,EAAA,MAAA,QAAA,UAAA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA,EAAA,MAAA,OAAA,SAAA,MAAA,CAAA,EAAA;AAAA;AAAA;AAAA;AAAA,IAMA,UAAA,EAAA,MAAA,SAAA,SAAA,GAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA,EAAA,MAAA,SAAA,SAAA,GAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA,EAAA,MAAA,SAAA,SAAA,GAAA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA,EAAA,MAAA,QAAA,SAAA,KAAA;AAAA;AAAA;AAAA;AAAA,IAKA,SAAA;AAAA,MAKA,MAAA;AAAA,MACA,SAAAP,EAAA;AAAA,MACA,WAAA,CAAAQ,MAAA,OAAA,OAAAR,CAAA,EAAA,SAAAQ,CAAA;AAAA,IAEA;AAAA,EACA;AAAA,EACA,OAAA,CAAAC,EAAA,QAAAA,EAAA,KAAA;AAAA,EACA,MAAAC,GAAA,EAAA,MAAAC,GAAA,OAAAC,EAAA,GAAA;AAEA,UAAAC,IAAAC,EAAA,OAAA,GACA,EAAA,YAAAC,EAAA,IAAAC,EAAAC,EAAAP,GAAA,UAAA,CAAA,GAEAQ,IAAAC;AAAA,MAAA,MAAA,CAAAT,EAAA,YAAA,CAAAK,EAAA,UAAA,CAAA,CAAAL,EAAA,gBAAAA,EAAA;AAAA,IACA,GAEAU,IAAAD;AAAA,MAAA,MAAA,CAAAT,EAAA,YAAA,CAAAK,EAAA,SAAA,CAAA,CAAAL,EAAA;AAAA,IACA,GAGAW,IAAAF,EAAA,OAAA;AAAA,MAAA,4CAAAT,EAAA,YAAAV,EAAA;AAAA,IACA,EAAA,GAMAsB,IAAA,CAAAC,MAAA,CAAA,CAAAX,EAAAW,CAAA,GACAC,IAAAL,EAAA,MAAAG,EAAA,SAAA,KAAAZ,EAAA,YAAA,UAAA;AAEA,IAAAe;AAAA,MAAAD;AAAA,MACA,CAAAE,MAAA;AAEA,YAAAA;AACA,gBAAA,IAAA,MAAA,2EAAA;AAAA,MACA;AAAA,MACA,EAAA,WAAA,GAAA;AAAA,IACA;AAGA,UAAAC,IAAAC,EAAAlB,EAAA,UAAA;AACA,IAAAe;AAAA,MAAA,MAAAf,EAAA;AAAA,MACA,MAAA;AAEA,QAAAiB,EAAA,QAAAjB,EAAA;AAAA,MAAA;AAAA,IACA;AAGA,UAAAmB,IAAA,CAAArB,MAAA;AACA,MAAAmB,EAAA,QAAAnB,GACAG,EAAAF,EAAA,QAAAD,CAAA,GACAG,EAAAF,EAAA,OAAAD,CAAA;AAAA,IAAA;AAGA,WAAAE,EAAA,YACAoB;AAAA,MAAA;AAAA,MACA;AAAA;AAAA;AAAA,MACA;AAAA,IAGA,GAIA;AAAA;AAAA,MAAA,gBAAA5B;AAAA,MAEA,SAAAW;AAAA,MACA,YAAAE;AAAA,MACA,sBAAAG;AAAA,MACA,6BAAAE;AAAA,MACA,oBAAAC;AAAA,MACA,YAAAM;AAAA,MACA,gBAAAL;AAAA;AAAA,MACA,SAAAO;AAAA,IAGA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"checkbox-group.Bj9gURHB.js","sources":["../../src/components/checkbox/components/checkbox-group/checkbox-group.types.ts","../../src/components/checkbox/components/checkbox-group/checkbox-group.vue"],"sourcesContent":["import type { BentoCheckboxTag } from '@/components/checkbox';\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoCheckboxGroupVariant {\n HORIZONTAL = 'horizontal',\n VERTICAL = 'vertical',\n}\n\ninterface BentoCheckboxGroupItem {\n value: string | number;\n label: string;\n description?: string;\n disabled?: boolean;\n hasError?: boolean;\n errorMessage?: string;\n readonly?: boolean;\n tag?: BentoCheckboxTag;\n}\n\nexport type BentoCheckboxGroupItems = Array<BentoCheckboxGroupItem>;\n","<template>\n <div class=\"b-checkbox-group\">\n <controls-group\n class=\"b-checkbox-group__checkboxes\"\n :aria-describedby=\"shouldShowGroupErrorMessage ? errorId : ''\"\n :component-name=\"COMPONENT_NAME\"\n :class=\"conditionalClasses\"\n :description=\"description\"\n :disabled=\"disabled\"\n :form=\"formId\"\n :hide-label=\"hideLabel\"\n :label=\"label\"\n :optional=\"optional\"\n :required=\"required\"\n :tooltip-text=\"tooltipText\"\n >\n <bento-checkbox\n v-for=\"item in items\"\n :key=\"item.value\"\n :model-value=\"inputValue\"\n :value=\"item.value\"\n :disabled=\"disabled || item.disabled\"\n :has-error=\"shouldShowGroupError || item.hasError\"\n :error-message=\"shouldShowGroupError ? null : item.errorMessage\"\n :readonly=\"isReadOnly || item.readonly\"\n :tag=\"item.tag\"\n @update:model-value=\"onInput\"\n >\n <template #default>{{ item.label }}</template>\n <template v-if=\"item.description\" #description>{{ item.description }}</template>\n <template v-if=\"hasContentSlot('content')\" #content>\n <slot name=\"content\" v-bind=\"item\"></slot>\n </template>\n </bento-checkbox>\n </controls-group>\n <error-message\n v-if=\"shouldShowGroupErrorMessage\"\n :id=\"errorId\"\n :error-message=\"errorMessage\"\n class=\"b-checkbox-group__error-message\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, ref, toRef, watch } from 'vue';\n import { ControlsGroup } from '@/components/internal/controls-group';\n import { ErrorMessage } from '@/components/internal/error-message';\n import { BentoCheckboxGroupItems, BentoCheckboxGroupVariant } from './checkbox-group.types';\n import BentoCheckbox from '@/components/checkbox/checkbox.vue';\n import { BentoCheckboxEvent } from '../../checkbox.types';\n import { generateUid } from '@/utils/ts/unique-id';\n import { deprecate } from '@/utils/ts/deprecate';\n import { useFormLayoutFieldLoading } from '@/composables/use-form-layout-loading/use-form-layout-loading';\n\n /**\n * The name of the component to be used in the Vue devtools and console warnings.\n */\n const COMPONENT_NAME = 'bento-checkbox-group';\n\n /**\n * A checkbox group component should be used whenever it is necessary to group a set of checkboxes that are related together\n * This component conforms to the official WAI-ARIA guidelines for grouping controls: https://www.w3.org/WAI/tutorials/forms/grouping/\n *\n * import { BentoCheckboxGroup } from '@adyen/bento-vue2/';\n *\n * export default {\n * components: { BentoCheckboxGroup },\n * template: `\n * <bento-checkbox-group\n * label=\"Your group label\"\n * :items=\"[\n * { value: 1, label: 'Your label' },\n * { value: 2, label: 'Another label', description: 'Your sub label' },\n * ]\"\n * />\n * `\n * };\n */\n export default defineComponent({\n name: COMPONENT_NAME,\n components: { BentoCheckbox, ControlsGroup, ErrorMessage },\n model: { prop: 'modelValue' },\n props: {\n /**\n * Descriptive supporting text visbile underneath the label.\n */\n description: { type: String, default: null },\n\n /**\n * If set to true, renders all checkboxes in the group in a disabled state.\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * Renders all checkboxes in an error state with an error message.\n */\n errorMessage: { type: String, default: null },\n\n /**\n * The form id the checkbox group is associated with. Defaults to null, as a checkbox group can also be used standalone.\n */\n formId: { type: String, default: null },\n\n /**\n * If set to true, renders all checkboxes in the group in an error state.\n *\n * @deprecated Use \"errorMessage\" prop instead\n */\n hasError: { type: Boolean, default: false },\n\n /**\n * Shows/hides the group label.\n */\n hideLabel: { type: Boolean, default: null },\n\n /**\n * The checkbox group's items.\n */\n items: { type: Array as PropType<BentoCheckboxGroupItems>, required: true },\n\n /**\n * The name associated with the group. Required for accessibility purposes.\n */\n label: { type: String, required: true },\n\n /**\n * Determines the initially selected value of the group. Corresponds to the BentoCheckboxButtonItem's value.\n * Defaults to no value selected.\n */\n modelValue: { type: Array<number | string | null>, default: () => [] },\n\n /**\n * Indicates the field is optional.\n */\n optional: { type: Boolean, default: false },\n\n /**\n * If set to true, renders all checkboxes in the group in a readonly state.\n */\n readonly: { type: Boolean, default: false },\n\n /**\n * Indicates the field is required.\n */\n required: { type: Boolean, default: false },\n\n /**\n * Tooltip message.\n */\n tooltipText: { type: String, default: null },\n\n /**\n * The checkbox group's layout. It can be vertical or horizontal. Defaults to vertical.\n */\n variant: {\n type: String as PropType<BentoCheckboxGroupVariant | `${BentoCheckboxGroupVariant}`>,\n default: BentoCheckboxGroupVariant.VERTICAL,\n validator: (value: BentoCheckboxGroupVariant) =>\n Object.values(BentoCheckboxGroupVariant).includes(value),\n },\n },\n emits: [BentoCheckboxEvent.UPDATE, BentoCheckboxEvent.INPUT],\n setup(props, { emit, slots }) {\n const errorId = generateUid('error');\n const { isReadOnly } = useFormLayoutFieldLoading(toRef(props, 'readonly'));\n\n const shouldShowGroupError = computed(\n () => !props.disabled && !isReadOnly.value && (!!props.errorMessage || props.hasError)\n );\n const shouldShowGroupErrorMessage = computed(\n () => !props.disabled && !isReadOnly.value && !!props.errorMessage\n );\n\n const conditionalClasses = computed(() => ({\n 'b-checkbox-group__checkboxes--horizontal': props.variant === BentoCheckboxGroupVariant.HORIZONTAL,\n }));\n\n // Slots logic\n // Temporary, use-has-slots composable doesn't currently work for\n // vue3 named scoped slots\n const hasContentSlot = name => !!slots[name];\n const shouldShowSlotsError = computed(() => hasContentSlot('content') && props.variant !== 'vertical');\n\n watch(\n shouldShowSlotsError,\n newValue => {\n if (newValue) {\n throw new Error('The content slot is only available for the vertical checkbox group layout');\n }\n },\n { immediate: true }\n );\n\n const inputValue = ref(props.modelValue);\n watch(\n () => props.modelValue,\n () => {\n inputValue.value = props.modelValue;\n }\n );\n\n const onInput = value => {\n inputValue.value = value;\n emit(BentoCheckboxEvent.UPDATE, value);\n emit(BentoCheckboxEvent.INPUT, value);\n };\n\n if (props.hasError) {\n deprecate(\n 'BentoCheckboxGroup \"hasError\" property',\n `Use the BentoCheckboxGroup \"errorMessage\" property instead to indicate that there is a modifier error.\n Having the field as \"undefined\" will hide/remove the error.\n <bento-checkbox-group errorMessage=\"Error message text\" />`,\n '2.0.0'\n );\n }\n\n return {\n // Values\n COMPONENT_NAME,\n errorId,\n isReadOnly,\n shouldShowGroupError,\n shouldShowGroupErrorMessage,\n conditionalClasses,\n inputValue,\n hasContentSlot,\n\n // Methods\n onInput,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./checkbox-group.scss\" />\n"],"names":["BentoCheckboxGroupVariant","BentoCheckboxGroupVariant2","COMPONENT_NAME","_sfc_main","defineComponent","BentoCheckbox","ControlsGroup","ErrorMessage","value","BentoCheckboxEvent","props","emit","slots","errorId","generateUid","isReadOnly","useFormLayoutFieldLoading","toRef","shouldShowGroupError","computed","shouldShowGroupErrorMessage","conditionalClasses","hasContentSlot","name","shouldShowSlotsError","watch","newValue","inputValue","ref","onInput","deprecate"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { defineComponent as $, toRefs as k, computed as o, ref as N } from "vue";
2
- import { B as w } from "./typography.Bjtu3Gca.js";
2
+ import { B as w } from "./typography.CdCYtxYj.js";
3
3
  import { u as F } from "./use-default-slot-validator.BDn0wkYP.js";
4
4
  import { u as R } from "./use-has-slot.C9lQZ6nz.js";
5
5
  import { g as C } from "./unique-id.XFfoKuc2.js";
6
6
  import { g as f } from "./get-slot-text.Cgn-E48s.js";
7
7
  import { u as j } from "./i18n.BQkEbtPM.js";
8
8
  import { u as z } from "./aria-label.CaUURpnB.js";
9
- import { B as H } from "./tag.B2o39TYl.js";
9
+ import { B as H } from "./tag.4Vqj8tm4.js";
10
10
  import { a as O, C as B } from "./checkbox-input.DwDwI2BD.js";
11
- import { E as Y } from "./error-message.IjcYmSSd.js";
11
+ import { E as Y } from "./error-message.epR1WJH2.js";
12
12
  import { n as J } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
13
13
  import "../assets/checkbox.css";
14
14
  var i = /* @__PURE__ */ ((a) => (a.UPDATE = "update:model-value", a.INPUT = "input", a))(i || {});
@@ -155,4 +155,4 @@ export {
155
155
  be as B,
156
156
  i as a
157
157
  };
158
- //# sourceMappingURL=checkbox.BP2_1_qF.js.map
158
+ //# sourceMappingURL=checkbox.CKQZXIR3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.BP2_1_qF.js","sources":["../../src/components/checkbox/checkbox.types.ts","../../src/components/checkbox/checkbox.vue"],"sourcesContent":["import type { BentoTag } from '@/components/tag';\nimport type { BentoCheckboxType, BentoMultiCheckboxType } from '../internal/checkbox-input';\nimport { BentoCheckboxState } from '../internal/checkbox-input';\n\nexport { BentoCheckboxState, BentoCheckboxType, BentoMultiCheckboxType };\n\nexport enum BentoCheckboxEvent {\n UPDATE = 'update:model-value',\n INPUT = 'input',\n}\n\nexport type BentoCheckboxTag = InstanceType<typeof BentoTag>['$props'];\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 './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 '@/utils/ts/unique-id';\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 './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 ariaChecked = computed<HTMLAttributes['aria-checked']>(() =>\n isIndeterminate.value ? 'mixed' : `${!!isChecked.value}`\n );\n\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')\n ? (getSlotText(slots)('default') as string)\n : t('ariaLabelFallback'),\n });\n\n const ariaInvalid = computed<HTMLAttributes['aria-invalid']>(() => shouldShowError.value);\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 ariaChecked,\n ariaDescribedBy,\n ariaInvalid,\n computedAriaLabel,\n conditionalClass,\n defaultSlotValue,\n descriptionSlotValue,\n isCheckboxGroup,\n isChecked,\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=\"./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","ariaChecked","ariaDescribedBy","ariaLabelAttribute","ref","ariaLabel","computedAriaLabel","useAriaLabel","ariaInvalid","conditionalClass","CheckboxInputState","newValue"],"mappings":"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"}
1
+ {"version":3,"file":"checkbox.CKQZXIR3.js","sources":["../../src/components/checkbox/checkbox.types.ts","../../src/components/checkbox/checkbox.vue"],"sourcesContent":["import type { BentoTag } from '@/components/tag';\nimport type { BentoCheckboxType, BentoMultiCheckboxType } from '../internal/checkbox-input';\nimport { BentoCheckboxState } from '../internal/checkbox-input';\n\nexport { BentoCheckboxState, BentoCheckboxType, BentoMultiCheckboxType };\n\nexport enum BentoCheckboxEvent {\n UPDATE = 'update:model-value',\n INPUT = 'input',\n}\n\nexport type BentoCheckboxTag = InstanceType<typeof BentoTag>['$props'];\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 './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 '@/utils/ts/unique-id';\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 './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 ariaChecked = computed<HTMLAttributes['aria-checked']>(() =>\n isIndeterminate.value ? 'mixed' : `${!!isChecked.value}`\n );\n\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')\n ? (getSlotText(slots)('default') as string)\n : t('ariaLabelFallback'),\n });\n\n const ariaInvalid = computed<HTMLAttributes['aria-invalid']>(() => shouldShowError.value);\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 ariaChecked,\n ariaDescribedBy,\n ariaInvalid,\n computedAriaLabel,\n conditionalClass,\n defaultSlotValue,\n descriptionSlotValue,\n isCheckboxGroup,\n isChecked,\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=\"./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","ariaChecked","ariaDescribedBy","ariaLabelAttribute","ref","ariaLabel","computedAriaLabel","useAriaLabel","ariaInvalid","conditionalClass","CheckboxInputState","newValue"],"mappings":";;;;;;;;;;;;;AAMY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,SAAA,sBACAA,EAAA,QAAA,SAFQA,IAAAD,KAAA,CAAA,CAAA;;;;;;;GC+EZE,IAAAC,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,MAAA,EAAA,UAAAC,EAAA;AAAA,EACA,YAAA;AAAA,IACA,UAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,EACA;AAAA,EACA,OAAA,EAAA,MAAA,aAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,WAAA,EAAA,MAAA,QAAA,SAAA,KAAA;AAAA;AAAA;AAAA;AAAA,IAOA,UAAA,EAAA,MAAA,SAAA,SAAA,GAAA;AAAA;AAAA;AAAA;AAAA,IAKA,cAAA,EAAA,MAAA,QAAA,SAAA,KAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA,EAAA,MAAA,SAAA,SAAA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,eAAA,EAAA,MAAA,SAAA,SAAA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,YAAA;AAAA,MAQA,MAAA,CAAA,SAAA,KAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,UAAA,EAAA,MAAA,SAAA,SAAA,GAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA,EAAA,MAAA,SAAA,SAAA,GAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA,EAAA,MAAA,SAAA,SAAA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,KAAA,EAAA,MAAA,QAAA,SAAA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,OAAA,EAAA,MAAA,CAAA,QAAA,MAAA,GAAA,SAAA,KAAA;AAAA,EAQA;AAAA,EACA,OAAA,CAAAR,EAAA,QAAAA,EAAA,KAAA;AAAA,EACA,MAAAS,GAAA,EAAA,OAAAC,GAAA,MAAAC,GAAA,OAAAC,EAAA,GAAA;AAEA,UAAA,EAAA,GAAAC,EAAA,IAAAC,EAAA,GACAC,IAAAC,EAAA,aAAA,GACAC,IAAAD,EAAA,OAAA,GACAE,IAAAC,EAAAP,CAAA,GAEA,EAAA,UAAAQ,GAAA,eAAAC,GAAA,YAAAC,GAAA,UAAAC,GAAA,OAAAC,EAAA,IAAAC,EAAAhB,CAAA,GAEAiB,IAAAC,EAAAf,CAAA,EAAA,SAAA,GACAgB,IAAAD,EAAAf,CAAA,EAAA,aAAA;AAEA,IAAAiB,EAAA,kBAAAjB,EAAA,SAAAA,EAAA,WAAA;AAEA,UAAAkB,IAAAC,EAAA,MAAA,MAAA,QAAAT,EAAA,KAAA,CAAA,GACAU,IAAAD,EAAA,MACAD,EAAA,QAIAR,EAAA,MAAA,KAAA,CAAAW,MAAAA,MAAAT,EAAA,KAAA,IAHAF,EAAA,KAGA,GAEAY,IAAAH,EAAA,MAAAV,EAAA,KAAA,GAEAc,IAAAJ;AAAA,MAAA,MAAA,CAAAtB,EAAA,YAAA,CAAAA,EAAA,aAAAA,EAAA,YAAA,CAAA,CAAAA,EAAA;AAAA,IACA,GAEA2B,IAAAL,EAAA,MAAA,CAAAtB,EAAA,YAAA,CAAAA,EAAA,YAAA,CAAA,CAAAA,EAAA,YAAA,GAGA4B,IAAAN,EAAA,MAAAb,EAAA,SAAA,CAAA,GACAoB,IAAAP,EAAA,OAAAG,KAAA,gBAAAA,EAAA,WAAAF,KAAA,gBAAAA,EAAA,MAAA,GACAO,IAAAR;AAAA,MAAA,OAAAM,KAAA,gBAAAA,EAAA,WAAAP,KAAA,gBAAAA,EAAA,WAAAQ,KAAA,gBAAAA,EAAA;AAAA,IACA,GAIAE,IAAAT;AAAA,MAAA,MAAAG,EAAA,QAAA,UAAA,GAAA,CAAA,CAAAF,EAAA,KAAA;AAAA,IACA,GAGAS,IAAAV;AAAA,MAAA,MAAA,GAAAK,EAAA,QAAAnB,IAAA,EAAA,IAAAS,KAAAE,IAAAb,IAAA,EAAA,GAAA,KAAA,KAAA;AAAA,IAIA,GAGA2B,IAAAC,EAAAjC,EAAA,YAAA,CAAA,GACA,EAAA,WAAAkC,EAAA,IAAAnB,EAAAhB,CAAA,GACAoC,IAAAC,EAAA;AAAA,MAAA,WAAAJ,EAAA;AAAA;AAAA,MACA,OAAAE;AAAA,MAEA,iBAAA1B,EAAA,SAAA,IAAAS,EAAAf,CAAA,EAAA,SAAA,IAAAC,EAAA,mBAAA;AAAA,IAGA,CAAA,GAGAkC,IAAAhB,EAAA,MAAAI,EAAA,KAAA,GAEAa,IAAAjB,EAAA,OAAA;AAAA,MAAA,CAAA,eAAAkB,EAAA,QAAA,EAAA,GAAA7B,EAAA;AAAA,MACA,CAAA,eAAA6B,EAAA,QAAA,EAAA,GAAA1B,EAAA;AAAA,IACA,EAAA;AAWA,WAAA;AAAA;AAAA,MAAA,eAAAR;AAAA,MAEA,SAAAE;AAAA,MACA,aAAAuB;AAAA,MACA,iBAAAC;AAAA,MACA,aAAAM;AAAA,MACA,mBAAAF;AAAA,MACA,kBAAAG;AAAA,MACA,kBAAAtB;AAAA,MACA,sBAAAE;AAAA,MACA,iBAAAE;AAAA,MACA,WAAAE;AAAA,MACA,iBAAAE;AAAA,MACA,iBAAAC;AAAA,MACA,wBAAAC;AAAA,MACA,sBAAAG;AAAA,MACA,gBAAAF;AAAA;AAAA,MACA,SAAAnB;AAAA,MAGA,UA5BA,CAAAgC,MAAA;AACA,QAAA9B,EAAA,UAGAT,EAAAX,EAAA,QAAAkD,CAAA,GACAvC,EAAAX,EAAA,OAAAkD,CAAA;AAAA,MAAA;AAAA,MAwBA,GAAArC;AAAA,IAEA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;"}
@@ -1,23 +1,23 @@
1
1
  import { defineComponent as ne, ref as A, computed as _, shallowRef as $, onMounted as ae, watch as oe, watchEffect as ie } from "vue";
2
2
  import { highlightActiveLine as re, keymap as se, EditorView as G, lineNumbers as le } from "@codemirror/view";
3
3
  import { EditorSelection as ce, Compartment as H, EditorState as K } from "@codemirror/state";
4
- import { indentWithTab as de, history as ue } from "@codemirror/commands";
5
- import { syntaxHighlighting as ge, HighlightStyle as pe } from "@codemirror/language";
4
+ import { indentWithTab as de, history as ge } from "@codemirror/commands";
5
+ import { syntaxHighlighting as ue, HighlightStyle as pe } from "@codemirror/language";
6
6
  import { B as fe, a as me, b as he, c as be } from "./es6.BvpG4Oi6.js";
7
- import { B as ye } from "./dropdown.D-9cUSSo.js";
8
- import { B as ve } from "./button.DhAUh5JA.js";
9
- import { B as Ne } from "./typography.Bjtu3Gca.js";
7
+ import { B as ye } from "./dropdown.Bn6SRkU5.js";
8
+ import { B as ve } from "./button.qOf7CXY2.js";
9
+ import { B as Ne } from "./typography.CdCYtxYj.js";
10
10
  import { B as ke } from "./loading-indicator.DXc7I1Lm.js";
11
11
  import { u as _e } from "./i18n.BQkEbtPM.js";
12
12
  import { E as we } from "./expand.CwwKq7Uc.js";
13
- import { h as Ce } from "./base-modal.ChqzRaIU.js";
14
- import { C as xe } from "./copy.9yVc8L5b.js";
13
+ import { h as Ce } from "./base-modal.B17Ib1QQ.js";
14
+ import { C as xe } from "./copy.CIuoE2VU.js";
15
15
  import { json as Ae } from "@codemirror/lang-json";
16
16
  import { xml as Le } from "@codemirror/lang-xml";
17
17
  import { javascript as Ee } from "@codemirror/lang-javascript";
18
18
  import { java as Ie } from "@codemirror/lang-java";
19
19
  import { python as Oe } from "@codemirror/lang-python";
20
- import { B as Be } from "./tooltip.BmKdsFTL.js";
20
+ import { B as Be } from "./tooltip.4f_qwm8o.js";
21
21
  import { n as Te } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
22
22
  import "../assets/code-snippet.css";
23
23
  let Se = 0;
@@ -162,7 +162,7 @@ var P;
162
162
  })(P || (P = {}));
163
163
  new l({ perNode: !0 });
164
164
  let je = 0;
165
- class u {
165
+ class g {
166
166
  /**
167
167
  @internal
168
168
  */
@@ -177,9 +177,9 @@ class u {
177
177
  }
178
178
  static define(e, o) {
179
179
  let i = typeof e == "string" ? e : "?";
180
- if (e instanceof u && (o = e), o != null && o.base)
180
+ if (e instanceof g && (o = e), o != null && o.base)
181
181
  throw new Error("Can not derive from a modified tag");
182
- let s = new u(i, [], null, []);
182
+ let s = new g(i, [], null, []);
183
183
  if (s.set.push(s), o)
184
184
  for (let r of o.set)
185
185
  s.set.push(r);
@@ -213,7 +213,7 @@ class B {
213
213
  let i = o[0].instances.find((d) => d.base == e && Re(o, d.modified));
214
214
  if (i)
215
215
  return i;
216
- let s = [], r = new u(e.name, s, e, o);
216
+ let s = [], r = new g(e.name, s, e, o);
217
217
  for (let d of o)
218
218
  d.instances.push(r);
219
219
  let c = ze(o);
@@ -260,7 +260,7 @@ function De(t, e) {
260
260
  scope: i
261
261
  };
262
262
  }
263
- const a = u.define, L = a(), m = a(), U = a(m), W = a(m), h = a(), E = a(h), R = a(h), f = a(), v = a(f), g = a(), p = a(), z = a(), w = a(z), I = a(), n = {
263
+ const a = g.define, L = a(), m = a(), U = a(m), W = a(m), h = a(), E = a(h), R = a(h), f = a(), v = a(f), u = a(), p = a(), z = a(), w = a(z), I = a(), n = {
264
264
  /**
265
265
  A comment.
266
266
  */
@@ -373,45 +373,45 @@ const a = u.define, L = a(), m = a(), U = a(m), W = a(m), h = a(), E = a(h), R =
373
373
  /**
374
374
  A language keyword.
375
375
  */
376
- keyword: g,
376
+ keyword: u,
377
377
  /**
378
378
  The [keyword](#highlight.tags.keyword) for the self or this
379
379
  object.
380
380
  */
381
- self: a(g),
381
+ self: a(u),
382
382
  /**
383
383
  The [keyword](#highlight.tags.keyword) for null.
384
384
  */
385
- null: a(g),
385
+ null: a(u),
386
386
  /**
387
387
  A [keyword](#highlight.tags.keyword) denoting some atomic value.
388
388
  */
389
- atom: a(g),
389
+ atom: a(u),
390
390
  /**
391
391
  A [keyword](#highlight.tags.keyword) that represents a unit.
392
392
  */
393
- unit: a(g),
393
+ unit: a(u),
394
394
  /**
395
395
  A modifier [keyword](#highlight.tags.keyword).
396
396
  */
397
- modifier: a(g),
397
+ modifier: a(u),
398
398
  /**
399
399
  A [keyword](#highlight.tags.keyword) that acts as an operator.
400
400
  */
401
- operatorKeyword: a(g),
401
+ operatorKeyword: a(u),
402
402
  /**
403
403
  A control-flow related [keyword](#highlight.tags.keyword).
404
404
  */
405
- controlKeyword: a(g),
405
+ controlKeyword: a(u),
406
406
  /**
407
407
  A [keyword](#highlight.tags.keyword) that defines something.
408
408
  */
409
- definitionKeyword: a(g),
409
+ definitionKeyword: a(u),
410
410
  /**
411
411
  A [keyword](#highlight.tags.keyword) related to defining or
412
412
  interfacing with modules.
413
413
  */
414
- moduleKeyword: a(g),
414
+ moduleKeyword: a(u),
415
415
  /**
416
416
  An operator.
417
417
  */
@@ -591,31 +591,31 @@ const a = u.define, L = a(), m = a(), U = a(m), W = a(m), h = a(), E = a(h), R =
591
591
  given element is being defined. Expected to be used with the
592
592
  various [name](#highlight.tags.name) tags.
593
593
  */
594
- definition: u.defineModifier("definition"),
594
+ definition: g.defineModifier("definition"),
595
595
  /**
596
596
  [Modifier](#highlight.Tag^defineModifier) that indicates that
597
597
  something is constant. Mostly expected to be used with
598
598
  [variable names](#highlight.tags.variableName).
599
599
  */
600
- constant: u.defineModifier("constant"),
600
+ constant: g.defineModifier("constant"),
601
601
  /**
602
602
  [Modifier](#highlight.Tag^defineModifier) used to indicate that
603
603
  a [variable](#highlight.tags.variableName) or [property
604
604
  name](#highlight.tags.propertyName) is being called or defined
605
605
  as a function.
606
606
  */
607
- function: u.defineModifier("function"),
607
+ function: g.defineModifier("function"),
608
608
  /**
609
609
  [Modifier](#highlight.Tag^defineModifier) that can be applied to
610
610
  [names](#highlight.tags.name) to indicate that they belong to
611
611
  the language's standard environment.
612
612
  */
613
- standard: u.defineModifier("standard"),
613
+ standard: g.defineModifier("standard"),
614
614
  /**
615
615
  [Modifier](#highlight.Tag^defineModifier) that indicates a given
616
616
  [names](#highlight.tags.name) is local to some scope.
617
617
  */
618
- local: u.defineModifier("local"),
618
+ local: g.defineModifier("local"),
619
619
  /**
620
620
  A generic variant [modifier](#highlight.Tag^defineModifier) that
621
621
  can be used to tag language-specific alternative variants of
@@ -624,11 +624,11 @@ const a = u.define, L = a(), m = a(), U = a(m), W = a(m), h = a(), E = a(h), R =
624
624
  [variable name](#highlight.tags.variableName) tags, since those
625
625
  come up a lot.
626
626
  */
627
- special: u.defineModifier("special")
627
+ special: g.defineModifier("special")
628
628
  };
629
629
  for (let t in n) {
630
630
  let e = n[t];
631
- e instanceof u && (e.name = t);
631
+ e instanceof g && (e.name = t);
632
632
  }
633
633
  De([
634
634
  { tag: n.link, class: "tok-link" },
@@ -668,7 +668,7 @@ const Je = {
668
668
  green: he,
669
669
  blue: be,
670
670
  invalid: "#ffffff"
671
- }, Ve = (t) => pe.define([
671
+ }, Ve = (t, e) => pe.define([
672
672
  {
673
673
  tag: n.keyword,
674
674
  color: t.red
@@ -686,7 +686,7 @@ const Je = {
686
686
  color: t.red
687
687
  },
688
688
  {
689
- tag: [n.definition(n.name), n.separator],
689
+ tag: [n.definition(n.name), ...e !== "json" ? [n.separator] : []],
690
690
  color: t.red
691
691
  },
692
692
  {
@@ -735,7 +735,7 @@ const Je = {
735
735
  tag: n.invalid,
736
736
  color: t.invalid
737
737
  }
738
- ]), $e = ge(Ve(Je));
738
+ ]), $e = (t) => ue(Ve(Je, t));
739
739
  var O = /* @__PURE__ */ ((t) => (t.INLINE = "inline", t.SINGLELINE = "singleline", t.MULTILINE = "multiline", t))(O || {}), b = /* @__PURE__ */ ((t) => (t.JSON = "json", t.XML = "xml", t.JAVA = "java", t.JAVASCRIPT = "javascript", t.PYTHON = "python", t))(b || {}), C = /* @__PURE__ */ ((t) => (t.ACTION = "action", t.CHANGE = "change", t))(C || {});
740
740
  const Ge = {
741
741
  [b.JSON]: Ae,
@@ -865,11 +865,11 @@ ${Pe(t, i)}`;
865
865
  re(),
866
866
  se.of([de, Ue]),
867
867
  F.of(M()),
868
- X.of($e),
868
+ X.of($e(t.lang)),
869
869
  Y.of(K.readOnly.of(!t.editable)),
870
870
  G.updateListener.of((j) => te(j))
871
871
  ];
872
- t.variant === "multiline" && J.push([le(), ue()]);
872
+ t.variant === "multiline" && J.push([le(), ge()]);
873
873
  const V = K.create({
874
874
  doc: t.content,
875
875
  extensions: [...J]
@@ -944,7 +944,7 @@ var Fe = function() {
944
944
  Xe,
945
945
  !1,
946
946
  null,
947
- "befa6cc9"
947
+ "1ef11dc9"
948
948
  );
949
949
  const vt = Ye.exports;
950
950
  export {
@@ -953,4 +953,4 @@ export {
953
953
  C as b,
954
954
  vt as c
955
955
  };
956
- //# sourceMappingURL=code-snippet.njEtbQlt.js.map
956
+ //# sourceMappingURL=code-snippet.Dr7HvCcg.js.map