@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.
- package/dist/@types/components.d.ts +2 -0
- package/dist/@types/index.d.ts +83 -9
- package/dist/action-bar.js +1 -1
- package/dist/ai-tag.js +1 -1
- package/dist/anchor-scroller.js +1 -1
- package/dist/assets/accordion-item.css +1 -1
- package/dist/assets/action-bar.css +1 -1
- package/dist/assets/base-modal.css +1 -1
- package/dist/assets/button-actions.css +1 -1
- package/dist/assets/card.css +1 -1
- package/dist/assets/dashed-underline.css +1 -1
- package/dist/assets/data-grid.css +1 -1
- package/dist/assets/date-picker.css +1 -1
- package/dist/assets/date-range-picker.css +1 -1
- package/dist/assets/date-time-picker.css +1 -0
- package/dist/assets/dialog-page.css +1 -1
- package/dist/assets/draggable-handle.css +1 -1
- package/dist/assets/dropdown.css +1 -1
- package/dist/assets/field-label.css +1 -1
- package/dist/assets/file-uploader.css +1 -1
- package/dist/assets/filter-bar.css +1 -1
- package/dist/assets/form-layout-group.css +1 -0
- package/dist/assets/form-layout-title.css +1 -1
- package/dist/assets/header-meta.css +1 -1
- package/dist/assets/input-field-password.css +1 -1
- package/dist/assets/input-field.css +1 -1
- package/dist/assets/inspector.css +1 -1
- package/dist/assets/modal-fullscreen.css +1 -1
- package/dist/assets/navigation-menu-group.css +1 -1
- package/dist/assets/secondary-nav.css +1 -1
- package/dist/assets/sidepanel.css +1 -1
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/checkbox.js +2 -2
- package/dist/chunks/{action-bar.jhGXgcQl.js → action-bar.CIVprT2U.js} +4 -4
- package/dist/chunks/{action-bar.jhGXgcQl.js.map → action-bar.CIVprT2U.js.map} +1 -1
- package/dist/chunks/{ai-tag.DIdhvkaT.js → ai-tag.DkTlRY__.js} +2 -2
- package/dist/chunks/{ai-tag.DIdhvkaT.js.map → ai-tag.DkTlRY__.js.map} +1 -1
- package/dist/chunks/{anchor-scroller.BhppCt1n.js → anchor-scroller.J2mkf0uu.js} +5 -5
- package/dist/chunks/{anchor-scroller.BhppCt1n.js.map → anchor-scroller.J2mkf0uu.js.map} +1 -1
- package/dist/chunks/{base-modal.DxjZyGlG.js → base-modal.BKtpH-qh.js} +6 -6
- package/dist/chunks/{base-modal.DxjZyGlG.js.map → base-modal.BKtpH-qh.js.map} +1 -1
- package/dist/chunks/{button-actions-with-menu.DJzCF9ja.js → button-actions-with-menu.cMAAF47d.js} +3 -3
- package/dist/chunks/{button-actions-with-menu.DJzCF9ja.js.map → button-actions-with-menu.cMAAF47d.js.map} +1 -1
- package/dist/chunks/{button-actions.uco5ptf5.js → button-actions.CxTxPprd.js} +2 -2
- package/dist/chunks/{button-actions.uco5ptf5.js.map → button-actions.CxTxPprd.js.map} +1 -1
- package/dist/chunks/{calendar.D8CM3XkW.js → calendar.iQyNwQBL.js} +81 -75
- package/dist/chunks/calendar.iQyNwQBL.js.map +1 -0
- package/dist/chunks/{card.CWzJewQv.js → card.CQlyqa5-.js} +2 -2
- package/dist/chunks/{card.CWzJewQv.js.map → card.CQlyqa5-.js.map} +1 -1
- package/dist/chunks/{checkbox-group.Bq6PsVI_.js → checkbox-group.BcDIXL27.js} +3 -3
- package/dist/chunks/{checkbox-group.Bq6PsVI_.js.map → checkbox-group.BcDIXL27.js.map} +1 -1
- package/dist/chunks/{checkbox.DreTXMg0.js → checkbox.LTRqb-pE.js} +2 -2
- package/dist/chunks/{checkbox.DreTXMg0.js.map → checkbox.LTRqb-pE.js.map} +1 -1
- package/dist/chunks/{code-snippet.CGOmdPc-.js → code-snippet.DHzB-8JJ.js} +4 -4
- package/dist/chunks/{code-snippet.CGOmdPc-.js.map → code-snippet.DHzB-8JJ.js.map} +1 -1
- package/dist/chunks/{controls-group.D4MEP6GO.js → controls-group.B-wIl-I7.js} +2 -2
- package/dist/chunks/{controls-group.D4MEP6GO.js.map → controls-group.B-wIl-I7.js.map} +1 -1
- package/dist/chunks/{copy.Dxqx884r.js → copy.XM_7RiIR.js} +3 -3
- package/dist/chunks/{copy.Dxqx884r.js.map → copy.XM_7RiIR.js.map} +1 -1
- package/dist/chunks/{dashboard-section.NWMwtxVX.js → dashboard-section.Da6ZFGtm.js} +4 -4
- package/dist/chunks/{dashboard-section.NWMwtxVX.js.map → dashboard-section.Da6ZFGtm.js.map} +1 -1
- package/dist/chunks/dashed-underline.DJmMXcdt.js +85 -0
- package/dist/chunks/dashed-underline.DJmMXcdt.js.map +1 -0
- package/dist/chunks/{data-grid-template.Bf-VZS0u.js → data-grid-template.-MuGcJp1.js} +4 -4
- package/dist/chunks/{data-grid-template.Bf-VZS0u.js.map → data-grid-template.-MuGcJp1.js.map} +1 -1
- package/dist/chunks/{data-grid.D_TrebJz.js → data-grid.CNIXkdCJ.js} +885 -882
- package/dist/chunks/{data-grid.D_TrebJz.js.map → data-grid.CNIXkdCJ.js.map} +1 -1
- package/dist/chunks/date-picker.DyImOUH4.js +277 -0
- package/dist/chunks/date-picker.DyImOUH4.js.map +1 -0
- package/dist/chunks/{date-range-picker.C5CSReZ5.js → date-range-picker.BigC6wm2.js} +418 -437
- package/dist/chunks/date-range-picker.BigC6wm2.js.map +1 -0
- package/dist/chunks/{dialog-page.CZN5-Ohm.js → dialog-page.BOwnhJze.js} +2 -2
- package/dist/chunks/{dialog-page.CZN5-Ohm.js.map → dialog-page.BOwnhJze.js.map} +1 -1
- package/dist/chunks/directive.D1-d-C2K.js +28 -0
- package/dist/chunks/directive.D1-d-C2K.js.map +1 -0
- package/dist/chunks/draggable-handle.C1dudqKz.js +1649 -0
- package/dist/chunks/{draggable-handle.B_E-T3BS.js.map → draggable-handle.C1dudqKz.js.map} +1 -1
- package/dist/chunks/drawer.BQoyUVOW.js +64 -0
- package/dist/chunks/{drawer.GXqb2HPx.js.map → drawer.BQoyUVOW.js.map} +1 -1
- package/dist/chunks/{dropdown-tag.DUDW-Be6.js → dropdown-tag.C1ei1SyR.js} +3 -3
- package/dist/chunks/{dropdown-tag.DUDW-Be6.js.map → dropdown-tag.C1ei1SyR.js.map} +1 -1
- package/dist/chunks/{dropdown.Bsic3Nll.js → dropdown.C5um1anU.js} +523 -508
- package/dist/chunks/dropdown.C5um1anU.js.map +1 -0
- package/dist/chunks/{field-label.DFtyMriH.js → field-label.CLV3nSzz.js} +2 -2
- package/dist/chunks/{field-label.DFtyMriH.js.map → field-label.CLV3nSzz.js.map} +1 -1
- package/dist/chunks/{file-uploader.CKo27YzT.js → file-uploader.C9YOBRQg.js} +39 -38
- package/dist/chunks/{file-uploader.CKo27YzT.js.map → file-uploader.C9YOBRQg.js.map} +1 -1
- package/dist/chunks/{filter-bar.Dhghqmhb.js → filter-bar.CvZnM3hM.js} +282 -279
- package/dist/chunks/{filter-bar.Dhghqmhb.js.map → filter-bar.CvZnM3hM.js.map} +1 -1
- package/dist/chunks/{focus-trap.DcxrXRKl.js → focus-trap.Dl_rHbwH.js} +2 -2
- package/dist/chunks/{focus-trap.DcxrXRKl.js.map → focus-trap.Dl_rHbwH.js.map} +1 -1
- package/dist/chunks/{footer-actions.Dyi8PTyI.js → footer-actions.zlKq74F1.js} +2 -2
- package/dist/chunks/{footer-actions.Dyi8PTyI.js.map → footer-actions.zlKq74F1.js.map} +1 -1
- package/dist/chunks/form-layout-group.08QuvVmC.js +81 -0
- package/dist/chunks/form-layout-group.08QuvVmC.js.map +1 -0
- package/dist/chunks/form-layout-title.Kwve4xv2.js +179 -0
- package/dist/chunks/form-layout-title.Kwve4xv2.js.map +1 -0
- package/dist/chunks/header-meta.NFZo1ACP.js +243 -0
- package/dist/chunks/{header-meta.I2Tztkls.js.map → header-meta.NFZo1ACP.js.map} +1 -1
- package/dist/chunks/{header-with-views.MPJPxTzT.js → header-with-views.ubPTyW9A.js} +10 -10
- package/dist/chunks/{header-with-views.MPJPxTzT.js.map → header-with-views.ubPTyW9A.js.map} +1 -1
- package/dist/chunks/{header.CBzF5Ap9.js → header.Ds0sFKBB.js} +3 -3
- package/dist/chunks/{header.CBzF5Ap9.js.map → header.Ds0sFKBB.js.map} +1 -1
- package/dist/chunks/{index.Cqv1XuTj.js → index.oOAkh64h.js} +248 -225
- package/dist/chunks/{index.Cqv1XuTj.js.map → index.oOAkh64h.js.map} +1 -1
- package/dist/chunks/{info-icon.C_ZkQb1d.js → info-icon.1FtkyuYH.js} +3 -3
- package/dist/chunks/{info-icon.C_ZkQb1d.js.map → info-icon.1FtkyuYH.js.map} +1 -1
- package/dist/chunks/{input-field-password.CA16O5Gv.js → input-field-password.CZ-NTpZF.js} +26 -25
- package/dist/chunks/input-field-password.CZ-NTpZF.js.map +1 -0
- package/dist/chunks/{input-field-phone-number.CTeDyk0e.js → input-field-phone-number.DOHk6gSp.js} +13 -14
- package/dist/chunks/{input-field-phone-number.CTeDyk0e.js.map → input-field-phone-number.DOHk6gSp.js.map} +1 -1
- package/dist/chunks/{input-field.DlEEFday.js → input-field.DBlTGgAD.js} +104 -101
- package/dist/chunks/input-field.DBlTGgAD.js.map +1 -0
- package/dist/chunks/{input-time.CIdcQBgS.js → input-time.CHIjCO74.js} +7 -8
- package/dist/chunks/{input-time.CIdcQBgS.js.map → input-time.CHIjCO74.js.map} +1 -1
- package/dist/chunks/{inspector.BdPLtQ1t.js → inspector.BvBC1ABK.js} +3 -3
- package/dist/chunks/{inspector.BdPLtQ1t.js.map → inspector.BvBC1ABK.js.map} +1 -1
- package/dist/chunks/{layout-row.PGFh3qzc.js → layout-row.BsGdHl3d.js} +8 -8
- package/dist/chunks/{layout-row.PGFh3qzc.js.map → layout-row.BsGdHl3d.js.map} +1 -1
- package/dist/chunks/{list-item.D34osEIh.js → list-item.E1o7yuEB.js} +2 -2
- package/dist/chunks/{list-item.D34osEIh.js.map → list-item.E1o7yuEB.js.map} +1 -1
- package/dist/chunks/{listbox-option-tag.12duL_ZH.js → listbox-option-tag.yF6p9iQw.js} +2 -2
- package/dist/chunks/{listbox-option-tag.12duL_ZH.js.map → listbox-option-tag.yF6p9iQw.js.map} +1 -1
- package/dist/chunks/{modal-fullscreen.BGpyGUGB.js → modal-fullscreen.DmruiE3n.js} +4 -4
- package/dist/chunks/{modal-fullscreen.BGpyGUGB.js.map → modal-fullscreen.DmruiE3n.js.map} +1 -1
- 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
- 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
- package/dist/chunks/navigation-menu-group.CQ6ImGsJ.js +336 -0
- package/dist/chunks/navigation-menu-group.CQ6ImGsJ.js.map +1 -0
- package/dist/chunks/{pagination.CbGLdXSQ.js → pagination.DbpHH_53.js} +2 -2
- package/dist/chunks/{pagination.CbGLdXSQ.js.map → pagination.DbpHH_53.js.map} +1 -1
- package/dist/chunks/popover.types.DATOPtuh.js +6 -0
- package/dist/chunks/{popover.types.63w2RF7Y.js.map → popover.types.DATOPtuh.js.map} +1 -1
- package/dist/chunks/{popper-container.WR8Hb24e.js → popper-container.BH4WxeUj.js} +2 -2
- package/dist/chunks/{popper-container.WR8Hb24e.js.map → popper-container.BH4WxeUj.js.map} +1 -1
- package/dist/chunks/{promo-banner.DS8jlFES.js → promo-banner.DvV9eXs4.js} +2 -2
- package/dist/chunks/{promo-banner.DS8jlFES.js.map → promo-banner.DvV9eXs4.js.map} +1 -1
- package/dist/chunks/{radio-group.DpLQ_Wnj.js → radio-group.Cg67ZU0c.js} +3 -3
- package/dist/chunks/{radio-group.DpLQ_Wnj.js.map → radio-group.Cg67ZU0c.js.map} +1 -1
- package/dist/chunks/{rich-text-editor.CRa59ETT.js → rich-text-editor.u-V4fNWK.js} +4 -4
- package/dist/chunks/{rich-text-editor.CRa59ETT.js.map → rich-text-editor.u-V4fNWK.js.map} +1 -1
- package/dist/chunks/{search-bar.tmX9JctT.js → search-bar.TKgi1KLs.js} +5 -6
- package/dist/chunks/{search-bar.tmX9JctT.js.map → search-bar.TKgi1KLs.js.map} +1 -1
- package/dist/chunks/secondary-nav.0OsJiAWI.js +315 -0
- package/dist/chunks/{secondary-nav.KIu9A7pb.js.map → secondary-nav.0OsJiAWI.js.map} +1 -1
- package/dist/chunks/{segmented-control.Dxfpt98K.js → segmented-control.D6Yvxxpc.js} +2 -2
- package/dist/chunks/{segmented-control.Dxfpt98K.js.map → segmented-control.D6Yvxxpc.js.map} +1 -1
- package/dist/chunks/{selection-card-group.BVxESHZH.js → selection-card-group.C59ZIrVm.js} +3 -3
- package/dist/chunks/{selection-card-group.BVxESHZH.js.map → selection-card-group.C59ZIrVm.js.map} +1 -1
- package/dist/chunks/set-time-in-date.9-8WOiMT.js +27 -0
- package/dist/chunks/set-time-in-date.9-8WOiMT.js.map +1 -0
- package/dist/chunks/{sidepanel.BwesEWP_.js → sidepanel.BVQt6Tac.js} +6 -6
- package/dist/chunks/{sidepanel.BwesEWP_.js.map → sidepanel.BVQt6Tac.js.map} +1 -1
- package/dist/chunks/{structured-list-item.DUWQ4ggz.js → structured-list-item.BhYtSw2f.js} +4 -4
- package/dist/chunks/{structured-list-item.DUWQ4ggz.js.map → structured-list-item.BhYtSw2f.js.map} +1 -1
- package/dist/chunks/{summary-grid.types.BvZUfgwA.js → summary-grid.types.9sUs0LS0.js} +5 -5
- package/dist/chunks/{summary-grid.types.BvZUfgwA.js.map → summary-grid.types.9sUs0LS0.js.map} +1 -1
- package/dist/chunks/{tab.DKVHFvuI.js → tab.ByjWuWQz.js} +108 -99
- package/dist/chunks/{tab.DKVHFvuI.js.map → tab.ByjWuWQz.js.map} +1 -1
- package/dist/chunks/{tag.DyNHhsGt.js → tag.Uu-6AQys.js} +2 -2
- package/dist/chunks/{tag.DyNHhsGt.js.map → tag.Uu-6AQys.js.map} +1 -1
- package/dist/chunks/{textarea.DNeZr2IZ.js → textarea.QgSLPL7S.js} +2 -2
- package/dist/chunks/{textarea.DNeZr2IZ.js.map → textarea.QgSLPL7S.js.map} +1 -1
- package/dist/chunks/{timeline-item.CfA1E0zq.js → timeline-item.DfwOm5do.js} +6 -6
- package/dist/chunks/{timeline-item.CfA1E0zq.js.map → timeline-item.DfwOm5do.js.map} +1 -1
- package/dist/chunks/{tooltip.CuwiX213.js → tooltip.Djn54E1O.js} +3 -3
- package/dist/chunks/{tooltip.CuwiX213.js.map → tooltip.Djn54E1O.js.map} +1 -1
- 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
- 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
- package/dist/chunks/use-bento-delayed-hover.Csc3nIWt.js +30 -0
- package/dist/chunks/use-bento-delayed-hover.Csc3nIWt.js.map +1 -0
- package/dist/chunks/{use-cached-selected-values.C2nbQ4g-.js → use-cached-selected-values.DOw5IKdU.js} +3 -3
- package/dist/chunks/{use-cached-selected-values.C2nbQ4g-.js.map → use-cached-selected-values.DOw5IKdU.js.map} +1 -1
- package/dist/chunks/{use-date-input-formatter.DaBZd09a.js → use-date-input-formatter.x285YiSd.js} +2 -2
- package/dist/chunks/{use-date-input-formatter.DaBZd09a.js.map → use-date-input-formatter.x285YiSd.js.map} +1 -1
- package/dist/code-snippet.js +1 -1
- package/dist/dashboard-template.js +1 -1
- package/dist/dashed-underline.js +1 -1
- package/dist/data-grid-template.js +1 -1
- package/dist/data-grid.js +1 -1
- package/dist/date-picker.js +2 -2
- package/dist/date-range-picker.js +2 -2
- package/dist/date-time-picker.js +123 -0
- package/dist/date-time-picker.js.map +1 -0
- package/dist/draggable.js +1 -1
- package/dist/drawer.js +1 -1
- package/dist/dropdown.js +3 -3
- package/dist/file-uploader.js +1 -1
- package/dist/filter-bar.js +1 -1
- package/dist/focus-trap.js +1 -1
- package/dist/form-layout.js +5 -4
- package/dist/form-layout.js.map +1 -1
- package/dist/header-with-views.js +1 -1
- package/dist/header.js +1 -1
- package/dist/index.js +217 -216
- package/dist/index.js.map +1 -1
- package/dist/info-icon.js +1 -1
- package/dist/input-field-password.js +1 -1
- package/dist/input-field-phone-number.js +1 -1
- package/dist/input-field.js +1 -1
- package/dist/input-time.js +1 -1
- package/dist/inspector.js +1 -1
- package/dist/internal.js +11 -11
- package/dist/layout.js +1 -1
- package/dist/list.js +1 -1
- package/dist/menu.js +1 -1
- package/dist/modal-fullscreen.js +1 -1
- package/dist/modal.js +2 -2
- package/dist/navigation-menu.js +1 -1
- package/dist/pagination.js +1 -1
- package/dist/popover.js +2 -2
- package/dist/popper-container.js +1 -1
- package/dist/promo-banner.js +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/rich-text-editor.js +1 -1
- package/dist/search-bar.js +2 -2
- package/dist/secondary-nav.js +1 -1
- package/dist/segmented-control.js +1 -1
- package/dist/selection-card.js +1 -1
- package/dist/sidepanel.js +1 -1
- package/dist/structured-list.js +1 -1
- package/dist/summary-grid.js +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tag.js +1 -1
- package/dist/textarea.js +1 -1
- package/dist/timeline.js +1 -1
- package/dist/tutorial.js +1 -1
- package/dist/web-types.json +1 -1
- package/package.json +6 -6
- package/dist/chunks/calendar.D8CM3XkW.js.map +0 -1
- package/dist/chunks/dashed-underline.DojqhvAa.js +0 -108
- package/dist/chunks/dashed-underline.DojqhvAa.js.map +0 -1
- package/dist/chunks/date-picker.DUUGSbot.js +0 -269
- package/dist/chunks/date-picker.DUUGSbot.js.map +0 -1
- package/dist/chunks/date-range-picker.C5CSReZ5.js.map +0 -1
- package/dist/chunks/directive.C8kY-ZW-.js +0 -23
- package/dist/chunks/directive.C8kY-ZW-.js.map +0 -1
- package/dist/chunks/draggable-handle.B_E-T3BS.js +0 -1639
- package/dist/chunks/drawer.GXqb2HPx.js +0 -55
- package/dist/chunks/dropdown.Bsic3Nll.js.map +0 -1
- package/dist/chunks/form-layout-title.B712PesH.js +0 -253
- package/dist/chunks/form-layout-title.B712PesH.js.map +0 -1
- package/dist/chunks/header-meta.I2Tztkls.js +0 -259
- package/dist/chunks/input-field-password.CA16O5Gv.js.map +0 -1
- package/dist/chunks/input-field.DlEEFday.js.map +0 -1
- package/dist/chunks/navigation-menu-group.D5HMMAuh.js +0 -320
- package/dist/chunks/navigation-menu-group.D5HMMAuh.js.map +0 -1
- package/dist/chunks/popover.types.63w2RF7Y.js +0 -6
- package/dist/chunks/secondary-nav.KIu9A7pb.js +0 -306
package/dist/chunks/{summary-grid.types.BvZUfgwA.js.map → summary-grid.types.9sUs0LS0.js.map}
RENAMED
|
@@ -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":"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"}
|
|
@@ -1,25 +1,34 @@
|
|
|
1
|
-
import { defineComponent as
|
|
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.
|
|
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
|
|
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
|
|
9
|
+
import { _ as H } from "./_plugin-vue_export-helper.CHgC5LLL.js";
|
|
10
10
|
import "../assets/tab.css";
|
|
11
|
-
const Q = (e,
|
|
12
|
-
const
|
|
13
|
-
return t.disabled || t.hidden ? Q(
|
|
14
|
-
}, Z = (e,
|
|
15
|
-
const
|
|
16
|
-
return t.disabled || t.hidden ? Z(
|
|
17
|
-
},
|
|
18
|
-
"
|
|
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
|
|
21
|
-
const ve =
|
|
22
|
-
i18n: { messages:
|
|
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: [
|
|
46
|
-
setup(e, { emit:
|
|
47
|
-
const { tc:
|
|
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(
|
|
50
|
-
const I = (
|
|
51
|
-
t.value = t.value?.filter(({ id: o }) => o !==
|
|
58
|
+
D(M, l);
|
|
59
|
+
const I = (r) => () => {
|
|
60
|
+
t.value = t.value?.filter(({ id: o }) => o !== r);
|
|
52
61
|
};
|
|
53
|
-
D(
|
|
54
|
-
title:
|
|
62
|
+
D(q, ({
|
|
63
|
+
title: r,
|
|
55
64
|
disabled: o,
|
|
56
|
-
errorCounter:
|
|
57
|
-
withNotificationIndicator:
|
|
65
|
+
errorCounter: s,
|
|
66
|
+
withNotificationIndicator: C,
|
|
58
67
|
counter: te,
|
|
59
68
|
hidden: ae,
|
|
60
|
-
setElementRef:
|
|
69
|
+
setElementRef: re
|
|
61
70
|
}) => {
|
|
62
|
-
const
|
|
71
|
+
const $ = _e("b-tab");
|
|
63
72
|
return t.value.push({
|
|
64
73
|
counter: te,
|
|
65
74
|
disabled: o,
|
|
66
|
-
errorCounter:
|
|
75
|
+
errorCounter: s,
|
|
67
76
|
hidden: ae,
|
|
68
|
-
id:
|
|
69
|
-
title:
|
|
70
|
-
withNotificationIndicator:
|
|
71
|
-
setElementRef:
|
|
72
|
-
}), { id:
|
|
77
|
+
id: $,
|
|
78
|
+
title: r,
|
|
79
|
+
withNotificationIndicator: C,
|
|
80
|
+
setElementRef: re
|
|
81
|
+
}), { id: $, unregisterTab: I($) };
|
|
73
82
|
});
|
|
74
|
-
const u = (
|
|
75
|
-
if (
|
|
76
|
-
const o = t.value.find((
|
|
77
|
-
let
|
|
78
|
-
|
|
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
|
-
|
|
90
|
+
P(
|
|
82
91
|
[() => e.activeTabIndex, t],
|
|
83
|
-
([
|
|
84
|
-
|
|
85
|
-
const
|
|
86
|
-
l.value =
|
|
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 = (
|
|
92
|
-
l.value =
|
|
93
|
-
const o = t.value.findIndex(({ id:
|
|
94
|
-
|
|
95
|
-
}, v = (
|
|
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
|
-
},
|
|
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(
|
|
112
|
+
), b.observe(r));
|
|
104
113
|
};
|
|
105
|
-
|
|
114
|
+
P(
|
|
106
115
|
[() => e.sticky, h, a],
|
|
107
|
-
([
|
|
108
|
-
|
|
116
|
+
([r, o]) => {
|
|
117
|
+
k(), r && o && V(() => O(o));
|
|
109
118
|
},
|
|
110
119
|
{ immediate: !0 }
|
|
111
|
-
),
|
|
112
|
-
|
|
120
|
+
), J(() => {
|
|
121
|
+
k();
|
|
113
122
|
});
|
|
114
|
-
const
|
|
123
|
+
const S = E(() => ({
|
|
115
124
|
"b-tabs__tab-list-wrapper--sticky": e.sticky,
|
|
116
|
-
"b-tabs__tab-list-wrapper--pinned":
|
|
117
|
-
})), ee =
|
|
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:
|
|
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
|
-
},
|
|
152
|
+
}, Ce = {
|
|
144
153
|
class: "b-tabs__tab-underline",
|
|
145
154
|
"aria-hidden": "true"
|
|
146
155
|
};
|
|
147
|
-
function
|
|
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(),
|
|
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:
|
|
162
|
+
style: ne(e.tablistWrapperStyles)
|
|
154
163
|
}, [
|
|
155
164
|
x(I, {
|
|
156
165
|
condensed: "",
|
|
157
166
|
"extra-padding-top": 2
|
|
158
167
|
}, {
|
|
159
|
-
default:
|
|
168
|
+
default: g(() => [
|
|
160
169
|
T("div", {
|
|
161
170
|
ref: "tablist",
|
|
162
171
|
class: "b-tabs__tab-list",
|
|
163
172
|
role: "tablist",
|
|
164
|
-
onKeydown:
|
|
173
|
+
onKeydown: n[0] || (n[0] = (..._) => e.onKeydownTabsNavigation && e.onKeydownTabsNavigation(..._))
|
|
165
174
|
}, [
|
|
166
|
-
(f(!0),
|
|
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:
|
|
173
|
-
withNotificationIndicator:
|
|
174
|
-
setElementRef:
|
|
175
|
-
}) => F((f(),
|
|
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:
|
|
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: (
|
|
192
|
-
onKeydown:
|
|
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:
|
|
202
|
-
|
|
210
|
+
default: g(() => [
|
|
211
|
+
W(A(B), 1)
|
|
203
212
|
]),
|
|
204
213
|
_: 2
|
|
205
214
|
}, 1024),
|
|
206
|
-
_ != null ? (f(),
|
|
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:
|
|
216
|
-
|
|
224
|
+
default: g(() => [
|
|
225
|
+
W(A(_), 1)
|
|
217
226
|
]),
|
|
218
227
|
_: 2
|
|
219
|
-
}, 1032, ["class"])) :
|
|
220
|
-
c != null ? (f(),
|
|
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:
|
|
234
|
+
icon: g(() => [
|
|
226
235
|
x(d, { "aria-hidden": "true" })
|
|
227
236
|
]),
|
|
228
|
-
default:
|
|
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)) :
|
|
234
|
-
|
|
242
|
+
}, 1024)) : R("", !0),
|
|
243
|
+
k ? (f(), w("span", Ie)) : R("", !0)
|
|
235
244
|
]),
|
|
236
|
-
F(T("span",
|
|
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
|
-
|
|
256
|
+
U(e.$slots, "default", {}, void 0, !0)
|
|
248
257
|
]);
|
|
249
258
|
}
|
|
250
|
-
const De = /* @__PURE__ */
|
|
259
|
+
const De = /* @__PURE__ */ H(ve, [["render", ge], ["__scopeId", "data-v-bbb2d8f5"]]), Ee = ["id", "aria-labelledby"], we = {
|
|
251
260
|
name: "bento-tab"
|
|
252
|
-
},
|
|
253
|
-
...
|
|
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
|
|
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 =
|
|
269
|
-
counter:
|
|
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:
|
|
284
|
+
setElementRef: n.setElementRef
|
|
276
285
|
});
|
|
277
|
-
return
|
|
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) ?
|
|
284
|
-
], 8,
|
|
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__ */
|
|
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.
|
|
302
|
+
//# sourceMappingURL=tab.ByjWuWQz.js.map
|