@adyen/bento-vue3 1.94.0 → 1.96.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 (250) hide show
  1. package/dist/@types/components.d.ts +2 -0
  2. package/dist/@types/index.d.ts +83 -9
  3. package/dist/action-bar.js +1 -1
  4. package/dist/ai-tag.js +1 -1
  5. package/dist/anchor-scroller.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/button-actions.css +1 -1
  10. package/dist/assets/card.css +1 -1
  11. package/dist/assets/dashed-underline.css +1 -1
  12. package/dist/assets/data-grid.css +1 -1
  13. package/dist/assets/date-picker.css +1 -1
  14. package/dist/assets/date-range-picker.css +1 -1
  15. package/dist/assets/date-time-picker.css +1 -0
  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/field-label.css +1 -1
  20. package/dist/assets/file-uploader.css +1 -1
  21. package/dist/assets/filter-bar.css +1 -1
  22. package/dist/assets/form-layout-group.css +1 -0
  23. package/dist/assets/form-layout-title.css +1 -1
  24. package/dist/assets/header-meta.css +1 -1
  25. package/dist/assets/input-field-password.css +1 -1
  26. package/dist/assets/input-field.css +1 -1
  27. package/dist/assets/inspector.css +1 -1
  28. package/dist/assets/modal-fullscreen.css +1 -1
  29. package/dist/assets/navigation-menu-group.css +1 -1
  30. package/dist/assets/secondary-nav.css +1 -1
  31. package/dist/assets/sidepanel.css +1 -1
  32. package/dist/button.js +1 -1
  33. package/dist/card.js +1 -1
  34. package/dist/checkbox.js +2 -2
  35. package/dist/chunks/{action-bar.jhGXgcQl.js → action-bar.CIVprT2U.js} +4 -4
  36. package/dist/chunks/{action-bar.jhGXgcQl.js.map → action-bar.CIVprT2U.js.map} +1 -1
  37. package/dist/chunks/{ai-tag.DIdhvkaT.js → ai-tag.DkTlRY__.js} +2 -2
  38. package/dist/chunks/{ai-tag.DIdhvkaT.js.map → ai-tag.DkTlRY__.js.map} +1 -1
  39. package/dist/chunks/{anchor-scroller.BhppCt1n.js → anchor-scroller.J2mkf0uu.js} +5 -5
  40. package/dist/chunks/{anchor-scroller.BhppCt1n.js.map → anchor-scroller.J2mkf0uu.js.map} +1 -1
  41. package/dist/chunks/{base-modal.DxjZyGlG.js → base-modal.BKtpH-qh.js} +6 -6
  42. package/dist/chunks/{base-modal.DxjZyGlG.js.map → base-modal.BKtpH-qh.js.map} +1 -1
  43. package/dist/chunks/{button-actions-with-menu.DJzCF9ja.js → button-actions-with-menu.cMAAF47d.js} +3 -3
  44. package/dist/chunks/{button-actions-with-menu.DJzCF9ja.js.map → button-actions-with-menu.cMAAF47d.js.map} +1 -1
  45. package/dist/chunks/{button-actions.uco5ptf5.js → button-actions.CxTxPprd.js} +2 -2
  46. package/dist/chunks/{button-actions.uco5ptf5.js.map → button-actions.CxTxPprd.js.map} +1 -1
  47. package/dist/chunks/{calendar.D8CM3XkW.js → calendar.iQyNwQBL.js} +81 -75
  48. package/dist/chunks/calendar.iQyNwQBL.js.map +1 -0
  49. package/dist/chunks/{card.CWzJewQv.js → card.CQlyqa5-.js} +2 -2
  50. package/dist/chunks/{card.CWzJewQv.js.map → card.CQlyqa5-.js.map} +1 -1
  51. package/dist/chunks/{checkbox-group.Bq6PsVI_.js → checkbox-group.BcDIXL27.js} +3 -3
  52. package/dist/chunks/{checkbox-group.Bq6PsVI_.js.map → checkbox-group.BcDIXL27.js.map} +1 -1
  53. package/dist/chunks/{checkbox.DreTXMg0.js → checkbox.LTRqb-pE.js} +2 -2
  54. package/dist/chunks/{checkbox.DreTXMg0.js.map → checkbox.LTRqb-pE.js.map} +1 -1
  55. package/dist/chunks/{code-snippet.CGOmdPc-.js → code-snippet.DHzB-8JJ.js} +4 -4
  56. package/dist/chunks/{code-snippet.CGOmdPc-.js.map → code-snippet.DHzB-8JJ.js.map} +1 -1
  57. package/dist/chunks/{controls-group.D4MEP6GO.js → controls-group.B-wIl-I7.js} +2 -2
  58. package/dist/chunks/{controls-group.D4MEP6GO.js.map → controls-group.B-wIl-I7.js.map} +1 -1
  59. package/dist/chunks/{copy.Dxqx884r.js → copy.XM_7RiIR.js} +3 -3
  60. package/dist/chunks/{copy.Dxqx884r.js.map → copy.XM_7RiIR.js.map} +1 -1
  61. package/dist/chunks/{dashboard-section.NWMwtxVX.js → dashboard-section.Da6ZFGtm.js} +4 -4
  62. package/dist/chunks/{dashboard-section.NWMwtxVX.js.map → dashboard-section.Da6ZFGtm.js.map} +1 -1
  63. package/dist/chunks/dashed-underline.DJmMXcdt.js +85 -0
  64. package/dist/chunks/dashed-underline.DJmMXcdt.js.map +1 -0
  65. package/dist/chunks/{data-grid-template.Bf-VZS0u.js → data-grid-template.-MuGcJp1.js} +4 -4
  66. package/dist/chunks/{data-grid-template.Bf-VZS0u.js.map → data-grid-template.-MuGcJp1.js.map} +1 -1
  67. package/dist/chunks/{data-grid.D_TrebJz.js → data-grid.CNIXkdCJ.js} +885 -882
  68. package/dist/chunks/{data-grid.D_TrebJz.js.map → data-grid.CNIXkdCJ.js.map} +1 -1
  69. package/dist/chunks/date-picker.DyImOUH4.js +277 -0
  70. package/dist/chunks/date-picker.DyImOUH4.js.map +1 -0
  71. package/dist/chunks/{date-range-picker.C5CSReZ5.js → date-range-picker.BigC6wm2.js} +418 -437
  72. package/dist/chunks/date-range-picker.BigC6wm2.js.map +1 -0
  73. package/dist/chunks/{dialog-page.CZN5-Ohm.js → dialog-page.BOwnhJze.js} +2 -2
  74. package/dist/chunks/{dialog-page.CZN5-Ohm.js.map → dialog-page.BOwnhJze.js.map} +1 -1
  75. package/dist/chunks/directive.D1-d-C2K.js +28 -0
  76. package/dist/chunks/directive.D1-d-C2K.js.map +1 -0
  77. package/dist/chunks/draggable-handle.C1dudqKz.js +1649 -0
  78. package/dist/chunks/{draggable-handle.B_E-T3BS.js.map → draggable-handle.C1dudqKz.js.map} +1 -1
  79. package/dist/chunks/drawer.BQoyUVOW.js +64 -0
  80. package/dist/chunks/{drawer.GXqb2HPx.js.map → drawer.BQoyUVOW.js.map} +1 -1
  81. package/dist/chunks/{dropdown-tag.DUDW-Be6.js → dropdown-tag.C1ei1SyR.js} +3 -3
  82. package/dist/chunks/{dropdown-tag.DUDW-Be6.js.map → dropdown-tag.C1ei1SyR.js.map} +1 -1
  83. package/dist/chunks/{dropdown.Bsic3Nll.js → dropdown.C5um1anU.js} +523 -508
  84. package/dist/chunks/dropdown.C5um1anU.js.map +1 -0
  85. package/dist/chunks/{field-label.DFtyMriH.js → field-label.CLV3nSzz.js} +2 -2
  86. package/dist/chunks/{field-label.DFtyMriH.js.map → field-label.CLV3nSzz.js.map} +1 -1
  87. package/dist/chunks/{file-uploader.CKo27YzT.js → file-uploader.C9YOBRQg.js} +39 -38
  88. package/dist/chunks/{file-uploader.CKo27YzT.js.map → file-uploader.C9YOBRQg.js.map} +1 -1
  89. package/dist/chunks/{filter-bar.Dhghqmhb.js → filter-bar.CvZnM3hM.js} +282 -279
  90. package/dist/chunks/{filter-bar.Dhghqmhb.js.map → filter-bar.CvZnM3hM.js.map} +1 -1
  91. package/dist/chunks/{focus-trap.DcxrXRKl.js → focus-trap.Dl_rHbwH.js} +2 -2
  92. package/dist/chunks/{focus-trap.DcxrXRKl.js.map → focus-trap.Dl_rHbwH.js.map} +1 -1
  93. package/dist/chunks/{footer-actions.Dyi8PTyI.js → footer-actions.zlKq74F1.js} +2 -2
  94. package/dist/chunks/{footer-actions.Dyi8PTyI.js.map → footer-actions.zlKq74F1.js.map} +1 -1
  95. package/dist/chunks/form-layout-group.08QuvVmC.js +81 -0
  96. package/dist/chunks/form-layout-group.08QuvVmC.js.map +1 -0
  97. package/dist/chunks/form-layout-title.Kwve4xv2.js +179 -0
  98. package/dist/chunks/form-layout-title.Kwve4xv2.js.map +1 -0
  99. package/dist/chunks/header-meta.NFZo1ACP.js +243 -0
  100. package/dist/chunks/{header-meta.I2Tztkls.js.map → header-meta.NFZo1ACP.js.map} +1 -1
  101. package/dist/chunks/{header-with-views.MPJPxTzT.js → header-with-views.ubPTyW9A.js} +10 -10
  102. package/dist/chunks/{header-with-views.MPJPxTzT.js.map → header-with-views.ubPTyW9A.js.map} +1 -1
  103. package/dist/chunks/{header.CBzF5Ap9.js → header.Ds0sFKBB.js} +3 -3
  104. package/dist/chunks/{header.CBzF5Ap9.js.map → header.Ds0sFKBB.js.map} +1 -1
  105. package/dist/chunks/{index.Cqv1XuTj.js → index.oOAkh64h.js} +248 -225
  106. package/dist/chunks/{index.Cqv1XuTj.js.map → index.oOAkh64h.js.map} +1 -1
  107. package/dist/chunks/{info-icon.C_ZkQb1d.js → info-icon.1FtkyuYH.js} +3 -3
  108. package/dist/chunks/{info-icon.C_ZkQb1d.js.map → info-icon.1FtkyuYH.js.map} +1 -1
  109. package/dist/chunks/{input-field-password.CA16O5Gv.js → input-field-password.CZ-NTpZF.js} +26 -25
  110. package/dist/chunks/input-field-password.CZ-NTpZF.js.map +1 -0
  111. package/dist/chunks/{input-field-phone-number.CTeDyk0e.js → input-field-phone-number.DOHk6gSp.js} +13 -14
  112. package/dist/chunks/{input-field-phone-number.CTeDyk0e.js.map → input-field-phone-number.DOHk6gSp.js.map} +1 -1
  113. package/dist/chunks/{input-field.DlEEFday.js → input-field.DBlTGgAD.js} +104 -101
  114. package/dist/chunks/input-field.DBlTGgAD.js.map +1 -0
  115. package/dist/chunks/{input-time.CIdcQBgS.js → input-time.CHIjCO74.js} +7 -8
  116. package/dist/chunks/{input-time.CIdcQBgS.js.map → input-time.CHIjCO74.js.map} +1 -1
  117. package/dist/chunks/{inspector.BdPLtQ1t.js → inspector.BvBC1ABK.js} +3 -3
  118. package/dist/chunks/{inspector.BdPLtQ1t.js.map → inspector.BvBC1ABK.js.map} +1 -1
  119. package/dist/chunks/{layout-row.PGFh3qzc.js → layout-row.BsGdHl3d.js} +8 -8
  120. package/dist/chunks/{layout-row.PGFh3qzc.js.map → layout-row.BsGdHl3d.js.map} +1 -1
  121. package/dist/chunks/{list-item.D34osEIh.js → list-item.E1o7yuEB.js} +2 -2
  122. package/dist/chunks/{list-item.D34osEIh.js.map → list-item.E1o7yuEB.js.map} +1 -1
  123. package/dist/chunks/{listbox-option-tag.12duL_ZH.js → listbox-option-tag.yF6p9iQw.js} +2 -2
  124. package/dist/chunks/{listbox-option-tag.12duL_ZH.js.map → listbox-option-tag.yF6p9iQw.js.map} +1 -1
  125. package/dist/chunks/{modal-fullscreen.BGpyGUGB.js → modal-fullscreen.DmruiE3n.js} +4 -4
  126. package/dist/chunks/{modal-fullscreen.BGpyGUGB.js.map → modal-fullscreen.DmruiE3n.js.map} +1 -1
  127. package/dist/chunks/{modal.vue_vue_type_script_setup_true_lang.B_CD-6Sn.js → modal.vue_vue_type_script_setup_true_lang.CrJQWuzb.js} +4 -4
  128. package/dist/chunks/{modal.vue_vue_type_script_setup_true_lang.B_CD-6Sn.js.map → modal.vue_vue_type_script_setup_true_lang.CrJQWuzb.js.map} +1 -1
  129. package/dist/chunks/navigation-menu-group.CQ6ImGsJ.js +336 -0
  130. package/dist/chunks/navigation-menu-group.CQ6ImGsJ.js.map +1 -0
  131. package/dist/chunks/{pagination.CbGLdXSQ.js → pagination.DbpHH_53.js} +2 -2
  132. package/dist/chunks/{pagination.CbGLdXSQ.js.map → pagination.DbpHH_53.js.map} +1 -1
  133. package/dist/chunks/popover.types.DATOPtuh.js +6 -0
  134. package/dist/chunks/{popover.types.63w2RF7Y.js.map → popover.types.DATOPtuh.js.map} +1 -1
  135. package/dist/chunks/{popper-container.WR8Hb24e.js → popper-container.BH4WxeUj.js} +2 -2
  136. package/dist/chunks/{popper-container.WR8Hb24e.js.map → popper-container.BH4WxeUj.js.map} +1 -1
  137. package/dist/chunks/{promo-banner.DS8jlFES.js → promo-banner.DvV9eXs4.js} +2 -2
  138. package/dist/chunks/{promo-banner.DS8jlFES.js.map → promo-banner.DvV9eXs4.js.map} +1 -1
  139. package/dist/chunks/{radio-group.DpLQ_Wnj.js → radio-group.Cg67ZU0c.js} +3 -3
  140. package/dist/chunks/{radio-group.DpLQ_Wnj.js.map → radio-group.Cg67ZU0c.js.map} +1 -1
  141. package/dist/chunks/{rich-text-editor.CRa59ETT.js → rich-text-editor.u-V4fNWK.js} +4 -4
  142. package/dist/chunks/{rich-text-editor.CRa59ETT.js.map → rich-text-editor.u-V4fNWK.js.map} +1 -1
  143. package/dist/chunks/{search-bar.tmX9JctT.js → search-bar.TKgi1KLs.js} +5 -6
  144. package/dist/chunks/{search-bar.tmX9JctT.js.map → search-bar.TKgi1KLs.js.map} +1 -1
  145. package/dist/chunks/secondary-nav.0OsJiAWI.js +315 -0
  146. package/dist/chunks/{secondary-nav.KIu9A7pb.js.map → secondary-nav.0OsJiAWI.js.map} +1 -1
  147. package/dist/chunks/{segmented-control.Dxfpt98K.js → segmented-control.D6Yvxxpc.js} +2 -2
  148. package/dist/chunks/{segmented-control.Dxfpt98K.js.map → segmented-control.D6Yvxxpc.js.map} +1 -1
  149. package/dist/chunks/{selection-card-group.BVxESHZH.js → selection-card-group.C59ZIrVm.js} +3 -3
  150. package/dist/chunks/{selection-card-group.BVxESHZH.js.map → selection-card-group.C59ZIrVm.js.map} +1 -1
  151. package/dist/chunks/set-time-in-date.9-8WOiMT.js +27 -0
  152. package/dist/chunks/set-time-in-date.9-8WOiMT.js.map +1 -0
  153. package/dist/chunks/{sidepanel.BwesEWP_.js → sidepanel.BVQt6Tac.js} +6 -6
  154. package/dist/chunks/{sidepanel.BwesEWP_.js.map → sidepanel.BVQt6Tac.js.map} +1 -1
  155. package/dist/chunks/{structured-list-item.DUWQ4ggz.js → structured-list-item.BhYtSw2f.js} +4 -4
  156. package/dist/chunks/{structured-list-item.DUWQ4ggz.js.map → structured-list-item.BhYtSw2f.js.map} +1 -1
  157. package/dist/chunks/{summary-grid.types.BvZUfgwA.js → summary-grid.types.9sUs0LS0.js} +5 -5
  158. package/dist/chunks/{summary-grid.types.BvZUfgwA.js.map → summary-grid.types.9sUs0LS0.js.map} +1 -1
  159. package/dist/chunks/{tab.DKVHFvuI.js → tab.ByjWuWQz.js} +108 -99
  160. package/dist/chunks/{tab.DKVHFvuI.js.map → tab.ByjWuWQz.js.map} +1 -1
  161. package/dist/chunks/{tag.DyNHhsGt.js → tag.Uu-6AQys.js} +2 -2
  162. package/dist/chunks/{tag.DyNHhsGt.js.map → tag.Uu-6AQys.js.map} +1 -1
  163. package/dist/chunks/{textarea.DNeZr2IZ.js → textarea.QgSLPL7S.js} +2 -2
  164. package/dist/chunks/{textarea.DNeZr2IZ.js.map → textarea.QgSLPL7S.js.map} +1 -1
  165. package/dist/chunks/{timeline-item.CfA1E0zq.js → timeline-item.DfwOm5do.js} +6 -6
  166. package/dist/chunks/{timeline-item.CfA1E0zq.js.map → timeline-item.DfwOm5do.js.map} +1 -1
  167. package/dist/chunks/{tooltip.CuwiX213.js → tooltip.Djn54E1O.js} +3 -3
  168. package/dist/chunks/{tooltip.CuwiX213.js.map → tooltip.Djn54E1O.js.map} +1 -1
  169. package/dist/chunks/{tutorial.vue_vue_type_script_setup_true_lang.4vdcgS4f.js → tutorial.vue_vue_type_script_setup_true_lang.B5-sWGlz.js} +4 -4
  170. package/dist/chunks/{tutorial.vue_vue_type_script_setup_true_lang.4vdcgS4f.js.map → tutorial.vue_vue_type_script_setup_true_lang.B5-sWGlz.js.map} +1 -1
  171. package/dist/chunks/use-bento-delayed-hover.Csc3nIWt.js +30 -0
  172. package/dist/chunks/use-bento-delayed-hover.Csc3nIWt.js.map +1 -0
  173. package/dist/chunks/{use-cached-selected-values.C2nbQ4g-.js → use-cached-selected-values.DOw5IKdU.js} +3 -3
  174. package/dist/chunks/{use-cached-selected-values.C2nbQ4g-.js.map → use-cached-selected-values.DOw5IKdU.js.map} +1 -1
  175. package/dist/chunks/{use-date-input-formatter.DaBZd09a.js → use-date-input-formatter.x285YiSd.js} +2 -2
  176. package/dist/chunks/{use-date-input-formatter.DaBZd09a.js.map → use-date-input-formatter.x285YiSd.js.map} +1 -1
  177. package/dist/code-snippet.js +1 -1
  178. package/dist/dashboard-template.js +1 -1
  179. package/dist/dashed-underline.js +1 -1
  180. package/dist/data-grid-template.js +1 -1
  181. package/dist/data-grid.js +1 -1
  182. package/dist/date-picker.js +2 -2
  183. package/dist/date-range-picker.js +2 -2
  184. package/dist/date-time-picker.js +123 -0
  185. package/dist/date-time-picker.js.map +1 -0
  186. package/dist/draggable.js +1 -1
  187. package/dist/drawer.js +1 -1
  188. package/dist/dropdown.js +3 -3
  189. package/dist/file-uploader.js +1 -1
  190. package/dist/filter-bar.js +1 -1
  191. package/dist/focus-trap.js +1 -1
  192. package/dist/form-layout.js +5 -4
  193. package/dist/form-layout.js.map +1 -1
  194. package/dist/header-with-views.js +1 -1
  195. package/dist/header.js +1 -1
  196. package/dist/index.js +217 -216
  197. package/dist/index.js.map +1 -1
  198. package/dist/info-icon.js +1 -1
  199. package/dist/input-field-password.js +1 -1
  200. package/dist/input-field-phone-number.js +1 -1
  201. package/dist/input-field.js +1 -1
  202. package/dist/input-time.js +1 -1
  203. package/dist/inspector.js +1 -1
  204. package/dist/internal.js +11 -11
  205. package/dist/layout.js +1 -1
  206. package/dist/list.js +1 -1
  207. package/dist/menu.js +1 -1
  208. package/dist/modal-fullscreen.js +1 -1
  209. package/dist/modal.js +2 -2
  210. package/dist/navigation-menu.js +1 -1
  211. package/dist/pagination.js +1 -1
  212. package/dist/popover.js +2 -2
  213. package/dist/popper-container.js +1 -1
  214. package/dist/promo-banner.js +1 -1
  215. package/dist/radio-group.js +1 -1
  216. package/dist/rich-text-editor.js +1 -1
  217. package/dist/search-bar.js +2 -2
  218. package/dist/secondary-nav.js +1 -1
  219. package/dist/segmented-control.js +1 -1
  220. package/dist/selection-card.js +1 -1
  221. package/dist/sidepanel.js +1 -1
  222. package/dist/structured-list.js +1 -1
  223. package/dist/summary-grid.js +1 -1
  224. package/dist/tabs.js +1 -1
  225. package/dist/tag.js +1 -1
  226. package/dist/textarea.js +1 -1
  227. package/dist/timeline.js +1 -1
  228. package/dist/tutorial.js +1 -1
  229. package/dist/web-types.json +1 -1
  230. package/package.json +6 -6
  231. package/dist/chunks/calendar.D8CM3XkW.js.map +0 -1
  232. package/dist/chunks/dashed-underline.DojqhvAa.js +0 -108
  233. package/dist/chunks/dashed-underline.DojqhvAa.js.map +0 -1
  234. package/dist/chunks/date-picker.DUUGSbot.js +0 -269
  235. package/dist/chunks/date-picker.DUUGSbot.js.map +0 -1
  236. package/dist/chunks/date-range-picker.C5CSReZ5.js.map +0 -1
  237. package/dist/chunks/directive.C8kY-ZW-.js +0 -23
  238. package/dist/chunks/directive.C8kY-ZW-.js.map +0 -1
  239. package/dist/chunks/draggable-handle.B_E-T3BS.js +0 -1639
  240. package/dist/chunks/drawer.GXqb2HPx.js +0 -55
  241. package/dist/chunks/dropdown.Bsic3Nll.js.map +0 -1
  242. package/dist/chunks/form-layout-title.B712PesH.js +0 -253
  243. package/dist/chunks/form-layout-title.B712PesH.js.map +0 -1
  244. package/dist/chunks/header-meta.I2Tztkls.js +0 -259
  245. package/dist/chunks/input-field-password.CA16O5Gv.js.map +0 -1
  246. package/dist/chunks/input-field.DlEEFday.js.map +0 -1
  247. package/dist/chunks/navigation-menu-group.D5HMMAuh.js +0 -320
  248. package/dist/chunks/navigation-menu-group.D5HMMAuh.js.map +0 -1
  249. package/dist/chunks/popover.types.63w2RF7Y.js +0 -6
  250. package/dist/chunks/secondary-nav.KIu9A7pb.js +0 -306
@@ -1 +1 @@
1
- {"version":3,"file":"summary-grid.types.BvZUfgwA.js","sources":["../../../vue2/src/components/summary-grid/summary-grid.vue","../../../vue2/src/components/summary-grid/components/summary-grid-item/summary-grid-item.vue","../../../vue2/src/components/summary-grid/components/summary-grid-item-amount/summary-grid-item-amount.vue","../../../vue2/src/components/summary-grid/components/summary-grid-item-numeric/summary-grid-item-numeric.vue","../../../vue2/src/components/summary-grid/components/summary-grid-item-percentage/summary-grid-item-percentage.vue","../../../vue2/src/components/summary-grid/components/summary-grid-item-text/summary-grid-item-text.vue","../../../vue2/src/components/summary-grid/components/summary-grid-item-custom/summary-grid-item-custom.vue","../../../vue2/src/components/summary-grid/summary-grid.types.ts"],"sourcesContent":["<template>\n <div class=\"b-summary-grid\">\n <grid-layout\n v-for=\"index in numberOfRows\"\n :key=\"`summary-grid-row-${index}`\"\n :data-testid=\"`summary-grid-row-${index}`\"\n :column-width=\"columnWidth?.[`row${index}`]\"\n >\n <template v-if=\"hasSlot(`cell-${index}-1`)\" #col-1>\n <slot :name=\"`cell-${index}-1`\" />\n </template>\n <template v-if=\"hasSlot(`cell-${index}-2`)\" #col-2>\n <slot :name=\"`cell-${index}-2`\" />\n </template>\n <template v-if=\"hasSlot(`cell-${index}-3`)\" #col-3>\n <slot :name=\"`cell-${index}-3`\" />\n </template>\n <template v-if=\"hasSlot(`cell-${index}-4`)\" #col-4>\n <slot :name=\"`cell-${index}-4`\" />\n </template>\n <template v-if=\"hasSlot(`cell-${index}-5`)\" #col-5>\n <slot :name=\"`cell-${index}-5`\" />\n </template>\n <template v-if=\"hasSlot(`cell-${index}-6`)\" #col-6>\n <slot :name=\"`cell-${index}-6`\" />\n </template>\n </grid-layout>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { onMounted, provide, toRef, useSlots } from 'vue';\n import type { BentoSummaryGridLayout, BentoSummaryGridProps } from './summary-grid.types';\n import { GridLayout } from '@/components/internal';\n import { useHasSlot } from '@/composables';\n import {\n SUMMARY_GRID_LAYOUT_INJECTION_KEY,\n SUMMARY_GRID_SLASHED_ZERO,\n } from '@/components/summary-grid/summary-grid.keys';\n\n const props = withDefaults(defineProps<BentoSummaryGridProps>(), {\n columnWidth: null,\n slashedZero: false,\n });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n let numberOfRows = 1;\n if (slots) {\n const slotRows = Object.keys(slots)\n ?.filter(slotName => slotName.includes('cell-'))\n ?.map(slotName => parseInt(slotName.split('-')?.[1], 10));\n numberOfRows = Math.max(...slotRows);\n }\n\n onMounted(() => {\n if (numberOfRows > 3) {\n throw new Error(\n 'BentoSummaryGrid must only have a maximum of 3 rows. Read the documentation for more information.'\n );\n }\n });\n\n const registerComponentsInSummaryGrid: BentoSummaryGridLayout = () => {\n const isSummaryGridLayout = true;\n return { isSummaryGridLayout };\n };\n\n provide(SUMMARY_GRID_LAYOUT_INJECTION_KEY, registerComponentsInSummaryGrid);\n provide(SUMMARY_GRID_SLASHED_ZERO, toRef(props, 'slashedZero'));\n</script>\n\n<script lang=\"ts\">\n /**\n * A summary grid component that displays a collection items.\n *\n * @example\n * import { BentoSummaryGrid, BentoSummaryGridItemAmount } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoSummaryGrid, BentoSummaryGridItemAmount },\n * template: `\n * <bento-summary-grid>\n * <template #cell-2-2>\n * <bento-summary-grid-item-amount\n * title=\"Text Item\"\n * label=\"14\"\n * info-icon-tooltip-text=\"text for icon\"\n * copy=\"copy this to clipboard\"\n * />\n * </template>\n * </bento-summary-grid>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./summary-grid.scss\" />\n","<template>\n <div class=\"b-summary-grid-item\" :class=\"conditionalClasses\" :style=\"computedStyles\">\n <div class=\"b-summary-grid-item__header\">\n <bento-typography class=\"b-summary-grid-item__title\" el=\"span\" variant=\"body\">\n <bento-dashed-underline\n v-if=\"withUnderline\"\n :tooltip-text=\"underlineTooltipText\"\n :popover-size=\"underlinePopoverSize\"\n >\n {{ title }}\n <template v-if=\"hasSlot('dashed-underline')\" #popover-content>\n <slot name=\"dashed-underline\"></slot>\n </template>\n </bento-dashed-underline>\n <template v-else>\n {{ title }}\n </template>\n </bento-typography>\n <div class=\"b-summary-grid-item__title-icons\">\n <copy v-if=\"copy\" class=\"b-structured-list__icon\" :text=\"copy\" @click=\"$emit('copy-click', $event)\" />\n\n <bento-info-icon\n v-if=\"infoIconTooltipText\"\n :tooltip-text=\"infoIconTooltipText\"\n tooltip-position=\"top\"\n class=\"b-summary-grid-item__title-tooltip\"\n @mouseenter=\"$emit('info-icon-mouseenter', $event)\"\n />\n </div>\n </div>\n <bento-typography\n data-testid=\"summary-grid-item-content-typography\"\n class=\"b-summary-grid-item__title\"\n v-bind=\"typographyProps\"\n el=\"span\"\n >\n <slot />\n <bento-tag\n v-if=\"trend && itemType !== 'text'\"\n :variant=\"trendVariant\"\n :label=\"trend\"\n class=\"b-summary-grid-item__content-trend\"\n />\n </bento-typography>\n <bento-typography\n v-if=\"hasSlot('secondary')\"\n class=\"b-summary-grid-item__title\"\n data-testid=\"summary-grid-item-secondary-metric-typography\"\n el=\"span\"\n variant=\"caption\"\n stronger\n >\n <slot name=\"secondary\" />\n <bento-tag\n v-if=\"secondaryTrend\"\n :variant=\"secondaryTrendVariant\"\n :label=\"secondaryTrend\"\n class=\"b-summary-grid-item__content-trend\"\n />\n </bento-typography>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, inject, ref, toRefs, useSlots } from 'vue';\n\n // Components\n import { BentoDashedUnderline } from '@/components/dashed-underline';\n import { BentoInfoIcon } from '@/components/info-icon';\n import { BentoTypography, type BentoTypographyVariant } from '@/components/typography';\n import { BentoTag, type BentoTagVariant } from '@/components/tag';\n import { Copy } from '@/internal';\n\n // Utils\n import { useHasSlot } from '@/composables';\n\n // Types\n import { SUMMARY_GRID_SLASHED_ZERO } from '@/components/summary-grid/summary-grid.keys';\n import type { BentoSummaryGridItemTrendDirection } from '@/components/summary-grid/summary-grid.types';\n import type { BentoSummaryGridItemProps } from './summary-grid-item.types';\n\n defineEmits<{\n /**\n * Emitted when the copy button is clicked.\n */\n (e: 'copy-click', event: MouseEvent): void;\n\n /**\n * Emitted when the mouse pointer enters the info icon component.\n */\n (e: 'info-icon-mouseenter', event: MouseEvent): void;\n }>();\n\n const props = withDefaults(defineProps<BentoSummaryGridItemProps>(), {\n copy: undefined,\n fitContent: false,\n infoIconTooltipText: null,\n itemType: 'custom',\n secondaryTrend: null,\n secondaryTrendDirection: 'positive',\n size: 'small',\n trend: null,\n trendDirection: 'positive',\n underlinePopoverSize: 'fit-content',\n underlineTooltipText: null,\n });\n\n const { trendDirection, secondaryTrendDirection, itemType, size } = toRefs(props);\n const hasSlashedZero = inject(SUMMARY_GRID_SLASHED_ZERO, ref(false));\n\n const tagVariantColor = (direction: `${BentoSummaryGridItemTrendDirection}`): `${BentoTagVariant}` => {\n switch (direction) {\n case 'positive':\n return 'green';\n case 'negative':\n return 'red';\n default:\n return 'blue';\n }\n };\n\n // TODO implement plus or minus symbol logic\n const trendVariant = computed(() => tagVariantColor(trendDirection.value));\n const secondaryTrendVariant = computed(() => tagVariantColor(secondaryTrendDirection.value));\n\n const typographyContentElement = computed<`${BentoTypographyVariant}`>(() => {\n if (size.value === 'small') {\n return 'body';\n }\n if (itemType.value !== 'text') {\n return 'title';\n }\n\n return null;\n });\n\n const typographyProps = computed(() => ({\n medium: size.value === 'large',\n strongest: size.value === 'small',\n wide: size.value === 'small',\n variant: typographyContentElement.value,\n }));\n\n const computedStyles = computed(() => (props.fitContent ? { width: 'fit-content' } : {}));\n\n const conditionalClasses = computed(() => ({ 'b-summary-grid-item--slashed-zero': hasSlashedZero.value }));\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n const withUnderline = computed(() => props.underlineTooltipText || hasSlot('dashed-underline'));\n</script>\n\n<script lang=\"ts\">\n /**\n * A summary bar item is a piece of information to be displayed in `bento-summary-bar` component\n *\n * @example\n * import { SummaryBarItem } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { SummaryBarItem },\n * template: `\n * <summary-grid-item :title=\"textVariable\">\n * Content of the item\n * </summary-grid-item>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./summary-grid-item.scss\" />\n","<template>\n <summary-grid-item\n item-type=\"amount\"\n :info-icon-tooltip-text=\"infoIconTooltipText\"\n :title=\"title\"\n :copy=\"copy\"\n :fit-content=\"fitContent\"\n :size=\"size\"\n :trend=\"trend\"\n :trend-direction=\"trendDirection\"\n :secondary-trend=\"secondaryTrend\"\n :secondary-trend-direction=\"secondaryTrendDirection\"\n :underline-popover-size=\"underlinePopoverSize\"\n :underline-tooltip-text=\"underlineTooltipText\"\n class=\"b-summary-grid-item-amount\"\n @copy-click=\"$emit('copy-click', $event)\"\n @info-icon-mouseenter=\"$emit('info-icon-mouseenter', $event)\"\n >\n <template v-if=\"hasSlot('dashed-underline')\" #dashed-underline>\n <slot name=\"dashed-underline\" />\n </template>\n <div class=\"b-summary-grid-item-amount__content\">\n <div>{{ label }}</div>\n <bento-typography\n v-if=\"secondaryLabel\"\n variant=\"caption\"\n class=\"b-summary-grid-item-amount__secondary-label\"\n >{{ secondaryLabel }}</bento-typography\n >\n </div>\n <template v-if=\"secondaryMetric\" #secondary>\n {{ secondaryMetric }}\n </template>\n </summary-grid-item>\n</template>\n\n<script setup lang=\"ts\">\n import { useSlots } from 'vue';\n import { BentoTypography } from '@/components/typography';\n import { SummaryGridItem } from '../summary-grid-item';\n import { useHasSlot } from '@/composables';\n import type { BentoSummaryGridItemAmountProps } from './summary-grid-item-amount.types';\n\n defineEmits<{\n /**\n * Emitted when the copy button is clicked.\n */\n (e: 'copy-click', event: MouseEvent): void;\n\n /**\n * Emitted when the mouse pointer enters the info icon component.\n */\n (e: 'info-icon-mouseenter', event: MouseEvent): void;\n }>();\n\n withDefaults(defineProps<BentoSummaryGridItemAmountProps>(), {\n copy: undefined,\n fitContent: false,\n infoIconTooltipText: null,\n secondaryLabel: null,\n secondaryMetric: null,\n secondaryTrend: null,\n secondaryTrendDirection: 'positive',\n size: 'small',\n trend: null,\n trendDirection: 'positive',\n underlinePopoverSize: 'fit-content',\n underlineTooltipText: null,\n });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n</script>\n\n<script lang=\"ts\">\n /**\n * Summary grid item component used to display financial data, such as currency values and monetary amounts\n *\n * @example\n * import { BentoSummaryGridItemAmount } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoSummaryGridItemAmount },\n * template: `\n * <bento-summary-grid-item-amount\n * title=\"Your title\"\n * label=\"200.00 EUR\"\n * secondary-label=\"/ day\"\n * info-icon-tooltip-text=\"Your tooltip text here will be toggled by the info icon\"\n * trend=\"+12%\"\n * trend-direction=\"neutral\"\n * size=\"medium\"\n * />\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./summary-grid-item-amount.scss\" />\n","<template>\n <summary-grid-item\n item-type=\"numeric\"\n :info-icon-tooltip-text=\"infoIconTooltipText\"\n :title=\"title\"\n :copy=\"copy\"\n :fit-content=\"fitContent\"\n :size=\"size\"\n :trend=\"trend\"\n :trend-direction=\"trendDirection\"\n :secondary-trend=\"secondaryTrend\"\n :secondary-trend-direction=\"secondaryTrendDirection\"\n :underline-popover-size=\"underlinePopoverSize\"\n :underline-tooltip-text=\"underlineTooltipText\"\n class=\"b-summary-grid-item-numeric\"\n @copy-click=\"$emit('copy-click', $event)\"\n @info-icon-mouseenter=\"$emit('info-icon-mouseenter', $event)\"\n >\n <template v-if=\"hasSlot('dashed-underline')\" #dashed-underline>\n <slot name=\"dashed-underline\" />\n </template>\n {{ label }}\n <template v-if=\"secondaryMetric\" #secondary>\n {{ secondaryMetric }}\n </template>\n </summary-grid-item>\n</template>\n\n<script setup lang=\"ts\">\n import { useSlots } from 'vue';\n import { SummaryGridItem } from '../summary-grid-item';\n import { useHasSlot } from '@/composables';\n import type { BentoSummaryGridItemNumericProps } from './summary-grid-item-numeric.types';\n\n defineEmits<{\n /**\n * Emitted when the copy button is clicked.\n */\n (e: 'copy-click', event: MouseEvent): void;\n\n /**\n * Emitted when the mouse pointer enters the info icon component.\n */\n (e: 'info-icon-mouseenter', event: MouseEvent): void;\n }>();\n\n withDefaults(defineProps<BentoSummaryGridItemNumericProps>(), {\n copy: undefined,\n fitContent: false,\n infoIconTooltipText: null,\n secondaryMetric: null,\n secondaryTrend: null,\n secondaryTrendDirection: 'positive',\n size: 'small',\n trend: null,\n trendDirection: 'positive',\n underlinePopoverSize: 'fit-content',\n underlineTooltipText: null,\n });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n</script>\n\n<script lang=\"ts\">\n /**\n * Summary grid item component used to display any numeric information\n *\n * @example\n * import { BentoSummaryGridItemNumeric } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoSummaryGridItemNumeric },\n * template: `\n * <bento-summary-grid-item-numeric\n * title=\"Your title\"\n * label=\"123\"\n * info-icon-tooltip-text=\"Your tooltip text here will be toggled by the info icon\"\n * trend=\"+12%\"\n * trend-direction=\"neutral\"\n * size=\"medium\"\n * />\n * `\n * }\n */\n export default {};\n</script>\n","<template>\n <summary-grid-item\n item-type=\"percentage\"\n :info-icon-tooltip-text=\"infoIconTooltipText\"\n :title=\"title\"\n :copy=\"copy\"\n :fit-content=\"fitContent\"\n :size=\"size\"\n :trend=\"trend\"\n :trend-direction=\"trendDirection\"\n :secondary-trend=\"secondaryTrend\"\n :secondary-trend-direction=\"secondaryTrendDirection\"\n :underline-popover-size=\"underlinePopoverSize\"\n :underline-tooltip-text=\"underlineTooltipText\"\n class=\"b-summary-grid-item-percentage\"\n @copy-click=\"$emit('copy-click', $event)\"\n @info-icon-mouseenter=\"$emit('info-icon-mouseenter', $event)\"\n >\n <template v-if=\"hasSlot('dashed-underline')\" #dashed-underline>\n <slot name=\"dashed-underline\" />\n </template>\n {{ computedLabelPercentage }}\n <template v-if=\"secondaryMetric\" #secondary> {{ computedSecondaryMetricPercentage }} </template>\n </summary-grid-item>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, useSlots } from 'vue';\n import { SummaryGridItem } from '../summary-grid-item';\n import { useHasSlot } from '@/composables';\n import { useI18n } from '@/utils/ts/i18n';\n import type { BentoSummaryGridItemPercentageProps } from './summary-grid-item-percentage.types';\n import type { NumberFormatOptions } from 'vue-i18n';\n\n const { locale } = useI18n();\n\n defineEmits<{\n /**\n * Emitted when the copy button is clicked.\n */\n (e: 'copy-click', event: MouseEvent): void;\n\n /**\n * Emitted when the mouse pointer enters the info icon component.\n */\n (e: 'info-icon-mouseenter', event: MouseEvent): void;\n }>();\n\n const props = withDefaults(defineProps<BentoSummaryGridItemPercentageProps>(), {\n copy: undefined,\n fitContent: false,\n infoIconTooltipText: null,\n secondaryMetric: null,\n secondaryTrend: null,\n secondaryTrendDirection: 'positive',\n size: 'small',\n trend: null,\n trendDirection: 'positive',\n underlinePopoverSize: 'fit-content',\n underlineTooltipText: null,\n });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const percentageArgs: NumberFormatOptions = {\n style: 'percent',\n maximumFractionDigits: 2,\n };\n\n const isNumeric = (value: string | number) => value != null && value !== '' && !isNaN(Number(value));\n const convertToPercentIfNumber = (value: string | number) => {\n if (value && isNumeric(value)) {\n return new Intl.NumberFormat(locale.value, percentageArgs).format(Number(value) / 100);\n }\n return value;\n };\n\n const computedLabelPercentage = computed(() => convertToPercentIfNumber(props.label));\n const computedSecondaryMetricPercentage = computed(() => convertToPercentIfNumber(props.secondaryMetric));\n</script>\n\n<script lang=\"ts\">\n /**\n * Summary grid item component used to display any percentage information\n *\n * @example\n * import { BentoSummaryGridItemPercentage } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoSummaryGridItemPercentage },\n * template: `\n * <bento-summary-grid-item-percentage\n * title=\"Your title\"\n * label=\"123\"\n * info-icon-tooltip-text=\"Your tooltip text here will be toggled by the info icon\"\n * trend=\"+12%\"\n * trend-direction=\"neutral\"\n * size=\"medium\"\n * />\n * `\n * }\n */\n export default {\n i18n: {},\n };\n</script>\n","<template>\n <summary-grid-item\n item-type=\"text\"\n :info-icon-tooltip-text=\"infoIconTooltipText\"\n :title=\"title\"\n :copy=\"copy\"\n :fit-content=\"fitContent\"\n :underline-popover-size=\"underlinePopoverSize\"\n :underline-tooltip-text=\"underlineTooltipText\"\n class=\"b-summary-grid-item-text\"\n @copy-click=\"$emit('copy-click', $event)\"\n @info-icon-mouseenter=\"$emit('info-icon-mouseenter', $event)\"\n >\n <template v-if=\"hasSlot('dashed-underline')\" #dashed-underline>\n <slot name=\"dashed-underline\" />\n </template>\n {{ label }}\n </summary-grid-item>\n</template>\n\n<script setup lang=\"ts\">\n import { useSlots } from 'vue';\n import { SummaryGridItem } from '../summary-grid-item';\n import { useHasSlot } from '@/composables';\n\n import type { BentoSummaryGridItemTextProps } from './summary-grid-item-text.types';\n\n defineEmits<{\n /**\n * Emitted when the copy button is clicked.\n */\n (e: 'copy-click', event: MouseEvent): void;\n\n /**\n * Emitted when the mouse pointer enters the info icon component.\n */\n (e: 'info-icon-mouseenter', event: MouseEvent): void;\n }>();\n\n withDefaults(defineProps<BentoSummaryGridItemTextProps>(), {\n copy: undefined,\n fitContent: false,\n infoIconTooltipText: null,\n underlinePopoverSize: 'fit-content',\n underlineTooltipText: null,\n });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n</script>\n\n<script lang=\"ts\">\n /**\n * Summary grid item component used to display text only. Can be used for references, IDs or any other text data.\n *\n * @example\n * import { BentoSummaryGridItemText } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoSummaryGridItemText },\n * template: `\n * <bento-summary-grid-item-text\n * title=\"Your title\"\n * label=\"Your text here\"\n * info-icon-tooltip-text=\"Your tooltip text here will be toggled by the info icon\"\n * />\n * `\n * }\n */\n export default {};\n</script>\n","<template>\n <summary-grid-item\n :title=\"title\"\n :info-icon-tooltip-text=\"infoIconTooltipText\"\n :copy=\"copy\"\n :fit-content=\"fitContent\"\n :underline-popover-size=\"underlinePopoverSize\"\n :underline-tooltip-text=\"underlineTooltipText\"\n @copy-click=\"$emit('copy-click', $event)\"\n @info-icon-mouseenter=\"$emit('info-icon-mouseenter', $event)\"\n >\n <template v-if=\"hasSlot('dashed-underline')\" #dashed-underline>\n <slot name=\"dashed-underline\" />\n </template>\n <slot />\n </summary-grid-item>\n</template>\n\n<script setup lang=\"ts\">\n import { useSlots } from 'vue';\n import { SummaryGridItem } from '../summary-grid-item';\n import { useHasSlot } from '@/composables';\n import type { BentoSummaryGridItemCustomProps } from './summary-grid-item-custom.types';\n\n defineEmits<{\n /**\n * Emitted when the copy button is clicked.\n */\n (e: 'copy-click', event: MouseEvent): void;\n\n /**\n * Emitted when the mouse pointer enters the info icon component.\n */\n (e: 'info-icon-mouseenter', event: MouseEvent): void;\n }>();\n\n withDefaults(defineProps<BentoSummaryGridItemCustomProps>(), {\n copy: undefined,\n infoIconTooltipText: null,\n fitContent: false,\n underlinePopoverSize: 'fit-content',\n underlineTooltipText: null,\n });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n</script>\n\n<script lang=\"ts\">\n /**\n * A summary bar item is a piece of information to be displayed in `bento-summary-bar` component\n *\n * @example\n * import { SummaryBarItem } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { SummaryBarItem },\n * template: `\n * <summary-grid-item :title=\"textVariable\">\n * Content of the item\n * </summary-grid-item>\n * `\n * }\n */\n export default {};\n</script>\n","import { type GridLayoutColumnWidths } from '@/components/internal/grid-layout/grid-layout.types';\n\n/**\n * @deprecated Since v2.0.0. Use string literal instead.\n */\nexport enum BentoSummaryGridItemSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\n/**\n * @deprecated Since v2.0.0. Use string literal instead.\n */\nexport enum BentoSummaryGridItemTrendDirection {\n POSITIVE = 'positive',\n NEGATIVE = 'negative',\n NEUTRAL = 'neutral',\n}\n\nexport interface BentoSummaryGridColumnWidth {\n row1: GridLayoutColumnWidths;\n row2?: GridLayoutColumnWidths;\n row3?: GridLayoutColumnWidths;\n}\n\nexport type BentoSummaryGridLayout = () => {\n isSummaryGridLayout: boolean;\n};\n\nexport interface BentoSummaryGridProps {\n /**\n * Sets the responsive columns widths values for 1 of the 3 rows.\n */\n columnWidth?: BentoSummaryGridColumnWidth;\n\n /**\n * Renders a font numeric style with slashed zeros instead of normal ones.\n */\n slashedZero?: boolean;\n}\n"],"names":["__default__$6","props","__props","slots","useSlots","hasSlot","useHasSlot","numberOfRows","slotRows","slotName","onMounted","provide","SUMMARY_GRID_LAYOUT_INJECTION_KEY","SUMMARY_GRID_SLASHED_ZERO","toRef","__default__$5","trendDirection","secondaryTrendDirection","itemType","size","toRefs","hasSlashedZero","inject","ref","tagVariantColor","direction","trendVariant","computed","secondaryTrendVariant","typographyContentElement","typographyProps","computedStyles","conditionalClasses","withUnderline","__default__$4","__default__$3","__default__$2","locale","useI18n","percentageArgs","isNumeric","value","convertToPercentIfNumber","computedLabelPercentage","computedSecondaryMetricPercentage","__default__$1","__default__","BentoSummaryGridItemSize","BentoSummaryGridItemSize2","BentoSummaryGridItemTrendDirection","BentoSummaryGridItemTrendDirection2"],"mappings":"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"}
1
+ {"version":3,"file":"summary-grid.types.9sUs0LS0.js","sources":["../../../vue2/src/components/summary-grid/summary-grid.vue","../../../vue2/src/components/summary-grid/components/summary-grid-item/summary-grid-item.vue","../../../vue2/src/components/summary-grid/components/summary-grid-item-amount/summary-grid-item-amount.vue","../../../vue2/src/components/summary-grid/components/summary-grid-item-numeric/summary-grid-item-numeric.vue","../../../vue2/src/components/summary-grid/components/summary-grid-item-percentage/summary-grid-item-percentage.vue","../../../vue2/src/components/summary-grid/components/summary-grid-item-text/summary-grid-item-text.vue","../../../vue2/src/components/summary-grid/components/summary-grid-item-custom/summary-grid-item-custom.vue","../../../vue2/src/components/summary-grid/summary-grid.types.ts"],"sourcesContent":["<template>\n <div class=\"b-summary-grid\">\n <grid-layout\n v-for=\"index in numberOfRows\"\n :key=\"`summary-grid-row-${index}`\"\n :data-testid=\"`summary-grid-row-${index}`\"\n :column-width=\"columnWidth?.[`row${index}`]\"\n >\n <template v-if=\"hasSlot(`cell-${index}-1`)\" #col-1>\n <slot :name=\"`cell-${index}-1`\" />\n </template>\n <template v-if=\"hasSlot(`cell-${index}-2`)\" #col-2>\n <slot :name=\"`cell-${index}-2`\" />\n </template>\n <template v-if=\"hasSlot(`cell-${index}-3`)\" #col-3>\n <slot :name=\"`cell-${index}-3`\" />\n </template>\n <template v-if=\"hasSlot(`cell-${index}-4`)\" #col-4>\n <slot :name=\"`cell-${index}-4`\" />\n </template>\n <template v-if=\"hasSlot(`cell-${index}-5`)\" #col-5>\n <slot :name=\"`cell-${index}-5`\" />\n </template>\n <template v-if=\"hasSlot(`cell-${index}-6`)\" #col-6>\n <slot :name=\"`cell-${index}-6`\" />\n </template>\n </grid-layout>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { onMounted, provide, toRef, useSlots } from 'vue';\n import type { BentoSummaryGridLayout, BentoSummaryGridProps } from './summary-grid.types';\n import { GridLayout } from '@/components/internal';\n import { useHasSlot } from '@/composables';\n import {\n SUMMARY_GRID_LAYOUT_INJECTION_KEY,\n SUMMARY_GRID_SLASHED_ZERO,\n } from '@/components/summary-grid/summary-grid.keys';\n\n const props = withDefaults(defineProps<BentoSummaryGridProps>(), {\n columnWidth: null,\n slashedZero: false,\n });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n let numberOfRows = 1;\n if (slots) {\n const slotRows = Object.keys(slots)\n ?.filter(slotName => slotName.includes('cell-'))\n ?.map(slotName => parseInt(slotName.split('-')?.[1], 10));\n numberOfRows = Math.max(...slotRows);\n }\n\n onMounted(() => {\n if (numberOfRows > 3) {\n throw new Error(\n 'BentoSummaryGrid must only have a maximum of 3 rows. Read the documentation for more information.'\n );\n }\n });\n\n const registerComponentsInSummaryGrid: BentoSummaryGridLayout = () => {\n const isSummaryGridLayout = true;\n return { isSummaryGridLayout };\n };\n\n provide(SUMMARY_GRID_LAYOUT_INJECTION_KEY, registerComponentsInSummaryGrid);\n provide(SUMMARY_GRID_SLASHED_ZERO, toRef(props, 'slashedZero'));\n</script>\n\n<script lang=\"ts\">\n /**\n * A summary grid component that displays a collection items.\n *\n * @example\n * import { BentoSummaryGrid, BentoSummaryGridItemAmount } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoSummaryGrid, BentoSummaryGridItemAmount },\n * template: `\n * <bento-summary-grid>\n * <template #cell-2-2>\n * <bento-summary-grid-item-amount\n * title=\"Text Item\"\n * label=\"14\"\n * info-icon-tooltip-text=\"text for icon\"\n * copy=\"copy this to clipboard\"\n * />\n * </template>\n * </bento-summary-grid>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./summary-grid.scss\" />\n","<template>\n <div class=\"b-summary-grid-item\" :class=\"conditionalClasses\" :style=\"computedStyles\">\n <div class=\"b-summary-grid-item__header\">\n <bento-typography class=\"b-summary-grid-item__title\" el=\"span\" variant=\"body\">\n <bento-dashed-underline\n v-if=\"withUnderline\"\n :tooltip-text=\"underlineTooltipText\"\n :popover-size=\"underlinePopoverSize\"\n >\n {{ title }}\n <template v-if=\"hasSlot('dashed-underline')\" #popover-content>\n <slot name=\"dashed-underline\"></slot>\n </template>\n </bento-dashed-underline>\n <template v-else>\n {{ title }}\n </template>\n </bento-typography>\n <div class=\"b-summary-grid-item__title-icons\">\n <copy v-if=\"copy\" class=\"b-structured-list__icon\" :text=\"copy\" @click=\"$emit('copy-click', $event)\" />\n\n <bento-info-icon\n v-if=\"infoIconTooltipText\"\n :tooltip-text=\"infoIconTooltipText\"\n tooltip-position=\"top\"\n class=\"b-summary-grid-item__title-tooltip\"\n @mouseenter=\"$emit('info-icon-mouseenter', $event)\"\n />\n </div>\n </div>\n <bento-typography\n data-testid=\"summary-grid-item-content-typography\"\n class=\"b-summary-grid-item__title\"\n v-bind=\"typographyProps\"\n el=\"span\"\n >\n <slot />\n <bento-tag\n v-if=\"trend && itemType !== 'text'\"\n :variant=\"trendVariant\"\n :label=\"trend\"\n class=\"b-summary-grid-item__content-trend\"\n />\n </bento-typography>\n <bento-typography\n v-if=\"hasSlot('secondary')\"\n class=\"b-summary-grid-item__title\"\n data-testid=\"summary-grid-item-secondary-metric-typography\"\n el=\"span\"\n variant=\"caption\"\n stronger\n >\n <slot name=\"secondary\" />\n <bento-tag\n v-if=\"secondaryTrend\"\n :variant=\"secondaryTrendVariant\"\n :label=\"secondaryTrend\"\n class=\"b-summary-grid-item__content-trend\"\n />\n </bento-typography>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, inject, ref, toRefs, useSlots } from 'vue';\n\n // Components\n import { BentoDashedUnderline } from '@/components/dashed-underline';\n import { BentoInfoIcon } from '@/components/info-icon';\n import { BentoTypography, type BentoTypographyVariant } from '@/components/typography';\n import { BentoTag, type BentoTagVariant } from '@/components/tag';\n import { Copy } from '@/internal';\n\n // Utils\n import { useHasSlot } from '@/composables';\n\n // Types\n import { SUMMARY_GRID_SLASHED_ZERO } from '@/components/summary-grid/summary-grid.keys';\n import type { BentoSummaryGridItemTrendDirection } from '@/components/summary-grid/summary-grid.types';\n import type { BentoSummaryGridItemProps } from './summary-grid-item.types';\n\n defineEmits<{\n /**\n * Emitted when the copy button is clicked.\n */\n (e: 'copy-click', event: MouseEvent): void;\n\n /**\n * Emitted when the mouse pointer enters the info icon component.\n */\n (e: 'info-icon-mouseenter', event: MouseEvent): void;\n }>();\n\n const props = withDefaults(defineProps<BentoSummaryGridItemProps>(), {\n copy: undefined,\n fitContent: false,\n infoIconTooltipText: null,\n itemType: 'custom',\n secondaryTrend: null,\n secondaryTrendDirection: 'positive',\n size: 'small',\n trend: null,\n trendDirection: 'positive',\n underlinePopoverSize: 'fit-content',\n underlineTooltipText: null,\n });\n\n const { trendDirection, secondaryTrendDirection, itemType, size } = toRefs(props);\n const hasSlashedZero = inject(SUMMARY_GRID_SLASHED_ZERO, ref(false));\n\n const tagVariantColor = (direction: `${BentoSummaryGridItemTrendDirection}`): `${BentoTagVariant}` => {\n switch (direction) {\n case 'positive':\n return 'green';\n case 'negative':\n return 'red';\n default:\n return 'blue';\n }\n };\n\n // TODO implement plus or minus symbol logic\n const trendVariant = computed(() => tagVariantColor(trendDirection.value));\n const secondaryTrendVariant = computed(() => tagVariantColor(secondaryTrendDirection.value));\n\n const typographyContentElement = computed<`${BentoTypographyVariant}`>(() => {\n if (size.value === 'small') {\n return 'body';\n }\n if (itemType.value !== 'text') {\n return 'title';\n }\n\n return null;\n });\n\n const typographyProps = computed(() => ({\n medium: size.value === 'large',\n strongest: size.value === 'small',\n wide: size.value === 'small',\n variant: typographyContentElement.value,\n }));\n\n const computedStyles = computed(() => (props.fitContent ? { width: 'fit-content' } : {}));\n\n const conditionalClasses = computed(() => ({ 'b-summary-grid-item--slashed-zero': hasSlashedZero.value }));\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n const withUnderline = computed(() => props.underlineTooltipText || hasSlot('dashed-underline'));\n</script>\n\n<script lang=\"ts\">\n /**\n * A summary bar item is a piece of information to be displayed in `bento-summary-bar` component\n *\n * @example\n * import { SummaryBarItem } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { SummaryBarItem },\n * template: `\n * <summary-grid-item :title=\"textVariable\">\n * Content of the item\n * </summary-grid-item>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./summary-grid-item.scss\" />\n","<template>\n <summary-grid-item\n item-type=\"amount\"\n :info-icon-tooltip-text=\"infoIconTooltipText\"\n :title=\"title\"\n :copy=\"copy\"\n :fit-content=\"fitContent\"\n :size=\"size\"\n :trend=\"trend\"\n :trend-direction=\"trendDirection\"\n :secondary-trend=\"secondaryTrend\"\n :secondary-trend-direction=\"secondaryTrendDirection\"\n :underline-popover-size=\"underlinePopoverSize\"\n :underline-tooltip-text=\"underlineTooltipText\"\n class=\"b-summary-grid-item-amount\"\n @copy-click=\"$emit('copy-click', $event)\"\n @info-icon-mouseenter=\"$emit('info-icon-mouseenter', $event)\"\n >\n <template v-if=\"hasSlot('dashed-underline')\" #dashed-underline>\n <slot name=\"dashed-underline\" />\n </template>\n <div class=\"b-summary-grid-item-amount__content\">\n <div>{{ label }}</div>\n <bento-typography\n v-if=\"secondaryLabel\"\n variant=\"caption\"\n class=\"b-summary-grid-item-amount__secondary-label\"\n >{{ secondaryLabel }}</bento-typography\n >\n </div>\n <template v-if=\"secondaryMetric\" #secondary>\n {{ secondaryMetric }}\n </template>\n </summary-grid-item>\n</template>\n\n<script setup lang=\"ts\">\n import { useSlots } from 'vue';\n import { BentoTypography } from '@/components/typography';\n import { SummaryGridItem } from '../summary-grid-item';\n import { useHasSlot } from '@/composables';\n import type { BentoSummaryGridItemAmountProps } from './summary-grid-item-amount.types';\n\n defineEmits<{\n /**\n * Emitted when the copy button is clicked.\n */\n (e: 'copy-click', event: MouseEvent): void;\n\n /**\n * Emitted when the mouse pointer enters the info icon component.\n */\n (e: 'info-icon-mouseenter', event: MouseEvent): void;\n }>();\n\n withDefaults(defineProps<BentoSummaryGridItemAmountProps>(), {\n copy: undefined,\n fitContent: false,\n infoIconTooltipText: null,\n secondaryLabel: null,\n secondaryMetric: null,\n secondaryTrend: null,\n secondaryTrendDirection: 'positive',\n size: 'small',\n trend: null,\n trendDirection: 'positive',\n underlinePopoverSize: 'fit-content',\n underlineTooltipText: null,\n });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n</script>\n\n<script lang=\"ts\">\n /**\n * Summary grid item component used to display financial data, such as currency values and monetary amounts\n *\n * @example\n * import { BentoSummaryGridItemAmount } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoSummaryGridItemAmount },\n * template: `\n * <bento-summary-grid-item-amount\n * title=\"Your title\"\n * label=\"200.00 EUR\"\n * secondary-label=\"/ day\"\n * info-icon-tooltip-text=\"Your tooltip text here will be toggled by the info icon\"\n * trend=\"+12%\"\n * trend-direction=\"neutral\"\n * size=\"medium\"\n * />\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./summary-grid-item-amount.scss\" />\n","<template>\n <summary-grid-item\n item-type=\"numeric\"\n :info-icon-tooltip-text=\"infoIconTooltipText\"\n :title=\"title\"\n :copy=\"copy\"\n :fit-content=\"fitContent\"\n :size=\"size\"\n :trend=\"trend\"\n :trend-direction=\"trendDirection\"\n :secondary-trend=\"secondaryTrend\"\n :secondary-trend-direction=\"secondaryTrendDirection\"\n :underline-popover-size=\"underlinePopoverSize\"\n :underline-tooltip-text=\"underlineTooltipText\"\n class=\"b-summary-grid-item-numeric\"\n @copy-click=\"$emit('copy-click', $event)\"\n @info-icon-mouseenter=\"$emit('info-icon-mouseenter', $event)\"\n >\n <template v-if=\"hasSlot('dashed-underline')\" #dashed-underline>\n <slot name=\"dashed-underline\" />\n </template>\n {{ label }}\n <template v-if=\"secondaryMetric\" #secondary>\n {{ secondaryMetric }}\n </template>\n </summary-grid-item>\n</template>\n\n<script setup lang=\"ts\">\n import { useSlots } from 'vue';\n import { SummaryGridItem } from '../summary-grid-item';\n import { useHasSlot } from '@/composables';\n import type { BentoSummaryGridItemNumericProps } from './summary-grid-item-numeric.types';\n\n defineEmits<{\n /**\n * Emitted when the copy button is clicked.\n */\n (e: 'copy-click', event: MouseEvent): void;\n\n /**\n * Emitted when the mouse pointer enters the info icon component.\n */\n (e: 'info-icon-mouseenter', event: MouseEvent): void;\n }>();\n\n withDefaults(defineProps<BentoSummaryGridItemNumericProps>(), {\n copy: undefined,\n fitContent: false,\n infoIconTooltipText: null,\n secondaryMetric: null,\n secondaryTrend: null,\n secondaryTrendDirection: 'positive',\n size: 'small',\n trend: null,\n trendDirection: 'positive',\n underlinePopoverSize: 'fit-content',\n underlineTooltipText: null,\n });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n</script>\n\n<script lang=\"ts\">\n /**\n * Summary grid item component used to display any numeric information\n *\n * @example\n * import { BentoSummaryGridItemNumeric } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoSummaryGridItemNumeric },\n * template: `\n * <bento-summary-grid-item-numeric\n * title=\"Your title\"\n * label=\"123\"\n * info-icon-tooltip-text=\"Your tooltip text here will be toggled by the info icon\"\n * trend=\"+12%\"\n * trend-direction=\"neutral\"\n * size=\"medium\"\n * />\n * `\n * }\n */\n export default {};\n</script>\n","<template>\n <summary-grid-item\n item-type=\"percentage\"\n :info-icon-tooltip-text=\"infoIconTooltipText\"\n :title=\"title\"\n :copy=\"copy\"\n :fit-content=\"fitContent\"\n :size=\"size\"\n :trend=\"trend\"\n :trend-direction=\"trendDirection\"\n :secondary-trend=\"secondaryTrend\"\n :secondary-trend-direction=\"secondaryTrendDirection\"\n :underline-popover-size=\"underlinePopoverSize\"\n :underline-tooltip-text=\"underlineTooltipText\"\n class=\"b-summary-grid-item-percentage\"\n @copy-click=\"$emit('copy-click', $event)\"\n @info-icon-mouseenter=\"$emit('info-icon-mouseenter', $event)\"\n >\n <template v-if=\"hasSlot('dashed-underline')\" #dashed-underline>\n <slot name=\"dashed-underline\" />\n </template>\n {{ computedLabelPercentage }}\n <template v-if=\"secondaryMetric\" #secondary> {{ computedSecondaryMetricPercentage }} </template>\n </summary-grid-item>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, useSlots } from 'vue';\n import { SummaryGridItem } from '../summary-grid-item';\n import { useHasSlot } from '@/composables';\n import { useI18n } from '@/utils/ts/i18n';\n import type { BentoSummaryGridItemPercentageProps } from './summary-grid-item-percentage.types';\n import type { NumberFormatOptions } from 'vue-i18n';\n\n const { locale } = useI18n();\n\n defineEmits<{\n /**\n * Emitted when the copy button is clicked.\n */\n (e: 'copy-click', event: MouseEvent): void;\n\n /**\n * Emitted when the mouse pointer enters the info icon component.\n */\n (e: 'info-icon-mouseenter', event: MouseEvent): void;\n }>();\n\n const props = withDefaults(defineProps<BentoSummaryGridItemPercentageProps>(), {\n copy: undefined,\n fitContent: false,\n infoIconTooltipText: null,\n secondaryMetric: null,\n secondaryTrend: null,\n secondaryTrendDirection: 'positive',\n size: 'small',\n trend: null,\n trendDirection: 'positive',\n underlinePopoverSize: 'fit-content',\n underlineTooltipText: null,\n });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const percentageArgs: NumberFormatOptions = {\n style: 'percent',\n maximumFractionDigits: 2,\n };\n\n const isNumeric = (value: string | number) => value != null && value !== '' && !isNaN(Number(value));\n const convertToPercentIfNumber = (value: string | number) => {\n if (value && isNumeric(value)) {\n return new Intl.NumberFormat(locale.value, percentageArgs).format(Number(value) / 100);\n }\n return value;\n };\n\n const computedLabelPercentage = computed(() => convertToPercentIfNumber(props.label));\n const computedSecondaryMetricPercentage = computed(() => convertToPercentIfNumber(props.secondaryMetric));\n</script>\n\n<script lang=\"ts\">\n /**\n * Summary grid item component used to display any percentage information\n *\n * @example\n * import { BentoSummaryGridItemPercentage } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoSummaryGridItemPercentage },\n * template: `\n * <bento-summary-grid-item-percentage\n * title=\"Your title\"\n * label=\"123\"\n * info-icon-tooltip-text=\"Your tooltip text here will be toggled by the info icon\"\n * trend=\"+12%\"\n * trend-direction=\"neutral\"\n * size=\"medium\"\n * />\n * `\n * }\n */\n export default {\n i18n: {},\n };\n</script>\n","<template>\n <summary-grid-item\n item-type=\"text\"\n :info-icon-tooltip-text=\"infoIconTooltipText\"\n :title=\"title\"\n :copy=\"copy\"\n :fit-content=\"fitContent\"\n :underline-popover-size=\"underlinePopoverSize\"\n :underline-tooltip-text=\"underlineTooltipText\"\n class=\"b-summary-grid-item-text\"\n @copy-click=\"$emit('copy-click', $event)\"\n @info-icon-mouseenter=\"$emit('info-icon-mouseenter', $event)\"\n >\n <template v-if=\"hasSlot('dashed-underline')\" #dashed-underline>\n <slot name=\"dashed-underline\" />\n </template>\n {{ label }}\n </summary-grid-item>\n</template>\n\n<script setup lang=\"ts\">\n import { useSlots } from 'vue';\n import { SummaryGridItem } from '../summary-grid-item';\n import { useHasSlot } from '@/composables';\n\n import type { BentoSummaryGridItemTextProps } from './summary-grid-item-text.types';\n\n defineEmits<{\n /**\n * Emitted when the copy button is clicked.\n */\n (e: 'copy-click', event: MouseEvent): void;\n\n /**\n * Emitted when the mouse pointer enters the info icon component.\n */\n (e: 'info-icon-mouseenter', event: MouseEvent): void;\n }>();\n\n withDefaults(defineProps<BentoSummaryGridItemTextProps>(), {\n copy: undefined,\n fitContent: false,\n infoIconTooltipText: null,\n underlinePopoverSize: 'fit-content',\n underlineTooltipText: null,\n });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n</script>\n\n<script lang=\"ts\">\n /**\n * Summary grid item component used to display text only. Can be used for references, IDs or any other text data.\n *\n * @example\n * import { BentoSummaryGridItemText } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoSummaryGridItemText },\n * template: `\n * <bento-summary-grid-item-text\n * title=\"Your title\"\n * label=\"Your text here\"\n * info-icon-tooltip-text=\"Your tooltip text here will be toggled by the info icon\"\n * />\n * `\n * }\n */\n export default {};\n</script>\n","<template>\n <summary-grid-item\n :title=\"title\"\n :info-icon-tooltip-text=\"infoIconTooltipText\"\n :copy=\"copy\"\n :fit-content=\"fitContent\"\n :underline-popover-size=\"underlinePopoverSize\"\n :underline-tooltip-text=\"underlineTooltipText\"\n @copy-click=\"$emit('copy-click', $event)\"\n @info-icon-mouseenter=\"$emit('info-icon-mouseenter', $event)\"\n >\n <template v-if=\"hasSlot('dashed-underline')\" #dashed-underline>\n <slot name=\"dashed-underline\" />\n </template>\n <slot />\n </summary-grid-item>\n</template>\n\n<script setup lang=\"ts\">\n import { useSlots } from 'vue';\n import { SummaryGridItem } from '../summary-grid-item';\n import { useHasSlot } from '@/composables';\n import type { BentoSummaryGridItemCustomProps } from './summary-grid-item-custom.types';\n\n defineEmits<{\n /**\n * Emitted when the copy button is clicked.\n */\n (e: 'copy-click', event: MouseEvent): void;\n\n /**\n * Emitted when the mouse pointer enters the info icon component.\n */\n (e: 'info-icon-mouseenter', event: MouseEvent): void;\n }>();\n\n withDefaults(defineProps<BentoSummaryGridItemCustomProps>(), {\n copy: undefined,\n infoIconTooltipText: null,\n fitContent: false,\n underlinePopoverSize: 'fit-content',\n underlineTooltipText: null,\n });\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n</script>\n\n<script lang=\"ts\">\n /**\n * A summary bar item is a piece of information to be displayed in `bento-summary-bar` component\n *\n * @example\n * import { SummaryBarItem } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { SummaryBarItem },\n * template: `\n * <summary-grid-item :title=\"textVariable\">\n * Content of the item\n * </summary-grid-item>\n * `\n * }\n */\n export default {};\n</script>\n","import { type GridLayoutColumnWidths } from '@/components/internal/grid-layout/grid-layout.types';\n\n/**\n * @deprecated Since v2.0.0. Use string literal instead.\n */\nexport enum BentoSummaryGridItemSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\n/**\n * @deprecated Since v2.0.0. Use string literal instead.\n */\nexport enum BentoSummaryGridItemTrendDirection {\n POSITIVE = 'positive',\n NEGATIVE = 'negative',\n NEUTRAL = 'neutral',\n}\n\nexport interface BentoSummaryGridColumnWidth {\n row1: GridLayoutColumnWidths;\n row2?: GridLayoutColumnWidths;\n row3?: GridLayoutColumnWidths;\n}\n\nexport type BentoSummaryGridLayout = () => {\n isSummaryGridLayout: boolean;\n};\n\nexport interface BentoSummaryGridProps {\n /**\n * Sets the responsive columns widths values for 1 of the 3 rows.\n */\n columnWidth?: BentoSummaryGridColumnWidth;\n\n /**\n * Renders a font numeric style with slashed zeros instead of normal ones.\n */\n slashedZero?: boolean;\n}\n"],"names":["__default__$6","props","__props","slots","useSlots","hasSlot","useHasSlot","numberOfRows","slotRows","slotName","onMounted","provide","SUMMARY_GRID_LAYOUT_INJECTION_KEY","SUMMARY_GRID_SLASHED_ZERO","toRef","__default__$5","trendDirection","secondaryTrendDirection","itemType","size","toRefs","hasSlashedZero","inject","ref","tagVariantColor","direction","trendVariant","computed","secondaryTrendVariant","typographyContentElement","typographyProps","computedStyles","conditionalClasses","withUnderline","__default__$4","__default__$3","__default__$2","locale","useI18n","percentageArgs","isNumeric","value","convertToPercentIfNumber","computedLabelPercentage","computedSecondaryMetricPercentage","__default__$1","__default__","BentoSummaryGridItemSize","BentoSummaryGridItemSize2","BentoSummaryGridItemTrendDirection","BentoSummaryGridItemTrendDirection2"],"mappings":";;;;;;;;;;;;wCAgGIA,KAAA,CAAA;;;;;;;;AAxDA,UAAAC,IAAAC,GAKAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA;AAEA,QAAAI,IAAA;AACA,QAAAJ,GAAA;AACI,YAAAK,IAAA,OAAA,KAAAL,CAAA,GAAA,OAAA,CAAAM,MAAAA,EAAA,SAAA,OAAA,CAAA,GAAA,IAAA,CAAAA,MAAA,SAAAA,EAAA,MAAA,GAAA,IAAA,CAAA,GAAA,EAAA,CAAA;AAGA,MAAAF,IAAA,KAAA,IAAA,GAAAC,CAAA;AAAA,IAAmC;AAGvC,WAAAE,EAAA,MAAA;AACI,UAAAH,IAAA;AACI,cAAA,IAAA;AAAA,UAAU;AAAA,QACN;AAAA,IAER,CAAA,GAQJI,EAAAC,GALA,OAEI,EAAA,wBAAA,EAGJ,GACAD,EAAAE,GAAAC,EAAAb,GAAA,aAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uKCkGAc,KAAA,CAAA;;;;;;;;;;;;;;;;;;;AA3EA,UAAAd,IAAAC,GAcA,EAAA,gBAAAc,GAAA,yBAAAC,GAAA,UAAAC,GAAA,MAAAC,EAAA,IAAAC,EAAAnB,CAAA,GACAoB,IAAAC,EAAAT,GAAAU,EAAA,EAAA,CAAA,GAEAC,IAAA,CAAAC,MAAA;AACI,cAAAA,GAAA;AAAA,QAAmB,KAAA;AAEX,iBAAA;AAAA,QAAO,KAAA;AAEP,iBAAA;AAAA,QAAO;AAEP,iBAAA;AAAA,MAAO;AAAA,IACf,GAIJC,IAAAC,EAAA,MAAAH,EAAAR,EAAA,KAAA,CAAA,GACAY,IAAAD,EAAA,MAAAH,EAAAP,EAAA,KAAA,CAAA,GAEAY,IAAAF,EAAA,MACIR,EAAA,UAAA,UACI,SAEJD,EAAA,UAAA,SACI,UAGJ,IAAO,GAGXY,IAAAH,EAAA,OAAA;AAAA,MAAwC,QAAAR,EAAA,UAAA;AAAA,MACb,WAAAA,EAAA,UAAA;AAAA,MACG,MAAAA,EAAA,UAAA;AAAA,MACL,SAAAU,EAAA;AAAA,IACa,EAAA,GAGtCE,IAAAJ,EAAA,MAAA1B,EAAA,aAAA,EAAA,OAAA,cAAA,IAAA,CAAA,CAAA,GAEA+B,IAAAL,EAAA,OAAA,EAAA,qCAAAN,EAAA,MAAA,EAAA,GAEAlB,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GACA8B,IAAAN,EAAA,MAAA1B,EAAA,wBAAAI,EAAA,kBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0HCrDA6B,KAAA,CAAA;;;;;;;;;;;;;;;;;;;;;AA1BA,UAAA/B,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oECcAgC,KAAA,CAAA;;;;;;;;;;;;;;;;;;;;AAzBA,UAAAhC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC0CAiC,KAAA;AAAA,EAAe,MAAA,CAAA;AAEf;;;;;;;;;;;;;;;;;;;;AAvEA,UAAA,EAAA,QAAAC,EAAA,IAAAC,GAAA,GAcArC,IAAAC,GAcAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAEAoC,IAAA;AAAA,MAA4C,OAAA;AAAA,MACjC,uBAAA;AAAA,IACgB,GAG3BC,IAAA,CAAAC,MAAAA,KAAA,QAAAA,MAAA,MAAA,CAAA,MAAA,OAAAA,CAAA,CAAA,GACAC,IAAA,CAAAD,MACIA,KAAAD,EAAAC,CAAA,IACI,IAAA,KAAA,aAAAJ,EAAA,OAAAE,CAAA,EAAA,OAAA,OAAAE,CAAA,IAAA,GAAA,IAEJA,GAGJE,IAAAhB,EAAA,MAAAe,EAAAzC,EAAA,KAAA,CAAA,GACA2C,IAAAjB,EAAA,MAAAe,EAAAzC,EAAA,eAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICVA4C,KAAA,CAAA;;;;;;;;;;;;;;AAtBA,UAAA1C,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;ICgBA2C,KAAA,CAAA;;;;;;;;;;;;;AApBA,UAAA3C,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACxCG,IAAA4C,KAAA,kBAAAC,OACHA,EAAA,QAAA,SACAA,EAAA,SAAA,UACAA,EAAA,QAAA,SAHQA,IAAAD,MAAA,CAAA,CAAA,GASLE,KAAA,kBAAAC,OACHA,EAAA,WAAA,YACAA,EAAA,WAAA,YACAA,EAAA,UAAA,WAHQA,IAAAD,MAAA,CAAA,CAAA;"}
@@ -1,25 +1,34 @@
1
- import { defineComponent as z, ref as m, provide as D, watch as W, nextTick as X, computed as w, unref as p, onUnmounted as G, resolveComponent as N, openBlock as f, createElementBlock as C, createElementVNode as T, normalizeStyle as se, normalizeClass as K, createVNode as x, withCtx as E, Fragment as oe, renderList as ie, withDirectives as F, withKeys as re, createTextVNode as Y, toDisplayString as A, createBlock as P, createCommentVNode as O, vShow as L, renderSlot as J, toRefs as le, inject as U } from "vue";
1
+ import { defineComponent as G, ref as m, provide as D, watch as P, nextTick as V, computed as E, unref as p, onUnmounted as J, resolveComponent as N, openBlock as f, createElementBlock as w, createElementVNode as T, normalizeStyle as ne, normalizeClass as K, createVNode as x, withCtx as g, Fragment as oe, renderList as se, withDirectives as F, withKeys as ie, createTextVNode as W, toDisplayString as A, createBlock as Y, createCommentVNode as R, vShow as L, renderSlot as U, toRefs as le, inject as j } from "vue";
2
2
  import { B as ce } from "./typography.B3J6_tYk.js";
3
- import { B as de } from "./tag.DyNHhsGt.js";
3
+ import { B as de } from "./tag.Uu-6AQys.js";
4
4
  import { C as be } from "./cross-circle-fill.BWCKKn0E.js";
5
5
  import { u as ue } from "./index.B875RXHM.js";
6
6
  import { g as _e } from "./generate-uid.DBWe4g6T.js";
7
- import { T as q, a as H, E as pe } from "./tabs.keys.B4qGhjp2.js";
7
+ import { T as M, a as q, E as pe } from "./tabs.keys.B4qGhjp2.js";
8
8
  import { F as fe } from "./fixed-scroller.yVsaQzy5.js";
9
- import { _ as M } from "./_plugin-vue_export-helper.CHgC5LLL.js";
9
+ import { _ as H } from "./_plugin-vue_export-helper.CHgC5LLL.js";
10
10
  import "../assets/tab.css";
11
- const Q = (e, s) => {
12
- const r = e === 0 ? s.length - 1 : e - 1, t = s[r];
13
- return t.disabled || t.hidden ? Q(r, s) : r;
14
- }, Z = (e, s) => {
15
- const r = e === s.length - 1 ? 0 : e + 1, t = s[r];
16
- return t.disabled || t.hidden ? Z(r, s) : r;
17
- }, j = {
18
- "en-US": { errorCount: "error | errors" }
11
+ const Q = (e, n) => {
12
+ const i = e === 0 ? n.length - 1 : e - 1, t = n[i];
13
+ return t.disabled || t.hidden ? Q(i, n) : i;
14
+ }, Z = (e, n) => {
15
+ const i = e === n.length - 1 ? 0 : e + 1, t = n[i];
16
+ return t.disabled || t.hidden ? Z(i, n) : i;
17
+ }, z = {
18
+ "de-DE": { errorCount: "Fehler | Fehler" },
19
+ "en-GB": { errorCount: "error | errors" },
20
+ "en-US": { errorCount: "error | errors" },
21
+ "es-ES": { errorCount: "error | errores" },
22
+ "es-MX": { errorCount: "error | errores" },
23
+ "fr-FR": { errorCount: "erreur | erreurs" },
24
+ "it-IT": { errorCount: "errore | errori" },
25
+ "ja-JP": { errorCount: "エラー | エラー" },
26
+ "pt-BR": { errorCount: "erro | erros" },
27
+ "zh-CN": { errorCount: "错误 | 错误" }
19
28
  };
20
- var V = /* @__PURE__ */ ((e) => (e.ACTIVE_TAB_INDEX = "update:active-tab-index", e))(V || {});
21
- const ve = z({
22
- i18n: { messages: j },
29
+ var X = /* @__PURE__ */ ((e) => (e.ACTIVE_TAB_INDEX = "update:active-tab-index", e))(X || {});
30
+ const ve = G({
31
+ i18n: { messages: z },
23
32
  components: {
24
33
  BentoTag: de,
25
34
  BentoTypography: ce,
@@ -42,79 +51,79 @@ const ve = z({
42
51
  */
43
52
  stickyOptions: { type: Object, default: null }
44
53
  },
45
- emits: [V.ACTIVE_TAB_INDEX],
46
- setup(e, { emit: s }) {
47
- const { tc: r } = ue({ messages: j }), t = m([]), y = m(null), h = m(), l = m(""), d = m(!1);
54
+ emits: [X.ACTIVE_TAB_INDEX],
55
+ setup(e, { emit: n }) {
56
+ const { tc: i } = ue({ messages: z }), t = m([]), y = m(null), h = m(), l = m(""), d = m(!1);
48
57
  let b;
49
- D(q, l);
50
- const I = (n) => () => {
51
- t.value = t.value?.filter(({ id: o }) => o !== n);
58
+ D(M, l);
59
+ const I = (r) => () => {
60
+ t.value = t.value?.filter(({ id: o }) => o !== r);
52
61
  };
53
- D(H, ({
54
- title: n,
62
+ D(q, ({
63
+ title: r,
55
64
  disabled: o,
56
- errorCounter: i,
57
- withNotificationIndicator: g,
65
+ errorCounter: s,
66
+ withNotificationIndicator: C,
58
67
  counter: te,
59
68
  hidden: ae,
60
- setElementRef: ne
69
+ setElementRef: re
61
70
  }) => {
62
- const S = _e("b-tab");
71
+ const $ = _e("b-tab");
63
72
  return t.value.push({
64
73
  counter: te,
65
74
  disabled: o,
66
- errorCounter: i,
75
+ errorCounter: s,
67
76
  hidden: ae,
68
- id: S,
69
- title: n,
70
- withNotificationIndicator: g,
71
- setElementRef: ne
72
- }), { id: S, unregisterTab: I(S) };
77
+ id: $,
78
+ title: r,
79
+ withNotificationIndicator: C,
80
+ setElementRef: re
81
+ }), { id: $, unregisterTab: I($) };
73
82
  });
74
- const u = (n) => {
75
- if (n.code === "ArrowLeft" || n.code === "ArrowRight") {
76
- const o = t.value.find((g) => document.activeElement.id === g.id);
77
- let i = t.value.indexOf(o);
78
- n.code === "ArrowLeft" ? i = Q(i, t.value) : n.code === "ArrowRight" && (i = Z(i, t.value)), y.value.children[i].focus();
83
+ const u = (r) => {
84
+ if (r.code === "ArrowLeft" || r.code === "ArrowRight") {
85
+ const o = t.value.find((C) => document.activeElement.id === C.id);
86
+ let s = t.value.indexOf(o);
87
+ r.code === "ArrowLeft" ? s = Q(s, t.value) : r.code === "ArrowRight" && (s = Z(s, t.value)), y.value.children[s].focus();
79
88
  }
80
89
  };
81
- W(
90
+ P(
82
91
  [() => e.activeTabIndex, t],
83
- ([n, o]) => {
84
- X(() => {
85
- const i = o[n];
86
- l.value = i && !i.disabled ? i.id : t.value.find(({ disabled: g }) => !g)?.id;
92
+ ([r, o]) => {
93
+ V(() => {
94
+ const s = o[r];
95
+ l.value = s && !s.disabled ? s.id : t.value.find(({ disabled: C }) => !C)?.id;
87
96
  });
88
97
  },
89
98
  { immediate: !0 }
90
99
  );
91
- const c = (n) => {
92
- l.value = n;
93
- const o = t.value.findIndex(({ id: i }) => i === l.value);
94
- s(V.ACTIVE_TAB_INDEX, o);
95
- }, v = (n) => n ? "disabled" : !1, a = w(() => e.stickyOptions?.top ? p(e.stickyOptions.top) : 0), k = w(() => e.sticky && a.value > 0 ? !0 : d.value), B = () => {
100
+ const c = (r) => {
101
+ l.value = r;
102
+ const o = t.value.findIndex(({ id: s }) => s === l.value);
103
+ n(X.ACTIVE_TAB_INDEX, o);
104
+ }, v = (r) => r ? "disabled" : !1, a = E(() => e.stickyOptions?.top ? p(e.stickyOptions.top) : 0), B = E(() => e.sticky && a.value > 0 ? !0 : d.value), k = () => {
96
105
  b && (b.disconnect(), b = null), d.value = !1;
97
- }, R = (n) => {
106
+ }, O = (r) => {
98
107
  e.sticky && a.value === 0 && (b = new IntersectionObserver(
99
108
  ([o]) => {
100
109
  d.value = o.intersectionRatio < 1;
101
110
  },
102
111
  { threshold: [1] }
103
- ), b.observe(n));
112
+ ), b.observe(r));
104
113
  };
105
- W(
114
+ P(
106
115
  [() => e.sticky, h, a],
107
- ([n, o]) => {
108
- B(), n && o && X(() => R(o));
116
+ ([r, o]) => {
117
+ k(), r && o && V(() => O(o));
109
118
  },
110
119
  { immediate: !0 }
111
- ), G(() => {
112
- B();
120
+ ), J(() => {
121
+ k();
113
122
  });
114
- const $ = w(() => ({
123
+ const S = E(() => ({
115
124
  "b-tabs__tab-list-wrapper--sticky": e.sticky,
116
- "b-tabs__tab-list-wrapper--pinned": k.value
117
- })), ee = w(
125
+ "b-tabs__tab-list-wrapper--pinned": B.value
126
+ })), ee = E(
118
127
  () => (
119
128
  // This helps us detect when the tabs are pinned without calculations on the tabs positions because it makes the tabs intersect by 1 pixel with the element on top of it, which is getting aught by the intersection observer.
120
129
  // Followed this example: https://css-tricks.com/how-to-detect-when-a-sticky-element-gets-pinned/
@@ -124,12 +133,12 @@ const ve = z({
124
133
  )
125
134
  );
126
135
  return {
127
- tc: r,
136
+ tc: i,
128
137
  tabs: t,
129
138
  tablist: y,
130
139
  tablistwrapper: h,
131
140
  activeTabId: l,
132
- tablistWrapperConditionalClasses: $,
141
+ tablistWrapperConditionalClasses: S,
133
142
  tablistWrapperStyles: ee,
134
143
  onKeydownTabsNavigation: u,
135
144
  handleTabChange: c,
@@ -140,42 +149,42 @@ const ve = z({
140
149
  key: 2,
141
150
  class: "b-tabs__tab-notification-dot",
142
151
  "aria-hidden": "true"
143
- }, ge = {
152
+ }, Ce = {
144
153
  class: "b-tabs__tab-underline",
145
154
  "aria-hidden": "true"
146
155
  };
147
- function Ee(e, s, r, t, y, h) {
156
+ function ge(e, n, i, t, y, h) {
148
157
  const l = N("bento-typography"), d = N("cross-circle-fill-icon"), b = N("bento-tag"), I = N("fixed-scroller");
149
- return f(), C("div", Te, [
158
+ return f(), w("div", Te, [
150
159
  T("div", {
151
160
  ref: "tablistwrapper",
152
161
  class: K(["b-tabs__tab-list-wrapper", e.tablistWrapperConditionalClasses]),
153
- style: se(e.tablistWrapperStyles)
162
+ style: ne(e.tablistWrapperStyles)
154
163
  }, [
155
164
  x(I, {
156
165
  condensed: "",
157
166
  "extra-padding-top": 2
158
167
  }, {
159
- default: E(() => [
168
+ default: g(() => [
160
169
  T("div", {
161
170
  ref: "tablist",
162
171
  class: "b-tabs__tab-list",
163
172
  role: "tablist",
164
- onKeydown: s[0] || (s[0] = (..._) => e.onKeydownTabsNavigation && e.onKeydownTabsNavigation(..._))
173
+ onKeydown: n[0] || (n[0] = (..._) => e.onKeydownTabsNavigation && e.onKeydownTabsNavigation(..._))
165
174
  }, [
166
- (f(!0), C(oe, null, ie(e.tabs, ({
175
+ (f(!0), w(oe, null, se(e.tabs, ({
167
176
  counter: _,
168
177
  disabled: u,
169
178
  errorCounter: c,
170
179
  hidden: v,
171
180
  id: a,
172
- title: k,
173
- withNotificationIndicator: B,
174
- setElementRef: R
175
- }) => F((f(), C("button", {
181
+ title: B,
182
+ withNotificationIndicator: k,
183
+ setElementRef: O
184
+ }) => F((f(), w("button", {
176
185
  id: a,
177
186
  ref_for: !0,
178
- ref: R,
187
+ ref: O,
179
188
  key: a,
180
189
  role: "tab",
181
190
  type: "button",
@@ -188,8 +197,8 @@ function Ee(e, s, r, t, y, h) {
188
197
  "aria-selected": e.activeTabId === a ? "true" : "false",
189
198
  tabindex: e.activeTabId === a && !u.value ? null : -1,
190
199
  disabled: e.isDisabled(u),
191
- onClick: ($) => e.handleTabChange(a),
192
- onKeydown: re(($) => e.handleTabChange(a), ["enter", "space"])
200
+ onClick: (S) => e.handleTabChange(a),
201
+ onKeydown: ie((S) => e.handleTabChange(a), ["enter", "space"])
193
202
  }, [
194
203
  T("span", ye, [
195
204
  x(l, {
@@ -198,12 +207,12 @@ function Ee(e, s, r, t, y, h) {
198
207
  variant: "body",
199
208
  stronger: ""
200
209
  }, {
201
- default: E(() => [
202
- Y(A(k), 1)
210
+ default: g(() => [
211
+ W(A(B), 1)
203
212
  ]),
204
213
  _: 2
205
214
  }, 1024),
206
- _ != null ? (f(), P(l, {
215
+ _ != null ? (f(), Y(l, {
207
216
  key: 0,
208
217
  class: K(["b-tabs__tab-counter", {
209
218
  "b-tabs__tab-counter--active": e.activeTabId === a
@@ -212,28 +221,28 @@ function Ee(e, s, r, t, y, h) {
212
221
  variant: "body",
213
222
  stronger: ""
214
223
  }, {
215
- default: E(() => [
216
- Y(A(_), 1)
224
+ default: g(() => [
225
+ W(A(_), 1)
217
226
  ]),
218
227
  _: 2
219
- }, 1032, ["class"])) : O("", !0),
220
- c != null ? (f(), P(b, {
228
+ }, 1032, ["class"])) : R("", !0),
229
+ c != null ? (f(), Y(b, {
221
230
  key: 1,
222
231
  class: "b-tabs__tab-error-counter",
223
232
  variant: "red"
224
233
  }, {
225
- icon: E(() => [
234
+ icon: g(() => [
226
235
  x(d, { "aria-hidden": "true" })
227
236
  ]),
228
- default: E(() => [
237
+ default: g(() => [
229
238
  T("span", null, A(c), 1),
230
239
  T("span", he, A(e.tc("errorCount", c)), 1)
231
240
  ]),
232
241
  _: 2
233
- }, 1024)) : O("", !0),
234
- B ? (f(), C("span", Ie)) : O("", !0)
242
+ }, 1024)) : R("", !0),
243
+ k ? (f(), w("span", Ie)) : R("", !0)
235
244
  ]),
236
- F(T("span", ge, null, 512), [
245
+ F(T("span", Ce, null, 512), [
237
246
  [L, e.activeTabId === a]
238
247
  ])
239
248
  ], 42, me)), [
@@ -244,13 +253,13 @@ function Ee(e, s, r, t, y, h) {
244
253
  _: 1
245
254
  })
246
255
  ], 6),
247
- J(e.$slots, "default", {}, void 0, !0)
256
+ U(e.$slots, "default", {}, void 0, !0)
248
257
  ]);
249
258
  }
250
- const De = /* @__PURE__ */ M(ve, [["render", Ee], ["__scopeId", "data-v-bbb2d8f5"]]), we = ["id", "aria-labelledby"], Ce = {
259
+ const De = /* @__PURE__ */ H(ve, [["render", ge], ["__scopeId", "data-v-bbb2d8f5"]]), Ee = ["id", "aria-labelledby"], we = {
251
260
  name: "bento-tab"
252
- }, ke = /* @__PURE__ */ z({
253
- ...Ce,
261
+ }, Be = /* @__PURE__ */ G({
262
+ ...we,
254
263
  props: {
255
264
  counter: { default: null },
256
265
  disabled: { type: Boolean, default: !1 },
@@ -261,33 +270,33 @@ const De = /* @__PURE__ */ M(ve, [["render", Ee], ["__scopeId", "data-v-bbb2d8f5
261
270
  setElementRef: { type: Function, default: void 0 }
262
271
  },
263
272
  setup(e) {
264
- const s = e, { counter: r, disabled: t, errorCounter: y, hidden: h, withNotificationIndicator: l } = le(s), d = m();
273
+ const n = e, { counter: i, disabled: t, errorCounter: y, hidden: h, withNotificationIndicator: l } = le(n), d = m();
265
274
  D(pe, (a) => {
266
275
  d.value = a;
267
276
  });
268
- const I = w(() => d.value ?? s.title), _ = U(H), u = U(q), { id: c, unregisterTab: v } = _({
269
- counter: r,
277
+ const I = E(() => d.value ?? n.title), _ = j(q), u = j(M), { id: c, unregisterTab: v } = _({
278
+ counter: i,
270
279
  disabled: t,
271
280
  errorCounter: y,
272
281
  hidden: h,
273
282
  title: I,
274
283
  withNotificationIndicator: l,
275
- setElementRef: s.setElementRef
284
+ setElementRef: n.setElementRef
276
285
  });
277
- return G(() => v()), (a, k) => F((f(), C("div", {
286
+ return J(() => v()), (a, B) => F((f(), w("div", {
278
287
  id: `${p(c)}-tabpanel`,
279
288
  class: "b-tab",
280
289
  role: "tabpanel",
281
290
  "aria-labelledby": p(c)
282
291
  }, [
283
- p(u) === p(c) ? J(a.$slots, "default", { key: 0 }, void 0, !0) : O("", !0)
284
- ], 8, we)), [
292
+ p(u) === p(c) ? U(a.$slots, "default", { key: 0 }, void 0, !0) : R("", !0)
293
+ ], 8, Ee)), [
285
294
  [L, p(u) === p(c)]
286
295
  ]);
287
296
  }
288
- }), Fe = /* @__PURE__ */ M(ke, [["__scopeId", "data-v-cf7fa0f8"]]);
297
+ }), Fe = /* @__PURE__ */ H(Be, [["__scopeId", "data-v-cf7fa0f8"]]);
289
298
  export {
290
299
  Fe as B,
291
300
  De as a
292
301
  };
293
- //# sourceMappingURL=tab.DKVHFvuI.js.map
302
+ //# sourceMappingURL=tab.ByjWuWQz.js.map