@adyen/bento-vue3 1.89.2 → 1.91.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 (283) hide show
  1. package/dist/@types/components.d.ts +4 -0
  2. package/dist/@types/index.d.ts +767 -522
  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-picker.css +1 -1
  15. package/dist/assets/date-range-picker.css +1 -1
  16. package/dist/assets/dialog-page.css +1 -1
  17. package/dist/assets/draggable-handle.css +1 -1
  18. package/dist/assets/dropdown.css +1 -1
  19. package/dist/assets/error-message.css +1 -1
  20. package/dist/assets/field-label.css +1 -0
  21. package/dist/assets/file-uploader.css +1 -1
  22. package/dist/assets/filter-bar.css +1 -1
  23. package/dist/assets/form-layout-title.css +1 -1
  24. package/dist/assets/input-field.css +1 -1
  25. package/dist/assets/input-time.css +1 -0
  26. package/dist/assets/inspector.css +1 -1
  27. package/dist/assets/modal-fullscreen.css +1 -1
  28. package/dist/assets/secondary-nav.css +1 -1
  29. package/dist/assets/sidepanel.css +1 -1
  30. package/dist/assets/use-cached-selected-values.css +1 -1
  31. package/dist/button.js +1 -1
  32. package/dist/card.js +1 -1
  33. package/dist/checkbox.js +2 -2
  34. package/dist/chip.js +1 -1
  35. package/dist/chunks/accordion-item.CZIxxSsH.js +141 -0
  36. package/dist/chunks/{accordion-item.BX1KrLMl.js.map → accordion-item.CZIxxSsH.js.map} +1 -1
  37. package/dist/chunks/action-bar.BPS3wPde.js +336 -0
  38. package/dist/chunks/{action-bar.DLMaIUWW.js.map → action-bar.BPS3wPde.js.map} +1 -1
  39. package/dist/chunks/ai-tag.D7shWB_x.js +137 -0
  40. package/dist/chunks/{ai-tag.DK63ExDc.js.map → ai-tag.D7shWB_x.js.map} +1 -1
  41. package/dist/chunks/{alert.C_8-VNi_.js → alert.CFWN2E0b.js} +86 -79
  42. package/dist/chunks/{alert.C_8-VNi_.js.map → alert.CFWN2E0b.js.map} +1 -1
  43. package/dist/chunks/anchor-scroller.DSfXK6vK.js +214 -0
  44. package/dist/chunks/{anchor-scroller.NhjLDBZI.js.map → anchor-scroller.DSfXK6vK.js.map} +1 -1
  45. package/dist/chunks/{base-modal.C2-JyHC_.js → base-modal.BxcS7Pao.js} +132 -125
  46. package/dist/chunks/{base-modal.C2-JyHC_.js.map → base-modal.BxcS7Pao.js.map} +1 -1
  47. package/dist/chunks/{button-actions-with-menu.BQFAgAI2.js → button-actions-with-menu.BKdNXYgU.js} +2 -2
  48. package/dist/chunks/{button-actions-with-menu.BQFAgAI2.js.map → button-actions-with-menu.BKdNXYgU.js.map} +1 -1
  49. package/dist/chunks/{button-actions.cMQWyZne.js → button-actions.DLiM8KZL.js} +203 -189
  50. package/dist/chunks/{button-actions.cMQWyZne.js.map → button-actions.DLiM8KZL.js.map} +1 -1
  51. package/dist/chunks/{calendar.DcCqkSNJ.js → calendar.qm-kFNQv.js} +460 -428
  52. package/dist/chunks/calendar.qm-kFNQv.js.map +1 -0
  53. package/dist/chunks/card.BEChcEqg.js +223 -0
  54. package/dist/chunks/{card.CoxQ_L0w.js.map → card.BEChcEqg.js.map} +1 -1
  55. package/dist/chunks/{checkbox-group.96n9Cc3W.js → checkbox-group.i3W8WO-7.js} +4 -4
  56. package/dist/chunks/{checkbox-group.96n9Cc3W.js.map → checkbox-group.i3W8WO-7.js.map} +1 -1
  57. package/dist/chunks/{checkbox.C6ATh8f5.js → checkbox.BPrymcRl.js} +68 -61
  58. package/dist/chunks/{checkbox.C6ATh8f5.js.map → checkbox.BPrymcRl.js.map} +1 -1
  59. package/dist/chunks/chip.DFldnqfz.js +72 -0
  60. package/dist/chunks/{chip.CdgpQyXN.js.map → chip.DFldnqfz.js.map} +1 -1
  61. package/dist/chunks/{click-outside.BPylIosK.js → click-outside.B0whuTUU.js} +2 -2
  62. package/dist/chunks/{click-outside.BPylIosK.js.map → click-outside.B0whuTUU.js.map} +1 -1
  63. package/dist/chunks/{code-snippet.DgAuuZF5.js → code-snippet.BG5ZmCrb.js} +113 -106
  64. package/dist/chunks/{code-snippet.DgAuuZF5.js.map → code-snippet.BG5ZmCrb.js.map} +1 -1
  65. package/dist/chunks/{controls-group.C7hOE1F4.js → controls-group.DqRpF9bh.js} +2 -2
  66. package/dist/chunks/{controls-group.C7hOE1F4.js.map → controls-group.DqRpF9bh.js.map} +1 -1
  67. package/dist/chunks/copy.CL893i9-.js +114 -0
  68. package/dist/chunks/{copy.C2kQ1PbI.js.map → copy.CL893i9-.js.map} +1 -1
  69. package/dist/chunks/{country.CaGc08Ps.js → country.15m_ATbO.js} +3 -3
  70. package/dist/chunks/{country.CaGc08Ps.js.map → country.15m_ATbO.js.map} +1 -1
  71. package/dist/chunks/country.types.6a7xxZIR.js +26 -0
  72. package/dist/chunks/{country.types.DjpMGz7a.js.map → country.types.6a7xxZIR.js.map} +1 -1
  73. package/dist/chunks/{dashboard-section.UafHRkMa.js → dashboard-section.C7mfUXOl.js} +3 -3
  74. package/dist/chunks/{dashboard-section.UafHRkMa.js.map → dashboard-section.C7mfUXOl.js.map} +1 -1
  75. package/dist/chunks/{dashed-underline.CcDV2Aks.js → dashed-underline.B50DIXjK.js} +3 -3
  76. package/dist/chunks/{dashed-underline.CcDV2Aks.js.map → dashed-underline.B50DIXjK.js.map} +1 -1
  77. package/dist/chunks/{data-grid-template.CnC4TQvk.js → data-grid-template.CKdZb6EN.js} +4 -4
  78. package/dist/chunks/{data-grid-template.CnC4TQvk.js.map → data-grid-template.CKdZb6EN.js.map} +1 -1
  79. package/dist/chunks/data-grid.DvMe72LK.js +4247 -0
  80. package/dist/chunks/data-grid.DvMe72LK.js.map +1 -0
  81. package/dist/chunks/date-picker.CidHad1p.js +269 -0
  82. package/dist/chunks/date-picker.CidHad1p.js.map +1 -0
  83. package/dist/chunks/date-range-picker.c5OwESTS.js +1027 -0
  84. package/dist/chunks/date-range-picker.c5OwESTS.js.map +1 -0
  85. package/dist/chunks/dialog-page.Bh-7RAwX.js +163 -0
  86. package/dist/chunks/{dialog-page.COfKqjT-.js.map → dialog-page.Bh-7RAwX.js.map} +1 -1
  87. package/dist/chunks/{directive.Dpivxq_t.js → directive.C8kY-ZW-.js} +2 -2
  88. package/dist/chunks/{directive.Dpivxq_t.js.map → directive.C8kY-ZW-.js.map} +1 -1
  89. package/dist/chunks/draggable-handle.CySRx1tb.js +171 -0
  90. package/dist/chunks/draggable-handle.CySRx1tb.js.map +1 -0
  91. package/dist/chunks/{dropdown-tag.Ysrac5GN.js → dropdown-tag.wcJ6Mgqe.js} +5 -5
  92. package/dist/chunks/{dropdown-tag.Ysrac5GN.js.map → dropdown-tag.wcJ6Mgqe.js.map} +1 -1
  93. package/dist/chunks/dropdown.DHoL50gV.js +1214 -0
  94. package/dist/chunks/dropdown.DHoL50gV.js.map +1 -0
  95. package/dist/chunks/error-message.Dyvrw6ZB.js +55 -0
  96. package/dist/chunks/error-message.Dyvrw6ZB.js.map +1 -0
  97. package/dist/chunks/field-label.DZYFjFgr.js +111 -0
  98. package/dist/chunks/field-label.DZYFjFgr.js.map +1 -0
  99. package/dist/chunks/{file-uploader.Bfd1uUMe.js → file-uploader.Dbg3vfZ_.js} +606 -584
  100. package/dist/chunks/{file-uploader.Bfd1uUMe.js.map → file-uploader.Dbg3vfZ_.js.map} +1 -1
  101. package/dist/chunks/{filter-bar.CkAjLQol.js → filter-bar.Dt-cU3zy.js} +1559 -1471
  102. package/dist/chunks/filter-bar.Dt-cU3zy.js.map +1 -0
  103. package/dist/chunks/fixed-scroller.yVsaQzy5.js +157 -0
  104. package/dist/chunks/{fixed-scroller.DtkaGyMD.js.map → fixed-scroller.yVsaQzy5.js.map} +1 -1
  105. package/dist/chunks/{footer-actions.BcYSsoUg.js → footer-actions.CYBdKDPo.js} +2 -2
  106. package/dist/chunks/{footer-actions.BcYSsoUg.js.map → footer-actions.CYBdKDPo.js.map} +1 -1
  107. package/dist/chunks/form-layout-title.B3ePK3yi.js +253 -0
  108. package/dist/chunks/form-layout-title.B3ePK3yi.js.map +1 -0
  109. package/dist/chunks/{header-meta.Bym9AlQm.js → header-meta.COak4D8-.js} +98 -84
  110. package/dist/chunks/{header-meta.Bym9AlQm.js.map → header-meta.COak4D8-.js.map} +1 -1
  111. package/dist/chunks/{header-with-views.Djba6iol.js → header-with-views.DqioajcO.js} +1091 -1070
  112. package/dist/chunks/{header-with-views.Djba6iol.js.map → header-with-views.DqioajcO.js.map} +1 -1
  113. package/dist/chunks/{header.o-7SyHtU.js → header.C21yzWrk.js} +3 -3
  114. package/dist/chunks/{header.o-7SyHtU.js.map → header.C21yzWrk.js.map} +1 -1
  115. package/dist/chunks/{info-icon.BUala_wq.js → info-icon.B3MDsjMu.js} +2 -2
  116. package/dist/chunks/{info-icon.BUala_wq.js.map → info-icon.B3MDsjMu.js.map} +1 -1
  117. package/dist/chunks/input-field-password.DyUphhxB.js +353 -0
  118. package/dist/chunks/{input-field-password.DZytmp_p.js.map → input-field-password.DyUphhxB.js.map} +1 -1
  119. package/dist/chunks/{input-field-phone-number.CxblrmaU.js → input-field-phone-number.BXVaC5ra.js} +12 -5
  120. package/dist/chunks/{input-field-phone-number.CxblrmaU.js.map → input-field-phone-number.BXVaC5ra.js.map} +1 -1
  121. package/dist/chunks/input-field.DkUFvIWt.js +326 -0
  122. package/dist/chunks/input-field.DkUFvIWt.js.map +1 -0
  123. package/dist/chunks/input-time.WI_qdwJc.js +122 -0
  124. package/dist/chunks/input-time.WI_qdwJc.js.map +1 -0
  125. package/dist/chunks/{inspector.B9k4tJWe.js → inspector.DMhKNW1K.js} +70 -63
  126. package/dist/chunks/{inspector.B9k4tJWe.js.map → inspector.DMhKNW1K.js.map} +1 -1
  127. package/dist/chunks/{list-item.DO5uULke.js → list-item.BHvXpqaS.js} +2 -2
  128. package/dist/chunks/{list-item.DO5uULke.js.map → list-item.BHvXpqaS.js.map} +1 -1
  129. package/dist/chunks/{listbox-option-tag.Cvplth7d.js → listbox-option-tag.CVxaZqbc.js} +2 -2
  130. package/dist/chunks/{listbox-option-tag.Cvplth7d.js.map → listbox-option-tag.CVxaZqbc.js.map} +1 -1
  131. package/dist/chunks/{modal-fullscreen.CuKVyTWb.js → modal-fullscreen.c6QphYQo.js} +54 -47
  132. package/dist/chunks/{modal-fullscreen.CuKVyTWb.js.map → modal-fullscreen.c6QphYQo.js.map} +1 -1
  133. package/dist/chunks/{modal.vue_vue_type_script_setup_true_lang.DmPw0l5Y.js → modal.vue_vue_type_script_setup_true_lang.ImqHKH-g.js} +48 -41
  134. package/dist/chunks/{modal.vue_vue_type_script_setup_true_lang.DmPw0l5Y.js.map → modal.vue_vue_type_script_setup_true_lang.ImqHKH-g.js.map} +1 -1
  135. package/dist/chunks/on-click-outside.BgIzQ2G1.js +108 -0
  136. package/dist/chunks/on-click-outside.BgIzQ2G1.js.map +1 -0
  137. package/dist/chunks/{pagination.dpVc6Yt0.js → pagination.Cu85Lqms.js} +150 -138
  138. package/dist/chunks/{pagination.dpVc6Yt0.js.map → pagination.Cu85Lqms.js.map} +1 -1
  139. package/dist/chunks/{promo-banner.BzveHNOI.js → promo-banner.-H4r_cwj.js} +39 -32
  140. package/dist/chunks/{promo-banner.BzveHNOI.js.map → promo-banner.-H4r_cwj.js.map} +1 -1
  141. package/dist/chunks/{radio-group.Cuiq4mxy.js → radio-group.CfMr1fmW.js} +4 -4
  142. package/dist/chunks/{radio-group.Cuiq4mxy.js.map → radio-group.CfMr1fmW.js.map} +1 -1
  143. package/dist/chunks/{rich-text-editor.DLMiT4f5.js → rich-text-editor.Bf9EWzNk.js} +421 -413
  144. package/dist/chunks/{rich-text-editor.DLMiT4f5.js.map → rich-text-editor.Bf9EWzNk.js.map} +1 -1
  145. package/dist/chunks/search-bar.p6kHCCvT.js +114 -0
  146. package/dist/chunks/{search-bar.CsFyP0_I.js.map → search-bar.p6kHCCvT.js.map} +1 -1
  147. package/dist/chunks/secondary-nav.CaxiyVaO.js +285 -0
  148. package/dist/chunks/secondary-nav.CaxiyVaO.js.map +1 -0
  149. package/dist/chunks/{segmented-control.KeQ5kuR1.js → segmented-control.CQWOO1-J.js} +2 -2
  150. package/dist/chunks/{segmented-control.KeQ5kuR1.js.map → segmented-control.CQWOO1-J.js.map} +1 -1
  151. package/dist/chunks/{selection-card-group.XM11Kk-4.js → selection-card-group.58XZj_SJ.js} +3 -3
  152. package/dist/chunks/{selection-card-group.XM11Kk-4.js.map → selection-card-group.58XZj_SJ.js.map} +1 -1
  153. package/dist/chunks/{sidepanel.b2QZ1Jsx.js → sidepanel.CAVhSs-O.js} +56 -49
  154. package/dist/chunks/{sidepanel.b2QZ1Jsx.js.map → sidepanel.CAVhSs-O.js.map} +1 -1
  155. package/dist/chunks/step.AsX2jAeL.js +268 -0
  156. package/dist/chunks/{step.BlwoLfdw.js.map → step.AsX2jAeL.js.map} +1 -1
  157. package/dist/chunks/structured-list-item.CgJR_ufh.js +112 -0
  158. package/dist/chunks/{structured-list-item.e-8kRleh.js.map → structured-list-item.CgJR_ufh.js.map} +1 -1
  159. package/dist/chunks/{summary-grid.types.CcvOC03H.js → summary-grid.types.CDithi8M.js} +5 -5
  160. package/dist/chunks/{summary-grid.types.CcvOC03H.js.map → summary-grid.types.CDithi8M.js.map} +1 -1
  161. package/dist/chunks/{tab.mR5uUSdp.js → tab.9nyNZiGw.js} +2 -2
  162. package/dist/chunks/{tab.mR5uUSdp.js.map → tab.9nyNZiGw.js.map} +1 -1
  163. package/dist/chunks/{tag.DujMVFh-.js → tag.YN2r-Pp3.js} +2 -2
  164. package/dist/chunks/{tag.DujMVFh-.js.map → tag.YN2r-Pp3.js.map} +1 -1
  165. package/dist/chunks/textarea.JGXAlpx9.js +257 -0
  166. package/dist/chunks/{textarea.CHV6Z8nt.js.map → textarea.JGXAlpx9.js.map} +1 -1
  167. package/dist/chunks/timeline-item.BNFPpQz1.js +433 -0
  168. package/dist/chunks/{timeline-item.CaGcRZbt.js.map → timeline-item.BNFPpQz1.js.map} +1 -1
  169. package/dist/chunks/{toast.C2oehk9P.js → toast.De4MTkiH.js} +64 -57
  170. package/dist/chunks/{toast.C2oehk9P.js.map → toast.De4MTkiH.js.map} +1 -1
  171. package/dist/chunks/{tooltip.CbADa_4p.js → tooltip.DHfG2aRt.js} +40 -38
  172. package/dist/chunks/tooltip.DHfG2aRt.js.map +1 -0
  173. package/dist/chunks/{tutorial.vue_vue_type_script_setup_true_lang.BOruzlTt.js → tutorial.vue_vue_type_script_setup_true_lang.C1cF-adv.js} +120 -113
  174. package/dist/chunks/{tutorial.vue_vue_type_script_setup_true_lang.BOruzlTt.js.map → tutorial.vue_vue_type_script_setup_true_lang.C1cF-adv.js.map} +1 -1
  175. package/dist/chunks/{use-cached-selected-values.ClEJRFAd.js → use-cached-selected-values.Bx8uuky9.js} +436 -410
  176. package/dist/chunks/use-cached-selected-values.Bx8uuky9.js.map +1 -0
  177. package/dist/chunks/{use-country-items.D_3LBe2I.js → use-country-items.Dp7X1r2e.js} +3 -3
  178. package/dist/chunks/{use-country-items.D_3LBe2I.js.map → use-country-items.Dp7X1r2e.js.map} +1 -1
  179. package/dist/chunks/{use-country-phon-code.DoqTGkNr.js → use-country-phon-code.BzcawGpE.js} +107 -104
  180. package/dist/chunks/{use-country-phon-code.DoqTGkNr.js.map → use-country-phon-code.BzcawGpE.js.map} +1 -1
  181. package/dist/chunks/{use-date-input-formatter.CDRzd-hW.js → use-date-input-formatter.BOuXpRb-.js} +2 -2
  182. package/dist/chunks/{use-date-input-formatter.CDRzd-hW.js.map → use-date-input-formatter.BOuXpRb-.js.map} +1 -1
  183. package/dist/chunks/use-touch-device.DTqFAbXh.js +11 -0
  184. package/dist/chunks/use-touch-device.DTqFAbXh.js.map +1 -0
  185. package/dist/click-outside.js +1 -1
  186. package/dist/code-snippet.js +1 -1
  187. package/dist/country.js +3 -3
  188. package/dist/dashboard-template.js +1 -1
  189. package/dist/dashed-underline.js +1 -1
  190. package/dist/data-grid-template.js +1 -1
  191. package/dist/data-grid.js +1 -1
  192. package/dist/date-picker.js +2 -2
  193. package/dist/date-range-picker.js +2 -2
  194. package/dist/draggable.js +1383 -0
  195. package/dist/draggable.js.map +1 -0
  196. package/dist/dropdown.js +10 -11
  197. package/dist/dropdown.js.map +1 -1
  198. package/dist/file-uploader.js +1 -1
  199. package/dist/filter-bar.js +1 -1
  200. package/dist/form-layout.js +1 -1
  201. package/dist/header-with-views.js +1 -1
  202. package/dist/header.js +1 -1
  203. package/dist/index.js +284 -279
  204. package/dist/index.js.map +1 -1
  205. package/dist/info-icon.js +1 -1
  206. package/dist/input-field-password.js +1 -1
  207. package/dist/input-field-phone-number.js +1 -1
  208. package/dist/input-field.js +1 -1
  209. package/dist/input-time.js +5 -0
  210. package/dist/input-time.js.map +1 -0
  211. package/dist/inspector.js +1 -1
  212. package/dist/internal.js +26 -25
  213. package/dist/internal.js.map +1 -1
  214. package/dist/list.js +1 -1
  215. package/dist/menu.js +1 -1
  216. package/dist/modal-fullscreen.js +1 -1
  217. package/dist/modal.js +2 -2
  218. package/dist/pagination.js +1 -1
  219. package/dist/popover.js +1 -1
  220. package/dist/promo-banner.js +1 -1
  221. package/dist/radio-group.js +1 -1
  222. package/dist/rich-text-editor.js +1 -1
  223. package/dist/search-bar.js +2 -2
  224. package/dist/secondary-nav.js +1 -1
  225. package/dist/segmented-control.js +1 -1
  226. package/dist/selection-card.js +1 -1
  227. package/dist/sidepanel.js +1 -1
  228. package/dist/stepper.js +1 -1
  229. package/dist/structured-list.js +1 -1
  230. package/dist/summary-grid.js +1 -1
  231. package/dist/tabs.js +1 -1
  232. package/dist/tag.js +1 -1
  233. package/dist/textarea.js +1 -1
  234. package/dist/timeline.js +1 -1
  235. package/dist/toast.js +1 -1
  236. package/dist/tutorial.js +1 -1
  237. package/dist/web-types.json +1 -1
  238. package/package.json +7 -10
  239. package/dist/assets/dropdown-default-textbox.css +0 -1
  240. package/dist/chunks/accordion-item.BX1KrLMl.js +0 -134
  241. package/dist/chunks/action-bar.DLMaIUWW.js +0 -329
  242. package/dist/chunks/ai-tag.DK63ExDc.js +0 -130
  243. package/dist/chunks/anchor-scroller.NhjLDBZI.js +0 -207
  244. package/dist/chunks/calendar.DcCqkSNJ.js.map +0 -1
  245. package/dist/chunks/card.CoxQ_L0w.js +0 -216
  246. package/dist/chunks/chip.CdgpQyXN.js +0 -65
  247. package/dist/chunks/copy.C2kQ1PbI.js +0 -107
  248. package/dist/chunks/country.types.DjpMGz7a.js +0 -19
  249. package/dist/chunks/data-grid.BSIXLRm7.js +0 -4014
  250. package/dist/chunks/data-grid.BSIXLRm7.js.map +0 -1
  251. package/dist/chunks/date-picker.dlzZ_-5f.js +0 -231
  252. package/dist/chunks/date-picker.dlzZ_-5f.js.map +0 -1
  253. package/dist/chunks/date-range-picker.DC6CK0As.js +0 -995
  254. package/dist/chunks/date-range-picker.DC6CK0As.js.map +0 -1
  255. package/dist/chunks/debounce.DUTu11PS.js +0 -10
  256. package/dist/chunks/debounce.DUTu11PS.js.map +0 -1
  257. package/dist/chunks/dialog-page.COfKqjT-.js +0 -156
  258. package/dist/chunks/dropdown-default-textbox.bq9AlGzJ.js +0 -408
  259. package/dist/chunks/dropdown-default-textbox.bq9AlGzJ.js.map +0 -1
  260. package/dist/chunks/dropdown.MhmX1P9o.js +0 -799
  261. package/dist/chunks/dropdown.MhmX1P9o.js.map +0 -1
  262. package/dist/chunks/error-message.DCgo8q20.js +0 -143
  263. package/dist/chunks/error-message.DCgo8q20.js.map +0 -1
  264. package/dist/chunks/filter-bar.CkAjLQol.js.map +0 -1
  265. package/dist/chunks/fixed-scroller.DtkaGyMD.js +0 -150
  266. package/dist/chunks/form-layout-title.DW5Kg1rh.js +0 -230
  267. package/dist/chunks/form-layout-title.DW5Kg1rh.js.map +0 -1
  268. package/dist/chunks/input-field-password.DZytmp_p.js +0 -346
  269. package/dist/chunks/input-field.CfU0ZKtL.js +0 -315
  270. package/dist/chunks/input-field.CfU0ZKtL.js.map +0 -1
  271. package/dist/chunks/on-click-outside.ZUMLlxE_.js +0 -90
  272. package/dist/chunks/on-click-outside.ZUMLlxE_.js.map +0 -1
  273. package/dist/chunks/search-bar.CsFyP0_I.js +0 -107
  274. package/dist/chunks/secondary-nav.CLBdq98c.js +0 -138
  275. package/dist/chunks/secondary-nav.CLBdq98c.js.map +0 -1
  276. package/dist/chunks/step.BlwoLfdw.js +0 -259
  277. package/dist/chunks/structured-list-item.e-8kRleh.js +0 -105
  278. package/dist/chunks/textarea.CHV6Z8nt.js +0 -247
  279. package/dist/chunks/timeline-item.CaGcRZbt.js +0 -419
  280. package/dist/chunks/tooltip.CbADa_4p.js.map +0 -1
  281. package/dist/chunks/use-cached-selected-values.ClEJRFAd.js.map +0 -1
  282. package/dist/draggable-handle.js +0 -155
  283. package/dist/draggable-handle.js.map +0 -1
@@ -0,0 +1,214 @@
1
+ import { defineComponent as R, ref as S, computed as h, watch as y, openBlock as g, createElementBlock as x, Fragment as $, renderList as K, createVNode as I, withKeys as C, withModifiers as j, normalizeClass as V, withCtx as w, createTextVNode as D, toDisplayString as E, watchEffect as L, toRef as z, createElementVNode as B, unref as b, renderSlot as H, createCommentVNode as J } from "vue";
2
+ import { f as O, d as W, u as P, g as U, t as A, h as G, r as X } from "./index.DDwcHPb6.js";
3
+ import { p as M, B as Y } from "./typography.B3J6_tYk.js";
4
+ import { u as q } from "./index.B875RXHM.js";
5
+ import { g as Q } from "./generate-uid.DBWe4g6T.js";
6
+ import { u as T } from "./utils.DWmc2mUI.js";
7
+ import { F as Z } from "./fixed-scroller.yVsaQzy5.js";
8
+ import { B as ee } from "./button.DWF7FSIw.js";
9
+ import { _ as N } from "./_plugin-vue_export-helper.CHgC5LLL.js";
10
+ import "../assets/anchor-scroller.css";
11
+ const te = /* @__PURE__ */ R({
12
+ __name: "anchor-scroller-list",
13
+ props: {
14
+ activeIndex: { default: void 0 },
15
+ items: {},
16
+ scrollOffset: { default: void 0 }
17
+ },
18
+ setup(v) {
19
+ const l = v, c = S([]), i = h(
20
+ () => l.items.map((e, a) => ({ disabled: e.disabled, originalIndex: a })).filter(({ disabled: e }) => !e).map(({ originalIndex: e }) => e)
21
+ ), {
22
+ state: u,
23
+ next: f,
24
+ prev: d
25
+ } = O(i, {
26
+ initialValue: l.activeIndex ?? i.value[0]
27
+ });
28
+ y(u, async (e) => {
29
+ const a = c.value[e], o = T(a);
30
+ o && typeof o.focus == "function" && o.focus();
31
+ });
32
+ const s = (e, a) => {
33
+ if (a)
34
+ return;
35
+ const o = T(e);
36
+ if (!o) {
37
+ M("[bento-anchor-scroller] element ref not found");
38
+ return;
39
+ }
40
+ if (!o.style.scrollMarginTop && l.scrollOffset) {
41
+ const r = window.getComputedStyle(o).scrollMarginTop;
42
+ (r === "0px" || r === "") && (o.style.scrollMarginTop = `${l.scrollOffset}px`);
43
+ }
44
+ o.hasAttribute("tabindex") || o.setAttribute("tabindex", "-1"), o.scrollIntoView({
45
+ behavior: "smooth",
46
+ block: "start",
47
+ inline: "nearest"
48
+ }), o.focus({ preventScroll: !0 });
49
+ }, _ = (e) => {
50
+ switch (e.key) {
51
+ case "ArrowRight":
52
+ e.preventDefault(), f();
53
+ break;
54
+ case "ArrowLeft":
55
+ e.preventDefault(), d();
56
+ break;
57
+ case "Home":
58
+ e.preventDefault(), u.value = 0;
59
+ break;
60
+ case "End":
61
+ e.preventDefault(), u.value = i.value.length - 1;
62
+ break;
63
+ }
64
+ };
65
+ return (e, a) => (g(), x("ul", {
66
+ class: "b-anchor-scroller-list",
67
+ onKeydown: _
68
+ }, [
69
+ (g(!0), x($, null, K(e.items, ({ title: o, disabled: r, elementRef: m }, n) => (g(), x("li", {
70
+ key: n,
71
+ class: "b-anchor-scroller-list__item"
72
+ }, [
73
+ I(ee, {
74
+ ref_for: !0,
75
+ ref_key: "listItemRefs",
76
+ ref: c,
77
+ "aria-current": e.activeIndex === n ? "location" : null,
78
+ class: V(["b-anchor-scroller-list__item-button", {
79
+ "b-anchor-scroller-list__item-button--active": e.activeIndex === n,
80
+ "b-anchor-scroller-list__item-button--disabled": r
81
+ }]),
82
+ "aria-disabled": r,
83
+ tabindex: e.activeIndex === n ? null : "-1",
84
+ variant: "tertiary-with-background",
85
+ onClick: (p) => s(m, r),
86
+ onKeydown: [
87
+ C(j((p) => s(m, r), ["prevent"]), ["space", "native"]),
88
+ C(j((p) => s(m, r), ["prevent"]), ["enter", "native"])
89
+ ]
90
+ }, {
91
+ default: w(() => [
92
+ D(E(o), 1)
93
+ ]),
94
+ _: 2
95
+ }, 1032, ["aria-current", "class", "aria-disabled", "tabindex", "onClick", "onKeydown"])
96
+ ]))), 128))
97
+ ], 32));
98
+ }
99
+ }), oe = /* @__PURE__ */ N(te, [["__scopeId", "data-v-03d99bd8"]]), F = {
100
+ "de-DE": { jumpTo: "Springe zu" },
101
+ "en-GB": { jumpTo: "Jump to" },
102
+ "en-US": { jumpTo: "Jump to" },
103
+ "es-ES": { jumpTo: "Saltar a" },
104
+ "es-MX": { jumpTo: "Saltar a" },
105
+ "fr-FR": { jumpTo: "Passer à" },
106
+ "it-IT": { jumpTo: "Vai a" },
107
+ "ja-JP": { jumpTo: "移動先" },
108
+ "pt-BR": { jumpTo: "Ir para" },
109
+ "zh-CN": { jumpTo: "跳转到" }
110
+ }, ne = (v, l) => {
111
+ const c = S(l.default?.value ?? -1), { y: i } = W(), { height: u } = P(), f = () => {
112
+ const d = A(v), s = u.value, _ = s / 2;
113
+ let e = -1, a = 0;
114
+ for (let o = 0; o < d.length; o++) {
115
+ const m = d[o];
116
+ if (!m)
117
+ continue;
118
+ const n = m.getBoundingClientRect();
119
+ if (n.top > _)
120
+ continue;
121
+ const p = Math.min(n.bottom, s) - Math.max(n.top, 0);
122
+ if (p <= 0)
123
+ continue;
124
+ const t = p / n.height;
125
+ t > a && (a = t, e = o);
126
+ }
127
+ e !== -1 && c.value !== e && (c.value = e);
128
+ };
129
+ return U([i, u], f, { throttle: 100, trailing: !0 }), L(() => {
130
+ A(v).length && f();
131
+ }), {
132
+ activeIndex: c
133
+ };
134
+ }, ae = {
135
+ key: 0,
136
+ class: "b-anchor-scroller"
137
+ }, re = ["aria-labelledby"], ie = { class: "b-anchor-scroller__navigation-panel" }, se = {
138
+ i18n: { messages: F },
139
+ name: "bento-anchor-scroller"
140
+ }, le = /* @__PURE__ */ R({
141
+ ...se,
142
+ props: {
143
+ activeIndex: { default: void 0 },
144
+ items: {}
145
+ },
146
+ emits: ["update:active-index"],
147
+ setup(v, { emit: l }) {
148
+ const { t: c } = q({ messages: F }), i = v, u = l, f = S(null), d = h(() => i.items.map((t) => ({ ...t }))), s = h(
149
+ () => i.items.map((t, k) => ({
150
+ element: T(t.elementRef),
151
+ originalIndex: k,
152
+ disabled: t.disabled
153
+ })).filter(
154
+ (t) => !t.disabled && !!t.element
155
+ )
156
+ ), { top: _, bottom: e } = G(f), a = h(() => s.value.map((t) => t.element)), o = h(() => ({
157
+ "b-anchor-scroller__navigation--pinned": _.value <= 1
158
+ })), { activeIndex: r } = ne(a, {
159
+ default: z(i, "activeIndex")
160
+ }), m = X(r, 200), n = h(() => {
161
+ const t = s.value[m.value];
162
+ return t ? t.originalIndex : 0;
163
+ });
164
+ y(n, (t) => {
165
+ Number.isFinite(t) && u("update:active-index", t);
166
+ }), y(
167
+ () => i.activeIndex,
168
+ (t) => {
169
+ Number.isFinite(t) && d.value[t].disabled && M("[bento-anchor-scroller] activeIndex should not be a disabled item");
170
+ }
171
+ );
172
+ const p = Q("bento-anchor-scroller-label");
173
+ return (t, k) => d.value.length ? (g(), x("div", ae, [
174
+ B("nav", {
175
+ ref_key: "navigationRef",
176
+ ref: f,
177
+ class: V(["b-anchor-scroller__navigation", o.value]),
178
+ "aria-labelledby": b(p)
179
+ }, [
180
+ I(b(Z), {
181
+ condensed: "",
182
+ centered: ""
183
+ }, {
184
+ default: w(() => [
185
+ B("div", ie, [
186
+ I(Y, {
187
+ id: b(p),
188
+ el: "span",
189
+ class: "b-anchor-scroller__navigation-panel-label",
190
+ stronger: ""
191
+ }, {
192
+ default: w(() => [
193
+ D(E(b(c)("jumpTo")), 1)
194
+ ]),
195
+ _: 1
196
+ }, 8, ["id"]),
197
+ I(b(oe), {
198
+ items: d.value,
199
+ "active-index": n.value,
200
+ "scroll-offset": b(e)
201
+ }, null, 8, ["items", "active-index", "scroll-offset"])
202
+ ])
203
+ ]),
204
+ _: 1
205
+ })
206
+ ], 10, re),
207
+ H(t.$slots, "default", {}, void 0, !0)
208
+ ])) : J("", !0);
209
+ }
210
+ }), _e = /* @__PURE__ */ N(le, [["__scopeId", "data-v-9e21fa07"]]);
211
+ export {
212
+ _e as a
213
+ };
214
+ //# sourceMappingURL=anchor-scroller.DSfXK6vK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-scroller.NhjLDBZI.js","sources":["../../../vue2/src/components/anchor-scroller/components/anchor-scroller-list/anchor-scroller-list.vue","../../../vue2/src/components/anchor-scroller/composables/use-scroll-spy/use-scroll-spy.ts","../../../vue2/src/components/anchor-scroller/anchor-scroller.vue"],"sourcesContent":["<template>\n <ul class=\"b-anchor-scroller-list\" @keydown=\"onKeydownNavigation\">\n <li v-for=\"({ title, disabled, elementRef }, index) in items\" :key=\"index\" class=\"b-anchor-scroller-list__item\">\n <bento-button\n ref=\"listItemRefs\"\n :aria-current=\"activeIndex === index ? 'location' : null\"\n class=\"b-anchor-scroller-list__item-button\"\n :class=\"{\n 'b-anchor-scroller-list__item-button--active': activeIndex === index,\n 'b-anchor-scroller-list__item-button--disabled': disabled,\n }\"\n :aria-disabled=\"disabled\"\n :tabindex=\"activeIndex === index ? null : '-1'\"\n variant=\"tertiary-with-background\"\n @click=\"scrollToSection(elementRef, disabled)\"\n @keydown.space.native.prevent=\"scrollToSection(elementRef, disabled)\"\n @keydown.enter.native.prevent=\"scrollToSection(elementRef, disabled)\"\n >\n {{ title }}\n </bento-button>\n </li>\n </ul>\n</template>\n\n<script setup lang=\"ts\">\n import BentoButton from '@/components/button/button.vue';\n import { unrefElement } from '@/directives/click-outside/utils';\n import { printDevelopmentWarning } from '@/utils/ts/print-development-warning';\n import { type BentoAnchorScrollerItem } from '../../anchor-scroller.types';\n import { type AnchorScrollerListProps } from './anchor-scroller-list.types';\n import { computed, ref, watch } from 'vue';\n import { useCycleList } from '@vueuse/core';\n\n const props = withDefaults(defineProps<AnchorScrollerListProps>(), {\n activeIndex: undefined,\n scrollOffset: undefined,\n });\n\n const listItemRefs = ref([]);\n const listIndices = computed(() =>\n props.items\n .map((item, index) => ({ disabled: item.disabled, originalIndex: index }))\n .filter(({ disabled }) => !disabled)\n .map(({ originalIndex }) => originalIndex)\n );\n\n const {\n state: focusedIndex,\n next,\n prev,\n } = useCycleList(listIndices, {\n initialValue: props.activeIndex ?? listIndices.value[0],\n });\n\n watch(focusedIndex, async newIndex => {\n const targetComponent = listItemRefs.value[newIndex];\n const el = unrefElement(targetComponent); // Handles Component or DOM node\n\n if (el && typeof el.focus === 'function') {\n el.focus();\n }\n });\n\n const scrollToSection = (elementRef: BentoAnchorScrollerItem['elementRef'], disabled?: boolean) => {\n if (disabled) {\n return;\n }\n\n const el = unrefElement(elementRef);\n\n if (!el) {\n printDevelopmentWarning(`[bento-anchor-scroller] element ref not found`);\n return;\n }\n\n if (!el.style.scrollMarginTop && props.scrollOffset) {\n const currentScrollMargin = window.getComputedStyle(el).scrollMarginTop;\n\n if (currentScrollMargin === '0px' || currentScrollMargin === '') {\n el.style.scrollMarginTop = `${props.scrollOffset}px`;\n }\n }\n\n if (!el.hasAttribute('tabindex')) {\n el.setAttribute('tabindex', '-1');\n }\n\n el.scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n inline: 'nearest',\n });\n\n el.focus({ preventScroll: true });\n };\n\n const onKeydownNavigation = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowRight':\n e.preventDefault();\n next();\n break;\n case 'ArrowLeft':\n e.preventDefault();\n prev();\n break;\n case 'Home':\n e.preventDefault();\n focusedIndex.value = 0;\n break;\n case 'End':\n e.preventDefault();\n focusedIndex.value = listIndices.value.length - 1;\n break;\n }\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./anchor-scroller-list.scss\" />\n","import { type Ref, ref, watchEffect } from 'vue';\nimport { type MaybeRef, toValue, useWindowScroll, useWindowSize, watchThrottled } from '@vueuse/core';\n\n/**\n * Options for the useScrollSpy composable.\n */\nexport interface useScrollSpyOptions {\n /**\n * The default active index to use when no item is active or initially.\n */\n default?: Ref<number>;\n}\n\n/**\n * Composable to spy on scroll position and determine the active item based on visibility.\n *\n * @param items - The list of elements to spy on.\n * @param options - Configuration options for the scroll spy.\n * @returns An object containing the active index.\n */\nexport const useScrollSpy = (items: MaybeRef<Array<Element>>, options: useScrollSpyOptions) => {\n const activeIndex = ref(options.default?.value ?? -1);\n\n const { y: scrollY } = useWindowScroll();\n const { height: windowHeight } = useWindowSize();\n\n // Logic to find the \"winner\" when there are multiple items on the same page\n const calculateActiveIndex = () => {\n const list = toValue(items);\n const viewportHeight = windowHeight.value;\n const midpoint = viewportHeight / 2;\n\n let winnerIndex = -1;\n let maxVisibleRatio = 0;\n\n for (let i = 0; i < list.length; i++) {\n const item = list[i];\n const el = item;\n\n if (!el) {\n continue;\n }\n\n const rect = el.getBoundingClientRect();\n\n // Constraint 1: Must pass midpoint\n if (rect.top > midpoint) {\n continue;\n }\n\n // Constraint 2: Must be visible\n const visibleHeight = Math.min(rect.bottom, viewportHeight) - Math.max(rect.top, 0);\n if (visibleHeight <= 0) {\n continue;\n }\n\n // Constraint 3: Highest visible % wins\n const ratio = visibleHeight / rect.height;\n\n if (ratio > maxVisibleRatio) {\n maxVisibleRatio = ratio;\n winnerIndex = i;\n }\n }\n\n // Only update if changed to avoid unnecessary patch triggers\n if (winnerIndex !== -1 && activeIndex.value !== winnerIndex) {\n activeIndex.value = winnerIndex;\n }\n };\n\n watchThrottled([scrollY, windowHeight], calculateActiveIndex, { throttle: 100, trailing: true });\n\n watchEffect(() => {\n if (toValue(items).length) {\n calculateActiveIndex();\n }\n });\n\n return {\n activeIndex,\n };\n};\n","<template>\n <div v-if=\"computedItems.length\" class=\"b-anchor-scroller\">\n <nav\n ref=\"navigationRef\"\n class=\"b-anchor-scroller__navigation\"\n :class=\"navigationConditionalClasses\"\n :aria-labelledby=\"navLabelId\"\n >\n <fixed-scroller condensed centered>\n <div class=\"b-anchor-scroller__navigation-panel\">\n <bento-typography\n :id=\"navLabelId\"\n el=\"span\"\n class=\"b-anchor-scroller__navigation-panel-label\"\n stronger\n >\n {{ t('jumpTo') }}\n </bento-typography>\n\n <anchor-scroller-list\n :items=\"computedItems\"\n :active-index=\"currentActiveIndex\"\n :scroll-offset=\"bottom\"\n />\n </div>\n </fixed-scroller>\n </nav>\n\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, ref, toRef, watch } from 'vue';\n import { refDebounced, useElementBounding } from '@vueuse/core';\n import BentoTypography from '@/components/typography/typography.vue';\n import { FixedScroller } from '@/internal';\n import { type BentoAnchorScrollerItem, type BentoAnchorScrollerProps } from './anchor-scroller.types';\n import { AnchorScrollerList } from './components/anchor-scroller-list';\n import { useI18n } from '@/utils/ts/i18n';\n import { generateUid } from '@/core/utils/ts';\n import { unrefElement } from '@/directives/click-outside/utils';\n import messages from './messages.json';\n import { useScrollSpy } from './composables';\n import { printDevelopmentWarning } from '@/utils/ts/print-development-warning';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const props = withDefaults(defineProps<BentoAnchorScrollerProps>(), {\n activeIndex: undefined,\n });\n\n const emit = defineEmits<{\n /**\n * Emits update event when the active index is changed\n */\n (e: 'update:active-index', value: number): void;\n }>();\n\n const navigationRef = ref(null);\n\n const computedItems = computed<Array<BentoAnchorScrollerItem>>(() => props.items.map(item => ({ ...item })));\n\n // Skip and cache only items that are enabled\n const enabledItems = computed(() =>\n props.items\n .map((item, originalIndex) => ({\n element: unrefElement(item.elementRef),\n originalIndex,\n disabled: item.disabled,\n }))\n .filter(\n (item): item is { element: Element; originalIndex: number; disabled: boolean } =>\n !item.disabled && !!item.element\n )\n );\n\n const { top, bottom } = useElementBounding(navigationRef);\n\n // Extract strictly the elements for the ScrollSpy to watch\n const scrollToTargets = computed(() => enabledItems.value.map(c => c.element));\n\n const navigationConditionalClasses = computed(() => ({\n 'b-anchor-scroller__navigation--pinned': top.value <= 1,\n }));\n\n const { activeIndex: relativeActiveIndex } = useScrollSpy(scrollToTargets, {\n default: toRef(props, 'activeIndex'),\n });\n\n const debouncedActiveIndex = refDebounced(relativeActiveIndex, 200);\n\n const currentActiveIndex = computed(() => {\n const candidate = enabledItems.value[debouncedActiveIndex.value];\n\n return candidate ? candidate.originalIndex : 0;\n });\n\n watch(currentActiveIndex, val => {\n if (Number.isFinite(val)) {\n emit('update:active-index', val);\n }\n });\n\n watch(\n () => props.activeIndex,\n val => {\n if (Number.isFinite(val) && computedItems.value[val].disabled) {\n printDevelopmentWarning(`[bento-anchor-scroller] activeIndex should not be a disabled item`);\n }\n }\n );\n\n const navLabelId = generateUid('bento-anchor-scroller-label');\n</script>\n\n<script lang=\"ts\">\n /**\n * A navigation component that tracks page scroll and allows jumping to sections.\n *\n * @example\n * import { BentoAnchorScroller } from '@adyen/bento-vue2';\n * import { ref } from 'vue';\n *\n * export default {\n * components: { BentoAnchorScroller },\n * template: `\n * <bento-anchor-scroller :items=\"items\">\n * <section ref=\"section1\">Section 1</section>\n * <section ref=\"section2\">Section 2</section>\n * </bento-anchor-scroller>\n * `,\n * setup() {\n * const section1 = ref(null);\n * const section2 = ref(null);\n * const items = ref([\n * { title: 'Section 1', elementRef: section1 },\n * { title: 'Section 2', elementRef: section2 },\n * ]);\n * return {\n * items,\n * section1,\n * section2,\n * }\n * }\n * }\n */\n export default {\n i18n: { messages },\n name: 'bento-anchor-scroller',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./anchor-scroller.scss\" />\n"],"names":["props","__props","listItemRefs","ref","listIndices","computed","item","index","disabled","originalIndex","focusedIndex","next","prev","useCycleList","watch","newIndex","targetComponent","el","unrefElement","scrollToSection","elementRef","printDevelopmentWarning","currentScrollMargin","onKeydownNavigation","useScrollSpy","items","options","activeIndex","scrollY","useWindowScroll","windowHeight","useWindowSize","calculateActiveIndex","list","toValue","viewportHeight","midpoint","winnerIndex","maxVisibleRatio","i","rect","visibleHeight","ratio","watchThrottled","watchEffect","__default__","messages","t","useI18n","emit","__emit","navigationRef","computedItems","enabledItems","top","bottom","useElementBounding","scrollToTargets","c","navigationConditionalClasses","relativeActiveIndex","toRef","debouncedActiveIndex","refDebounced","currentActiveIndex","candidate","val","navLabelId","generateUid"],"mappings":"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"}
1
+ {"version":3,"file":"anchor-scroller.DSfXK6vK.js","sources":["../../../vue2/src/components/anchor-scroller/components/anchor-scroller-list/anchor-scroller-list.vue","../../../vue2/src/components/anchor-scroller/composables/use-scroll-spy/use-scroll-spy.ts","../../../vue2/src/components/anchor-scroller/anchor-scroller.vue"],"sourcesContent":["<template>\n <ul class=\"b-anchor-scroller-list\" @keydown=\"onKeydownNavigation\">\n <li v-for=\"({ title, disabled, elementRef }, index) in items\" :key=\"index\" class=\"b-anchor-scroller-list__item\">\n <bento-button\n ref=\"listItemRefs\"\n :aria-current=\"activeIndex === index ? 'location' : null\"\n class=\"b-anchor-scroller-list__item-button\"\n :class=\"{\n 'b-anchor-scroller-list__item-button--active': activeIndex === index,\n 'b-anchor-scroller-list__item-button--disabled': disabled,\n }\"\n :aria-disabled=\"disabled\"\n :tabindex=\"activeIndex === index ? null : '-1'\"\n variant=\"tertiary-with-background\"\n @click=\"scrollToSection(elementRef, disabled)\"\n @keydown.space.native.prevent=\"scrollToSection(elementRef, disabled)\"\n @keydown.enter.native.prevent=\"scrollToSection(elementRef, disabled)\"\n >\n {{ title }}\n </bento-button>\n </li>\n </ul>\n</template>\n\n<script setup lang=\"ts\">\n import BentoButton from '@/components/button/button.vue';\n import { unrefElement } from '@/directives/click-outside/utils';\n import { printDevelopmentWarning } from '@/utils/ts/print-development-warning';\n import { type BentoAnchorScrollerItem } from '../../anchor-scroller.types';\n import { type AnchorScrollerListProps } from './anchor-scroller-list.types';\n import { computed, ref, watch } from 'vue';\n import { useCycleList } from '@vueuse/core';\n\n const props = withDefaults(defineProps<AnchorScrollerListProps>(), {\n activeIndex: undefined,\n scrollOffset: undefined,\n });\n\n const listItemRefs = ref([]);\n const listIndices = computed(() =>\n props.items\n .map((item, index) => ({ disabled: item.disabled, originalIndex: index }))\n .filter(({ disabled }) => !disabled)\n .map(({ originalIndex }) => originalIndex)\n );\n\n const {\n state: focusedIndex,\n next,\n prev,\n } = useCycleList(listIndices, {\n initialValue: props.activeIndex ?? listIndices.value[0],\n });\n\n watch(focusedIndex, async newIndex => {\n const targetComponent = listItemRefs.value[newIndex];\n const el = unrefElement(targetComponent); // Handles Component or DOM node\n\n if (el && typeof el.focus === 'function') {\n el.focus();\n }\n });\n\n const scrollToSection = (elementRef: BentoAnchorScrollerItem['elementRef'], disabled?: boolean) => {\n if (disabled) {\n return;\n }\n\n const el = unrefElement(elementRef);\n\n if (!el) {\n printDevelopmentWarning(`[bento-anchor-scroller] element ref not found`);\n return;\n }\n\n if (!el.style.scrollMarginTop && props.scrollOffset) {\n const currentScrollMargin = window.getComputedStyle(el).scrollMarginTop;\n\n if (currentScrollMargin === '0px' || currentScrollMargin === '') {\n el.style.scrollMarginTop = `${props.scrollOffset}px`;\n }\n }\n\n if (!el.hasAttribute('tabindex')) {\n el.setAttribute('tabindex', '-1');\n }\n\n el.scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n inline: 'nearest',\n });\n\n el.focus({ preventScroll: true });\n };\n\n const onKeydownNavigation = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowRight':\n e.preventDefault();\n next();\n break;\n case 'ArrowLeft':\n e.preventDefault();\n prev();\n break;\n case 'Home':\n e.preventDefault();\n focusedIndex.value = 0;\n break;\n case 'End':\n e.preventDefault();\n focusedIndex.value = listIndices.value.length - 1;\n break;\n }\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./anchor-scroller-list.scss\" />\n","import { type Ref, ref, watchEffect } from 'vue';\nimport { type MaybeRef, toValue, useWindowScroll, useWindowSize, watchThrottled } from '@vueuse/core';\n\n/**\n * Options for the useScrollSpy composable.\n */\nexport interface useScrollSpyOptions {\n /**\n * The default active index to use when no item is active or initially.\n */\n default?: Ref<number>;\n}\n\n/**\n * Composable to spy on scroll position and determine the active item based on visibility.\n *\n * @param items - The list of elements to spy on.\n * @param options - Configuration options for the scroll spy.\n * @returns An object containing the active index.\n */\nexport const useScrollSpy = (items: MaybeRef<Array<Element>>, options: useScrollSpyOptions) => {\n const activeIndex = ref(options.default?.value ?? -1);\n\n const { y: scrollY } = useWindowScroll();\n const { height: windowHeight } = useWindowSize();\n\n // Logic to find the \"winner\" when there are multiple items on the same page\n const calculateActiveIndex = () => {\n const list = toValue(items);\n const viewportHeight = windowHeight.value;\n const midpoint = viewportHeight / 2;\n\n let winnerIndex = -1;\n let maxVisibleRatio = 0;\n\n for (let i = 0; i < list.length; i++) {\n const item = list[i];\n const el = item;\n\n if (!el) {\n continue;\n }\n\n const rect = el.getBoundingClientRect();\n\n // Constraint 1: Must pass midpoint\n if (rect.top > midpoint) {\n continue;\n }\n\n // Constraint 2: Must be visible\n const visibleHeight = Math.min(rect.bottom, viewportHeight) - Math.max(rect.top, 0);\n if (visibleHeight <= 0) {\n continue;\n }\n\n // Constraint 3: Highest visible % wins\n const ratio = visibleHeight / rect.height;\n\n if (ratio > maxVisibleRatio) {\n maxVisibleRatio = ratio;\n winnerIndex = i;\n }\n }\n\n // Only update if changed to avoid unnecessary patch triggers\n if (winnerIndex !== -1 && activeIndex.value !== winnerIndex) {\n activeIndex.value = winnerIndex;\n }\n };\n\n watchThrottled([scrollY, windowHeight], calculateActiveIndex, { throttle: 100, trailing: true });\n\n watchEffect(() => {\n if (toValue(items).length) {\n calculateActiveIndex();\n }\n });\n\n return {\n activeIndex,\n };\n};\n","<template>\n <div v-if=\"computedItems.length\" class=\"b-anchor-scroller\">\n <nav\n ref=\"navigationRef\"\n class=\"b-anchor-scroller__navigation\"\n :class=\"navigationConditionalClasses\"\n :aria-labelledby=\"navLabelId\"\n >\n <fixed-scroller condensed centered>\n <div class=\"b-anchor-scroller__navigation-panel\">\n <bento-typography\n :id=\"navLabelId\"\n el=\"span\"\n class=\"b-anchor-scroller__navigation-panel-label\"\n stronger\n >\n {{ t('jumpTo') }}\n </bento-typography>\n\n <anchor-scroller-list\n :items=\"computedItems\"\n :active-index=\"currentActiveIndex\"\n :scroll-offset=\"bottom\"\n />\n </div>\n </fixed-scroller>\n </nav>\n\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, ref, toRef, watch } from 'vue';\n import { refDebounced, useElementBounding } from '@vueuse/core';\n import BentoTypography from '@/components/typography/typography.vue';\n import { FixedScroller } from '@/internal';\n import { type BentoAnchorScrollerItem, type BentoAnchorScrollerProps } from './anchor-scroller.types';\n import { AnchorScrollerList } from './components/anchor-scroller-list';\n import { useI18n } from '@/utils/ts/i18n';\n import { generateUid } from '@/core/utils/ts';\n import { unrefElement } from '@/directives/click-outside/utils';\n import messages from './messages.json';\n import { useScrollSpy } from './composables';\n import { printDevelopmentWarning } from '@/utils/ts/print-development-warning';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const props = withDefaults(defineProps<BentoAnchorScrollerProps>(), {\n activeIndex: undefined,\n });\n\n const emit = defineEmits<{\n /**\n * Emits update event when the active index is changed\n */\n (e: 'update:active-index', value: number): void;\n }>();\n\n const navigationRef = ref(null);\n\n const computedItems = computed<Array<BentoAnchorScrollerItem>>(() => props.items.map(item => ({ ...item })));\n\n // Skip and cache only items that are enabled\n const enabledItems = computed(() =>\n props.items\n .map((item, originalIndex) => ({\n element: unrefElement(item.elementRef),\n originalIndex,\n disabled: item.disabled,\n }))\n .filter(\n (item): item is { element: Element; originalIndex: number; disabled: boolean } =>\n !item.disabled && !!item.element\n )\n );\n\n const { top, bottom } = useElementBounding(navigationRef);\n\n // Extract strictly the elements for the ScrollSpy to watch\n const scrollToTargets = computed(() => enabledItems.value.map(c => c.element));\n\n const navigationConditionalClasses = computed(() => ({\n 'b-anchor-scroller__navigation--pinned': top.value <= 1,\n }));\n\n const { activeIndex: relativeActiveIndex } = useScrollSpy(scrollToTargets, {\n default: toRef(props, 'activeIndex'),\n });\n\n const debouncedActiveIndex = refDebounced(relativeActiveIndex, 200);\n\n const currentActiveIndex = computed(() => {\n const candidate = enabledItems.value[debouncedActiveIndex.value];\n\n return candidate ? candidate.originalIndex : 0;\n });\n\n watch(currentActiveIndex, val => {\n if (Number.isFinite(val)) {\n emit('update:active-index', val);\n }\n });\n\n watch(\n () => props.activeIndex,\n val => {\n if (Number.isFinite(val) && computedItems.value[val].disabled) {\n printDevelopmentWarning(`[bento-anchor-scroller] activeIndex should not be a disabled item`);\n }\n }\n );\n\n const navLabelId = generateUid('bento-anchor-scroller-label');\n</script>\n\n<script lang=\"ts\">\n /**\n * A navigation component that tracks page scroll and allows jumping to sections.\n *\n * @example\n * import { BentoAnchorScroller } from '@adyen/bento-vue2';\n * import { ref } from 'vue';\n *\n * export default {\n * components: { BentoAnchorScroller },\n * template: `\n * <bento-anchor-scroller :items=\"items\">\n * <section ref=\"section1\">Section 1</section>\n * <section ref=\"section2\">Section 2</section>\n * </bento-anchor-scroller>\n * `,\n * setup() {\n * const section1 = ref(null);\n * const section2 = ref(null);\n * const items = ref([\n * { title: 'Section 1', elementRef: section1 },\n * { title: 'Section 2', elementRef: section2 },\n * ]);\n * return {\n * items,\n * section1,\n * section2,\n * }\n * }\n * }\n */\n export default {\n i18n: { messages },\n name: 'bento-anchor-scroller',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./anchor-scroller.scss\" />\n"],"names":["props","__props","listItemRefs","ref","listIndices","computed","item","index","disabled","originalIndex","focusedIndex","next","prev","useCycleList","watch","newIndex","targetComponent","el","unrefElement","scrollToSection","elementRef","printDevelopmentWarning","currentScrollMargin","onKeydownNavigation","useScrollSpy","items","options","activeIndex","scrollY","useWindowScroll","windowHeight","useWindowSize","calculateActiveIndex","list","toValue","viewportHeight","midpoint","winnerIndex","maxVisibleRatio","i","rect","visibleHeight","ratio","watchThrottled","watchEffect","__default__","messages","t","useI18n","emit","__emit","navigationRef","computedItems","enabledItems","top","bottom","useElementBounding","scrollToTargets","c","navigationConditionalClasses","relativeActiveIndex","toRef","debouncedActiveIndex","refDebounced","currentActiveIndex","candidate","val","navLabelId","generateUid"],"mappings":"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"}