@adyen/bento-vue2 1.47.1 → 1.48.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 +4 -0
- package/dist/@types/index.d.ts +346 -97
- package/dist/action-bar.js +1 -1
- package/dist/alert.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/card.css +1 -1
- package/dist/assets/chip.css +1 -0
- package/dist/assets/data-grid.css +1 -1
- package/dist/assets/date-range-picker.css +1 -1
- package/dist/assets/dialog-page.css +1 -1
- package/dist/assets/file-uploader.css +1 -1
- package/dist/assets/input-field-password.css +1 -1
- package/dist/assets/input-field-phone-number.css +1 -0
- package/dist/assets/input-field.css +1 -1
- package/dist/assets/inspector.css +1 -1
- package/dist/assets/link.css +1 -1
- package/dist/assets/menu.css +1 -1
- package/dist/assets/modal-fullscreen.css +1 -1
- package/dist/assets/popover.css +1 -1
- package/dist/assets/segmented-control.css +1 -1
- package/dist/assets/sidepanel.css +1 -1
- package/dist/assets/summary-grid-item-custom.css +1 -1
- package/dist/button.js +3 -3
- package/dist/card.js +1 -1
- package/dist/checkbox.js +2 -2
- package/dist/chip.js +5 -0
- package/dist/chip.js.map +1 -0
- package/dist/chunks/{action-bar.EcN2I7Az.js → action-bar.CSgrrcK0.js} +5 -5
- package/dist/chunks/{action-bar.EcN2I7Az.js.map → action-bar.CSgrrcK0.js.map} +1 -1
- package/dist/chunks/{alert.BRN8cpXl.js → alert.hiTIDSeX.js} +2 -2
- package/dist/chunks/{alert.BRN8cpXl.js.map → alert.hiTIDSeX.js.map} +1 -1
- package/dist/chunks/{base-modal.BgTZ8iQ6.js → base-modal.47Xa68h9.js} +4 -4
- package/dist/chunks/{base-modal.BgTZ8iQ6.js.map → base-modal.47Xa68h9.js.map} +1 -1
- package/dist/chunks/{button-actions-with-menu.C8EjGVCT.js → button-actions-with-menu.D13mJiKO.js} +4 -4
- package/dist/chunks/{button-actions-with-menu.C8EjGVCT.js.map → button-actions-with-menu.D13mJiKO.js.map} +1 -1
- package/dist/chunks/{button-actions.BU173IFE.js → button-actions.BovYBINL.js} +2 -2
- package/dist/chunks/{button-actions.BU173IFE.js.map → button-actions.BovYBINL.js.map} +1 -1
- package/dist/chunks/{button.BX6ZJxF7.js → button.CdAFZa4V.js} +2 -2
- package/dist/chunks/{button.BX6ZJxF7.js.map → button.CdAFZa4V.js.map} +1 -1
- package/dist/chunks/{calendar.DlOcbH6E.js → calendar.Bb0-Svhx.js} +4 -4
- package/dist/chunks/{calendar.DlOcbH6E.js.map → calendar.Bb0-Svhx.js.map} +1 -1
- package/dist/chunks/{card.DoyCGJay.js → card.D-w9c3-n.js} +2 -2
- package/dist/chunks/{card.DoyCGJay.js.map → card.D-w9c3-n.js.map} +1 -1
- package/dist/chunks/{checkbox-group.k7Au5RP-.js → checkbox-group.BXfJo9NR.js} +2 -2
- package/dist/chunks/{checkbox-group.k7Au5RP-.js.map → checkbox-group.BXfJo9NR.js.map} +1 -1
- package/dist/chunks/{checkbox.Beyvm7Oh.js → checkbox.BEHpJDrF.js} +3 -3
- package/dist/chunks/{checkbox.Beyvm7Oh.js.map → checkbox.BEHpJDrF.js.map} +1 -1
- package/dist/chunks/chip.HNUA9VZl.js +63 -0
- package/dist/chunks/chip.HNUA9VZl.js.map +1 -0
- package/dist/chunks/{code-snippet.BDgd8txq.js → code-snippet.CUx6b252.js} +6 -6
- package/dist/chunks/{code-snippet.BDgd8txq.js.map → code-snippet.CUx6b252.js.map} +1 -1
- package/dist/chunks/{codemirror.0fz2cWJS.js → codemirror.Zv80n3Z2.js} +13 -14
- package/dist/chunks/{codemirror.0fz2cWJS.js.map → codemirror.Zv80n3Z2.js.map} +1 -1
- package/dist/chunks/{copy.BuMSGw23.js → copy.adSQlAOY.js} +2 -2
- package/dist/chunks/{copy.BuMSGw23.js.map → copy.adSQlAOY.js.map} +1 -1
- package/dist/chunks/{country.2-ZtYkh7.js → country.Df7erZov.js} +22 -21
- package/dist/chunks/{country.2-ZtYkh7.js.map → country.Df7erZov.js.map} +1 -1
- package/dist/chunks/country.types.C0Q_hhgJ.js +269 -0
- package/dist/chunks/country.types.C0Q_hhgJ.js.map +1 -0
- package/dist/chunks/{currency.BmI4Sqy5.js → currency.B1F9YOIx.js} +2 -2
- package/dist/chunks/{currency.BmI4Sqy5.js.map → currency.B1F9YOIx.js.map} +1 -1
- package/dist/chunks/{dashboard-section.COWO5SVw.js → dashboard-section.q1XXEUZc.js} +3 -3
- package/dist/chunks/{dashboard-section.COWO5SVw.js.map → dashboard-section.q1XXEUZc.js.map} +1 -1
- package/dist/chunks/{dashed-underline.BEAEmTCb.js → dashed-underline.CpVP3VDL.js} +2 -2
- package/dist/chunks/{dashed-underline.BEAEmTCb.js.map → dashed-underline.CpVP3VDL.js.map} +1 -1
- package/dist/chunks/{data-grid-template.vBl7u2cB.js → data-grid-template.kCxfVaW7.js} +3 -3
- package/dist/chunks/{data-grid-template.vBl7u2cB.js.map → data-grid-template.kCxfVaW7.js.map} +1 -1
- package/dist/chunks/{data-grid.CjtvBoki.js → data-grid.DgxC3G4n.js} +492 -487
- package/dist/chunks/data-grid.DgxC3G4n.js.map +1 -0
- package/dist/chunks/{date-picker.Bym2OEd9.js → date-picker.DqsQJ7P7.js} +4 -4
- package/dist/chunks/{date-picker.Bym2OEd9.js.map → date-picker.DqsQJ7P7.js.map} +1 -1
- package/dist/chunks/date-range-picker.VZlIz83o.js +884 -0
- package/dist/chunks/date-range-picker.VZlIz83o.js.map +1 -0
- package/dist/chunks/{date.1zs9CRhw.js → date.YLIcAerL.js} +69 -1
- package/dist/chunks/{date.1zs9CRhw.js.map → date.YLIcAerL.js.map} +1 -1
- package/dist/chunks/{dialog-page.DcJ7LaOE.js → dialog-page.Bf07JxdG.js} +2 -2
- package/dist/chunks/{dialog-page.DcJ7LaOE.js.map → dialog-page.Bf07JxdG.js.map} +1 -1
- package/dist/chunks/{dropdown-tag.DiOkEmGh.js → dropdown-tag.BLAjuup5.js} +6 -6
- package/dist/chunks/{dropdown-tag.DiOkEmGh.js.map → dropdown-tag.BLAjuup5.js.map} +1 -1
- package/dist/chunks/{dropdown.ndl5cKe0.js → dropdown.DWgwNFNB.js} +4 -4
- package/dist/chunks/{dropdown.ndl5cKe0.js.map → dropdown.DWgwNFNB.js.map} +1 -1
- package/dist/chunks/{empty-state.1TyzB5ju.js → empty-state.BnHTBgKG.js} +2 -2
- package/dist/chunks/{empty-state.1TyzB5ju.js.map → empty-state.BnHTBgKG.js.map} +1 -1
- package/dist/chunks/es6.BtaxuP0b.js.map +1 -1
- package/dist/chunks/{file-uploader.DVyryYaq.js → file-uploader.DT7GsNqI.js} +4 -4
- package/dist/chunks/{file-uploader.DVyryYaq.js.map → file-uploader.DT7GsNqI.js.map} +1 -1
- package/dist/chunks/{filter-bar.ClRwHFxl.js → filter-bar.D2YR4Tpz.js} +103 -105
- package/dist/chunks/filter-bar.D2YR4Tpz.js.map +1 -0
- package/dist/chunks/{fixed-scroller.IPM3AzHS.js → fixed-scroller.DX2YUuoU.js} +2 -2
- package/dist/chunks/{fixed-scroller.IPM3AzHS.js.map → fixed-scroller.DX2YUuoU.js.map} +1 -1
- package/dist/chunks/{footer-actions.Cbe_YLjP.js → footer-actions.BsoofCrv.js} +3 -3
- package/dist/chunks/{footer-actions.Cbe_YLjP.js.map → footer-actions.BsoofCrv.js.map} +1 -1
- package/dist/chunks/{form-layout-title.Xdsi84v2.js → form-layout-title.CJbgfh3P.js} +2 -2
- package/dist/chunks/{form-layout-title.Xdsi84v2.js.map → form-layout-title.CJbgfh3P.js.map} +1 -1
- package/dist/chunks/get-slot-text.BQS5Olxm.js +12 -0
- package/dist/chunks/get-slot-text.BQS5Olxm.js.map +1 -0
- package/dist/chunks/{header.BIZTUAJE.js → header.D5MLt9hG.js} +4 -4
- package/dist/chunks/{header.BIZTUAJE.js.map → header.D5MLt9hG.js.map} +1 -1
- package/dist/chunks/{info-icon-with-popover.Bly2e0uy.js → info-icon-with-popover.CO0mky_N.js} +2 -2
- package/dist/chunks/{info-icon-with-popover.Bly2e0uy.js.map → info-icon-with-popover.CO0mky_N.js.map} +1 -1
- package/dist/chunks/{input-field-password.DEW15Tfy.js → input-field-password.CQtzruQM.js} +4 -4
- package/dist/chunks/{input-field-password.DEW15Tfy.js.map → input-field-password.CQtzruQM.js.map} +1 -1
- package/dist/chunks/input-field-phone-number.DWKZy2-k.js +3098 -0
- package/dist/chunks/input-field-phone-number.DWKZy2-k.js.map +1 -0
- package/dist/chunks/{input-field.DUf6qDBc.js → input-field.3V5IblWw.js} +31 -26
- package/dist/chunks/input-field.3V5IblWw.js.map +1 -0
- package/dist/chunks/{inspector.types.8071wkf0.js → inspector.types.GOl_-hXm.js} +2 -2
- package/dist/chunks/{inspector.types.8071wkf0.js.map → inspector.types.GOl_-hXm.js.map} +1 -1
- package/dist/chunks/{keyboard-navigation.Clz1jOaA.js → keyboard-navigation.pB8weElW.js} +2 -1
- package/dist/chunks/{keyboard-navigation.Clz1jOaA.js.map → keyboard-navigation.pB8weElW.js.map} +1 -1
- package/dist/chunks/{link.UOEUR35A.js → link.DZlbzVSB.js} +35 -28
- package/dist/chunks/link.DZlbzVSB.js.map +1 -0
- package/dist/chunks/{listbox-option-tag.Co0ycEdQ.js → listbox-option-tag.XbvBQqlt.js} +2 -2
- package/dist/chunks/{listbox-option-tag.Co0ycEdQ.js.map → listbox-option-tag.XbvBQqlt.js.map} +1 -1
- package/dist/chunks/{menu.Dq7RlryT.js → menu.DYopJZ12.js} +3 -3
- package/dist/chunks/{menu.Dq7RlryT.js.map → menu.DYopJZ12.js.map} +1 -1
- package/dist/chunks/{modal-fullscreen.CfrgVR_K.js → modal-fullscreen.Pp5mp7hD.js} +4 -4
- package/dist/chunks/{modal-fullscreen.CfrgVR_K.js.map → modal-fullscreen.Pp5mp7hD.js.map} +1 -1
- package/dist/chunks/{modal.CuUUMIU_.js → modal.CCjAy7Hv.js} +5 -5
- package/dist/chunks/{modal.CuUUMIU_.js.map → modal.CCjAy7Hv.js.map} +1 -1
- package/dist/chunks/{pagination.H-13o3aM.js → pagination.8g4bC4tv.js} +3 -3
- package/dist/chunks/{pagination.H-13o3aM.js.map → pagination.8g4bC4tv.js.map} +1 -1
- package/dist/chunks/{payment-method.UaERFtej.js → payment-method.BKr_q5cZ.js} +2 -2
- package/dist/chunks/{payment-method.UaERFtej.js.map → payment-method.BKr_q5cZ.js.map} +1 -1
- package/dist/chunks/{popover.nev0GndY.js → popover.C-LwO38X.js} +3 -3
- package/dist/chunks/{popover.nev0GndY.js.map → popover.C-LwO38X.js.map} +1 -1
- package/dist/chunks/{promo-banner.BXtIM4C9.js → promo-banner.DS0_aROF.js} +2 -2
- package/dist/chunks/{promo-banner.BXtIM4C9.js.map → promo-banner.DS0_aROF.js.map} +1 -1
- package/dist/chunks/{radio-group.D1q0VKvv.js → radio-group.1z-IZvLU.js} +3 -3
- package/dist/chunks/{radio-group.D1q0VKvv.js.map → radio-group.1z-IZvLU.js.map} +1 -1
- package/dist/chunks/{search-bar.2uugiaDY.js → search-bar.Bu12OC-l.js} +3 -3
- package/dist/chunks/{search-bar.2uugiaDY.js.map → search-bar.Bu12OC-l.js.map} +1 -1
- package/dist/chunks/{secondary-nav.sknezArI.js → secondary-nav.CLDlWCXX.js} +2 -2
- package/dist/chunks/{secondary-nav.sknezArI.js.map → secondary-nav.CLDlWCXX.js.map} +1 -1
- package/dist/chunks/{segmented-control.DL0W7lJ_.js → segmented-control.BJIlas0M.js} +17 -16
- package/dist/chunks/segmented-control.BJIlas0M.js.map +1 -0
- package/dist/chunks/segmented-control.types.BHRLV8KU.js.map +1 -1
- package/dist/chunks/{sidepanel.D-KuHnwI.js → sidepanel.C_ff-PEn.js} +4 -4
- package/dist/chunks/{sidepanel.D-KuHnwI.js.map → sidepanel.C_ff-PEn.js.map} +1 -1
- package/dist/chunks/{step.BsIdWhaZ.js → step.DrP2Frvn.js} +2 -2
- package/dist/chunks/{step.BsIdWhaZ.js.map → step.DrP2Frvn.js.map} +1 -1
- package/dist/chunks/{structured-list-item.Dk8Z-FPn.js → structured-list-item.TC8mVrrA.js} +3 -3
- package/dist/chunks/{structured-list-item.Dk8Z-FPn.js.map → structured-list-item.TC8mVrrA.js.map} +1 -1
- package/dist/chunks/{summary-grid-item-custom.atXX3GY9.js → summary-grid-item-custom.A11AzfH0.js} +109 -104
- package/dist/chunks/summary-grid-item-custom.A11AzfH0.js.map +1 -0
- package/dist/chunks/summary-grid.keys.CxTf_FOc.js +6 -0
- package/dist/chunks/summary-grid.keys.CxTf_FOc.js.map +1 -0
- package/dist/chunks/{tabs.9kObZry9.js → tabs.5zgaD1k3.js} +2 -2
- package/dist/chunks/{tabs.9kObZry9.js.map → tabs.5zgaD1k3.js.map} +1 -1
- package/dist/chunks/{tag.-YNhsBv7.js → tag.3fthBtwc.js} +2 -2
- package/dist/chunks/{tag.-YNhsBv7.js.map → tag.3fthBtwc.js.map} +1 -1
- package/dist/chunks/{textarea.BVzGn3zO.js → textarea.CpXux8qX.js} +2 -2
- package/dist/chunks/{textarea.BVzGn3zO.js.map → textarea.CpXux8qX.js.map} +1 -1
- package/dist/chunks/{timeline-item.D_YNHlRi.js → timeline-item.Ca9RJt0z.js} +8 -8
- package/dist/chunks/{timeline-item.D_YNHlRi.js.map → timeline-item.Ca9RJt0z.js.map} +1 -1
- package/dist/chunks/{toast.DgJbW9CL.js → toast.C5I7Wsfa.js} +2 -2
- package/dist/chunks/{toast.DgJbW9CL.js.map → toast.C5I7Wsfa.js.map} +1 -1
- package/dist/chunks/{toggle-button.Cf8C7p6e.js → toggle-button.BX_9vB0d.js} +2 -2
- package/dist/chunks/{toggle-button.Cf8C7p6e.js.map → toggle-button.BX_9vB0d.js.map} +1 -1
- package/dist/chunks/{toggle.CnS7qszG.js → toggle.CyaY0U0K.js} +2 -2
- package/dist/chunks/{toggle.CnS7qszG.js.map → toggle.CyaY0U0K.js.map} +1 -1
- package/dist/chunks/truncate.BfIl_-71.js +8 -0
- package/dist/chunks/truncate.BfIl_-71.js.map +1 -0
- package/dist/chunks/{tutorial.cQXPvqV4.js → tutorial.Cc0tv59x.js} +4 -4
- package/dist/chunks/{tutorial.cQXPvqV4.js.map → tutorial.Cc0tv59x.js.map} +1 -1
- package/dist/chunks/{use-cached-selected-values.nHAjK6Nj.js → use-cached-selected-values.C24AnZ-w.js} +5 -5
- package/dist/chunks/{use-cached-selected-values.nHAjK6Nj.js.map → use-cached-selected-values.C24AnZ-w.js.map} +1 -1
- package/dist/chunks/use-country-items.HFnjuDsG.js +30 -0
- package/dist/chunks/{use-country-items.eWARMT6I.js.map → use-country-items.HFnjuDsG.js.map} +1 -1
- package/dist/chunks/{country.types.CLjbulKL.js → use-country-phon-code.DVgE19zT.js} +497 -761
- package/dist/chunks/use-country-phon-code.DVgE19zT.js.map +1 -0
- package/dist/code-snippet.js +1 -1
- package/dist/country.js +7 -6
- package/dist/country.js.map +1 -1
- package/dist/currency.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.js +1 -1
- package/dist/dropdown.js +3 -3
- package/dist/empty-state.js +1 -1
- package/dist/file-uploader.js +1 -1
- package/dist/filter-bar.js +1 -1
- package/dist/form-layout.js +1 -1
- package/dist/header.js +1 -1
- package/dist/index.js +217 -212
- package/dist/index.js.map +1 -1
- package/dist/input-field-password.js +1 -1
- package/dist/input-field-phone-number.js +5 -0
- package/dist/input-field-phone-number.js.map +1 -0
- package/dist/input-field.js +1 -1
- package/dist/inspector.js +1 -1
- package/dist/internal.js +9 -9
- package/dist/link.js +1 -1
- package/dist/menu.js +1 -1
- package/dist/modal-fullscreen.js +1 -1
- package/dist/modal.js +2 -2
- package/dist/pagination.js +1 -1
- package/dist/payment-method.js +1 -1
- package/dist/popover.js +1 -1
- package/dist/promo-banner.js +1 -1
- package/dist/radio-group.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/sidepanel.js +1 -1
- package/dist/stepper.js +1 -1
- package/dist/structured-list.js +1 -1
- package/dist/styles/bento-dark.css +15 -1
- package/dist/styles/bento-light.css +15 -1
- package/dist/styles/bento.css +15 -1
- package/dist/styles/legacy.css +14 -0
- package/dist/styles/styleguide.css +15 -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/toast.js +1 -1
- package/dist/toggle.js +1 -1
- package/dist/tutorial.js +1 -1
- package/dist/web-types.json +263 -5
- package/package.json +8 -7
- package/dist/chunks/country.types.CLjbulKL.js.map +0 -1
- package/dist/chunks/data-grid.CjtvBoki.js.map +0 -1
- package/dist/chunks/date-range-picker.D6BNlau6.js +0 -840
- package/dist/chunks/date-range-picker.D6BNlau6.js.map +0 -1
- package/dist/chunks/filter-bar.ClRwHFxl.js.map +0 -1
- package/dist/chunks/get-slot-text.Cgn-E48s.js +0 -9
- package/dist/chunks/get-slot-text.Cgn-E48s.js.map +0 -1
- package/dist/chunks/input-field.DUf6qDBc.js.map +0 -1
- package/dist/chunks/link.UOEUR35A.js.map +0 -1
- package/dist/chunks/segmented-control.DL0W7lJ_.js.map +0 -1
- package/dist/chunks/summary-grid-item-custom.atXX3GY9.js.map +0 -1
- package/dist/chunks/summary-grid.keys.BBbFrFGF.js +0 -5
- package/dist/chunks/summary-grid.keys.BBbFrFGF.js.map +0 -1
- package/dist/chunks/use-country-items.eWARMT6I.js +0 -29
package/dist/chunks/{summary-grid-item-custom.atXX3GY9.js → summary-grid-item-custom.A11AzfH0.js}
RENAMED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { u as
|
|
3
|
-
import { S as
|
|
4
|
-
import { G as
|
|
5
|
-
import { n as
|
|
6
|
-
import { B as
|
|
7
|
-
import { B as
|
|
8
|
-
import { B as
|
|
9
|
-
import { C as
|
|
1
|
+
import { defineComponent as c, provide as g, toRef as O, toRefs as L, inject as M, ref as R, computed as l } from "vue";
|
|
2
|
+
import { u as S } from "./use-has-slot.C9lQZ6nz.js";
|
|
3
|
+
import { S as P, a as T } from "./summary-grid.keys.CxTf_FOc.js";
|
|
4
|
+
import { G as A } from "./grid-layout.HvTAa4to.js";
|
|
5
|
+
import { n as u } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
|
|
6
|
+
import { B as D } from "./info-icon.0d0GzDe2.js";
|
|
7
|
+
import { B as V, a as v } from "./typography.J1v_SPG3.js";
|
|
8
|
+
import { B as j, a as _ } from "./tag.3fthBtwc.js";
|
|
9
|
+
import { C as B } from "./copy.adSQlAOY.js";
|
|
10
10
|
import "../assets/summary-grid-item-custom.css";
|
|
11
|
-
const
|
|
11
|
+
const G = c({
|
|
12
12
|
name: "bento-summary-grid",
|
|
13
|
-
components: { GridLayout:
|
|
13
|
+
components: { GridLayout: A },
|
|
14
14
|
props: {
|
|
15
15
|
/**
|
|
16
16
|
* Sets the responsive columns widths values for 1 of the 3 rows.
|
|
@@ -18,32 +18,36 @@ const R = l({
|
|
|
18
18
|
columnWidth: {
|
|
19
19
|
type: Object,
|
|
20
20
|
default: null
|
|
21
|
-
}
|
|
21
|
+
},
|
|
22
|
+
/**
|
|
23
|
+
* Renders a font numeric style with slashed zeros instead of normal ones.
|
|
24
|
+
*/
|
|
25
|
+
slashedZero: { type: Boolean, default: !1 }
|
|
22
26
|
},
|
|
23
27
|
setup(e, { slots: t }) {
|
|
24
|
-
var
|
|
28
|
+
var i, s;
|
|
25
29
|
let r = 1;
|
|
26
30
|
if (t) {
|
|
27
|
-
const
|
|
28
|
-
var
|
|
29
|
-
return parseInt((
|
|
31
|
+
const m = (s = (i = Object.keys(t)) == null ? void 0 : i.filter((d) => d.includes("cell-"))) == null ? void 0 : s.map((d) => {
|
|
32
|
+
var p;
|
|
33
|
+
return parseInt((p = d.split("-")) == null ? void 0 : p[1], 10);
|
|
30
34
|
});
|
|
31
|
-
if (r = Math.max(...
|
|
35
|
+
if (r = Math.max(...m), r > 3)
|
|
32
36
|
throw new Error(
|
|
33
37
|
"BentoSummaryGrid must only have a maximum of 3 rows. Read the documentation for more information."
|
|
34
38
|
);
|
|
35
39
|
}
|
|
36
|
-
return
|
|
37
|
-
hasSlot:
|
|
40
|
+
return g(P, () => ({ isSummaryGridLayout: !0 })), g(T, O(e, "slashedZero")), {
|
|
41
|
+
hasSlot: S(t),
|
|
38
42
|
numberOfRows: r
|
|
39
43
|
};
|
|
40
44
|
}
|
|
41
45
|
});
|
|
42
|
-
var
|
|
46
|
+
var w = function() {
|
|
43
47
|
var t = this, r = t._self._c;
|
|
44
48
|
return t._self._setupProxy, r("div", { staticClass: "b-summary-grid" }, t._l(t.numberOfRows, function(n) {
|
|
45
|
-
var
|
|
46
|
-
return r("grid-layout", { key: `summary-grid-row-${n}`, attrs: { "data-testid": `summary-grid-row-${n}`, "column-width": (
|
|
49
|
+
var i;
|
|
50
|
+
return r("grid-layout", { key: `summary-grid-row-${n}`, attrs: { "data-testid": `summary-grid-row-${n}`, "column-width": (i = t.columnWidth) == null ? void 0 : i[`row${n}`] }, scopedSlots: t._u([t.hasSlot(`cell-${n}-1`) ? { key: "col-1", fn: function() {
|
|
47
51
|
return [t._t(`cell-${n}-1`)];
|
|
48
52
|
}, proxy: !0 } : null, t.hasSlot(`cell-${n}-2`) ? { key: "col-2", fn: function() {
|
|
49
53
|
return [t._t(`cell-${n}-2`)];
|
|
@@ -57,19 +61,19 @@ var V = function() {
|
|
|
57
61
|
return [t._t(`cell-${n}-6`)];
|
|
58
62
|
}, proxy: !0 } : null], null, !0) });
|
|
59
63
|
}), 1);
|
|
60
|
-
},
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
+
}, k = [], z = /* @__PURE__ */ u(
|
|
65
|
+
G,
|
|
66
|
+
w,
|
|
67
|
+
k,
|
|
64
68
|
!1,
|
|
65
69
|
null,
|
|
66
|
-
"
|
|
70
|
+
"0612378b"
|
|
67
71
|
);
|
|
68
|
-
const
|
|
69
|
-
var
|
|
70
|
-
const
|
|
72
|
+
const bt = z.exports;
|
|
73
|
+
var a = /* @__PURE__ */ ((e) => (e.SMALL = "small", e.MEDIUM = "medium", e.LARGE = "large", e))(a || {}), o = /* @__PURE__ */ ((e) => (e.POSITIVE = "positive", e.NEGATIVE = "negative", e.NEUTRAL = "neutral", e))(o || {}), f = /* @__PURE__ */ ((e) => (e.AMOUNT = "amount", e.PERCENTAGE = "percentage", e.NUMERIC = "numeric", e.TEXT = "text", e.CUSTOM = "custom", e))(f || {});
|
|
74
|
+
const q = c({
|
|
71
75
|
name: "summary-grid-item",
|
|
72
|
-
components: { BentoInfoIcon:
|
|
76
|
+
components: { BentoInfoIcon: D, BentoTypography: V, BentoTag: j, Copy: B },
|
|
73
77
|
props: {
|
|
74
78
|
/**
|
|
75
79
|
* Text to copy to the clipboard
|
|
@@ -103,8 +107,8 @@ const j = l({
|
|
|
103
107
|
// TODO implement logic for Large size
|
|
104
108
|
size: {
|
|
105
109
|
type: String,
|
|
106
|
-
default:
|
|
107
|
-
validator: (e) => Object.values(
|
|
110
|
+
default: a.SMALL,
|
|
111
|
+
validator: (e) => Object.values(a).includes(e)
|
|
108
112
|
},
|
|
109
113
|
/**
|
|
110
114
|
* Shows colored trend label next to text content
|
|
@@ -138,8 +142,8 @@ const j = l({
|
|
|
138
142
|
}
|
|
139
143
|
},
|
|
140
144
|
setup(e, { slots: t }) {
|
|
141
|
-
const { trendDirection: r, secondaryTrendDirection: n, itemType:
|
|
142
|
-
switch (
|
|
145
|
+
const { trendDirection: r, secondaryTrendDirection: n, itemType: i, size: s } = L(e), m = M(T, R(!1)), d = (E) => {
|
|
146
|
+
switch (E) {
|
|
143
147
|
case o.POSITIVE:
|
|
144
148
|
return _.GREEN;
|
|
145
149
|
case o.NEGATIVE:
|
|
@@ -147,41 +151,42 @@ const j = l({
|
|
|
147
151
|
default:
|
|
148
152
|
return _.BLUE;
|
|
149
153
|
}
|
|
150
|
-
},
|
|
151
|
-
medium: s.value ===
|
|
152
|
-
strongest: s.value ===
|
|
153
|
-
wide: s.value ===
|
|
154
|
-
variant:
|
|
155
|
-
})),
|
|
154
|
+
}, p = l(() => d(r.value)), b = l(() => d(n.value)), C = l(() => s.value === a.SMALL ? v.BODY : i.value !== f.TEXT ? v.TITLE : null), I = l(() => ({
|
|
155
|
+
medium: s.value === a.LARGE,
|
|
156
|
+
strongest: s.value === a.SMALL,
|
|
157
|
+
wide: s.value === a.SMALL,
|
|
158
|
+
variant: C.value
|
|
159
|
+
})), h = l(() => e.fitContent ? { width: "fit-content" } : {}), $ = l(() => ({ "b-summary-grid-item--slashed-zero": m.value })), x = l(() => ({
|
|
156
160
|
[`b-summary-grid-item__content-trend--${e.trend}`]: e.trend
|
|
157
161
|
}));
|
|
158
162
|
return {
|
|
159
163
|
// Values
|
|
160
|
-
trendVariant:
|
|
161
|
-
secondaryTrendVariant:
|
|
162
|
-
typographyProps:
|
|
164
|
+
trendVariant: p,
|
|
165
|
+
secondaryTrendVariant: b,
|
|
166
|
+
typographyProps: I,
|
|
163
167
|
// Styles
|
|
164
|
-
|
|
165
|
-
|
|
168
|
+
conditionalClasses: $,
|
|
169
|
+
computedStyles: h,
|
|
170
|
+
summaryBarItemTrendConditionalClasses: x,
|
|
166
171
|
// Utils
|
|
167
|
-
hasSlot:
|
|
172
|
+
hasSlot: S(t)
|
|
168
173
|
};
|
|
169
174
|
}
|
|
170
175
|
});
|
|
171
|
-
var
|
|
176
|
+
var N = function() {
|
|
172
177
|
var t = this, r = t._self._c;
|
|
173
|
-
return t._self._setupProxy, r("div", { staticClass: "b-summary-grid-item", style: t.computedStyles }, [r("div", { staticClass: "b-summary-grid-item__header" }, [r("bento-typography", { staticClass: "b-summary-grid-item__title", attrs: { el: "span", variant: "body" } }, [t._v(" " + t._s(t.title) + " ")]), r("div", { staticClass: "b-summary-grid-item__title-icons" }, [t.copy ? r("copy", { staticClass: "b-structured-list__icon", attrs: { text: t.copy } }) : t._e(), t.infoIconTooltipText ? r("bento-info-icon", { staticClass: "b-summary-grid-item__title-tooltip", attrs: { "tooltip-text": t.infoIconTooltipText, "tooltip-position": "top" } }) : t._e()], 1)], 1), r("bento-typography", t._b({ staticClass: "b-summary-grid-item__title", attrs: { "data-testid": "summary-grid-item-content-typography", el: "span" } }, "bento-typography", t.typographyProps, !1), [t._t("default"), t.trend && t.itemType !== "text" ? r("bento-tag", { staticClass: "b-summary-grid-item__content-trend", attrs: { variant: t.trendVariant, label: t.trend } }) : t._e()], 2), t.hasSlot("secondary") ? r("bento-typography", { staticClass: "b-summary-grid-item__title", attrs: { "data-testid": "summary-grid-item-secondary-metric-typography", el: "span", variant: "caption", stronger: "" } }, [t._t("secondary"), t.secondaryTrend ? r("bento-tag", { staticClass: "b-summary-grid-item__content-trend", attrs: { variant: t.secondaryTrendVariant, label: t.secondaryTrend } }) : t._e()], 2) : t._e()], 1);
|
|
174
|
-
},
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
+
return t._self._setupProxy, r("div", { staticClass: "b-summary-grid-item", class: t.conditionalClasses, style: t.computedStyles }, [r("div", { staticClass: "b-summary-grid-item__header" }, [r("bento-typography", { staticClass: "b-summary-grid-item__title", attrs: { el: "span", variant: "body" } }, [t._v(" " + t._s(t.title) + " ")]), r("div", { staticClass: "b-summary-grid-item__title-icons" }, [t.copy ? r("copy", { staticClass: "b-structured-list__icon", attrs: { text: t.copy } }) : t._e(), t.infoIconTooltipText ? r("bento-info-icon", { staticClass: "b-summary-grid-item__title-tooltip", attrs: { "tooltip-text": t.infoIconTooltipText, "tooltip-position": "top" } }) : t._e()], 1)], 1), r("bento-typography", t._b({ staticClass: "b-summary-grid-item__title", attrs: { "data-testid": "summary-grid-item-content-typography", el: "span" } }, "bento-typography", t.typographyProps, !1), [t._t("default"), t.trend && t.itemType !== "text" ? r("bento-tag", { staticClass: "b-summary-grid-item__content-trend", attrs: { variant: t.trendVariant, label: t.trend } }) : t._e()], 2), t.hasSlot("secondary") ? r("bento-typography", { staticClass: "b-summary-grid-item__title", attrs: { "data-testid": "summary-grid-item-secondary-metric-typography", el: "span", variant: "caption", stronger: "" } }, [t._t("secondary"), t.secondaryTrend ? r("bento-tag", { staticClass: "b-summary-grid-item__content-trend", attrs: { variant: t.secondaryTrendVariant, label: t.secondaryTrend } }) : t._e()], 2) : t._e()], 1);
|
|
179
|
+
}, U = [], F = /* @__PURE__ */ u(
|
|
180
|
+
q,
|
|
181
|
+
N,
|
|
182
|
+
U,
|
|
178
183
|
!1,
|
|
179
184
|
null,
|
|
180
|
-
"
|
|
185
|
+
"a6358e03"
|
|
181
186
|
);
|
|
182
|
-
const
|
|
187
|
+
const y = F.exports, Y = c({
|
|
183
188
|
name: "bento-summary-grid-item-amount",
|
|
184
|
-
components: { SummaryGridItem:
|
|
189
|
+
components: { SummaryGridItem: y },
|
|
185
190
|
props: {
|
|
186
191
|
/**
|
|
187
192
|
* Text to copy to the clipboard
|
|
@@ -264,27 +269,27 @@ const p = G.exports, k = l({
|
|
|
264
269
|
*/
|
|
265
270
|
size: {
|
|
266
271
|
type: String,
|
|
267
|
-
default:
|
|
268
|
-
validator: (e) => Object.values(
|
|
272
|
+
default: a.SMALL,
|
|
273
|
+
validator: (e) => Object.values(a).includes(e)
|
|
269
274
|
}
|
|
270
275
|
}
|
|
271
276
|
});
|
|
272
|
-
var
|
|
277
|
+
var Z = function() {
|
|
273
278
|
var t = this, r = t._self._c;
|
|
274
279
|
return t._self._setupProxy, r("summary-grid-item", { staticClass: "b-summary-grid-item-amount", attrs: { "item-type": "amount", "info-icon-tooltip-text": t.infoIconTooltipText, title: t.title, copy: t.copy, "fit-content": t.fitContent, size: t.size, trend: t.trend, "trend-direction": t.trendDirection, "secondary-trend": t.secondaryTrend, "secondary-trend-direction": t.secondaryTrendDirection }, scopedSlots: t._u([t.secondaryMetric ? { key: "secondary", fn: function() {
|
|
275
280
|
return [t._v(" " + t._s(t.secondaryMetric) + " ")];
|
|
276
281
|
}, proxy: !0 } : null], null, !0) }, [r("div", { staticClass: "b-summary-grid-item-amount__content" }, [r("div", [t._v(t._s(t.label))]), t.secondaryLabel ? r("div", { staticClass: "b-summary-grid-item-amount__secondary-label" }, [t._v(t._s(t.secondaryLabel))]) : t._e()])]);
|
|
277
|
-
},
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
282
|
+
}, H = [], W = /* @__PURE__ */ u(
|
|
283
|
+
Y,
|
|
284
|
+
Z,
|
|
285
|
+
H,
|
|
281
286
|
!1,
|
|
282
287
|
null,
|
|
283
288
|
"13717f92"
|
|
284
289
|
);
|
|
285
|
-
const
|
|
290
|
+
const Ct = W.exports, X = c({
|
|
286
291
|
name: "bento-summary-grid-item-numeric",
|
|
287
|
-
components: { SummaryGridItem:
|
|
292
|
+
components: { SummaryGridItem: y },
|
|
288
293
|
props: {
|
|
289
294
|
/**
|
|
290
295
|
* Text to copy to the clipboard
|
|
@@ -360,27 +365,27 @@ const _t = N.exports, U = l({
|
|
|
360
365
|
*/
|
|
361
366
|
size: {
|
|
362
367
|
type: String,
|
|
363
|
-
default:
|
|
364
|
-
validator: (e) => Object.values(
|
|
368
|
+
default: a.SMALL,
|
|
369
|
+
validator: (e) => Object.values(a).includes(e)
|
|
365
370
|
}
|
|
366
371
|
}
|
|
367
372
|
});
|
|
368
|
-
var
|
|
373
|
+
var J = function() {
|
|
369
374
|
var t = this, r = t._self._c;
|
|
370
375
|
return t._self._setupProxy, r("summary-grid-item", { staticClass: "b-summary-grid-item-numeric", attrs: { "item-type": "numeric", "info-icon-tooltip-text": t.infoIconTooltipText, title: t.title, copy: t.copy, "fit-content": t.fitContent, size: t.size, trend: t.trend, "trend-direction": t.trendDirection, "secondary-trend": t.secondaryTrend, "secondary-trend-direction": t.secondaryTrendDirection }, scopedSlots: t._u([t.secondaryMetric ? { key: "secondary", fn: function() {
|
|
371
376
|
return [t._v(" " + t._s(t.secondaryMetric) + " ")];
|
|
372
377
|
}, proxy: !0 } : null], null, !0) }, [t._v(" " + t._s(t.label) + " ")]);
|
|
373
|
-
},
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
378
|
+
}, K = [], Q = /* @__PURE__ */ u(
|
|
379
|
+
X,
|
|
380
|
+
J,
|
|
381
|
+
K,
|
|
377
382
|
!1,
|
|
378
383
|
null,
|
|
379
384
|
null
|
|
380
385
|
);
|
|
381
|
-
const
|
|
386
|
+
const It = Q.exports, tt = c({
|
|
382
387
|
name: "bento-summary-grid-item-percentage",
|
|
383
|
-
components: { SummaryGridItem:
|
|
388
|
+
components: { SummaryGridItem: y },
|
|
384
389
|
props: {
|
|
385
390
|
/**
|
|
386
391
|
* Amount to be shown as the main value
|
|
@@ -456,27 +461,27 @@ const gt = W.exports, X = l({
|
|
|
456
461
|
*/
|
|
457
462
|
size: {
|
|
458
463
|
type: String,
|
|
459
|
-
default:
|
|
460
|
-
validator: (e) => Object.values(
|
|
464
|
+
default: a.SMALL,
|
|
465
|
+
validator: (e) => Object.values(a).includes(e)
|
|
461
466
|
}
|
|
462
467
|
}
|
|
463
468
|
});
|
|
464
|
-
var
|
|
469
|
+
var et = function() {
|
|
465
470
|
var t = this, r = t._self._c;
|
|
466
471
|
return t._self._setupProxy, r("summary-grid-item", { staticClass: "b-summary-grid-item-percentage", attrs: { "item-type": "percentage", "info-icon-tooltip-text": t.infoIconTooltipText, title: t.title, copy: t.copy, "fit-content": t.fitContent, size: t.size, trend: t.trend, "trend-direction": t.trendDirection, "secondary-trend": t.secondaryTrend, "secondary-trend-direction": t.secondaryTrendDirection }, scopedSlots: t._u([t.secondaryMetric ? { key: "secondary", fn: function() {
|
|
467
472
|
return [t._v(" " + t._s(t.secondaryMetric) + "% ")];
|
|
468
473
|
}, proxy: !0 } : null], null, !0) }, [t._v(" " + t._s(t.label) + "% ")]);
|
|
469
|
-
},
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
474
|
+
}, rt = [], nt = /* @__PURE__ */ u(
|
|
475
|
+
tt,
|
|
476
|
+
et,
|
|
477
|
+
rt,
|
|
473
478
|
!1,
|
|
474
479
|
null,
|
|
475
480
|
null
|
|
476
481
|
);
|
|
477
|
-
const
|
|
482
|
+
const ht = nt.exports, ot = c({
|
|
478
483
|
name: "bento-summary-grid-item-text",
|
|
479
|
-
components: { SummaryGridItem:
|
|
484
|
+
components: { SummaryGridItem: y },
|
|
480
485
|
props: {
|
|
481
486
|
/**
|
|
482
487
|
* Text to copy to the clipboard
|
|
@@ -512,20 +517,20 @@ const vt = K.exports, Q = l({
|
|
|
512
517
|
}
|
|
513
518
|
}
|
|
514
519
|
});
|
|
515
|
-
var
|
|
520
|
+
var at = function() {
|
|
516
521
|
var t = this, r = t._self._c;
|
|
517
522
|
return t._self._setupProxy, r("summary-grid-item", { staticClass: "b-summary-grid-item-text", attrs: { "item-type": "text", "info-icon-tooltip-text": t.infoIconTooltipText, title: t.title, copy: t.copy, "fit-content": t.fitContent } }, [t._v(" " + t._s(t.label) + " ")]);
|
|
518
|
-
},
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
523
|
+
}, it = [], st = /* @__PURE__ */ u(
|
|
524
|
+
ot,
|
|
525
|
+
at,
|
|
526
|
+
it,
|
|
522
527
|
!1,
|
|
523
528
|
null,
|
|
524
529
|
null
|
|
525
530
|
);
|
|
526
|
-
const
|
|
531
|
+
const $t = st.exports, lt = c({
|
|
527
532
|
name: "bento-summary-grid-item-custom",
|
|
528
|
-
components: { SummaryGridItem:
|
|
533
|
+
components: { SummaryGridItem: y },
|
|
529
534
|
props: {
|
|
530
535
|
/**
|
|
531
536
|
* Text to copy to the clipboard
|
|
@@ -546,28 +551,28 @@ const St = et.exports, rt = l({
|
|
|
546
551
|
},
|
|
547
552
|
emits: ["copy-to-clipboard"]
|
|
548
553
|
});
|
|
549
|
-
var
|
|
554
|
+
var ct = function() {
|
|
550
555
|
var t = this, r = t._self._c;
|
|
551
556
|
return t._self._setupProxy, r("summary-grid-item", { attrs: { title: t.title, "info-icon-tooltip-text": t.infoIconTooltipText, copy: t.copy, "fit-content": t.fitContent }, on: { "copy-to-clipoard": function(n) {
|
|
552
557
|
return t.$emit("copy-to-clipboard");
|
|
553
558
|
} } }, [t._t("default")], 2);
|
|
554
|
-
},
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
559
|
+
}, ut = [], dt = /* @__PURE__ */ u(
|
|
560
|
+
lt,
|
|
561
|
+
ct,
|
|
562
|
+
ut,
|
|
558
563
|
!1,
|
|
559
564
|
null,
|
|
560
565
|
null
|
|
561
566
|
);
|
|
562
|
-
const
|
|
567
|
+
const xt = dt.exports;
|
|
563
568
|
export {
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
569
|
+
a as B,
|
|
570
|
+
Ct as a,
|
|
571
|
+
It as b,
|
|
572
|
+
ht as c,
|
|
573
|
+
$t as d,
|
|
574
|
+
xt as e,
|
|
570
575
|
o as f,
|
|
571
|
-
|
|
576
|
+
bt as s
|
|
572
577
|
};
|
|
573
|
-
//# sourceMappingURL=summary-grid-item-custom.
|
|
578
|
+
//# sourceMappingURL=summary-grid-item-custom.A11AzfH0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary-grid-item-custom.A11AzfH0.js","sources":["../../src/components/summary-grid/summary-grid.vue","../../src/components/summary-grid/summary-grid.types.ts","../../src/components/summary-grid/components/summary-grid-item/summary-grid-item.types.ts","../../src/components/summary-grid/components/summary-grid-item/summary-grid-item.vue","../../src/components/summary-grid/components/summary-grid-item-amount/summary-grid-item-amount.vue","../../src/components/summary-grid/components/summary-grid-item-numeric/summary-grid-item-numeric.vue","../../src/components/summary-grid/components/summary-grid-item-percentage/summary-grid-item-percentage.vue","../../src/components/summary-grid/components/summary-grid-item-text/summary-grid-item-text.vue","../../src/components/summary-grid/components/summary-grid-item-custom/summary-grid-item-custom.vue"],"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 lang=\"ts\">\n import { defineComponent, PropType, provide, toRef } from 'vue';\n import { BentoSummaryGridColumnWidth, BentoSummaryGridLayout } 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 /**\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 defineComponent({\n name: 'bento-summary-grid',\n components: { GridLayout },\n props: {\n /**\n * Sets the responsive columns widths values for 1 of the 3 rows.\n */\n columnWidth: {\n type: Object as PropType<BentoSummaryGridColumnWidth>,\n default: null,\n },\n /**\n * Renders a font numeric style with slashed zeros instead of normal ones.\n */\n slashedZero: { type: Boolean, default: false },\n },\n\n setup(props, { slots }) {\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 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\n return { isSummaryGridLayout };\n };\n\n provide(SUMMARY_GRID_LAYOUT_INJECTION_KEY, registerComponentsInSummaryGrid);\n provide(SUMMARY_GRID_SLASHED_ZERO, toRef(props, 'slashedZero'));\n\n return {\n hasSlot: useHasSlot(slots),\n numberOfRows,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./summary-grid.scss\" />\n","import { GridLayoutColumnWidths } from '@/components/internal/grid-layout/grid-layout.types';\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoSummaryGridItemSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the 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","/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum SummaryGridItemType {\n AMOUNT = 'amount',\n PERCENTAGE = 'percentage',\n NUMERIC = 'numeric',\n TEXT = 'text',\n CUSTOM = 'custom',\n}\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 {{ title }}\n </bento-typography>\n <div class=\"b-summary-grid-item__title-icons\">\n <copy v-if=\"copy\" class=\"b-structured-list__icon\" :text=\"copy\" />\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 />\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 lang=\"ts\">\n import { computed, defineComponent, inject, PropType, ref, toRefs } from 'vue';\n\n // Components\n import { BentoInfoIcon } from '@/components/info-icon';\n import { BentoTypography, BentoTypographyVariant } from '@/components/typography';\n import { BentoTag, BentoTagVariant } from '@/components/tag';\n import { Copy } from '@/internal';\n\n // Utils\n import { useHasSlot } from '@/composables';\n\n // Types\n import {\n BentoSummaryGridItemSize,\n BentoSummaryGridItemTrendDirection,\n } from '@/components/summary-grid/summary-grid.types';\n import { SUMMARY_GRID_SLASHED_ZERO } from '@/components/summary-grid/summary-grid.keys';\n import { SummaryGridItemType } from './summary-grid-item.types';\n\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 defineComponent({\n name: 'summary-grid-item',\n components: { BentoInfoIcon, BentoTypography, BentoTag, Copy },\n props: {\n /**\n * Text to copy to the clipboard\n */\n copy: { type: String, default: undefined },\n\n /**\n * Applies styling based on content type\n */\n // TODO add text truncation for SummaryGridItemType.TEXT\n itemType: {\n type: String as PropType<SummaryGridItemType | `${SummaryGridItemType}`>,\n default: SummaryGridItemType.CUSTOM,\n validator: (value: SummaryGridItemType) => Object.values(SummaryGridItemType).includes(value),\n },\n\n /**\n * Text showed in the info-icon tooltip on hover\n */\n infoIconTooltipText: { type: String, default: null },\n\n /**\n * Text used as a title\n */\n title: { type: String, required: true },\n\n /**\n * The width of `summary-grid-item` fits its content\n */\n fitContent: { type: Boolean, default: false },\n\n // amount, percentage and numeric props\n /**\n * Defines the size of the `summary-grid-item` text content\n */\n // TODO implement logic for Large size\n size: {\n type: String as PropType<BentoSummaryGridItemSize | `${BentoSummaryGridItemSize}`>,\n default: BentoSummaryGridItemSize.SMALL,\n validator: (value: BentoSummaryGridItemSize) => Object.values(BentoSummaryGridItemSize).includes(value),\n },\n\n /**\n * Shows colored trend label next to text content\n */\n trend: {\n type: String,\n default: null,\n },\n\n /**\n * Defines the color of trend label\n */\n trendDirection: {\n type: String as PropType<BentoSummaryGridItemTrendDirection | `${BentoSummaryGridItemTrendDirection}`>,\n default: BentoSummaryGridItemTrendDirection.POSITIVE,\n validator: (value: BentoSummaryGridItemTrendDirection) =>\n Object.values(BentoSummaryGridItemTrendDirection).includes(value),\n },\n\n /**\n * Shows colored trend tag next to secondary metric value\n */\n secondaryTrend: {\n type: String,\n default: null,\n },\n\n /**\n * Defines the color of secondary trend tag\n */\n secondaryTrendDirection: {\n type: String as PropType<BentoSummaryGridItemTrendDirection | `${BentoSummaryGridItemTrendDirection}`>,\n default: BentoSummaryGridItemTrendDirection.POSITIVE,\n validator: (value: BentoSummaryGridItemTrendDirection) =>\n Object.values(BentoSummaryGridItemTrendDirection).includes(value),\n },\n },\n setup(props, { slots }) {\n const { trendDirection, secondaryTrendDirection, itemType, size } = toRefs(props);\n const hasSlashedZero = inject(SUMMARY_GRID_SLASHED_ZERO, ref(false));\n\n const tagVariantColor = direction => {\n switch (direction) {\n case BentoSummaryGridItemTrendDirection.POSITIVE:\n return BentoTagVariant.GREEN;\n case BentoSummaryGridItemTrendDirection.NEGATIVE:\n return BentoTagVariant.RED;\n default:\n return BentoTagVariant.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(() => {\n if (size.value === BentoSummaryGridItemSize.SMALL) {\n return BentoTypographyVariant.BODY;\n }\n if (itemType.value !== SummaryGridItemType.TEXT) {\n return BentoTypographyVariant.TITLE;\n }\n\n return null;\n });\n\n const typographyProps = computed(() => ({\n medium: size.value === BentoSummaryGridItemSize.LARGE,\n strongest: size.value === BentoSummaryGridItemSize.SMALL,\n wide: size.value === BentoSummaryGridItemSize.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 summaryBarItemTrendConditionalClasses = computed(() => ({\n [`b-summary-grid-item__content-trend--${props.trend}`]: props.trend,\n }));\n\n return {\n // Values\n trendVariant,\n secondaryTrendVariant,\n typographyProps,\n\n // Styles\n conditionalClasses,\n computedStyles,\n summaryBarItemTrendConditionalClasses,\n\n // Utils\n hasSlot: useHasSlot(slots),\n };\n },\n });\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 class=\"b-summary-grid-item-amount\"\n >\n <div class=\"b-summary-grid-item-amount__content\">\n <div>{{ label }}</div>\n <div v-if=\"secondaryLabel\" class=\"b-summary-grid-item-amount__secondary-label\">{{ secondaryLabel }}</div>\n </div>\n <template v-if=\"secondaryMetric\" #secondary>\n {{ secondaryMetric }}\n </template>\n </summary-grid-item>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, PropType } from 'vue';\n import {\n BentoSummaryGridItemSize,\n BentoSummaryGridItemTrendDirection,\n } from '@/components/summary-grid/summary-grid.types';\n import { SummaryGridItem } from '../summary-grid-item';\n\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 defineComponent({\n name: 'bento-summary-grid-item-amount',\n components: { SummaryGridItem },\n props: {\n /**\n * Text to copy to the clipboard\n */\n copy: { type: String, default: undefined },\n\n /**\n * Amount to be shown as the main value\n */\n label: {\n type: String,\n required: true,\n },\n\n /**\n * Adds additional label next to amount content\n */\n secondaryLabel: {\n type: String,\n default: null,\n },\n\n /**\n * Amount to be shown as the secondary metric value\n */\n secondaryMetric: {\n type: String,\n default: null,\n },\n\n /**\n * Text used as a title\n */\n title: {\n type: String,\n required: true,\n },\n\n /**\n * Text showed in the info-icon tooltip on hover\n */\n infoIconTooltipText: {\n type: String,\n default: null,\n },\n\n /**\n * The width of `summary-grid-item` fits its content\n */\n fitContent: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Shows colored trend label next to main label\n */\n trend: {\n type: String,\n default: null,\n },\n\n /**\n * Defines the direction (color) of the trend label\n */\n trendDirection: {\n type: String as PropType<BentoSummaryGridItemTrendDirection | `${BentoSummaryGridItemTrendDirection}`>,\n default: BentoSummaryGridItemTrendDirection.POSITIVE,\n validator: (value: BentoSummaryGridItemTrendDirection) =>\n Object.values(BentoSummaryGridItemTrendDirection).includes(value),\n },\n\n /**\n * Shows colored secondary trend tag next to the secondary metric value\n */\n secondaryTrend: {\n type: String,\n default: null,\n },\n\n /**\n * Defines the direction (color) of the secondary metric's trend tag\n */\n secondaryTrendDirection: {\n type: String as PropType<BentoSummaryGridItemTrendDirection | `${BentoSummaryGridItemTrendDirection}`>,\n default: BentoSummaryGridItemTrendDirection.POSITIVE,\n validator: (value: BentoSummaryGridItemTrendDirection) =>\n Object.values(BentoSummaryGridItemTrendDirection).includes(value),\n },\n\n /**\n * Defines the size of the `summary-grid-item` text content\n */\n size: {\n type: String as PropType<BentoSummaryGridItemSize | `${BentoSummaryGridItemSize}`>,\n default: BentoSummaryGridItemSize.SMALL,\n validator: (value: BentoSummaryGridItemSize) => Object.values(BentoSummaryGridItemSize).includes(value),\n },\n },\n });\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 class=\"b-summary-grid-item-numeric\"\n >\n {{ label }}\n <template v-if=\"secondaryMetric\" #secondary>\n {{ secondaryMetric }}\n </template>\n </summary-grid-item>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, PropType } from 'vue';\n import {\n BentoSummaryGridItemSize,\n BentoSummaryGridItemTrendDirection,\n } from '@/components/summary-grid/summary-grid.types';\n import { SummaryGridItem } from '../summary-grid-item';\n\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 defineComponent({\n name: 'bento-summary-grid-item-numeric',\n components: { SummaryGridItem },\n props: {\n /**\n * Text to copy to the clipboard\n */\n copy: { type: String, default: undefined },\n\n /**\n * Amount to be shown as the main value\n */\n label: {\n type: String,\n required: true,\n },\n /**\n * Amount to be shown as the secondary metric value\n */\n secondaryMetric: {\n type: String,\n default: null,\n },\n /**\n * Text used as a title\n */\n title: {\n type: String,\n required: true,\n },\n /**\n * Text showed in the info-icon tooltip on hover\n */\n infoIconTooltipText: {\n type: String,\n default: null,\n },\n\n /**\n * The width of `summary-grid-item` fits its content\n */\n fitContent: {\n type: Boolean,\n default: false,\n },\n /**\n * Shows colored trend label next to main numeric content\n */\n trend: {\n type: String,\n default: null,\n },\n /**\n * Defines the direction (color) of the trend label\n */\n trendDirection: {\n type: String as PropType<BentoSummaryGridItemTrendDirection | `${BentoSummaryGridItemTrendDirection}`>,\n default: BentoSummaryGridItemTrendDirection.POSITIVE,\n validator: (value: BentoSummaryGridItemTrendDirection) =>\n Object.values(BentoSummaryGridItemTrendDirection).includes(value),\n },\n /**\n * Shows colored secondary trend tag next to the secondary metric value\n */\n secondaryTrend: {\n type: String,\n default: null,\n },\n /**\n * Defines the direction (color) of the secondary metric's trend tag\n */\n secondaryTrendDirection: {\n type: String as PropType<BentoSummaryGridItemTrendDirection | `${BentoSummaryGridItemTrendDirection}`>,\n default: BentoSummaryGridItemTrendDirection.POSITIVE,\n validator: (value: BentoSummaryGridItemTrendDirection) =>\n Object.values(BentoSummaryGridItemTrendDirection).includes(value),\n },\n /**\n * Defines the size of the `summary-grid-item` text content\n */\n size: {\n type: String as PropType<BentoSummaryGridItemSize | `${BentoSummaryGridItemSize}`>,\n default: BentoSummaryGridItemSize.SMALL,\n validator: (value: BentoSummaryGridItemSize) => Object.values(BentoSummaryGridItemSize).includes(value),\n },\n },\n });\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 class=\"b-summary-grid-item-percentage\"\n >\n {{ label }}%\n <template v-if=\"secondaryMetric\" #secondary> {{ secondaryMetric }}% </template>\n </summary-grid-item>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, PropType } from 'vue';\n import {\n BentoSummaryGridItemSize,\n BentoSummaryGridItemTrendDirection,\n } from '@/components/summary-grid/summary-grid.types';\n import { SummaryGridItem } from '../summary-grid-item';\n\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 defineComponent({\n name: 'bento-summary-grid-item-percentage',\n components: { SummaryGridItem },\n props: {\n /**\n * Amount to be shown as the main value\n */\n label: {\n type: String,\n required: true,\n },\n /**\n * Amount to be shown as the secondary metric value\n */\n secondaryMetric: {\n type: String,\n default: null,\n },\n /**\n * Text used as a title\n */\n title: {\n type: String,\n required: true,\n },\n /**\n * Text showed in the info-icon tooltip on hover\n */\n infoIconTooltipText: {\n type: String,\n default: null,\n },\n /**\n * Text to copy to the clipboard\n */\n copy: { type: String, default: undefined },\n /**\n * The width of `summary-grid-item` fits its content\n */\n fitContent: {\n type: Boolean,\n default: false,\n },\n /**\n * Shows colored trend label next to text content\n */\n trend: {\n type: String,\n default: undefined,\n },\n /**\n * Defines the direction (color) of the trend label\n */\n trendDirection: {\n type: String as PropType<BentoSummaryGridItemTrendDirection | `${BentoSummaryGridItemTrendDirection}`>,\n default: BentoSummaryGridItemTrendDirection.POSITIVE,\n validator: (value: BentoSummaryGridItemTrendDirection) =>\n Object.values(BentoSummaryGridItemTrendDirection).includes(value),\n },\n /**\n * Shows colored secondary trend tag next to the secondary metric value\n */\n secondaryTrend: {\n type: String,\n default: undefined,\n },\n /**\n * Defines the direction (color) of the secondary metric's trend tag\n */\n secondaryTrendDirection: {\n type: String as PropType<BentoSummaryGridItemTrendDirection | `${BentoSummaryGridItemTrendDirection}`>,\n default: BentoSummaryGridItemTrendDirection.POSITIVE,\n validator: (value: BentoSummaryGridItemTrendDirection) =>\n Object.values(BentoSummaryGridItemTrendDirection).includes(value),\n },\n /**\n * Defines the size of the `summary-grid-item` text content\n */\n size: {\n type: String as PropType<BentoSummaryGridItemSize | `${BentoSummaryGridItemSize}`>,\n default: BentoSummaryGridItemSize.SMALL,\n validator: (value: BentoSummaryGridItemSize) => Object.values(BentoSummaryGridItemSize).includes(value),\n },\n },\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 class=\"b-summary-grid-item-text\"\n >\n {{ label }}\n </summary-grid-item>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent } from 'vue';\n import { SummaryGridItem } from '../summary-grid-item';\n\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 defineComponent({\n name: 'bento-summary-grid-item-text',\n components: { SummaryGridItem },\n props: {\n /**\n * Text to copy to the clipboard\n */\n copy: { type: String, default: undefined },\n\n /**\n * Amount to be shown as the main value\n */\n label: {\n type: String,\n required: true,\n },\n /**\n * Text used as a title\n */\n title: {\n type: String,\n required: true,\n },\n /**\n * Text showed in the info-icon tooltip on hover\n */\n infoIconTooltipText: {\n type: String,\n default: null,\n },\n\n /**\n * The width of `summary-grid-item` fits its content\n */\n fitContent: {\n type: Boolean,\n default: false,\n },\n },\n });\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 @copy-to-clipoard=\"$emit('copy-to-clipboard')\"\n >\n <slot />\n </summary-grid-item>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent } from 'vue';\n import SummaryGridItem from '../summary-grid-item/summary-grid-item.vue';\n\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 defineComponent({\n name: 'bento-summary-grid-item-custom',\n components: { SummaryGridItem },\n props: {\n /**\n * Text to copy to the clipboard\n */\n copy: { type: String, default: undefined },\n\n /**\n * Text showed in the info-icon tooltip on hover\n */\n infoIconTooltipText: { type: String, default: null },\n\n /**\n * Text used as a title\n */\n title: { type: String, required: true },\n\n /**\n * The width of `summary-grid-item` fits its content\n */\n fitContent: { type: Boolean, default: false },\n },\n emits: ['copy-to-clipboard'],\n });\n</script>\n"],"names":["_sfc_main$6","defineComponent","GridLayout","props","slots","numberOfRows","slotRows","_b","_a","slotName","provide","SUMMARY_GRID_LAYOUT_INJECTION_KEY","SUMMARY_GRID_SLASHED_ZERO","toRef","useHasSlot","BentoSummaryGridItemSize","BentoSummaryGridItemSize2","BentoSummaryGridItemTrendDirection","BentoSummaryGridItemTrendDirection2","SummaryGridItemType","SummaryGridItemType2","_sfc_main$5","BentoInfoIcon","BentoTypography","BentoTag","Copy","value","trendDirection","secondaryTrendDirection","itemType","size","toRefs","hasSlashedZero","inject","ref","tagVariantColor","direction","BentoTagVariant","trendVariant","computed","secondaryTrendVariant","typographyContentElement","BentoTypographyVariant","typographyProps","computedStyles","conditionalClasses","summaryBarItemTrendConditionalClasses","_sfc_main$4","SummaryGridItem","_sfc_main$3","_sfc_main$2","_sfc_main$1","_sfc_main"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary-grid.keys.CxTf_FOc.js","sources":["../../src/components/summary-grid/summary-grid.keys.ts"],"sourcesContent":["export const SUMMARY_GRID_LAYOUT_INJECTION_KEY = Symbol('summary-grid layout injection key');\nexport const SUMMARY_GRID_SLASHED_ZERO = Symbol('summary-grid slashed zero key');\n"],"names":["SUMMARY_GRID_LAYOUT_INJECTION_KEY","SUMMARY_GRID_SLASHED_ZERO"],"mappings":"AAAa,MAAAA,IAAoC,OAAO,mCAAmC,GAC9EC,IAA4B,OAAO,+BAA+B;"}
|
|
@@ -3,7 +3,7 @@ import { E as R, T as y, a as g } from "./tabs.keys.Bc2pSKRw.js";
|
|
|
3
3
|
import { n as x } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
|
|
4
4
|
import { B as D } from "./typography.J1v_SPG3.js";
|
|
5
5
|
import { g as S } from "./generate-uid.NJ8tVoha.js";
|
|
6
|
-
import { F as K } from "./fixed-scroller.
|
|
6
|
+
import { F as K } from "./fixed-scroller.DX2YUuoU.js";
|
|
7
7
|
import "../assets/tabs.css";
|
|
8
8
|
const F = h({
|
|
9
9
|
props: {
|
|
@@ -151,4 +151,4 @@ export {
|
|
|
151
151
|
M as B,
|
|
152
152
|
Q as a
|
|
153
153
|
};
|
|
154
|
-
//# sourceMappingURL=tabs.
|
|
154
|
+
//# sourceMappingURL=tabs.5zgaD1k3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.9kObZry9.js","sources":["../../src/components/tabs/components/tab.vue","../../src/components/tabs/tabs.utils.ts","../../src/components/tabs/tabs.types.ts","../../src/components/tabs/tabs.vue"],"sourcesContent":["<template>\n <div v-show=\"activeTabId === id\" :id=\"`${id}-tabpanel`\" class=\"b-tab\" role=\"tabpanel\" :aria-labelledby=\"id\">\n <template v-if=\"activeTabId === id\">\n <slot />\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, inject, onUnmounted, provide, ref, toRefs } from 'vue';\n import {\n EXTERNAL_TITLE_REGISTER_ENTRY_INJECTION_KEY,\n TABS_ACTIVE_TAB_ID_KEY,\n TABS_REGISTER_TAB_INJECTION_KEY,\n } from '../tabs.keys';\n import { BentoTabsRegisterTab } from '../tabs.types';\n import { BentoTabProvidedTitle } from './tab.types';\n\n export default defineComponent({\n props: {\n /**\n * Displays a counter next to the tab title\n */\n counter: {\n type: Number,\n default: null,\n },\n /**\n * Title of the tab\n */\n title: {\n type: String,\n required: true,\n },\n /**\n * Determines whether the tab is disabled\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * Displays the tab with a notification indicator\n */\n withNotificationIndicator: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n // External title injection\n const { disabled, withNotificationIndicator, counter } = toRefs(props);\n const componentTitle = ref();\n const setTitle: BentoTabProvidedTitle = (value: string) => {\n componentTitle.value = value;\n };\n provide(EXTERNAL_TITLE_REGISTER_ENTRY_INJECTION_KEY, setTitle);\n\n const computedTitle = computed(() => (componentTitle.value ?? props.title) as string);\n\n const registerTab: BentoTabsRegisterTab = inject(TABS_REGISTER_TAB_INJECTION_KEY);\n const activeTabId = inject(TABS_ACTIVE_TAB_ID_KEY);\n\n const { id, unregisterTab } = registerTab({\n disabled,\n title: computedTitle,\n withNotificationIndicator,\n counter,\n });\n\n onUnmounted(() => unregisterTab());\n\n return { activeTabId, id, computedTitle };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./tab.scss\" />\n","import { BentoTab } from './components/tab.types';\n\nexport const getPreviousTabIndex = (activeTabIndex: number, tabsValue: BentoTab[]) => {\n const newActiveTabIndex = activeTabIndex === 0 ? tabsValue.length - 1 : activeTabIndex - 1;\n if (tabsValue[newActiveTabIndex].disabled) {\n return getPreviousTabIndex(newActiveTabIndex, tabsValue);\n }\n return newActiveTabIndex;\n};\n\nexport const getNextTabIndex = (activeTabIndex: number, tabsValue: BentoTab[]) => {\n const newActiveTabIndex = activeTabIndex === tabsValue.length - 1 ? 0 : activeTabIndex + 1;\n if (tabsValue[newActiveTabIndex].disabled) {\n return getNextTabIndex(newActiveTabIndex, tabsValue);\n }\n return newActiveTabIndex;\n};\n","import type { Ref } from 'vue';\n\nexport type BentoTabsRegisterTab = (props: {\n disabled: Ref<boolean>;\n title: Ref<string>;\n withNotificationIndicator: Ref<boolean>;\n counter: Ref<number>;\n}) => { id: string; unregisterTab: () => void };\n\nexport enum BentoTabsEvent {\n ACTIVE_TAB_INDEX = 'update:active-tab-index',\n}\n","<template>\n <div class=\"b-tabs\">\n <fixed-scroller ref=\"tablistwrapper\" condensed :extra-padding-top=\"2\" class=\"b-tabs__tab-list-wrapper\">\n <div ref=\"tablist\" class=\"b-tabs__tab-list\" role=\"tablist\" @keydown=\"onKeydownTabsNavigation\">\n <button\n v-for=\"{ disabled, id, title, withNotificationIndicator, counter } in tabs\"\n :id=\"id\"\n :key=\"id\"\n role=\"tab\"\n type=\"button\"\n class=\"b-tabs__tab\"\n :class=\"{\n 'b-tabs__tab--active': activeTabId === id,\n 'b-tabs__tab--disabled': disabled,\n }\"\n :aria-controls=\"`${id}-tabpanel`\"\n :aria-selected=\"activeTabId === id ? 'true' : 'false'\"\n :tabindex=\"activeTabId === id && !disabled.value ? null : -1\"\n :disabled=\"isDisabled(disabled)\"\n @click=\"handleTabChange(id)\"\n @keydown.enter.space=\"handleTabChange(id)\"\n >\n <span class=\"b-tabs__tab-text\">\n <bento-typography class=\"b-tabs__tab-title\" el=\"span\" variant=\"body\" stronger>\n {{ title }}\n </bento-typography>\n <bento-typography\n v-if=\"counter != null\"\n class=\"b-tabs__tab-counter\"\n el=\"span\"\n variant=\"body\"\n stronger\n :class=\"{\n 'b-tabs__tab-counter--active': activeTabId === id,\n }\"\n >\n {{ counter }}\n </bento-typography>\n <span\n v-if=\"withNotificationIndicator\"\n class=\"b-tabs__tab-notification-dot\"\n aria-hidden=\"true\"\n ></span>\n </span>\n <span v-show=\"activeTabId === id\" class=\"b-tabs__tab-underline\" aria-hidden=\"true\"></span>\n </button>\n </div>\n </fixed-scroller>\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, nextTick, provide, ref, Ref, watch } from 'vue';\n\n // components\n import { BentoTypography } from '@/components/typography';\n import { FixedScroller } from '@/internal';\n\n // utils\n import { generateUid } from '@/core/utils/ts';\n import { getNextTabIndex, getPreviousTabIndex } from './tabs.utils';\n\n // types\n import { BentoTab } from './components/tab.types';\n import { BentoTabsEvent, BentoTabsRegisterTab } from './tabs.types';\n\n // keys\n import { TABS_ACTIVE_TAB_ID_KEY, TABS_REGISTER_TAB_INJECTION_KEY } from './tabs.keys';\n import { Booleanish } from '@/types';\n\n /**\n * Tabs are used to navigate between different, but related content views within a page.\n * This component conforms to the official WAI-ARIA guidelines for tabs: https://www.w3.org/WAI/ARIA/apg/patterns/tabs/\n *\n * @example\n * import { BentoTabs, BentoTab } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoTabs, BentoTab },\n * template: `\n * <bento-tabs v-bind=\"$props\">\n * <bento-tab title=\"Maria Ahlefeldt\">\n * (16 January 1755 - 20 December 1810) was a Danish, (originally German), composer. She is known as the first female composer in Denmark.\n * </bento-tab>\n * <bento-tab title=\"Carl Andersen\">\n * (29 April 1847 - 7 May 1909) was a Danish flutist, conductor and composer born in Copenhagen, son of the flutist Christian Joachim Andersen.\n * </bento-tab>\n * <bento-tab title=\"Karl Truffel\">\n * (1 March 1981 - 7 November 1992) was a Danish dog and commander born in Berlin, son of the machinist Tom Jahoor Truffel.\n * </bento-tab>\n * <bento-tab title=\"Maria Ahlefeldt\" :disabled=\"true\">\n * (16 January 1755 - 20 December 1810) was a Danish, (originally German), composer. She is known as the first female composer in Denmark.\n * </bento-tab>\n * </bento-tabs>\n * `\n * };\n */\n\n // component\n export default defineComponent({\n components: {\n BentoTypography,\n FixedScroller,\n },\n props: {\n /**\n * Sets the active tab by its index (0 being the first tab item).\n */\n activeTabIndex: { type: Number, default: 0 },\n },\n emits: [BentoTabsEvent.ACTIVE_TAB_INDEX],\n setup(props, { emit }) {\n const tabs: Ref<BentoTab[]> = ref([]);\n const tablist = ref(null);\n const tablistwrapper = ref();\n const activeTabId = ref('');\n\n provide(TABS_ACTIVE_TAB_ID_KEY, activeTabId);\n\n // unregister tab if removed / destroyed\n const unregisterTab = (tabIdToRemove: string) => () => {\n tabs.value = tabs.value?.filter(({ id }) => id !== tabIdToRemove);\n };\n\n // register tab\n const registerTab: BentoTabsRegisterTab = ({ title, disabled, withNotificationIndicator, counter }) => {\n const id = generateUid('b-tab');\n\n // add tab to tabs\n tabs.value.push({ disabled, id, title, withNotificationIndicator, counter });\n\n // return values to the Tab component\n return { id, unregisterTab: unregisterTab(id) };\n };\n\n // provide activeTab and registerTab to tab items\n provide(TABS_REGISTER_TAB_INJECTION_KEY, registerTab);\n\n // keyboard navigation\n const onKeydownTabsNavigation = (e: KeyboardEvent) => {\n if (e.code === 'ArrowLeft' || e.code === 'ArrowRight') {\n // find tab that is focussed\n const activeTab = tabs.value.find(tab => document.activeElement.id === tab.id);\n let activeTabIndex = tabs.value.indexOf(activeTab);\n\n // conditionally increase or decrease the\n if (e.code === 'ArrowLeft') {\n activeTabIndex = getPreviousTabIndex(activeTabIndex, tabs.value);\n } else if (e.code === 'ArrowRight') {\n activeTabIndex = getNextTabIndex(activeTabIndex, tabs.value);\n }\n\n // focus new active tab\n tablist.value.children[activeTabIndex].focus();\n }\n };\n\n watch(\n [() => props.activeTabIndex, tabs],\n ([index, currentTabs]) => {\n nextTick(() => {\n const tab = currentTabs[index];\n activeTabId.value =\n tab && !tab.disabled ? tab.id : tabs.value.find(({ disabled }) => !disabled)?.id;\n });\n },\n { immediate: true }\n );\n\n const handleTabChange = (tabId: string) => {\n activeTabId.value = tabId;\n const activeIndex = tabs.value.findIndex(({ id }) => id === activeTabId.value);\n emit(BentoTabsEvent.ACTIVE_TAB_INDEX, activeIndex);\n };\n\n const isDisabled = (isDisabledTab: Ref<boolean>): Booleanish =>\n (isDisabledTab ? 'disabled' : false) as Booleanish;\n\n return {\n tabs,\n tablist,\n tablistwrapper,\n activeTabId,\n onKeydownTabsNavigation,\n handleTabChange,\n isDisabled,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./tabs.scss\" />\n"],"names":["_sfc_main$1","defineComponent","props","disabled","withNotificationIndicator","counter","toRefs","componentTitle","ref","provide","EXTERNAL_TITLE_REGISTER_ENTRY_INJECTION_KEY","value","computedTitle","computed","registerTab","inject","TABS_REGISTER_TAB_INJECTION_KEY","activeTabId","TABS_ACTIVE_TAB_ID_KEY","id","unregisterTab","onUnmounted","getPreviousTabIndex","activeTabIndex","tabsValue","newActiveTabIndex","getNextTabIndex","BentoTabsEvent","BentoTabsEvent2","_sfc_main","BentoTypography","FixedScroller","emit","tabs","tablist","tablistwrapper","tabIdToRemove","_a","title","generateUid","onKeydownTabsNavigation","e","activeTab","tab","watch","index","currentTabs","nextTick","tabId","activeIndex","isDisabledTab"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tabs.5zgaD1k3.js","sources":["../../src/components/tabs/components/tab.vue","../../src/components/tabs/tabs.utils.ts","../../src/components/tabs/tabs.types.ts","../../src/components/tabs/tabs.vue"],"sourcesContent":["<template>\n <div v-show=\"activeTabId === id\" :id=\"`${id}-tabpanel`\" class=\"b-tab\" role=\"tabpanel\" :aria-labelledby=\"id\">\n <template v-if=\"activeTabId === id\">\n <slot />\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, inject, onUnmounted, provide, ref, toRefs } from 'vue';\n import {\n EXTERNAL_TITLE_REGISTER_ENTRY_INJECTION_KEY,\n TABS_ACTIVE_TAB_ID_KEY,\n TABS_REGISTER_TAB_INJECTION_KEY,\n } from '../tabs.keys';\n import { BentoTabsRegisterTab } from '../tabs.types';\n import { BentoTabProvidedTitle } from './tab.types';\n\n export default defineComponent({\n props: {\n /**\n * Displays a counter next to the tab title\n */\n counter: {\n type: Number,\n default: null,\n },\n /**\n * Title of the tab\n */\n title: {\n type: String,\n required: true,\n },\n /**\n * Determines whether the tab is disabled\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * Displays the tab with a notification indicator\n */\n withNotificationIndicator: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n // External title injection\n const { disabled, withNotificationIndicator, counter } = toRefs(props);\n const componentTitle = ref();\n const setTitle: BentoTabProvidedTitle = (value: string) => {\n componentTitle.value = value;\n };\n provide(EXTERNAL_TITLE_REGISTER_ENTRY_INJECTION_KEY, setTitle);\n\n const computedTitle = computed(() => (componentTitle.value ?? props.title) as string);\n\n const registerTab: BentoTabsRegisterTab = inject(TABS_REGISTER_TAB_INJECTION_KEY);\n const activeTabId = inject(TABS_ACTIVE_TAB_ID_KEY);\n\n const { id, unregisterTab } = registerTab({\n disabled,\n title: computedTitle,\n withNotificationIndicator,\n counter,\n });\n\n onUnmounted(() => unregisterTab());\n\n return { activeTabId, id, computedTitle };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./tab.scss\" />\n","import { BentoTab } from './components/tab.types';\n\nexport const getPreviousTabIndex = (activeTabIndex: number, tabsValue: BentoTab[]) => {\n const newActiveTabIndex = activeTabIndex === 0 ? tabsValue.length - 1 : activeTabIndex - 1;\n if (tabsValue[newActiveTabIndex].disabled) {\n return getPreviousTabIndex(newActiveTabIndex, tabsValue);\n }\n return newActiveTabIndex;\n};\n\nexport const getNextTabIndex = (activeTabIndex: number, tabsValue: BentoTab[]) => {\n const newActiveTabIndex = activeTabIndex === tabsValue.length - 1 ? 0 : activeTabIndex + 1;\n if (tabsValue[newActiveTabIndex].disabled) {\n return getNextTabIndex(newActiveTabIndex, tabsValue);\n }\n return newActiveTabIndex;\n};\n","import type { Ref } from 'vue';\n\nexport type BentoTabsRegisterTab = (props: {\n disabled: Ref<boolean>;\n title: Ref<string>;\n withNotificationIndicator: Ref<boolean>;\n counter: Ref<number>;\n}) => { id: string; unregisterTab: () => void };\n\nexport enum BentoTabsEvent {\n ACTIVE_TAB_INDEX = 'update:active-tab-index',\n}\n","<template>\n <div class=\"b-tabs\">\n <fixed-scroller ref=\"tablistwrapper\" condensed :extra-padding-top=\"2\" class=\"b-tabs__tab-list-wrapper\">\n <div ref=\"tablist\" class=\"b-tabs__tab-list\" role=\"tablist\" @keydown=\"onKeydownTabsNavigation\">\n <button\n v-for=\"{ disabled, id, title, withNotificationIndicator, counter } in tabs\"\n :id=\"id\"\n :key=\"id\"\n role=\"tab\"\n type=\"button\"\n class=\"b-tabs__tab\"\n :class=\"{\n 'b-tabs__tab--active': activeTabId === id,\n 'b-tabs__tab--disabled': disabled,\n }\"\n :aria-controls=\"`${id}-tabpanel`\"\n :aria-selected=\"activeTabId === id ? 'true' : 'false'\"\n :tabindex=\"activeTabId === id && !disabled.value ? null : -1\"\n :disabled=\"isDisabled(disabled)\"\n @click=\"handleTabChange(id)\"\n @keydown.enter.space=\"handleTabChange(id)\"\n >\n <span class=\"b-tabs__tab-text\">\n <bento-typography class=\"b-tabs__tab-title\" el=\"span\" variant=\"body\" stronger>\n {{ title }}\n </bento-typography>\n <bento-typography\n v-if=\"counter != null\"\n class=\"b-tabs__tab-counter\"\n el=\"span\"\n variant=\"body\"\n stronger\n :class=\"{\n 'b-tabs__tab-counter--active': activeTabId === id,\n }\"\n >\n {{ counter }}\n </bento-typography>\n <span\n v-if=\"withNotificationIndicator\"\n class=\"b-tabs__tab-notification-dot\"\n aria-hidden=\"true\"\n ></span>\n </span>\n <span v-show=\"activeTabId === id\" class=\"b-tabs__tab-underline\" aria-hidden=\"true\"></span>\n </button>\n </div>\n </fixed-scroller>\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, nextTick, provide, ref, Ref, watch } from 'vue';\n\n // components\n import { BentoTypography } from '@/components/typography';\n import { FixedScroller } from '@/internal';\n\n // utils\n import { generateUid } from '@/core/utils/ts';\n import { getNextTabIndex, getPreviousTabIndex } from './tabs.utils';\n\n // types\n import { BentoTab } from './components/tab.types';\n import { BentoTabsEvent, BentoTabsRegisterTab } from './tabs.types';\n\n // keys\n import { TABS_ACTIVE_TAB_ID_KEY, TABS_REGISTER_TAB_INJECTION_KEY } from './tabs.keys';\n import { Booleanish } from '@/types';\n\n /**\n * Tabs are used to navigate between different, but related content views within a page.\n * This component conforms to the official WAI-ARIA guidelines for tabs: https://www.w3.org/WAI/ARIA/apg/patterns/tabs/\n *\n * @example\n * import { BentoTabs, BentoTab } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoTabs, BentoTab },\n * template: `\n * <bento-tabs v-bind=\"$props\">\n * <bento-tab title=\"Maria Ahlefeldt\">\n * (16 January 1755 - 20 December 1810) was a Danish, (originally German), composer. She is known as the first female composer in Denmark.\n * </bento-tab>\n * <bento-tab title=\"Carl Andersen\">\n * (29 April 1847 - 7 May 1909) was a Danish flutist, conductor and composer born in Copenhagen, son of the flutist Christian Joachim Andersen.\n * </bento-tab>\n * <bento-tab title=\"Karl Truffel\">\n * (1 March 1981 - 7 November 1992) was a Danish dog and commander born in Berlin, son of the machinist Tom Jahoor Truffel.\n * </bento-tab>\n * <bento-tab title=\"Maria Ahlefeldt\" :disabled=\"true\">\n * (16 January 1755 - 20 December 1810) was a Danish, (originally German), composer. She is known as the first female composer in Denmark.\n * </bento-tab>\n * </bento-tabs>\n * `\n * };\n */\n\n // component\n export default defineComponent({\n components: {\n BentoTypography,\n FixedScroller,\n },\n props: {\n /**\n * Sets the active tab by its index (0 being the first tab item).\n */\n activeTabIndex: { type: Number, default: 0 },\n },\n emits: [BentoTabsEvent.ACTIVE_TAB_INDEX],\n setup(props, { emit }) {\n const tabs: Ref<BentoTab[]> = ref([]);\n const tablist = ref(null);\n const tablistwrapper = ref();\n const activeTabId = ref('');\n\n provide(TABS_ACTIVE_TAB_ID_KEY, activeTabId);\n\n // unregister tab if removed / destroyed\n const unregisterTab = (tabIdToRemove: string) => () => {\n tabs.value = tabs.value?.filter(({ id }) => id !== tabIdToRemove);\n };\n\n // register tab\n const registerTab: BentoTabsRegisterTab = ({ title, disabled, withNotificationIndicator, counter }) => {\n const id = generateUid('b-tab');\n\n // add tab to tabs\n tabs.value.push({ disabled, id, title, withNotificationIndicator, counter });\n\n // return values to the Tab component\n return { id, unregisterTab: unregisterTab(id) };\n };\n\n // provide activeTab and registerTab to tab items\n provide(TABS_REGISTER_TAB_INJECTION_KEY, registerTab);\n\n // keyboard navigation\n const onKeydownTabsNavigation = (e: KeyboardEvent) => {\n if (e.code === 'ArrowLeft' || e.code === 'ArrowRight') {\n // find tab that is focussed\n const activeTab = tabs.value.find(tab => document.activeElement.id === tab.id);\n let activeTabIndex = tabs.value.indexOf(activeTab);\n\n // conditionally increase or decrease the\n if (e.code === 'ArrowLeft') {\n activeTabIndex = getPreviousTabIndex(activeTabIndex, tabs.value);\n } else if (e.code === 'ArrowRight') {\n activeTabIndex = getNextTabIndex(activeTabIndex, tabs.value);\n }\n\n // focus new active tab\n tablist.value.children[activeTabIndex].focus();\n }\n };\n\n watch(\n [() => props.activeTabIndex, tabs],\n ([index, currentTabs]) => {\n nextTick(() => {\n const tab = currentTabs[index];\n activeTabId.value =\n tab && !tab.disabled ? tab.id : tabs.value.find(({ disabled }) => !disabled)?.id;\n });\n },\n { immediate: true }\n );\n\n const handleTabChange = (tabId: string) => {\n activeTabId.value = tabId;\n const activeIndex = tabs.value.findIndex(({ id }) => id === activeTabId.value);\n emit(BentoTabsEvent.ACTIVE_TAB_INDEX, activeIndex);\n };\n\n const isDisabled = (isDisabledTab: Ref<boolean>): Booleanish =>\n (isDisabledTab ? 'disabled' : false) as Booleanish;\n\n return {\n tabs,\n tablist,\n tablistwrapper,\n activeTabId,\n onKeydownTabsNavigation,\n handleTabChange,\n isDisabled,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./tabs.scss\" />\n"],"names":["_sfc_main$1","defineComponent","props","disabled","withNotificationIndicator","counter","toRefs","componentTitle","ref","provide","EXTERNAL_TITLE_REGISTER_ENTRY_INJECTION_KEY","value","computedTitle","computed","registerTab","inject","TABS_REGISTER_TAB_INJECTION_KEY","activeTabId","TABS_ACTIVE_TAB_ID_KEY","id","unregisterTab","onUnmounted","getPreviousTabIndex","activeTabIndex","tabsValue","newActiveTabIndex","getNextTabIndex","BentoTabsEvent","BentoTabsEvent2","_sfc_main","BentoTypography","FixedScroller","emit","tabs","tablist","tablistwrapper","tabIdToRemove","_a","title","generateUid","onKeydownTabsNavigation","e","activeTab","tab","watch","index","currentTabs","nextTick","tabId","activeIndex","isDisabledTab"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as p, useSlots as m, computed as r } from "vue";
|
|
2
2
|
import { B as d } from "./typography.J1v_SPG3.js";
|
|
3
3
|
import { u as f } from "./aria-label.CaUURpnB.js";
|
|
4
|
-
import { g as n } from "./get-slot-text.
|
|
4
|
+
import { g as n } from "./get-slot-text.BQS5Olxm.js";
|
|
5
5
|
import { B as _ } from "./tooltip.R2sqydIE.js";
|
|
6
6
|
import { n as v } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
|
|
7
7
|
import "../assets/tag.css";
|
|
@@ -41,4 +41,4 @@ export {
|
|
|
41
41
|
F as B,
|
|
42
42
|
i as a
|
|
43
43
|
};
|
|
44
|
-
//# sourceMappingURL=tag
|
|
44
|
+
//# sourceMappingURL=tag.3fthBtwc.js.map
|