@adyen/bento-vue2 1.55.1 → 1.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/dist/@types/index.d.ts +799 -300
  2. package/dist/action-bar.js +1 -1
  3. package/dist/alert.js +1 -1
  4. package/dist/assets/accordion-item.css +1 -1
  5. package/dist/assets/action-bar.css +1 -1
  6. package/dist/assets/base-modal.css +1 -1
  7. package/dist/assets/button.css +1 -1
  8. package/dist/assets/card.css +1 -1
  9. package/dist/assets/code-snippet.css +1 -1
  10. package/dist/assets/dashed-underline.css +1 -1
  11. package/dist/assets/data-grid-template.css +1 -1
  12. package/dist/assets/data-grid.css +1 -1
  13. package/dist/assets/dialog-page.css +1 -1
  14. package/dist/assets/file-uploader.css +1 -1
  15. package/dist/assets/filter-bar.css +1 -1
  16. package/dist/assets/input-field-password.css +1 -1
  17. package/dist/assets/inspector.css +1 -1
  18. package/dist/assets/menu.css +1 -1
  19. package/dist/assets/modal-fullscreen.css +1 -1
  20. package/dist/assets/popover.css +1 -1
  21. package/dist/assets/sidepanel.css +1 -1
  22. package/dist/assets/summary-grid.css +1 -1
  23. package/dist/assets/tabs.css +1 -1
  24. package/dist/assets/teleport.css +1 -1
  25. package/dist/assets/timeline-item.css +1 -1
  26. package/dist/button.js +3 -3
  27. package/dist/card.js +1 -1
  28. package/dist/checkbox.js +2 -2
  29. package/dist/chunks/{action-bar.DQ1JoKzt.js → action-bar.c68S34TI.js} +5 -5
  30. package/dist/chunks/{action-bar.DQ1JoKzt.js.map → action-bar.c68S34TI.js.map} +1 -1
  31. package/dist/chunks/{alert.C5Y5RBx9.js → alert.D8qqrobi.js} +2 -2
  32. package/dist/chunks/{alert.C5Y5RBx9.js.map → alert.D8qqrobi.js.map} +1 -1
  33. package/dist/chunks/{base-modal.CEHMcrwC.js → base-modal.B9JnRNty.js} +4 -4
  34. package/dist/chunks/{base-modal.CEHMcrwC.js.map → base-modal.B9JnRNty.js.map} +1 -1
  35. package/dist/chunks/{button-actions-with-menu.BehknT6F.js → button-actions-with-menu.DhPRdnSt.js} +4 -4
  36. package/dist/chunks/{button-actions-with-menu.BehknT6F.js.map → button-actions-with-menu.DhPRdnSt.js.map} +1 -1
  37. package/dist/chunks/{button-actions.C5Dp4DeK.js → button-actions.ZBlB7bp4.js} +2 -2
  38. package/dist/chunks/{button-actions.C5Dp4DeK.js.map → button-actions.ZBlB7bp4.js.map} +1 -1
  39. package/dist/chunks/{button.DUApwEu1.js → button.D7K0uXQm.js} +23 -23
  40. package/dist/chunks/button.D7K0uXQm.js.map +1 -0
  41. package/dist/chunks/{calendar.C9bRwE-l.js → calendar.CiLR27-B.js} +2 -2
  42. package/dist/chunks/{calendar.C9bRwE-l.js.map → calendar.CiLR27-B.js.map} +1 -1
  43. package/dist/chunks/{card.Ba5Jqezr.js → card.CZkqwnNe.js} +2 -2
  44. package/dist/chunks/{card.Ba5Jqezr.js.map → card.CZkqwnNe.js.map} +1 -1
  45. package/dist/chunks/{checkbox-group.COqNevz5.js → checkbox-group.C5JSUREN.js} +2 -2
  46. package/dist/chunks/{checkbox-group.COqNevz5.js.map → checkbox-group.C5JSUREN.js.map} +1 -1
  47. package/dist/chunks/{checkbox.LFeWM5p4.js → checkbox.DXP-ooRp.js} +17 -17
  48. package/dist/chunks/{checkbox.LFeWM5p4.js.map → checkbox.DXP-ooRp.js.map} +1 -1
  49. package/dist/chunks/code-snippet.DhxRuYQ7.js +259 -0
  50. package/dist/chunks/code-snippet.DhxRuYQ7.js.map +1 -0
  51. package/dist/chunks/{copy.C7gFAgeL.js → copy.JmRKnqLo.js} +2 -2
  52. package/dist/chunks/{copy.C7gFAgeL.js.map → copy.JmRKnqLo.js.map} +1 -1
  53. package/dist/chunks/{dashboard-section.Cn7UfGjF.js → dashboard-section.DJ39VLp3.js} +3 -3
  54. package/dist/chunks/{dashboard-section.Cn7UfGjF.js.map → dashboard-section.DJ39VLp3.js.map} +1 -1
  55. package/dist/chunks/dashed-underline.D29Z776j.js +65 -0
  56. package/dist/chunks/dashed-underline.D29Z776j.js.map +1 -0
  57. package/dist/chunks/data-grid-template.BrgmYdx9.js +84 -0
  58. package/dist/chunks/data-grid-template.BrgmYdx9.js.map +1 -0
  59. package/dist/chunks/{data-grid.C8S9cY5p.js → data-grid.NedqR1ap.js} +987 -959
  60. package/dist/chunks/data-grid.NedqR1ap.js.map +1 -0
  61. package/dist/chunks/{date-picker.DPSJvBlj.js → date-picker.2shSM0mi.js} +3 -3
  62. package/dist/chunks/{date-picker.DPSJvBlj.js.map → date-picker.2shSM0mi.js.map} +1 -1
  63. package/dist/chunks/{date-range-picker.B03wCOPP.js → date-range-picker.PzjjjdoC.js} +6 -6
  64. package/dist/chunks/{date-range-picker.B03wCOPP.js.map → date-range-picker.PzjjjdoC.js.map} +1 -1
  65. package/dist/chunks/{dialog-page.C8iNK4bf.js → dialog-page.BveDXzz1.js} +2 -2
  66. package/dist/chunks/{dialog-page.C8iNK4bf.js.map → dialog-page.BveDXzz1.js.map} +1 -1
  67. package/dist/chunks/{dropdown-tag.DUlkje2L.js → dropdown-tag.BuW-M1zn.js} +2 -2
  68. package/dist/chunks/{dropdown-tag.DUlkje2L.js.map → dropdown-tag.BuW-M1zn.js.map} +1 -1
  69. package/dist/chunks/{dropdown.DihPVajz.js → dropdown.aeiLxODy.js} +3 -3
  70. package/dist/chunks/{dropdown.DihPVajz.js.map → dropdown.aeiLxODy.js.map} +1 -1
  71. package/dist/chunks/{empty-state.aBO3bh4N.js → empty-state.Z97lmDoK.js} +2 -2
  72. package/dist/chunks/{empty-state.aBO3bh4N.js.map → empty-state.Z97lmDoK.js.map} +1 -1
  73. package/dist/chunks/es6.BtaxuP0b.js.map +1 -1
  74. package/dist/chunks/{file-uploader.P_s39Esv.js → file-uploader.DtiNK2cF.js} +340 -315
  75. package/dist/chunks/file-uploader.DtiNK2cF.js.map +1 -0
  76. package/dist/chunks/{filter-bar.Djv7J4G1.js → filter-bar.C3-x0K8J.js} +834 -741
  77. package/dist/chunks/filter-bar.C3-x0K8J.js.map +1 -0
  78. package/dist/chunks/{fixed-scroller.C7Eug22g.js → fixed-scroller.BJh4fxeV.js} +2 -2
  79. package/dist/chunks/{fixed-scroller.C7Eug22g.js.map → fixed-scroller.BJh4fxeV.js.map} +1 -1
  80. package/dist/chunks/{footer-actions.CNNRHYLb.js → footer-actions.Blk5X8z1.js} +3 -3
  81. package/dist/chunks/{footer-actions.CNNRHYLb.js.map → footer-actions.Blk5X8z1.js.map} +1 -1
  82. package/dist/chunks/{form-layout-title.C9P21KnX.js → form-layout-title.CbdwXVqj.js} +2 -2
  83. package/dist/chunks/{form-layout-title.C9P21KnX.js.map → form-layout-title.CbdwXVqj.js.map} +1 -1
  84. package/dist/chunks/{header-with-views.siHZ-MsA.js → header-with-views.C8yPUp97.js} +12 -12
  85. package/dist/chunks/{header-with-views.siHZ-MsA.js.map → header-with-views.C8yPUp97.js.map} +1 -1
  86. package/dist/chunks/{header.BXGTPqZK.js → header.DbB-XuIe.js} +4 -4
  87. package/dist/chunks/{header.BXGTPqZK.js.map → header.DbB-XuIe.js.map} +1 -1
  88. package/dist/chunks/{info-icon-with-popover.CdZ1_8hG.js → info-icon-with-popover.CzP2P-pl.js} +2 -2
  89. package/dist/chunks/{info-icon-with-popover.CdZ1_8hG.js.map → info-icon-with-popover.CzP2P-pl.js.map} +1 -1
  90. package/dist/chunks/{input-field-password.Dz_8fr0j.js → input-field-password.CbPAafAh.js} +48 -43
  91. package/dist/chunks/{input-field-password.Dz_8fr0j.js.map → input-field-password.CbPAafAh.js.map} +1 -1
  92. package/dist/chunks/{input-field-phone-number.CPlRrAGe.js → input-field-phone-number.DAE8TPO4.js} +3 -3
  93. package/dist/chunks/{input-field-phone-number.CPlRrAGe.js.map → input-field-phone-number.DAE8TPO4.js.map} +1 -1
  94. package/dist/chunks/{input-field.DcOnDLTc.js → input-field._ceh_k5o.js} +2 -2
  95. package/dist/chunks/{input-field.DcOnDLTc.js.map → input-field._ceh_k5o.js.map} +1 -1
  96. package/dist/chunks/{inspector.types.D1m792RZ.js → inspector.types.Cloa1Rnz.js} +2 -2
  97. package/dist/chunks/{inspector.types.D1m792RZ.js.map → inspector.types.Cloa1Rnz.js.map} +1 -1
  98. package/dist/chunks/{menu.DFatjXpw.js → menu.BKcBx2qB.js} +17 -16
  99. package/dist/chunks/{menu.DFatjXpw.js.map → menu.BKcBx2qB.js.map} +1 -1
  100. package/dist/chunks/{modal-fullscreen._NBj0IXu.js → modal-fullscreen.BwVQfDn1.js} +4 -4
  101. package/dist/chunks/{modal-fullscreen._NBj0IXu.js.map → modal-fullscreen.BwVQfDn1.js.map} +1 -1
  102. package/dist/chunks/{modal.CpZzd8fG.js → modal.BL-FWXsY.js} +5 -5
  103. package/dist/chunks/{modal.CpZzd8fG.js.map → modal.BL-FWXsY.js.map} +1 -1
  104. package/dist/chunks/{pagination.PQCpgVVF.js → pagination.DHFaDRoD.js} +3 -3
  105. package/dist/chunks/{pagination.PQCpgVVF.js.map → pagination.DHFaDRoD.js.map} +1 -1
  106. package/dist/chunks/{popover.BVLuUYSi.js → popover.Bb9JeZVy.js} +3 -3
  107. package/dist/chunks/{popover.BVLuUYSi.js.map → popover.Bb9JeZVy.js.map} +1 -1
  108. package/dist/chunks/{promo-banner.C4jiwSeA.js → promo-banner.D5QXTiEH.js} +2 -2
  109. package/dist/chunks/{promo-banner.C4jiwSeA.js.map → promo-banner.D5QXTiEH.js.map} +1 -1
  110. package/dist/chunks/{search-bar.BPnYyZ9S.js → search-bar.BxZHV9BD.js} +3 -3
  111. package/dist/chunks/{search-bar.BPnYyZ9S.js.map → search-bar.BxZHV9BD.js.map} +1 -1
  112. package/dist/chunks/{secondary-nav.CDykzeRU.js → secondary-nav.BDGDhhEE.js} +2 -2
  113. package/dist/chunks/{secondary-nav.CDykzeRU.js.map → secondary-nav.BDGDhhEE.js.map} +1 -1
  114. package/dist/chunks/{selection-card-group.Dj9wWfmY.js → selection-card-group.0nbaCMHW.js} +8 -8
  115. package/dist/chunks/{selection-card-group.Dj9wWfmY.js.map → selection-card-group.0nbaCMHW.js.map} +1 -1
  116. package/dist/chunks/{sidepanel.DcBdDgec.js → sidepanel.DMXzlqbw.js} +4 -4
  117. package/dist/chunks/{sidepanel.DcBdDgec.js.map → sidepanel.DMXzlqbw.js.map} +1 -1
  118. package/dist/chunks/{structured-list-item.w0GVxwQf.js → structured-list-item.DZ1_vy5W.js} +3 -3
  119. package/dist/chunks/{structured-list-item.w0GVxwQf.js.map → structured-list-item.DZ1_vy5W.js.map} +1 -1
  120. package/dist/chunks/summary-grid.types.D-OotxnX.js +301 -0
  121. package/dist/chunks/summary-grid.types.D-OotxnX.js.map +1 -0
  122. package/dist/chunks/{tabs.T3A3YNdF.js → tabs.BfL4CUD1.js} +12 -12
  123. package/dist/chunks/{tabs.T3A3YNdF.js.map → tabs.BfL4CUD1.js.map} +1 -1
  124. package/dist/chunks/{teleport.5oodkxuB.js → teleport.BV6zrDjA.js} +18 -27
  125. package/dist/chunks/teleport.BV6zrDjA.js.map +1 -0
  126. package/dist/chunks/{textarea.CrPdkIGL.js → textarea.BkUzMu8d.js} +2 -2
  127. package/dist/chunks/{textarea.CrPdkIGL.js.map → textarea.BkUzMu8d.js.map} +1 -1
  128. package/dist/chunks/timeline-item.DcutETie.js +386 -0
  129. package/dist/chunks/timeline-item.DcutETie.js.map +1 -0
  130. package/dist/chunks/{toast.CjJW9t4G.js → toast.BV0qP2AF.js} +2 -2
  131. package/dist/chunks/{toast.CjJW9t4G.js.map → toast.BV0qP2AF.js.map} +1 -1
  132. package/dist/chunks/{toggle-button.Dj2uoRyw.js → toggle-button.TDry-9iu.js} +2 -2
  133. package/dist/chunks/{toggle-button.Dj2uoRyw.js.map → toggle-button.TDry-9iu.js.map} +1 -1
  134. package/dist/chunks/{tutorial.CTzjDY6m.js → tutorial.AOMH-Jq3.js} +4 -4
  135. package/dist/chunks/{tutorial.CTzjDY6m.js.map → tutorial.AOMH-Jq3.js.map} +1 -1
  136. package/dist/chunks/{use-cached-selected-values.D6lOsd0o.js → use-cached-selected-values.DHN-_Me4.js} +4 -4
  137. package/dist/chunks/{use-cached-selected-values.D6lOsd0o.js.map → use-cached-selected-values.DHN-_Me4.js.map} +1 -1
  138. package/dist/chunks/use-click-outside.BnhTgpSt.js +14 -0
  139. package/dist/chunks/use-click-outside.BnhTgpSt.js.map +1 -0
  140. package/dist/code-snippet.js +1 -1
  141. package/dist/dashboard-template.js +1 -1
  142. package/dist/dashed-underline.js +1 -1
  143. package/dist/data-grid-template.js +1 -1
  144. package/dist/data-grid.js +1 -1
  145. package/dist/date-picker.js +2 -2
  146. package/dist/date-range-picker.js +2 -2
  147. package/dist/dropdown.js +3 -3
  148. package/dist/empty-state.js +1 -1
  149. package/dist/file-uploader.js +1 -1
  150. package/dist/filter-bar.js +1 -1
  151. package/dist/form-layout.js +1 -1
  152. package/dist/header-with-views.js +1 -1
  153. package/dist/header.js +1 -1
  154. package/dist/index.js +48 -48
  155. package/dist/input-field-password.js +1 -1
  156. package/dist/input-field-phone-number.js +1 -1
  157. package/dist/input-field.js +1 -1
  158. package/dist/inspector.js +1 -1
  159. package/dist/internal.js +9 -9
  160. package/dist/menu.js +1 -1
  161. package/dist/modal-fullscreen.js +1 -1
  162. package/dist/modal.js +2 -2
  163. package/dist/pagination.js +1 -1
  164. package/dist/popover.js +1 -1
  165. package/dist/promo-banner.js +1 -1
  166. package/dist/search-bar.js +2 -2
  167. package/dist/secondary-nav.js +1 -1
  168. package/dist/selection-card.js +1 -1
  169. package/dist/sidepanel.js +1 -1
  170. package/dist/structured-list.js +1 -1
  171. package/dist/styles/bento-dark.css +13 -2
  172. package/dist/styles/bento-light.css +13 -2
  173. package/dist/styles/bento.css +13 -2
  174. package/dist/styles/legacy.css +14 -4
  175. package/dist/styles/styleguide.css +13 -2
  176. package/dist/summary-grid.js +1 -1
  177. package/dist/tabs.js +1 -1
  178. package/dist/textarea.js +1 -1
  179. package/dist/timeline.js +1 -1
  180. package/dist/toast.js +1 -1
  181. package/dist/tutorial.js +1 -1
  182. package/dist/web-types.json +291 -99
  183. package/package.json +8 -5
  184. package/dist/chunks/button.DUApwEu1.js.map +0 -1
  185. package/dist/chunks/code-snippet.Q1HB3T_K.js +0 -345
  186. package/dist/chunks/code-snippet.Q1HB3T_K.js.map +0 -1
  187. package/dist/chunks/dashed-underline.0K0Xbu6k.js +0 -59
  188. package/dist/chunks/dashed-underline.0K0Xbu6k.js.map +0 -1
  189. package/dist/chunks/data-grid-template.Bm08fIsa.js +0 -69
  190. package/dist/chunks/data-grid-template.Bm08fIsa.js.map +0 -1
  191. package/dist/chunks/data-grid.C8S9cY5p.js.map +0 -1
  192. package/dist/chunks/file-uploader.P_s39Esv.js.map +0 -1
  193. package/dist/chunks/filter-bar.Djv7J4G1.js.map +0 -1
  194. package/dist/chunks/summary-grid.types.DoD7Ls0O.js +0 -295
  195. package/dist/chunks/summary-grid.types.DoD7Ls0O.js.map +0 -1
  196. package/dist/chunks/teleport.5oodkxuB.js.map +0 -1
  197. package/dist/chunks/timeline-item.B6XTUyr8.js +0 -382
  198. package/dist/chunks/timeline-item.B6XTUyr8.js.map +0 -1
@@ -1,295 +0,0 @@
1
- import { defineComponent as a, useSlots as i, onMounted as I, provide as h, toRef as B, toRefs as D, inject as R, ref as G, computed as s } from "vue";
2
- import { u } from "./use-has-slot.C9lQZ6nz.js";
3
- import { S as M, a as x } from "./summary-grid.keys.CxTf_FOc.js";
4
- import { G as k } from "./grid-layout.HvTAa4to.js";
5
- import { n as d } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
6
- import { B as w } from "./dashed-underline.0K0Xbu6k.js";
7
- import { B as L } from "./info-icon.Dn0FHy-U.js";
8
- import { B as E } from "./typography.J1v_SPG3.js";
9
- import { B as z } from "./tag.C7ATWnRW.js";
10
- import { C as P } from "./copy.C7gFAgeL.js";
11
- import "../assets/summary-grid.css";
12
- const A = {}, U = /* @__PURE__ */ a({
13
- ...A,
14
- __name: "summary-grid",
15
- props: {
16
- columnWidth: { default: null },
17
- slashedZero: { type: Boolean, default: !1 }
18
- },
19
- setup(r) {
20
- var _, c;
21
- const t = r, n = i(), e = u(n);
22
- let o = 1;
23
- if (n) {
24
- const y = (c = (_ = Object.keys(n)) == null ? void 0 : _.filter((p) => p.includes("cell-"))) == null ? void 0 : c.map((p) => {
25
- var f;
26
- return parseInt((f = p.split("-")) == null ? void 0 : f[1], 10);
27
- });
28
- o = Math.max(...y);
29
- }
30
- I(() => {
31
- if (o > 3)
32
- throw new Error(
33
- "BentoSummaryGrid must only have a maximum of 3 rows. Read the documentation for more information."
34
- );
35
- });
36
- const l = () => ({ isSummaryGridLayout: !0 });
37
- return h(M, l), h(x, B(t, "slashedZero")), { __sfc: !0, props: t, slots: n, hasSlot: e, numberOfRows: o, registerComponentsInSummaryGrid: l, GridLayout: k };
38
- }
39
- });
40
- var F = function() {
41
- var t = this, n = t._self._c, e = t._self._setupProxy;
42
- return n("div", { staticClass: "b-summary-grid" }, t._l(e.numberOfRows, function(o) {
43
- var l;
44
- return n(e.GridLayout, { key: `summary-grid-row-${o}`, attrs: { "data-testid": `summary-grid-row-${o}`, "column-width": (l = t.columnWidth) == null ? void 0 : l[`row${o}`] }, scopedSlots: t._u([e.hasSlot(`cell-${o}-1`) ? { key: "col-1", fn: function() {
45
- return [t._t(`cell-${o}-1`)];
46
- }, proxy: !0 } : null, e.hasSlot(`cell-${o}-2`) ? { key: "col-2", fn: function() {
47
- return [t._t(`cell-${o}-2`)];
48
- }, proxy: !0 } : null, e.hasSlot(`cell-${o}-3`) ? { key: "col-3", fn: function() {
49
- return [t._t(`cell-${o}-3`)];
50
- }, proxy: !0 } : null, e.hasSlot(`cell-${o}-4`) ? { key: "col-4", fn: function() {
51
- return [t._t(`cell-${o}-4`)];
52
- }, proxy: !0 } : null, e.hasSlot(`cell-${o}-5`) ? { key: "col-5", fn: function() {
53
- return [t._t(`cell-${o}-5`)];
54
- }, proxy: !0 } : null, e.hasSlot(`cell-${o}-6`) ? { key: "col-6", fn: function() {
55
- return [t._t(`cell-${o}-6`)];
56
- }, proxy: !0 } : null], null, !0) });
57
- }), 1);
58
- }, O = [], V = /* @__PURE__ */ d(
59
- U,
60
- F,
61
- O,
62
- !1,
63
- null,
64
- "397e4d9c"
65
- );
66
- const Mt = V.exports, N = {}, Y = /* @__PURE__ */ a({
67
- ...N,
68
- __name: "summary-grid-item",
69
- props: {
70
- copy: { default: void 0 },
71
- fitContent: { type: Boolean, default: !1 },
72
- infoIconTooltipText: { default: null },
73
- size: { default: "small" },
74
- title: null,
75
- trend: { default: null },
76
- trendDirection: { default: "positive" },
77
- secondaryTrend: { default: null },
78
- secondaryTrendDirection: { default: "positive" },
79
- underlineTooltipText: { default: null },
80
- itemType: { default: "custom" }
81
- },
82
- setup(r) {
83
- const t = r, { trendDirection: n, secondaryTrendDirection: e, itemType: o, size: l } = D(t), _ = R(x, G(!1)), c = (C) => {
84
- switch (C) {
85
- case "positive":
86
- return "green";
87
- case "negative":
88
- return "red";
89
- default:
90
- return "blue";
91
- }
92
- }, y = s(() => c(n.value)), p = s(() => c(e.value)), f = s(() => l.value === "small" ? "body" : o.value !== "text" ? "title" : null), g = s(() => ({
93
- medium: l.value === "large",
94
- strongest: l.value === "small",
95
- wide: l.value === "small",
96
- variant: f.value
97
- })), $ = s(() => t.fitContent ? { width: "fit-content" } : {}), b = s(() => ({ "b-summary-grid-item--slashed-zero": _.value })), v = i(), T = u(v), S = s(() => t.underlineTooltipText || T("dashed-underline"));
98
- return { __sfc: !0, props: t, trendDirection: n, secondaryTrendDirection: e, itemType: o, size: l, hasSlashedZero: _, tagVariantColor: c, trendVariant: y, secondaryTrendVariant: p, typographyContentElement: f, typographyProps: g, computedStyles: $, conditionalClasses: b, slots: v, hasSlot: T, withUnderline: S, BentoDashedUnderline: w, BentoInfoIcon: L, BentoTypography: E, BentoTag: z, Copy: P };
99
- }
100
- });
101
- var Z = function() {
102
- var t = this, n = t._self._c, e = t._self._setupProxy;
103
- return n("div", { staticClass: "b-summary-grid-item", class: e.conditionalClasses, style: e.computedStyles }, [n("div", { staticClass: "b-summary-grid-item__header" }, [n(e.BentoTypography, { staticClass: "b-summary-grid-item__title", attrs: { el: "span", variant: "body" } }, [e.withUnderline ? n(e.BentoDashedUnderline, { attrs: { "tooltip-text": t.underlineTooltipText }, scopedSlots: t._u([e.hasSlot("dashed-underline") ? { key: "popover-content", fn: function() {
104
- return [t._t("dashed-underline")];
105
- }, proxy: !0 } : null], null, !0) }, [t._v(" " + t._s(t.title) + " ")]) : [t._v(" " + t._s(t.title) + " ")]], 2), n("div", { staticClass: "b-summary-grid-item__title-icons" }, [t.copy ? n(e.Copy, { staticClass: "b-structured-list__icon", attrs: { text: t.copy } }) : t._e(), t.infoIconTooltipText ? n(e.BentoInfoIcon, { staticClass: "b-summary-grid-item__title-tooltip", attrs: { "tooltip-text": t.infoIconTooltipText, "tooltip-position": "top" } }) : t._e()], 1)], 1), n(e.BentoTypography, t._b({ staticClass: "b-summary-grid-item__title", attrs: { "data-testid": "summary-grid-item-content-typography", el: "span" } }, "bento-typography", e.typographyProps, !1), [t._t("default"), t.trend && e.itemType !== "text" ? n(e.BentoTag, { staticClass: "b-summary-grid-item__content-trend", attrs: { variant: e.trendVariant, label: t.trend } }) : t._e()], 2), e.hasSlot("secondary") ? n(e.BentoTypography, { 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 ? n(e.BentoTag, { staticClass: "b-summary-grid-item__content-trend", attrs: { variant: e.secondaryTrendVariant, label: t.secondaryTrend } }) : t._e()], 2) : t._e()], 1);
106
- }, j = [], H = /* @__PURE__ */ d(
107
- Y,
108
- Z,
109
- j,
110
- !1,
111
- null,
112
- "55342bfd"
113
- );
114
- const m = H.exports, W = {}, J = /* @__PURE__ */ a({
115
- ...W,
116
- __name: "summary-grid-item-amount",
117
- props: {
118
- copy: { default: void 0 },
119
- fitContent: { type: Boolean, default: !1 },
120
- infoIconTooltipText: { default: null },
121
- size: { default: "small" },
122
- title: null,
123
- trend: { default: null },
124
- trendDirection: { default: "positive" },
125
- secondaryTrend: { default: null },
126
- secondaryTrendDirection: { default: "positive" },
127
- underlineTooltipText: { default: null },
128
- label: null,
129
- secondaryLabel: { default: null },
130
- secondaryMetric: { default: null }
131
- },
132
- setup(r) {
133
- const t = i(), n = u(t);
134
- return { __sfc: !0, slots: t, hasSlot: n, SummaryGridItem: m };
135
- }
136
- });
137
- var K = function() {
138
- var t = this, n = t._self._c, e = t._self._setupProxy;
139
- return n(e.SummaryGridItem, { 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, "underline-tooltip-text": t.underlineTooltipText }, scopedSlots: t._u([e.hasSlot("dashed-underline") ? { key: "dashed-underline", fn: function() {
140
- return [t._t("dashed-underline")];
141
- }, proxy: !0 } : null, t.secondaryMetric ? { key: "secondary", fn: function() {
142
- return [t._v(" " + t._s(t.secondaryMetric) + " ")];
143
- }, proxy: !0 } : null], null, !0) }, [n("div", { staticClass: "b-summary-grid-item-amount__content" }, [n("div", [t._v(t._s(t.label))]), t.secondaryLabel ? n("div", { staticClass: "b-summary-grid-item-amount__secondary-label" }, [t._v(t._s(t.secondaryLabel))]) : t._e()])]);
144
- }, q = [], Q = /* @__PURE__ */ d(
145
- J,
146
- K,
147
- q,
148
- !1,
149
- null,
150
- "33f45b74"
151
- );
152
- const kt = Q.exports, X = {}, tt = /* @__PURE__ */ a({
153
- ...X,
154
- __name: "summary-grid-item-numeric",
155
- props: {
156
- copy: { default: void 0 },
157
- fitContent: { type: Boolean, default: !1 },
158
- infoIconTooltipText: { default: null },
159
- size: { default: "small" },
160
- title: null,
161
- trend: { default: null },
162
- trendDirection: { default: "positive" },
163
- secondaryTrend: { default: null },
164
- secondaryTrendDirection: { default: "positive" },
165
- underlineTooltipText: { default: null },
166
- label: null,
167
- secondaryMetric: { default: null }
168
- },
169
- setup(r) {
170
- const t = i(), n = u(t);
171
- return { __sfc: !0, slots: t, hasSlot: n, SummaryGridItem: m };
172
- }
173
- });
174
- var et = function() {
175
- var t = this, n = t._self._c, e = t._self._setupProxy;
176
- return n(e.SummaryGridItem, { 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, "underline-tooltip-text": t.underlineTooltipText }, scopedSlots: t._u([e.hasSlot("dashed-underline") ? { key: "dashed-underline", fn: function() {
177
- return [t._t("dashed-underline")];
178
- }, proxy: !0 } : null, t.secondaryMetric ? { key: "secondary", fn: function() {
179
- return [t._v(" " + t._s(t.secondaryMetric) + " ")];
180
- }, proxy: !0 } : null], null, !0) }, [t._v(" " + t._s(t.label) + " ")]);
181
- }, nt = [], rt = /* @__PURE__ */ d(
182
- tt,
183
- et,
184
- nt,
185
- !1,
186
- null,
187
- null
188
- );
189
- const wt = rt.exports, ot = {}, lt = /* @__PURE__ */ a({
190
- ...ot,
191
- __name: "summary-grid-item-percentage",
192
- props: {
193
- copy: { default: void 0 },
194
- fitContent: { type: Boolean, default: !1 },
195
- infoIconTooltipText: { default: null },
196
- size: { default: "small" },
197
- title: null,
198
- trend: { default: null },
199
- trendDirection: { default: "positive" },
200
- secondaryTrend: { default: null },
201
- secondaryTrendDirection: { default: "positive" },
202
- underlineTooltipText: { default: null },
203
- label: null,
204
- secondaryMetric: { default: null }
205
- },
206
- setup(r) {
207
- const t = i(), n = u(t);
208
- return { __sfc: !0, slots: t, hasSlot: n, SummaryGridItem: m };
209
- }
210
- });
211
- var st = function() {
212
- var t = this, n = t._self._c, e = t._self._setupProxy;
213
- return n(e.SummaryGridItem, { 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, "underline-tooltip-text": t.underlineTooltipText }, scopedSlots: t._u([e.hasSlot("dashed-underline") ? { key: "dashed-underline", fn: function() {
214
- return [t._t("dashed-underline")];
215
- }, proxy: !0 } : null, t.secondaryMetric ? { key: "secondary", fn: function() {
216
- return [t._v(" " + t._s(t.secondaryMetric) + "% ")];
217
- }, proxy: !0 } : null], null, !0) }, [t._v(" " + t._s(t.label) + "% ")]);
218
- }, at = [], it = /* @__PURE__ */ d(
219
- lt,
220
- st,
221
- at,
222
- !1,
223
- null,
224
- null
225
- );
226
- const Lt = it.exports, ut = {}, dt = /* @__PURE__ */ a({
227
- ...ut,
228
- __name: "summary-grid-item-text",
229
- props: {
230
- copy: { default: void 0 },
231
- fitContent: { type: Boolean, default: !1 },
232
- infoIconTooltipText: { default: null },
233
- label: null,
234
- title: null,
235
- underlineTooltipText: { default: null }
236
- },
237
- setup(r) {
238
- const t = i(), n = u(t);
239
- return { __sfc: !0, slots: t, hasSlot: n, SummaryGridItem: m };
240
- }
241
- });
242
- var ct = function() {
243
- var t = this, n = t._self._c, e = t._self._setupProxy;
244
- return n(e.SummaryGridItem, { 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, "underline-tooltip-text": t.underlineTooltipText }, scopedSlots: t._u([e.hasSlot("dashed-underline") ? { key: "dashed-underline", fn: function() {
245
- return [t._t("dashed-underline")];
246
- }, proxy: !0 } : null], null, !0) }, [t._v(" " + t._s(t.label) + " ")]);
247
- }, _t = [], pt = /* @__PURE__ */ d(
248
- dt,
249
- ct,
250
- _t,
251
- !1,
252
- null,
253
- null
254
- );
255
- const Et = pt.exports, ft = {}, mt = /* @__PURE__ */ a({
256
- ...ft,
257
- __name: "summary-grid-item-custom",
258
- props: {
259
- copy: { default: void 0 },
260
- infoIconTooltipText: { default: null },
261
- title: null,
262
- fitContent: { type: Boolean, default: !1 },
263
- underlineTooltipText: { default: null }
264
- },
265
- setup(r) {
266
- const t = i(), n = u(t);
267
- return { __sfc: !0, slots: t, hasSlot: n, SummaryGridItem: m };
268
- }
269
- });
270
- var yt = function() {
271
- var t = this, n = t._self._c, e = t._self._setupProxy;
272
- return n(e.SummaryGridItem, { attrs: { title: t.title, "info-icon-tooltip-text": t.infoIconTooltipText, copy: t.copy, "fit-content": t.fitContent, "underline-tooltip-text": t.underlineTooltipText }, scopedSlots: t._u([e.hasSlot("dashed-underline") ? { key: "dashed-underline", fn: function() {
273
- return [t._t("dashed-underline")];
274
- }, proxy: !0 } : null], null, !0) }, [t._t("default")], 2);
275
- }, vt = [], Tt = /* @__PURE__ */ d(
276
- mt,
277
- yt,
278
- vt,
279
- !1,
280
- null,
281
- null
282
- );
283
- const zt = Tt.exports;
284
- var ht = /* @__PURE__ */ ((r) => (r.SMALL = "small", r.MEDIUM = "medium", r.LARGE = "large", r))(ht || {}), xt = /* @__PURE__ */ ((r) => (r.POSITIVE = "positive", r.NEGATIVE = "negative", r.NEUTRAL = "neutral", r))(xt || {});
285
- export {
286
- ht as B,
287
- kt as a,
288
- wt as b,
289
- Lt as c,
290
- Et as d,
291
- zt as e,
292
- xt as f,
293
- Mt as s
294
- };
295
- //# sourceMappingURL=summary-grid.types.DoD7Ls0O.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"summary-grid.types.DoD7Ls0O.js","sources":["../../src/components/summary-grid/summary-grid.vue","../../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","../../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 = defineProps({\n columnWidth: { default: null },\n slashedZero: { type: Boolean, default: 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 v-if=\"withUnderline\" :tooltip-text=\"underlineTooltipText\">\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\" />\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 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 const props = defineProps({\n copy: { default: undefined },\n fitContent: { type: Boolean, default: false },\n infoIconTooltipText: { default: null },\n size: { default: 'small' },\n title: null,\n trend: { default: null },\n trendDirection: { default: 'positive' },\n secondaryTrend: { default: null },\n secondaryTrendDirection: { default: 'positive' },\n underlineTooltipText: { default: null },\n itemType: { default: 'custom' }\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-tooltip-text=\"underlineTooltipText\"\n class=\"b-summary-grid-item-amount\"\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 <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 setup lang=\"ts\">\n import { useSlots } from 'vue';\n import { SummaryGridItem } from '../summary-grid-item';\n import { useHasSlot } from '@/composables';\n import type { BentoSummaryGridItemAmountProps } from './summary-grid-item-amount.types';\n\n defineProps({\n copy: { default: undefined },\n fitContent: { type: Boolean, default: false },\n infoIconTooltipText: { default: null },\n size: { default: 'small' },\n title: null,\n trend: { default: null },\n trendDirection: { default: 'positive' },\n secondaryTrend: { default: null },\n secondaryTrendDirection: { default: 'positive' },\n underlineTooltipText: { default: null },\n label: null,\n secondaryLabel: { default: null },\n secondaryMetric: { default: 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-tooltip-text=\"underlineTooltipText\"\n class=\"b-summary-grid-item-numeric\"\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 defineProps({\n copy: { default: undefined },\n fitContent: { type: Boolean, default: false },\n infoIconTooltipText: { default: null },\n size: { default: 'small' },\n title: null,\n trend: { default: null },\n trendDirection: { default: 'positive' },\n secondaryTrend: { default: null },\n secondaryTrendDirection: { default: 'positive' },\n underlineTooltipText: { default: null },\n label: null,\n secondaryMetric: { default: 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-tooltip-text=\"underlineTooltipText\"\n class=\"b-summary-grid-item-percentage\"\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> {{ secondaryMetric }}% </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 { BentoSummaryGridItemPercentageProps } from './summary-grid-item-percentage.types';\n\n defineProps({\n copy: { default: undefined },\n fitContent: { type: Boolean, default: false },\n infoIconTooltipText: { default: null },\n size: { default: 'small' },\n title: null,\n trend: { default: null },\n trendDirection: { default: 'positive' },\n secondaryTrend: { default: null },\n secondaryTrendDirection: { default: 'positive' },\n underlineTooltipText: { default: null },\n label: null,\n secondaryMetric: { default: 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 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</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-tooltip-text=\"underlineTooltipText\"\n class=\"b-summary-grid-item-text\"\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 defineProps({\n copy: { default: undefined },\n fitContent: { type: Boolean, default: false },\n infoIconTooltipText: { default: null },\n label: null,\n title: null,\n underlineTooltipText: { default: 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-tooltip-text=\"underlineTooltipText\"\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/summary-grid-item.vue';\n import { useHasSlot } from '@/composables';\n import type { BentoSummaryGridItemCustomProps } from './summary-grid-item-custom.types';\n\n defineProps({\n copy: { default: undefined },\n infoIconTooltipText: { default: null },\n title: null,\n fitContent: { type: Boolean, default: false },\n underlineTooltipText: { default: 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 { 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\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","slots","useSlots","hasSlot","useHasSlot","numberOfRows","slotRows","_b","_a","slotName","onMounted","registerComponentsInSummaryGrid","provide","SUMMARY_GRID_LAYOUT_INJECTION_KEY","SUMMARY_GRID_SLASHED_ZERO","toRef","props","__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","__default__$1","__default__","BentoSummaryGridItemSize","BentoSummaryGridItemSize2","BentoSummaryGridItemTrendDirection","BentoSummaryGridItemTrendDirection2"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"teleport.5oodkxuB.js","sources":["../../src/composables/use-click-outside/use-click-outside.ts","../../src/components/internal/teleport/teleport.vue"],"sourcesContent":["import { onClickOutside } from '@/directives/click-outside/on-click-outside';\nimport { OnClickOutsideHandler, OnClickOutsideOptions } from '@/directives/click-outside/types';\nimport { MaybeElementRef } from '@/types';\nimport { onMounted, onUnmounted } from 'vue';\n\n/**\n * Composable to listen for clicks outside of an element ref.\n *\n * @param {MaybeElementRef} target - HTML Element or \"ref\" to an Element on which the click outside listener will be attached to\n * @param {OnClickOutsideHandler} handler - Function that will be called when the listener gets triggered\n * @param {OnClickOutsideOptions} options - Options to be passed to the listener\n */\nexport const useClickOutside = <T extends OnClickOutsideOptions>(\n target: MaybeElementRef,\n handler: OnClickOutsideHandler,\n options: T = {} as T\n) => {\n let onClickOutsideStop: () => void;\n\n onMounted(() => {\n onClickOutsideStop = onClickOutside(target, handler, options);\n });\n\n onUnmounted(() => {\n if (onClickOutsideStop) {\n onClickOutsideStop();\n\n onClickOutsideStop = null;\n }\n });\n};\n","<!-- Taken from: https://github.com/Mechazawa/vue2-teleport/blob/master/src/Teleport.vue -->\n<template>\n <div v-if=\"isVue2\" :class=\"classes\">\n <slot />\n </div>\n <Teleport v-else :to=\"defaultTo\" :where=\"where\" :disabled=\"disabled\" :class=\"classes\">\n <slot />\n </Teleport>\n</template>\n\n<script setup lang=\"ts\">\n import { isVue2 } from 'vue-demi';\n import { defineComponent, inject } from 'vue';\n import { MODAL_DIALOG_ID_INJECTION_KEY } from '@/components/modal/components/base-modal/base-modal.keys';\n import { SIDEPANEL_DIALOG_ID_INJECTION_KEY } from '@/components/sidepanel/sidepanel.keys';\n import { MODAL_FULLSCREEN_DIALOG_ID_INJECTION_KEY } from '@/components/modal-fullscreen/modal-fullscreen.keys';\n</script>\n\n<script lang=\"ts\">\n export default defineComponent({\n name: 'teleport',\n props: {\n to: {\n type: String,\n default: '',\n },\n where: {\n type: String,\n default: 'after',\n },\n disabled: Boolean,\n },\n data: () => ({\n childObserver: null,\n nodes: [],\n waiting: false,\n observer: null,\n parent: null,\n isVue2,\n }),\n computed: {\n classes() {\n if (this.disabled) {\n return ['b-teleport'];\n }\n\n return ['b-teleport', 'b-teleport--hidden'];\n },\n defaultTo() {\n if (this.to) {\n return this.to;\n }\n\n const injectionKey =\n inject<string>(MODAL_DIALOG_ID_INJECTION_KEY, '') ||\n inject<string>(MODAL_FULLSCREEN_DIALOG_ID_INJECTION_KEY, '') ||\n inject<string>(SIDEPANEL_DIALOG_ID_INJECTION_KEY, '');\n\n const teleportElement = injectionKey ? `#${injectionKey}` : 'body';\n return teleportElement;\n },\n },\n watch: {\n to: 'maybeMove',\n where: 'maybeMove',\n disabled(value) {\n if (value) {\n this.disable();\n // Ensure all event done.\n this.$nextTick(() => {\n this.teardownObserver();\n });\n } else {\n this.bootObserver();\n this.move();\n }\n },\n },\n mounted() {\n // Store a reference to the nodes\n this.nodes = Array.from(this.$el.childNodes);\n\n if (!this.disabled) {\n this.bootObserver();\n }\n\n // Move slot content to target\n this.maybeMove();\n },\n beforeDestroy() {\n // Fix nodes reference\n this.nodes = this.getComponentChildrenNode();\n\n // Move back\n this.disable();\n\n // Stop observing\n this.teardownObserver();\n },\n methods: {\n // Using a fragment is faster because it'll trigger only a single reflow\n // See https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment\n getFragment(): DocumentFragment {\n const fragment = document.createDocumentFragment();\n\n this.nodes.forEach(node => fragment.appendChild(node));\n\n return fragment;\n },\n disable() {\n this.$el.appendChild(this.getFragment());\n this.parent = null;\n },\n move() {\n this.waiting = false;\n\n this.parent = document.querySelector(this.defaultTo);\n\n if (!this.parent) {\n this.disable();\n\n this.waiting = true;\n\n return;\n }\n\n if (this.where === 'before') {\n this.parent.prepend(this.getFragment());\n } else {\n this.parent.appendChild(this.getFragment());\n }\n },\n maybeMove() {\n if (!this.disabled) {\n this.move();\n }\n },\n onMutations(mutations) {\n // Makes sure the move operation is only done once\n let shouldMove = false;\n\n for (let i = 0; i < mutations.length; i++) {\n const mutation = mutations[i];\n const filteredAddedNodes = Array.from(mutation.addedNodes).filter(\n node => !this.nodes.includes(node)\n );\n\n if (Array.from(mutation.removedNodes).includes(this.parent)) {\n this.disable();\n this.waiting = !this.disabled;\n } else if (this.waiting && filteredAddedNodes.length > 0) {\n shouldMove = true;\n }\n }\n\n if (shouldMove) {\n this.move();\n }\n },\n bootObserver() {\n if (this.observer) {\n return;\n }\n\n this.observer = new MutationObserver(mutations => this.onMutations(mutations));\n\n this.observer.observe(document.body, {\n childList: true,\n subtree: true,\n attributes: false,\n characterData: false,\n });\n\n if (this.childObserver) {\n return;\n }\n // watch childNodes change\n this.childObserver = new MutationObserver(mutations => {\n const childChangeRecord = mutations.find(i => i.target === this.$el);\n if (childChangeRecord) {\n // Remove old nodes before update position.\n this.nodes.forEach(node => node.parentNode && node.parentNode.removeChild(node));\n this.nodes = this.getComponentChildrenNode();\n this.maybeMove();\n }\n });\n\n this.childObserver.observe(this.$el, {\n childList: true,\n subtree: false,\n attributes: false,\n characterData: false,\n });\n },\n teardownObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n if (this.childObserver) {\n this.childObserver.disconnect();\n this.childObserver = null;\n }\n },\n getComponentChildrenNode() {\n // Vue3\n if (!isVue2) {\n return [];\n }\n\n // Trick for Vue3 type checking\n return (this as any).$vnode.componentOptions.children.map(i => i.elm).filter(i => i);\n },\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./teleport.scss\" />\n"],"names":["useClickOutside","target","handler","options","onClickOutsideStop","onMounted","onClickOutside","onUnmounted","__default__","defineComponent","isVue2","injectionKey","inject","MODAL_DIALOG_ID_INJECTION_KEY","MODAL_FULLSCREEN_DIALOG_ID_INJECTION_KEY","SIDEPANEL_DIALOG_ID_INJECTION_KEY","value","fragment","node","mutations","shouldMove","i","mutation","filteredAddedNodes"],"mappings":"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"}