@adyen/bento-vue2 0.10.0 → 0.10.1-2

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 (239) hide show
  1. package/dist/@types/components/currency/currency.vue.d.ts +9 -0
  2. package/dist/@types/components/data-grid/data-grid.vue.d.ts +3 -3
  3. package/dist/@types/components/date/date.vue.d.ts +9 -0
  4. package/dist/@types/components/modal/components/base-modal/base-modal.vue.d.ts +10 -0
  5. package/dist/@types/components/modal/components/modal-default/modal-default.vue.d.ts +9 -0
  6. package/dist/@types/components/modal/components/modal-dialog/modal-dialog.vue.d.ts +9 -0
  7. package/dist/@types/components/modal/modal.vue.d.ts +11 -0
  8. package/dist/@types/components/segmented-control/components/segmented-control-button/segmented-control-button.vue.d.ts +1 -1
  9. package/dist/@types/components/segmented-control/index.d.ts +2 -0
  10. package/dist/@types/components/segmented-control/segmented-control.types.d.ts +8 -0
  11. package/dist/@types/components/segmented-control/segmented-control.vue.d.ts +53 -0
  12. package/dist/@types/components.d.ts +2 -4
  13. package/dist/@types/index.d.ts +1 -0
  14. package/dist/accordion.js +206 -0
  15. package/dist/accordion.js.map +1 -0
  16. package/dist/alert.js +103 -0
  17. package/dist/alert.js.map +1 -0
  18. package/dist/assets/base-button.css +1 -0
  19. package/dist/assets/button-actions.css +1 -0
  20. package/dist/assets/button.css +1 -0
  21. package/dist/assets/checkbox.css +1 -0
  22. package/dist/assets/checkmark-circle-fill.css +1 -0
  23. package/dist/assets/checkmark-small.css +1 -0
  24. package/dist/assets/chevron-left.css +1 -0
  25. package/dist/assets/chevron-up.css +1 -0
  26. package/dist/assets/copy.css +1 -0
  27. package/dist/assets/cross-circle-fill.css +1 -0
  28. package/dist/assets/cross-small.css +1 -0
  29. package/dist/assets/cross.css +1 -0
  30. package/dist/assets/dropdown.css +1 -0
  31. package/dist/assets/grid-layout.css +1 -0
  32. package/dist/assets/index.css +1 -0
  33. package/dist/assets/index10.css +1 -0
  34. package/dist/assets/index11.css +1 -0
  35. package/dist/assets/index12.css +1 -0
  36. package/dist/assets/index13.css +1 -0
  37. package/dist/assets/index14.css +1 -0
  38. package/dist/assets/index15.css +1 -0
  39. package/dist/assets/index16.css +1 -0
  40. package/dist/assets/index17.css +1 -0
  41. package/dist/assets/index18.css +1 -0
  42. package/dist/assets/index19.css +1 -0
  43. package/dist/assets/index2.css +1 -0
  44. package/dist/assets/index20.css +1 -0
  45. package/dist/assets/index21.css +1 -0
  46. package/dist/assets/index22.css +1 -0
  47. package/dist/assets/index23.css +1 -0
  48. package/dist/assets/index24.css +1 -0
  49. package/dist/assets/index25.css +1 -0
  50. package/dist/assets/index26.css +1 -0
  51. package/dist/assets/index27.css +1 -0
  52. package/dist/assets/index28.css +1 -0
  53. package/dist/assets/index29.css +1 -0
  54. package/dist/assets/index3.css +1 -0
  55. package/dist/assets/index30.css +1 -0
  56. package/dist/assets/index31.css +1 -0
  57. package/dist/assets/index32.css +1 -0
  58. package/dist/assets/index33.css +1 -0
  59. package/dist/assets/index34.css +1 -0
  60. package/dist/assets/index35.css +1 -0
  61. package/dist/assets/index36.css +1 -0
  62. package/dist/assets/index37.css +1 -0
  63. package/dist/assets/index38.css +1 -0
  64. package/dist/assets/index4.css +1 -0
  65. package/dist/assets/index5.css +1 -0
  66. package/dist/assets/index6.css +1 -0
  67. package/dist/assets/index7.css +1 -0
  68. package/dist/assets/index8.css +1 -0
  69. package/dist/assets/index9.css +1 -0
  70. package/dist/assets/info-filled.css +1 -0
  71. package/dist/assets/listbox-option-tag.css +1 -0
  72. package/dist/assets/listbox.css +1 -0
  73. package/dist/assets/search.css +1 -0
  74. package/dist/assets/tooltip.css +1 -0
  75. package/dist/avatar-image.js +7 -0
  76. package/dist/avatar-image.js.map +1 -0
  77. package/dist/badge.js +57 -0
  78. package/dist/badge.js.map +1 -0
  79. package/dist/button.js +110 -0
  80. package/dist/button.js.map +1 -0
  81. package/dist/card.js +178 -0
  82. package/dist/card.js.map +1 -0
  83. package/dist/checkbox.js +94 -0
  84. package/dist/checkbox.js.map +1 -0
  85. package/dist/chunks/_plugin-vue2_normalizer.71e2aa87.js +33 -0
  86. package/dist/chunks/_plugin-vue2_normalizer.71e2aa87.js.map +1 -0
  87. package/dist/chunks/aria-label.ac9651a5.js +13 -0
  88. package/dist/chunks/aria-label.ac9651a5.js.map +1 -0
  89. package/dist/chunks/base-button.38651156.js +83 -0
  90. package/dist/chunks/base-button.38651156.js.map +1 -0
  91. package/dist/chunks/button-actions.59406268.js +105 -0
  92. package/dist/chunks/button-actions.59406268.js.map +1 -0
  93. package/dist/chunks/button.31b757d1.js +102 -0
  94. package/dist/chunks/button.31b757d1.js.map +1 -0
  95. package/dist/chunks/checkbox.fab16cce.js +138 -0
  96. package/dist/chunks/checkbox.fab16cce.js.map +1 -0
  97. package/dist/chunks/checkmark-circle-fill.d1aa324d.js +26 -0
  98. package/dist/chunks/checkmark-circle-fill.d1aa324d.js.map +1 -0
  99. package/dist/chunks/checkmark-small.1371dd20.js +26 -0
  100. package/dist/chunks/checkmark-small.1371dd20.js.map +1 -0
  101. package/dist/chunks/chevron-left.e3a49e62.js +47 -0
  102. package/dist/chunks/chevron-left.e3a49e62.js.map +1 -0
  103. package/dist/chunks/chevron-up.416431cd.js +47 -0
  104. package/dist/chunks/chevron-up.416431cd.js.map +1 -0
  105. package/dist/chunks/copy.fa9aa27e.js +105 -0
  106. package/dist/chunks/copy.fa9aa27e.js.map +1 -0
  107. package/dist/chunks/cross-circle-fill.0a1d738c.js +26 -0
  108. package/dist/chunks/cross-circle-fill.0a1d738c.js.map +1 -0
  109. package/dist/chunks/cross-small.7ecb1b97.js +26 -0
  110. package/dist/chunks/cross-small.7ecb1b97.js.map +1 -0
  111. package/dist/chunks/cross.db1f9177.js +26 -0
  112. package/dist/chunks/cross.db1f9177.js.map +1 -0
  113. package/dist/chunks/directive.23e35ab0.js +21 -0
  114. package/dist/chunks/directive.23e35ab0.js.map +1 -0
  115. package/dist/chunks/dropdown.0d394d2f.js +771 -0
  116. package/dist/chunks/dropdown.0d394d2f.js.map +1 -0
  117. package/dist/chunks/grid-layout.14423a2e.js +69 -0
  118. package/dist/chunks/grid-layout.14423a2e.js.map +1 -0
  119. package/dist/chunks/hasSlot.dceac207.js +5 -0
  120. package/dist/chunks/hasSlot.dceac207.js.map +1 -0
  121. package/dist/chunks/i18n.8934ef6c.js +1695 -0
  122. package/dist/chunks/i18n.8934ef6c.js.map +1 -0
  123. package/dist/chunks/index.2e54c294.js +801 -0
  124. package/dist/chunks/index.2e54c294.js.map +1 -0
  125. package/dist/chunks/index.34eba2c4.js +107 -0
  126. package/dist/chunks/index.34eba2c4.js.map +1 -0
  127. package/dist/chunks/index.59dc2e3f.js +801 -0
  128. package/dist/chunks/index.59dc2e3f.js.map +1 -0
  129. package/dist/chunks/index.73d7902e.js +29 -0
  130. package/dist/chunks/index.73d7902e.js.map +1 -0
  131. package/dist/chunks/index.8c38e06b.js +441 -0
  132. package/dist/chunks/index.8c38e06b.js.map +1 -0
  133. package/dist/chunks/index.8e9cdc73.js +441 -0
  134. package/dist/chunks/index.8e9cdc73.js.map +1 -0
  135. package/dist/chunks/index.a7a22907.js +929 -0
  136. package/dist/chunks/index.a7a22907.js.map +1 -0
  137. package/dist/chunks/index.ad5e1dbd.js +107 -0
  138. package/dist/chunks/index.ad5e1dbd.js.map +1 -0
  139. package/dist/chunks/index.e2141d95.js +86 -0
  140. package/dist/chunks/index.e2141d95.js.map +1 -0
  141. package/dist/chunks/index.f4582460.js +86 -0
  142. package/dist/chunks/index.f4582460.js.map +1 -0
  143. package/dist/chunks/index.f55fdc32.js +1118 -0
  144. package/dist/chunks/index.f55fdc32.js.map +1 -0
  145. package/dist/chunks/info-filled.9748686e.js +26 -0
  146. package/dist/chunks/info-filled.9748686e.js.map +1 -0
  147. package/dist/chunks/listbox-option-tag.2e5c4012.js +111 -0
  148. package/dist/chunks/listbox-option-tag.2e5c4012.js.map +1 -0
  149. package/dist/chunks/listbox-option-tag.f44b4ee0.js +111 -0
  150. package/dist/chunks/listbox-option-tag.f44b4ee0.js.map +1 -0
  151. package/dist/chunks/listbox.152dab0a.js +485 -0
  152. package/dist/chunks/listbox.152dab0a.js.map +1 -0
  153. package/dist/chunks/on-click-outside.3e0c3e2a.js +91 -0
  154. package/dist/chunks/on-click-outside.3e0c3e2a.js.map +1 -0
  155. package/dist/chunks/search.6be3396b.js +26 -0
  156. package/dist/chunks/search.6be3396b.js.map +1 -0
  157. package/dist/chunks/toastController.b1b08299.js +15 -0
  158. package/dist/chunks/toastController.b1b08299.js.map +1 -0
  159. package/dist/chunks/tooltip.a4625a7b.js +220 -0
  160. package/dist/chunks/tooltip.a4625a7b.js.map +1 -0
  161. package/dist/chunks/unique-id.a2a2b458.js +34 -0
  162. package/dist/chunks/unique-id.a2a2b458.js.map +1 -0
  163. package/dist/chunks/use-default-slot-validator.83d977a1.js +11 -0
  164. package/dist/chunks/use-default-slot-validator.83d977a1.js.map +1 -0
  165. package/dist/chunks/useCountryItems.cbe60557.js +29 -0
  166. package/dist/chunks/useCountryItems.cbe60557.js.map +1 -0
  167. package/dist/click-outside.js +23 -0
  168. package/dist/click-outside.js.map +1 -0
  169. package/dist/controls-group.js +59 -0
  170. package/dist/controls-group.js.map +1 -0
  171. package/dist/country.js +5979 -0
  172. package/dist/country.js.map +1 -0
  173. package/dist/currency.js +119 -0
  174. package/dist/currency.js.map +1 -0
  175. package/dist/data-grid.js +1169 -0
  176. package/dist/data-grid.js.map +1 -0
  177. package/dist/date-picker.js +8 -0
  178. package/dist/date-picker.js.map +1 -0
  179. package/dist/date.js +6 -0
  180. package/dist/date.js.map +1 -0
  181. package/dist/divider.js +35 -0
  182. package/dist/divider.js.map +1 -0
  183. package/dist/dropdown.js +262 -0
  184. package/dist/dropdown.js.map +1 -0
  185. package/dist/filter-bar.js +1735 -0
  186. package/dist/filter-bar.js.map +1 -0
  187. package/dist/focus-trap.js +5 -0
  188. package/dist/focus-trap.js.map +1 -0
  189. package/dist/header.js +205 -0
  190. package/dist/header.js.map +1 -0
  191. package/dist/index.js +335 -21278
  192. package/dist/index.js.map +1 -1
  193. package/dist/info-icon.js +61 -0
  194. package/dist/info-icon.js.map +1 -0
  195. package/dist/input-field.js +168 -0
  196. package/dist/input-field.js.map +1 -0
  197. package/dist/internal.js +13 -0
  198. package/dist/internal.js.map +1 -0
  199. package/dist/link.js +46 -0
  200. package/dist/link.js.map +1 -0
  201. package/dist/loading-indicator.js +51 -0
  202. package/dist/loading-indicator.js.map +1 -0
  203. package/dist/menu.js +474 -0
  204. package/dist/menu.js.map +1 -0
  205. package/dist/modal.js +709 -0
  206. package/dist/modal.js.map +1 -0
  207. package/dist/pagination.js +487 -0
  208. package/dist/pagination.js.map +1 -0
  209. package/dist/payment-method.js +84 -0
  210. package/dist/payment-method.js.map +1 -0
  211. package/dist/popover.js +284 -0
  212. package/dist/popover.js.map +1 -0
  213. package/dist/popper-container.js +225 -0
  214. package/dist/popper-container.js.map +1 -0
  215. package/dist/radio-group.js +192 -0
  216. package/dist/radio-group.js.map +1 -0
  217. package/dist/search-bar.js +106 -0
  218. package/dist/search-bar.js.map +1 -0
  219. package/dist/status.js +47 -0
  220. package/dist/status.js.map +1 -0
  221. package/dist/structured-list.js +98 -0
  222. package/dist/structured-list.js.map +1 -0
  223. package/dist/summary-grid.js +526 -0
  224. package/dist/summary-grid.js.map +1 -0
  225. package/dist/tabs.js +106 -0
  226. package/dist/tabs.js.map +1 -0
  227. package/dist/tag.js +73 -0
  228. package/dist/tag.js.map +1 -0
  229. package/dist/textarea.js +64 -0
  230. package/dist/textarea.js.map +1 -0
  231. package/dist/toast.js +132 -0
  232. package/dist/toast.js.map +1 -0
  233. package/dist/toggle.js +6 -0
  234. package/dist/toggle.js.map +1 -0
  235. package/dist/typography.js +111 -0
  236. package/dist/typography.js.map +1 -0
  237. package/dist/web-types.json +130 -13
  238. package/package.json +6 -4
  239. package/dist/@types/utils/ts/inject-css.d.ts +0 -2
@@ -0,0 +1,526 @@
1
+ import "./assets/index28.css";
2
+ import { defineComponent as s, toRefs as T, computed as c } from "vue";
3
+ import { h as S } from "./chunks/hasSlot.dceac207.js";
4
+ import { G as b } from "./chunks/grid-layout.14423a2e.js";
5
+ import { n as u } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
6
+ import { BentoInfoIcon as C } from "./info-icon.js";
7
+ import { BentoTypography as h, BentoTypographyVariant as y, BentoTypographyElement as I } from "./typography.js";
8
+ import { BentoTag as $, BentoTagVariant as f } from "./tag.js";
9
+ import { PopperContainerPosition as E } from "./popper-container.js";
10
+ import { C as x } from "./chunks/copy.fa9aa27e.js";
11
+ const A = s({
12
+ name: "bento-summary-grid",
13
+ components: { GridLayout: b },
14
+ inheritAttrs: !1,
15
+ props: {
16
+ /**
17
+ * Sets the responsive columns widths values for 1 of the 3 rows.
18
+ */
19
+ columnWidth: {
20
+ type: Object,
21
+ default: null
22
+ }
23
+ },
24
+ setup(r, { slots: t }) {
25
+ var n, l;
26
+ let e = 1;
27
+ if (t) {
28
+ const _ = (l = (n = Object.keys(t)) == null ? void 0 : n.filter((m) => m.includes("cell-"))) == null ? void 0 : l.map((m) => {
29
+ var d;
30
+ return parseInt((d = m.split("-")) == null ? void 0 : d[1], 10);
31
+ });
32
+ if (e = Math.max(..._), e > 3)
33
+ throw new Error(
34
+ "BentoSummaryGrid must only have a maximum of 3 rows. Read the documentation for more information."
35
+ );
36
+ }
37
+ return {
38
+ hasSlot: S(t),
39
+ numberOfRows: e
40
+ };
41
+ }
42
+ });
43
+ var P = function() {
44
+ var t = this, e = t._self._c;
45
+ return t._self._setupProxy, e("div", { staticClass: "b-summary-grid" }, t._l(t.numberOfRows, function(n) {
46
+ var l;
47
+ return e("grid-layout", { key: `summary-grid-row-${n}`, attrs: { "data-testid": `summary-grid-row-${n}`, "column-width": (l = t.columnWidth) == null ? void 0 : l[`row${n}`] }, scopedSlots: t._u([t.hasSlot(`cell-${n}-1`) ? { key: "col-1", fn: function() {
48
+ return [t._t(`cell-${n}-1`)];
49
+ }, proxy: !0 } : null, t.hasSlot(`cell-${n}-2`) ? { key: "col-2", fn: function() {
50
+ return [t._t(`cell-${n}-2`)];
51
+ }, proxy: !0 } : null, t.hasSlot(`cell-${n}-3`) ? { key: "col-3", fn: function() {
52
+ return [t._t(`cell-${n}-3`)];
53
+ }, proxy: !0 } : null, t.hasSlot(`cell-${n}-4`) ? { key: "col-4", fn: function() {
54
+ return [t._t(`cell-${n}-4`)];
55
+ }, proxy: !0 } : null, t.hasSlot(`cell-${n}-5`) ? { key: "col-5", fn: function() {
56
+ return [t._t(`cell-${n}-5`)];
57
+ }, proxy: !0 } : null, t.hasSlot(`cell-${n}-6`) ? { key: "col-6", fn: function() {
58
+ return [t._t(`cell-${n}-6`)];
59
+ }, proxy: !0 } : null], null, !0) });
60
+ }), 1);
61
+ }, L = [], G = /* @__PURE__ */ u(
62
+ A,
63
+ P,
64
+ L,
65
+ !1,
66
+ null,
67
+ "c00b4da7",
68
+ null,
69
+ null
70
+ );
71
+ const pt = G.exports;
72
+ var i = /* @__PURE__ */ ((r) => (r.SMALL = "small", r.MEDIUM = "medium", r.LARGE = "large", r))(i || {}), a = /* @__PURE__ */ ((r) => (r.POSITIVE = "positive", r.NEGATIVE = "negative", r.NEUTRAL = "neutral", r))(a || {}), o = /* @__PURE__ */ ((r) => (r.AMOUNT = "amount", r.PERCENTAGE = "percentage", r.NUMERIC = "numeric", r.TEXT = "text", r.CUSTOM = "custom", r))(o || {});
73
+ const R = s({
74
+ name: "summary-grid-item",
75
+ components: { BentoInfoIcon: C, BentoTypography: h, BentoTag: $, Copy: x },
76
+ props: {
77
+ /**
78
+ * Text to copy to the clipboard
79
+ */
80
+ copy: { type: String, default: void 0 },
81
+ /**
82
+ * Applies styling based on content type
83
+ */
84
+ // TODO add text truncation for SummaryGridItemType.TEXT
85
+ itemType: {
86
+ type: String,
87
+ default: o.CUSTOM
88
+ },
89
+ /**
90
+ * Text showed in the info-icon tooltip on hover
91
+ */
92
+ infoIconTooltipText: { type: String, default: null },
93
+ /**
94
+ * Text used as a title
95
+ */
96
+ title: { type: String, required: !0 },
97
+ /**
98
+ * The width of `summary-grid-item` fits its content
99
+ */
100
+ fitContent: { type: Boolean, default: !1 },
101
+ // amount, percentage and numeric props
102
+ /**
103
+ * Defines the size of the `summary-grid-item` text content
104
+ */
105
+ // TODO implement logic for Large size
106
+ size: {
107
+ type: String,
108
+ default: i.SMALL
109
+ },
110
+ /**
111
+ * Defines the color of trend label
112
+ */
113
+ trendDirection: {
114
+ type: String,
115
+ default: a.POSITIVE
116
+ },
117
+ /**
118
+ * Shows colored trend label next to text content
119
+ */
120
+ trend: {
121
+ type: String,
122
+ default: null
123
+ }
124
+ },
125
+ setup(r) {
126
+ const { trendDirection: t, itemType: e, size: n } = T(r), l = c(() => t.value === a.POSITIVE ? f.GREEN : t.value === a.NEGATIVE ? f.RED : f.BLUE), _ = c(
127
+ () => e.value === o.TEXT || e.value === o.PERCENTAGE || e.value === o.AMOUNT || e.value === o.NUMERIC
128
+ ), m = c(() => {
129
+ if (_.value) {
130
+ if (n.value === i.SMALL)
131
+ return y.BODY;
132
+ if (e.value !== o.TEXT)
133
+ return y.TITLE;
134
+ }
135
+ return null;
136
+ }), d = c(() => ({
137
+ medium: n.value === i.LARGE,
138
+ strongest: n.value === i.SMALL,
139
+ wide: n.value === i.SMALL,
140
+ variant: m.value
141
+ })), g = c(() => r.fitContent ? { width: "fit-content" } : {}), v = c(() => ({
142
+ [`b-summary-grid-item__content-trend--${r.trend}`]: r.trend
143
+ }));
144
+ return {
145
+ // Values
146
+ trendVariant: l,
147
+ isContentTypographyApplied: _,
148
+ typographyProps: d,
149
+ // Styles
150
+ computedStyles: g,
151
+ summaryBarItemTrendConditionalClasses: v,
152
+ // Enums
153
+ BentoTypographyElement: I,
154
+ BentoTypographyVariant: y,
155
+ SummaryGridItemType: o,
156
+ BentoSummaryGridItemSize: i,
157
+ PopperContainerPosition: E
158
+ };
159
+ }
160
+ });
161
+ var B = function() {
162
+ var t = this, e = t._self._c;
163
+ return t._self._setupProxy, e("div", { staticClass: "b-summary-grid-item", style: t.computedStyles }, [e("div", { staticClass: "b-summary-grid-item__header" }, [e("bento-typography", { staticClass: "b-summary-grid-item__title", attrs: { el: t.BentoTypographyElement.SPAN, variant: t.BentoTypographyVariant.BODY } }, [t._v(" " + t._s(t.title) + " ")]), e("div", { staticClass: "b-summary-grid-item__title-icons" }, [t.copy ? e("copy", { staticClass: "b-structured-list__icon", attrs: { text: t.copy } }) : t._e(), t.infoIconTooltipText ? e("bento-info-icon", { staticClass: "b-summary-grid-item__title-tooltip", attrs: { "tooltip-text": t.infoIconTooltipText, "tooltip-position": t.PopperContainerPosition.TOP } }) : t._e()], 1)], 1), e("div", { staticClass: "b-summary-grid-item__content" }, [t.isContentTypographyApplied ? e("bento-typography", t._b({ staticClass: "b-summary-grid-item__title", attrs: { "data-testid": "summary-grid-item-content-typography", el: t.BentoTypographyElement.SPAN } }, "bento-typography", t.typographyProps, !1), [t._t("default"), t.trend && t.itemType !== t.SummaryGridItemType.TEXT ? e("bento-tag", { staticClass: "b-summary-grid-item__content-trend", attrs: { variant: t.trendVariant, label: t.trend } }) : t._e()], 2) : t._t("default")], 2)]);
164
+ }, M = [], O = /* @__PURE__ */ u(
165
+ R,
166
+ B,
167
+ M,
168
+ !1,
169
+ null,
170
+ "e1380ddf",
171
+ null,
172
+ null
173
+ );
174
+ const p = O.exports, N = s({
175
+ name: "bento-summary-grid-item-amount",
176
+ components: { SummaryGridItem: p },
177
+ inheritAttrs: !1,
178
+ props: {
179
+ /**
180
+ * Text to copy to the clipboard
181
+ */
182
+ copy: { type: String, default: void 0 },
183
+ /**
184
+ * Amount to be shown as the main value
185
+ */
186
+ label: {
187
+ type: String,
188
+ required: !0
189
+ },
190
+ /**
191
+ * Adds additional label next to amount content
192
+ */
193
+ secondaryLabel: {
194
+ type: String,
195
+ default: null
196
+ },
197
+ /**
198
+ * Text used as a title
199
+ */
200
+ title: {
201
+ type: String,
202
+ required: !0
203
+ },
204
+ /**
205
+ * Text showed in the info-icon tooltip on hover
206
+ */
207
+ infoIconTooltipText: {
208
+ type: String,
209
+ default: null
210
+ },
211
+ /**
212
+ * The width of `summary-grid-item` fits its content
213
+ */
214
+ fitContent: {
215
+ type: Boolean,
216
+ default: !1
217
+ },
218
+ /**
219
+ * Defines the direction (color) of the trend label
220
+ */
221
+ trendDirection: {
222
+ type: String,
223
+ default: a.POSITIVE
224
+ },
225
+ /**
226
+ * Shows colored trend label next to text content
227
+ */
228
+ trend: {
229
+ type: String,
230
+ default: null
231
+ },
232
+ /**
233
+ * Defines the size of the `summary-grid-item` text content
234
+ */
235
+ size: {
236
+ type: String,
237
+ default: i.SMALL
238
+ }
239
+ },
240
+ setup() {
241
+ return {
242
+ // Enums
243
+ SummaryGridItemType: o
244
+ };
245
+ }
246
+ });
247
+ var V = function() {
248
+ var t = this, e = t._self._c;
249
+ return t._self._setupProxy, e("summary-grid-item", { staticClass: "b-summary-grid-item-amount", attrs: { "item-type": t.SummaryGridItemType.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 } }, [e("div", { staticClass: "b-summary-grid-item-amount__content" }, [e("div", [t._v(t._s(t.label))]), t.secondaryLabel ? e("div", { staticClass: "b-summary-grid-item-amount__secondary-label" }, [t._v(t._s(t.secondaryLabel))]) : t._e()])]);
250
+ }, w = [], U = /* @__PURE__ */ u(
251
+ N,
252
+ V,
253
+ w,
254
+ !1,
255
+ null,
256
+ "77c14faf",
257
+ null,
258
+ null
259
+ );
260
+ const _t = U.exports, q = s({
261
+ name: "bento-summary-grid-item-numeric",
262
+ components: { SummaryGridItem: p },
263
+ inheritAttrs: !1,
264
+ props: {
265
+ /**
266
+ * Text to copy to the clipboard
267
+ */
268
+ copy: { type: String, default: void 0 },
269
+ /**
270
+ * Amount to be shown as the main value
271
+ */
272
+ label: {
273
+ type: String,
274
+ required: !0
275
+ },
276
+ /**
277
+ * Text used as a title
278
+ */
279
+ title: {
280
+ type: String,
281
+ required: !0
282
+ },
283
+ /**
284
+ * Text showed in the info-icon tooltip on hover
285
+ */
286
+ infoIconTooltipText: {
287
+ type: String,
288
+ default: null
289
+ },
290
+ /**
291
+ * The width of `summary-grid-item` fits its content
292
+ */
293
+ fitContent: {
294
+ type: Boolean,
295
+ default: !1
296
+ },
297
+ /**
298
+ * Defines the direction (color) of the trend label
299
+ */
300
+ trendDirection: {
301
+ type: String,
302
+ default: a.POSITIVE
303
+ },
304
+ /**
305
+ * Shows colored trend label next to text content
306
+ */
307
+ trend: {
308
+ type: String,
309
+ default: null
310
+ },
311
+ /**
312
+ * Defines the size of the `summary-grid-item` text content
313
+ */
314
+ size: {
315
+ type: String,
316
+ default: i.SMALL
317
+ }
318
+ },
319
+ setup() {
320
+ return {
321
+ // Enums
322
+ SummaryGridItemType: o
323
+ };
324
+ }
325
+ });
326
+ var z = function() {
327
+ var t = this, e = t._self._c;
328
+ return t._self._setupProxy, e("summary-grid-item", { staticClass: "b-summary-grid-item-numeric", attrs: { "item-type": t.SummaryGridItemType.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 } }, [t._v(" " + t._s(t.label) + " ")]);
329
+ }, D = [], k = /* @__PURE__ */ u(
330
+ q,
331
+ z,
332
+ D,
333
+ !1,
334
+ null,
335
+ null,
336
+ null,
337
+ null
338
+ );
339
+ const dt = k.exports, F = s({
340
+ name: "bento-summary-grid-item-percentage",
341
+ components: { SummaryGridItem: p },
342
+ inheritAttrs: !1,
343
+ props: {
344
+ /**
345
+ * Amount to be shown as the main value
346
+ */
347
+ label: {
348
+ type: String,
349
+ required: !0
350
+ },
351
+ /**
352
+ * Text used as a title
353
+ */
354
+ title: {
355
+ type: String,
356
+ required: !0
357
+ },
358
+ /**
359
+ * Text showed in the info-icon tooltip on hover
360
+ */
361
+ infoIconTooltipText: {
362
+ type: String,
363
+ default: null
364
+ },
365
+ /**
366
+ * Text to copy to the clipboard
367
+ */
368
+ copy: { type: String, default: void 0 },
369
+ /**
370
+ * The width of `summary-grid-item` fits its content
371
+ */
372
+ fitContent: {
373
+ type: Boolean,
374
+ default: !1
375
+ },
376
+ /**
377
+ * Defines the direction (color) of the trend label
378
+ */
379
+ trendDirection: {
380
+ type: String,
381
+ default: a.POSITIVE
382
+ },
383
+ /**
384
+ * Shows colored trend label next to text content
385
+ */
386
+ trend: {
387
+ type: String,
388
+ default: void 0
389
+ },
390
+ /**
391
+ * Defines the size of the `summary-grid-item` text content
392
+ */
393
+ size: {
394
+ type: String,
395
+ default: i.SMALL
396
+ }
397
+ },
398
+ setup() {
399
+ return {
400
+ // Enums
401
+ SummaryGridItemType: o
402
+ };
403
+ }
404
+ });
405
+ var X = function() {
406
+ var t = this, e = t._self._c;
407
+ return t._self._setupProxy, e("summary-grid-item", { staticClass: "b-summary-grid-item-percentage", attrs: { "item-type": t.SummaryGridItemType.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 } }, [t._v(" " + t._s(t.label) + "% ")]);
408
+ }, j = [], W = /* @__PURE__ */ u(
409
+ F,
410
+ X,
411
+ j,
412
+ !1,
413
+ null,
414
+ null,
415
+ null,
416
+ null
417
+ );
418
+ const yt = W.exports, Y = s({
419
+ name: "bento-summary-grid-item-text",
420
+ components: { SummaryGridItem: p },
421
+ inheritAttrs: !1,
422
+ props: {
423
+ /**
424
+ * Text to copy to the clipboard
425
+ */
426
+ copy: { type: String, default: void 0 },
427
+ /**
428
+ * Amount to be shown as the main value
429
+ */
430
+ label: {
431
+ type: String,
432
+ required: !0
433
+ },
434
+ /**
435
+ * Text used as a title
436
+ */
437
+ title: {
438
+ type: String,
439
+ required: !0
440
+ },
441
+ /**
442
+ * Text showed in the info-icon tooltip on hover
443
+ */
444
+ infoIconTooltipText: {
445
+ type: String,
446
+ default: null
447
+ },
448
+ /**
449
+ * The width of `summary-grid-item` fits its content
450
+ */
451
+ fitContent: {
452
+ type: Boolean,
453
+ default: !1
454
+ }
455
+ },
456
+ setup() {
457
+ return {
458
+ // Enums
459
+ SummaryGridItemType: o
460
+ };
461
+ }
462
+ });
463
+ var H = function() {
464
+ var t = this, e = t._self._c;
465
+ return t._self._setupProxy, e("summary-grid-item", { staticClass: "b-summary-grid-item-text", attrs: { "item-type": t.SummaryGridItemType.TEXT, "info-icon-tooltip-text": t.infoIconTooltipText, title: t.title, copy: t.copy, "fit-content": t.fitContent } }, [t._v(" " + t._s(t.label) + " ")]);
466
+ }, J = [], K = /* @__PURE__ */ u(
467
+ Y,
468
+ H,
469
+ J,
470
+ !1,
471
+ null,
472
+ null,
473
+ null,
474
+ null
475
+ );
476
+ const ft = K.exports, Q = s({
477
+ name: "bento-summary-grid-item-custom",
478
+ components: { SummaryGridItem: p },
479
+ inheritAttrs: !1,
480
+ props: {
481
+ /**
482
+ * Text to copy to the clipboard
483
+ */
484
+ copy: { type: String, default: void 0 },
485
+ /**
486
+ * Text showed in the info-icon tooltip on hover
487
+ */
488
+ infoIconTooltipText: { type: String, default: null },
489
+ /**
490
+ * Text used as a title
491
+ */
492
+ title: { type: String, required: !0 },
493
+ /**
494
+ * The width of `summary-grid-item` fits its content
495
+ */
496
+ fitContent: { type: Boolean, default: !1 }
497
+ },
498
+ emits: ["copy-to-clipboard"]
499
+ });
500
+ var Z = function() {
501
+ var t = this, e = t._self._c;
502
+ return t._self._setupProxy, e("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) {
503
+ return t.$emit("copy-to-clipboard");
504
+ } } }, [t._t("default")], 2);
505
+ }, tt = [], et = /* @__PURE__ */ u(
506
+ Q,
507
+ Z,
508
+ tt,
509
+ !1,
510
+ null,
511
+ null,
512
+ null,
513
+ null
514
+ );
515
+ const gt = et.exports;
516
+ export {
517
+ pt as BentoSummaryGrid,
518
+ _t as BentoSummaryGridItemAmount,
519
+ gt as BentoSummaryGridItemCustom,
520
+ dt as BentoSummaryGridItemNumeric,
521
+ yt as BentoSummaryGridItemPercentage,
522
+ i as BentoSummaryGridItemSize,
523
+ ft as BentoSummaryGridItemText,
524
+ a as BentoSummaryGridItemTrendDirection
525
+ };
526
+ //# sourceMappingURL=summary-grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary-grid.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 } from 'vue';\n import { BentoSummaryGridColumnWidth } from './summary-grid.types';\n import { GridLayout } from '@/components/internal';\n import { hasSlot } from '@/utils/ts/hasSlot';\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 inheritAttrs: false,\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\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 return {\n hasSlot: hasSlot(slots),\n numberOfRows,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./summary-grid.scss\" />\n","import { GridLayoutColumnWidth } from '@/components/internal/grid-layout/grid-layout.types';\n\nexport enum BentoSummaryGridItemSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\nexport enum BentoSummaryGridItemTrendDirection {\n POSITIVE = 'positive',\n NEGATIVE = 'negative',\n NEUTRAL = 'neutral',\n}\n\nexport interface BentoSummaryGridColumnWidth {\n row1: Array<GridLayoutColumnWidth>;\n row2?: Array<GridLayoutColumnWidth>;\n row3?: Array<GridLayoutColumnWidth>;\n}\n","export 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\" :style=\"computedStyles\">\n <div class=\"b-summary-grid-item__header\">\n <bento-typography\n class=\"b-summary-grid-item__title\"\n :el=\"BentoTypographyElement.SPAN\"\n :variant=\"BentoTypographyVariant.BODY\"\n >\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=\"PopperContainerPosition.TOP\"\n class=\"b-summary-grid-item__title-tooltip\"\n />\n </div>\n </div>\n <div class=\"b-summary-grid-item__content\">\n <bento-typography\n v-if=\"isContentTypographyApplied\"\n data-testid=\"summary-grid-item-content-typography\"\n class=\"b-summary-grid-item__title\"\n v-bind=\"typographyProps\"\n :el=\"BentoTypographyElement.SPAN\"\n >\n <slot />\n <bento-tag\n v-if=\"trend && itemType !== SummaryGridItemType.TEXT\"\n :variant=\"trendVariant\"\n :label=\"trend\"\n class=\"b-summary-grid-item__content-trend\"\n />\n </bento-typography>\n\n <slot v-else />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, toRefs } from 'vue';\n import { BentoInfoIcon } from '@/components/info-icon';\n import { BentoTypography, BentoTypographyElement, BentoTypographyVariant } from '@/components/typography';\n import {\n BentoSummaryGridItemSize,\n BentoSummaryGridItemTrendDirection,\n } from '@/components/summary-grid/summary-grid.types';\n import { BentoTag, BentoTagVariant } from '@/components/tag';\n import { PopperContainerPosition } from '@/components/popper-container';\n import { Copy } from '@/internal';\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>,\n default: SummaryGridItemType.CUSTOM,\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>,\n default: BentoSummaryGridItemSize.SMALL,\n },\n\n /**\n * Defines the color of trend label\n */\n trendDirection: {\n type: String as PropType<BentoSummaryGridItemTrendDirection>,\n default: BentoSummaryGridItemTrendDirection.POSITIVE,\n },\n /**\n * Shows colored trend label next to text content\n */\n trend: {\n type: String,\n default: null,\n },\n },\n setup(props) {\n const { trendDirection, itemType, size } = toRefs(props);\n\n // TODO implement plus or minus symbol logic\n const trendVariant = computed(() => {\n if (trendDirection.value === BentoSummaryGridItemTrendDirection.POSITIVE) {\n return BentoTagVariant.GREEN;\n }\n if (trendDirection.value === BentoSummaryGridItemTrendDirection.NEGATIVE) {\n return BentoTagVariant.RED;\n }\n\n return BentoTagVariant.BLUE;\n });\n\n const isContentTypographyApplied = computed(\n () =>\n itemType.value === SummaryGridItemType.TEXT ||\n itemType.value === SummaryGridItemType.PERCENTAGE ||\n itemType.value === SummaryGridItemType.AMOUNT ||\n itemType.value === SummaryGridItemType.NUMERIC\n );\n\n const typographyContentElement = computed(() => {\n if (isContentTypographyApplied.value) {\n if (size.value === BentoSummaryGridItemSize.SMALL) {\n return BentoTypographyVariant.BODY;\n }\n if (itemType.value !== SummaryGridItemType.TEXT) {\n return BentoTypographyVariant.TITLE;\n }\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 summaryBarItemTrendConditionalClasses = computed(() => ({\n [`b-summary-grid-item__content-trend--${props.trend}`]: props.trend,\n }));\n\n return {\n // Values\n trendVariant,\n isContentTypographyApplied,\n typographyProps,\n\n // Styles\n computedStyles,\n summaryBarItemTrendConditionalClasses,\n\n // Enums\n BentoTypographyElement,\n BentoTypographyVariant,\n SummaryGridItemType,\n BentoSummaryGridItemSize,\n PopperContainerPosition,\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=\"SummaryGridItemType.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 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 </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, SummaryGridItemType } 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, BentoSummaryGridItemSize, BentoSummaryGridItemTrendDirection } 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=\"BentoSummaryGridItemTrendDirection.NEUTRAL\"\n * :size=\"BentoSummaryGridItemSize.MEDIUM\"\n * />\n * `\n * }\n */\n export default defineComponent({\n name: 'bento-summary-grid-item-amount',\n components: { SummaryGridItem },\n inheritAttrs: false,\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 * Adds additional label next to amount content\n */\n secondaryLabel: {\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 /**\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 * Defines the direction (color) of the trend label\n */\n trendDirection: {\n type: String as PropType<BentoSummaryGridItemTrendDirection>,\n default: BentoSummaryGridItemTrendDirection.POSITIVE,\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 size of the `summary-grid-item` text content\n */\n size: {\n type: String as PropType<BentoSummaryGridItemSize>,\n default: BentoSummaryGridItemSize.SMALL,\n },\n },\n\n setup() {\n return {\n // Enums\n SummaryGridItemType,\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=\"SummaryGridItemType.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 class=\"b-summary-grid-item-numeric\"\n >\n {{ label }}\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, SummaryGridItemType } from '../summary-grid-item';\n\n /**\n * Summary grid item component used to display any numeric information\n *\n * @example\n * import { BentoSummaryGridItemNumeric, BentoSummaryGridItemSize, BentoSummaryGridItemTrendDirection } 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=\"BentoSummaryGridItemTrendDirection.NEUTRAL\"\n * :size=\"BentoSummaryGridItemSize.MEDIUM\"\n * />\n * `\n * }\n */\n export default defineComponent({\n name: 'bento-summary-grid-item-numeric',\n components: { SummaryGridItem },\n inheritAttrs: false,\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 * Defines the direction (color) of the trend label\n */\n trendDirection: {\n type: String as PropType<BentoSummaryGridItemTrendDirection>,\n default: BentoSummaryGridItemTrendDirection.POSITIVE,\n },\n /**\n * Shows colored trend label next to text content\n */\n trend: {\n type: String,\n default: null,\n },\n /**\n * Defines the size of the `summary-grid-item` text content\n */\n size: {\n type: String as PropType<BentoSummaryGridItemSize>,\n default: BentoSummaryGridItemSize.SMALL,\n },\n },\n\n setup() {\n return {\n // Enums\n SummaryGridItemType,\n };\n },\n });\n</script>\n","<template>\n <summary-grid-item\n :item-type=\"SummaryGridItemType.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 class=\"b-summary-grid-item-percentage\"\n >\n {{ label }}%\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, SummaryGridItemType } from '../summary-grid-item';\n\n /**\n * Summary grid item component used to display any percentage information\n *\n * @example\n * import { BentoSummaryGridItemPercentage, BentoSummaryGridItemSize, BentoSummaryGridItemTrendDirection } 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=\"BentoSummaryGridItemTrendDirection.NEUTRAL\"\n * :size=\"BentoSummaryGridItemSize.MEDIUM\"\n * />\n * `\n * }\n */\n export default defineComponent({\n name: 'bento-summary-grid-item-percentage',\n components: { SummaryGridItem },\n inheritAttrs: false,\n props: {\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 * Text to copy to the clipboard\n */\n copy: { type: String, default: undefined },\n\n /**\n * The width of `summary-grid-item` fits its content\n */\n fitContent: {\n type: Boolean,\n default: false,\n },\n /**\n * Defines the direction (color) of the trend label\n */\n trendDirection: {\n type: String as PropType<BentoSummaryGridItemTrendDirection>,\n default: BentoSummaryGridItemTrendDirection.POSITIVE,\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 size of the `summary-grid-item` text content\n */\n size: {\n type: String as PropType<BentoSummaryGridItemSize>,\n default: BentoSummaryGridItemSize.SMALL,\n },\n },\n\n setup() {\n return {\n // Enums\n SummaryGridItemType,\n };\n },\n });\n</script>\n","<template>\n <summary-grid-item\n :item-type=\"SummaryGridItemType.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, SummaryGridItemType } 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 inheritAttrs: false,\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 setup() {\n return {\n // Enums\n SummaryGridItemType,\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 inheritAttrs: false,\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","hasSlot","BentoSummaryGridItemSize","BentoSummaryGridItemSize2","BentoSummaryGridItemTrendDirection","BentoSummaryGridItemTrendDirection2","SummaryGridItemType","SummaryGridItemType2","_sfc_main$5","BentoInfoIcon","BentoTypography","BentoTag","Copy","props","trendDirection","itemType","size","toRefs","trendVariant","computed","BentoTagVariant","isContentTypographyApplied","typographyContentElement","BentoTypographyVariant","typographyProps","computedStyles","summaryBarItemTrendConditionalClasses","BentoTypographyElement","PopperContainerPosition","_sfc_main$4","SummaryGridItem","_sfc_main$3","_sfc_main$2","_sfc_main$1","_sfc_main"],"mappings":"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"}