@adyen/bento-vue2 1.26.0 → 1.27.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 (203) hide show
  1. package/dist/@types/components.d.ts +4 -0
  2. package/dist/@types/index.d.ts +513 -136
  3. package/dist/accordion.js +2 -2
  4. package/dist/action-bar.js +61 -146
  5. package/dist/action-bar.js.map +1 -1
  6. package/dist/alert.js +3 -3
  7. package/dist/assets/base-modal.css +1 -1
  8. package/dist/assets/button-actions.css +1 -1
  9. package/dist/assets/button.css +1 -1
  10. package/dist/assets/dialog-page.css +1 -1
  11. package/dist/assets/dropdown.css +1 -1
  12. package/dist/assets/index.css +1 -1
  13. package/dist/assets/index10.css +1 -1
  14. package/dist/assets/index11.css +1 -1
  15. package/dist/assets/index12.css +1 -1
  16. package/dist/assets/index13.css +1 -1
  17. package/dist/assets/index14.css +1 -1
  18. package/dist/assets/index15.css +1 -1
  19. package/dist/assets/index16.css +1 -1
  20. package/dist/assets/index17.css +1 -1
  21. package/dist/assets/index18.css +1 -1
  22. package/dist/assets/index19.css +1 -1
  23. package/dist/assets/index2.css +1 -1
  24. package/dist/assets/index20.css +1 -1
  25. package/dist/assets/index21.css +1 -1
  26. package/dist/assets/index22.css +1 -1
  27. package/dist/assets/index23.css +1 -1
  28. package/dist/assets/index24.css +1 -1
  29. package/dist/assets/index25.css +1 -1
  30. package/dist/assets/index26.css +1 -1
  31. package/dist/assets/index27.css +1 -1
  32. package/dist/assets/index28.css +1 -1
  33. package/dist/assets/index29.css +1 -1
  34. package/dist/assets/index3.css +1 -1
  35. package/dist/assets/index30.css +1 -1
  36. package/dist/assets/index31.css +1 -1
  37. package/dist/assets/index32.css +1 -1
  38. package/dist/assets/index33.css +1 -1
  39. package/dist/assets/index34.css +1 -1
  40. package/dist/assets/index35.css +1 -1
  41. package/dist/assets/index36.css +1 -1
  42. package/dist/assets/index37.css +1 -1
  43. package/dist/assets/index38.css +1 -1
  44. package/dist/assets/index39.css +1 -1
  45. package/dist/assets/index4.css +1 -1
  46. package/dist/assets/index40.css +1 -1
  47. package/dist/assets/index41.css +1 -1
  48. package/dist/assets/index42.css +1 -1
  49. package/dist/assets/index43.css +1 -1
  50. package/dist/assets/index44.css +1 -1
  51. package/dist/assets/index45.css +1 -1
  52. package/dist/assets/index46.css +1 -1
  53. package/dist/assets/index47.css +1 -1
  54. package/dist/assets/index48.css +1 -1
  55. package/dist/assets/index49.css +1 -0
  56. package/dist/assets/index5.css +1 -1
  57. package/dist/assets/index6.css +1 -1
  58. package/dist/assets/index7.css +1 -1
  59. package/dist/assets/index8.css +1 -1
  60. package/dist/assets/index9.css +1 -1
  61. package/dist/assets/use-cached-selected-values.css +1 -1
  62. package/dist/avatar-image.js +1 -1
  63. package/dist/badge.js +1 -1
  64. package/dist/button.js +5 -5
  65. package/dist/card.js +3 -3
  66. package/dist/checkbox.js +5 -5
  67. package/dist/chunks/{base-button.ad74b6f8.js → base-button.852204dc.js} +2 -2
  68. package/dist/chunks/{base-button.ad74b6f8.js.map → base-button.852204dc.js.map} +1 -1
  69. package/dist/chunks/{base-modal.1fff7abe.js → base-modal.4fb7528b.js} +6 -6
  70. package/dist/chunks/{base-modal.1fff7abe.js.map → base-modal.4fb7528b.js.map} +1 -1
  71. package/dist/chunks/{button-actions-with-menu.e845d77a.js → button-actions-with-menu.bf968959.js} +4 -4
  72. package/dist/chunks/{button-actions-with-menu.e845d77a.js.map → button-actions-with-menu.bf968959.js.map} +1 -1
  73. package/dist/chunks/{button-actions.81db18e8.js → button-actions.87e589e3.js} +31 -29
  74. package/dist/chunks/button-actions.87e589e3.js.map +1 -0
  75. package/dist/chunks/button.cb90b55c.js +101 -0
  76. package/dist/chunks/button.cb90b55c.js.map +1 -0
  77. package/dist/chunks/{calendar.640b8d25.js → calendar.f02e0a5a.js} +5 -5
  78. package/dist/chunks/{calendar.640b8d25.js.map → calendar.f02e0a5a.js.map} +1 -1
  79. package/dist/chunks/{checkbox.bfed007c.js → checkbox.9f9c978a.js} +3 -3
  80. package/dist/chunks/{checkbox.bfed007c.js.map → checkbox.9f9c978a.js.map} +1 -1
  81. package/dist/chunks/{controls-group.4fb50009.js → controls-group.121a307d.js} +3 -3
  82. package/dist/chunks/{controls-group.4fb50009.js.map → controls-group.121a307d.js.map} +1 -1
  83. package/dist/chunks/{copy.f85700c6.js → copy.6808b2dc.js} +4 -4
  84. package/dist/chunks/{copy.f85700c6.js.map → copy.6808b2dc.js.map} +1 -1
  85. package/dist/chunks/{dialog-page.73da22cf.js → dialog-page.7fd7d006.js} +3 -3
  86. package/dist/chunks/{dialog-page.73da22cf.js.map → dialog-page.7fd7d006.js.map} +1 -1
  87. package/dist/chunks/{dropdown-default-textbox.54ca1b18.js → dropdown-default-textbox.d0f17d96.js} +3 -3
  88. package/dist/chunks/{dropdown-default-textbox.54ca1b18.js.map → dropdown-default-textbox.d0f17d96.js.map} +1 -1
  89. package/dist/chunks/{dropdown.10c034aa.js → dropdown.a8037bca.js} +188 -197
  90. package/dist/chunks/dropdown.a8037bca.js.map +1 -0
  91. package/dist/chunks/{error-message.31ec12b7.js → error-message.bdcc1020.js} +2 -2
  92. package/dist/chunks/{error-message.31ec12b7.js.map → error-message.bdcc1020.js.map} +1 -1
  93. package/dist/chunks/{events.58c00e6d.js → events.f14a214b.js} +5 -5
  94. package/dist/chunks/events.f14a214b.js.map +1 -0
  95. package/dist/chunks/{fixed-scroller.4eb9a9ac.js → fixed-scroller.82ef6187.js} +2 -2
  96. package/dist/chunks/{fixed-scroller.4eb9a9ac.js.map → fixed-scroller.82ef6187.js.map} +1 -1
  97. package/dist/chunks/{footer-actions.a1e09b4f.js → footer-actions.58d14a16.js} +4 -4
  98. package/dist/chunks/{footer-actions.a1e09b4f.js.map → footer-actions.58d14a16.js.map} +1 -1
  99. package/dist/chunks/{index.15b088b9.js → index.0a30d358.js} +6 -6
  100. package/dist/chunks/{index.15b088b9.js.map → index.0a30d358.js.map} +1 -1
  101. package/dist/chunks/{index.d553d3d1.js → index.1deef79e.js} +2 -2
  102. package/dist/chunks/{index.d553d3d1.js.map → index.1deef79e.js.map} +1 -1
  103. package/dist/chunks/index.3c69be27.js +85 -0
  104. package/dist/chunks/index.3c69be27.js.map +1 -0
  105. package/dist/chunks/index.561786f6.js +126 -0
  106. package/dist/chunks/index.561786f6.js.map +1 -0
  107. package/dist/chunks/{index.b21197ca.js → index.614a5138.js} +2 -2
  108. package/dist/chunks/{index.b21197ca.js.map → index.614a5138.js.map} +1 -1
  109. package/dist/chunks/{index.8b8c3b16.js → index.854d6498.js} +9 -9
  110. package/dist/chunks/{index.8b8c3b16.js.map → index.854d6498.js.map} +1 -1
  111. package/dist/chunks/{index.885d05a9.js → index.939dd5cf.js} +2 -2
  112. package/dist/chunks/{index.885d05a9.js.map → index.939dd5cf.js.map} +1 -1
  113. package/dist/chunks/{index.1ea85d4a.js → index.a48e7f99.js} +6 -6
  114. package/dist/chunks/{index.1ea85d4a.js.map → index.a48e7f99.js.map} +1 -1
  115. package/dist/chunks/{index.317fca12.js → index.bd1d28d0.js} +3 -3
  116. package/dist/chunks/{index.317fca12.js.map → index.bd1d28d0.js.map} +1 -1
  117. package/dist/chunks/{index.671768a1.js → index.c8621e8e.js} +3 -3
  118. package/dist/chunks/{index.671768a1.js.map → index.c8621e8e.js.map} +1 -1
  119. package/dist/chunks/{index.7eefc59c.js → index.ccc7e8d7.js} +3 -3
  120. package/dist/chunks/{index.7eefc59c.js.map → index.ccc7e8d7.js.map} +1 -1
  121. package/dist/chunks/{index.dd30e538.js → index.e29a6907.js} +2 -2
  122. package/dist/chunks/{index.dd30e538.js.map → index.e29a6907.js.map} +1 -1
  123. package/dist/chunks/{keyboard-navigation.ca47dfa8.js → keyboard-navigation.bbc3d15c.js} +2 -2
  124. package/dist/chunks/{keyboard-navigation.ca47dfa8.js.map → keyboard-navigation.bbc3d15c.js.map} +1 -1
  125. package/dist/chunks/{listbox-option-tag.6bbb6bbe.js → listbox-option-tag.8708be60.js} +3 -3
  126. package/dist/chunks/{listbox-option-tag.6bbb6bbe.js.map → listbox-option-tag.8708be60.js.map} +1 -1
  127. package/dist/chunks/{loading-button.eafc9e1b.js → loading-button.692dbdc8.js} +2 -2
  128. package/dist/chunks/{loading-button.eafc9e1b.js.map → loading-button.692dbdc8.js.map} +1 -1
  129. package/dist/chunks/{payment-method.6c1ce07c.js → payment-method.c55dd352.js} +2 -2
  130. package/dist/chunks/{payment-method.6c1ce07c.js.map → payment-method.c55dd352.js.map} +1 -1
  131. package/dist/chunks/{tooltip.58ef3f4a.js → tooltip.efddb5f3.js} +4 -4
  132. package/dist/chunks/{tooltip.58ef3f4a.js.map → tooltip.efddb5f3.js.map} +1 -1
  133. package/dist/chunks/{use-bento-toast-controller.c3277f73.js → use-bento-toast-controller.5dac1f3c.js} +2 -2
  134. package/dist/chunks/{use-bento-toast-controller.c3277f73.js.map → use-bento-toast-controller.5dac1f3c.js.map} +1 -1
  135. package/dist/chunks/{use-cached-selected-values.69297473.js → use-cached-selected-values.98a9ed01.js} +225 -206
  136. package/dist/chunks/use-cached-selected-values.98a9ed01.js.map +1 -0
  137. package/dist/code-snippet.js +131 -129
  138. package/dist/code-snippet.js.map +1 -1
  139. package/dist/country.js +2 -2
  140. package/dist/currency.js +1 -1
  141. package/dist/dashboard-template.js +109 -0
  142. package/dist/dashboard-template.js.map +1 -0
  143. package/dist/data-grid-template.js +1 -1
  144. package/dist/data-grid.js +78 -70
  145. package/dist/data-grid.js.map +1 -1
  146. package/dist/date-picker.js +8 -8
  147. package/dist/date-range-picker.js +2 -2
  148. package/dist/date.js +1 -1
  149. package/dist/divider.js +1 -1
  150. package/dist/dropdown.js +7 -7
  151. package/dist/empty-state.js +3 -3
  152. package/dist/filter-bar.js +77 -75
  153. package/dist/filter-bar.js.map +1 -1
  154. package/dist/focus-trap.js +1 -1
  155. package/dist/form-layout.js +2 -2
  156. package/dist/header.js +4 -4
  157. package/dist/index.js +82 -79
  158. package/dist/index.js.map +1 -1
  159. package/dist/info-icon.js +3 -3
  160. package/dist/input-field.js +4 -4
  161. package/dist/internal.js +8 -8
  162. package/dist/link.js +1 -1
  163. package/dist/loading-indicator.js +1 -1
  164. package/dist/menu.js +1 -1
  165. package/dist/modal-fullscreen.js +6 -6
  166. package/dist/modal.js +6 -6
  167. package/dist/pagination.js +4 -4
  168. package/dist/payment-method.js +1 -1
  169. package/dist/popover.js +1 -1
  170. package/dist/popper-container.js +1 -1
  171. package/dist/radio-group.js +4 -4
  172. package/dist/search-bar.js +2 -2
  173. package/dist/secondary-nav.js +2 -2
  174. package/dist/segmented-control.js +40 -41
  175. package/dist/segmented-control.js.map +1 -1
  176. package/dist/selection-card.js +4 -4
  177. package/dist/sidepanel.js +6 -6
  178. package/dist/status.js +2 -2
  179. package/dist/stepper.js +4 -4
  180. package/dist/structured-list.js +1 -1
  181. package/dist/summary-grid.js +3 -3
  182. package/dist/tabs.js +68 -67
  183. package/dist/tabs.js.map +1 -1
  184. package/dist/tag.js +3 -3
  185. package/dist/textarea.js +4 -4
  186. package/dist/timeline.js +7 -7
  187. package/dist/toast.js +4 -4
  188. package/dist/toggle.js +2 -2
  189. package/dist/tutorial.js +68 -53
  190. package/dist/tutorial.js.map +1 -1
  191. package/dist/typography.js +1 -1
  192. package/dist/web-types.json +133 -70
  193. package/package.json +9 -6
  194. package/dist/chunks/button-actions.81db18e8.js.map +0 -1
  195. package/dist/chunks/button.9d6435ae.js +0 -100
  196. package/dist/chunks/button.9d6435ae.js.map +0 -1
  197. package/dist/chunks/checkmark.a6ed8f47.js +0 -26
  198. package/dist/chunks/checkmark.a6ed8f47.js.map +0 -1
  199. package/dist/chunks/dropdown.10c034aa.js.map +0 -1
  200. package/dist/chunks/events.58c00e6d.js.map +0 -1
  201. package/dist/chunks/index.aaf965f8.js +0 -147
  202. package/dist/chunks/index.aaf965f8.js.map +0 -1
  203. package/dist/chunks/use-cached-selected-values.69297473.js.map +0 -1
package/dist/country.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { defineComponent as y, toRefs as _, ref as p, watch as d, inject as f } from "vue";
2
- import { B as v, d as C } from "./chunks/index.dd30e538.js";
2
+ import { B as v, d as C } from "./chunks/index.e29a6907.js";
3
3
  import { c as u, B as o, u as b, a as S, b as h } from "./chunks/country.types.002caff2.js";
4
4
  import { u as L } from "./chunks/i18n.eb5b985b.js";
5
5
  import { S as N } from "./chunks/summary-grid.keys.1d1028c2.js";
6
6
  import { n as O } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
7
- import "./assets/index10.css";
7
+ import "./assets/index7.css";
8
8
  const g = y({
9
9
  name: "bento-country",
10
10
  components: { BentoTypography: v },
package/dist/currency.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as F, computed as m } from "vue";
2
- import { B as G } from "./chunks/index.dd30e538.js";
2
+ import { B as G } from "./chunks/index.e29a6907.js";
3
3
  import { g as E } from "./chunks/get-slot-text.99c3d860.js";
4
4
  import { n as i } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
5
5
  const U = [
@@ -0,0 +1,109 @@
1
+ import { defineComponent as C, useSlots as y, ref as d, computed as l, watch as m, onUnmounted as x, onMounted as R } from "vue";
2
+ import { BentoHeader as T } from "./header.js";
3
+ import { BentoTab as I, BentoTabs as H } from "./tabs.js";
4
+ import { a as P } from "./chunks/index.561786f6.js";
5
+ import { o as D } from "./chunks/resize.a041304d.js";
6
+ import { u as S } from "./chunks/use-has-slot.fbeb19ec.js";
7
+ import { n as k } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
8
+ import { B as W } from "./chunks/index.939dd5cf.js";
9
+ import "./assets/index47.css";
10
+ const z = {}, j = /* @__PURE__ */ C({
11
+ ...z,
12
+ __name: "dashboard-template",
13
+ props: {
14
+ header: null,
15
+ tabs: { default: void 0 },
16
+ stickyTabs: { type: Boolean, default: !1 },
17
+ stickyFilters: { type: Boolean, default: !1 }
18
+ },
19
+ setup(r) {
20
+ const t = r, a = y(), s = S(a), n = d(), e = d(null), f = d(!1);
21
+ let i = null;
22
+ const p = d(!1), _ = d(0), b = l(() => e.value && t.stickyFilters), u = l(() => n.value && t.stickyTabs), B = l(() => ({
23
+ "b-dashboard-template__filters--sticky": t.stickyFilters,
24
+ "b-dashboard-template__filters--show-border": b.value && !u.value && f.value
25
+ })), g = l(() => ({
26
+ "b-dashboard-template__tabs--sticky": t.stickyTabs,
27
+ "b-dashboard-template__tabs--show-border": t.stickyTabs && p.value
28
+ })), w = l(() => ({
29
+ "b-dashboard-template__top-section--sticky": t.stickyTabs || t.stickyFilters
30
+ })), $ = l(() => Object.keys(a).filter((o) => o == null ? void 0 : o.includes("tab-"))), F = (o) => {
31
+ var c, v;
32
+ return ((v = (c = t == null ? void 0 : t.tabs.tabs) == null ? void 0 : c[o]) == null ? void 0 : v.title) ?? `Tab ${o + 1}`;
33
+ }, { y: h } = P();
34
+ return m(
35
+ () => e.value,
36
+ () => {
37
+ !i && e.value && (i = D(e.value, () => {
38
+ if (e.value && u.value) {
39
+ const o = e.value.offsetHeight;
40
+ _.value = b.value ? o : 0, n.value.tablistwrapper.$el.style.top = `${_.value}px`;
41
+ }
42
+ }));
43
+ }
44
+ ), m(
45
+ () => h.value,
46
+ () => {
47
+ var o, c;
48
+ b.value && (f.value = ((o = e.value) == null ? void 0 : o.getBoundingClientRect().top) === 0), u.value && (p.value = ((c = n.value.tablistwrapper.$el) == null ? void 0 : c.getBoundingClientRect().top) === _.value);
49
+ }
50
+ ), x(() => {
51
+ i == null || i.disconnect();
52
+ }), { __sfc: !0, props: t, slots: a, hasSlot: s, tabsRef: n, filtersRef: e, isFiltersPinned: f, filtersElementObserver: i, isTabsPinned: p, tabsPosition: _, hasStickyFilters: b, hasStickyTabs: u, dashboardFiltersConditionalClasses: B, dashboardTabsConditionalClasses: g, dashboardTopSectionConditionalClasses: w, tabsSlots: $, getTabTitle: F, y: h, BentoHeader: T, BentoTab: I, BentoTabs: H };
53
+ }
54
+ });
55
+ var E = function() {
56
+ var t = this, a = t._self._c, s = t._self._setupProxy;
57
+ return a("main", { staticClass: "b-dashboard-template" }, [a(s.BentoHeader, t._b({ staticClass: "b-dashboard-template__header", attrs: { variant: "page" }, scopedSlots: t._u([s.hasSlot("infoIconTooltipContent") ? { key: "infoIconTooltipContent", fn: function() {
58
+ return [t._t("infoIconTooltipContent")];
59
+ }, proxy: !0 } : null], null, !0) }, "bento-header", t.header, !1)), a("div", { staticClass: "b-dashboard-template__top-section", class: s.dashboardTopSectionConditionalClasses }, [s.hasSlot("filters") ? a("div", { ref: "filtersRef", staticClass: "b-dashboard-template__filters", class: s.dashboardFiltersConditionalClasses, attrs: { "data-testid": "filters" } }, [t._t("filters")], 2) : t._e(), s.tabsSlots.length > 1 ? a(s.BentoTabs, { ref: "tabsRef", staticClass: "b-dashboard-template__tabs", class: s.dashboardTabsConditionalClasses, attrs: { "active-tab-index": t.tabs.activeTabIndex, "data-testid": "tabs" } }, t._l(s.tabsSlots, function(n, e) {
60
+ return a(s.BentoTab, { key: `tab-${e}`, attrs: { title: s.getTabTitle(e) } }, [a("div", { staticClass: "b-dashboard-template__container b-dashboard-template__container--tabs" }, [t._t(`tab-${e + 1}`)], 2)]);
61
+ }), 1) : a("div", { staticClass: "b-dashboard-template__container" }, [t._t("default")], 2)], 1)], 1);
62
+ }, M = [], O = /* @__PURE__ */ k(
63
+ j,
64
+ E,
65
+ M,
66
+ !1,
67
+ null,
68
+ "18ac8340",
69
+ null,
70
+ null
71
+ );
72
+ const tt = O.exports, U = {}, q = /* @__PURE__ */ C({
73
+ ...U,
74
+ __name: "dashboard-section",
75
+ props: {
76
+ header: null,
77
+ halfWidth: { type: Boolean, default: !1 }
78
+ },
79
+ setup(r) {
80
+ const t = r, a = y(), s = S(a), n = l(() => ({
81
+ "b-dashboard-section--half-width": t.halfWidth
82
+ }));
83
+ return R(() => {
84
+ if ((s("content-col-1") || s("content-col-2")) && t.halfWidth)
85
+ throw new Error("`content-col-1` and `content-col-2` cannot be used with half-width prop");
86
+ }), { __sfc: !0, props: t, slots: a, hasSlot: s, conditionalClasses: n, BentoHeader: T, BentoDivider: W };
87
+ }
88
+ });
89
+ var A = function() {
90
+ var t = this, a = t._self._c, s = t._self._setupProxy;
91
+ return a("div", { staticClass: "b-dashboard-section", class: s.conditionalClasses }, [a(s.BentoHeader, t._b({ staticClass: "b-dashboard-template__header", attrs: { variant: "component" }, scopedSlots: t._u([s.hasSlot("infoIconTooltipContent") ? { key: "infoIconTooltipContent", fn: function() {
92
+ return [t._t("infoIconTooltipContent")];
93
+ }, proxy: !0 } : null], null, !0) }, "bento-header", t.header, !1)), s.hasSlot("controls") ? a("div", { staticClass: "b-dashboard-section__controls" }, [t._t("controls")], 2) : t._e(), !s.hasSlot("content-col-1") && !s.hasSlot("content-col-2") ? a("div", { staticClass: "b-dashboard-section__content" }, [t._t("default")], 2) : a("div", { staticClass: "b-dashboard-section__columns" }, [a("div", { staticClass: "b-dashboard-section__content" }, [t._t("content-col-1")], 2), a("div", { staticClass: "b-dashboard-section__content" }, [t._t("content-col-2")], 2)]), a(s.BentoDivider, { staticClass: "b-dashboard-section__divider" })], 1);
94
+ }, G = [], J = /* @__PURE__ */ k(
95
+ q,
96
+ A,
97
+ G,
98
+ !1,
99
+ null,
100
+ "6656200a",
101
+ null,
102
+ null
103
+ );
104
+ const st = J.exports;
105
+ export {
106
+ st as BentoDashboardSection,
107
+ tt as BentoDashboardTemplate
108
+ };
109
+ //# sourceMappingURL=dashboard-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-template.js","sources":["../src/templates/dashboard-template/dashboard-template.vue","../src/templates/dashboard-template/components/dashboard-section/dashboard-section.vue"],"sourcesContent":["<template>\n <main class=\"b-dashboard-template\">\n <bento-header v-bind=\"header\" variant=\"page\" class=\"b-dashboard-template__header\">\n <template v-if=\"hasSlot('infoIconTooltipContent')\" #infoIconTooltipContent>\n <slot name=\"infoIconTooltipContent\" />\n </template>\n </bento-header>\n <div class=\"b-dashboard-template__top-section\" :class=\"dashboardTopSectionConditionalClasses\">\n <div\n v-if=\"hasSlot('filters')\"\n ref=\"filtersRef\"\n class=\"b-dashboard-template__filters\"\n :class=\"dashboardFiltersConditionalClasses\"\n data-testid=\"filters\"\n >\n <slot name=\"filters\" />\n </div>\n\n <bento-tabs\n v-if=\"tabsSlots.length > 1\"\n ref=\"tabsRef\"\n :active-tab-index=\"tabs.activeTabIndex\"\n class=\"b-dashboard-template__tabs\"\n :class=\"dashboardTabsConditionalClasses\"\n data-testid=\"tabs\"\n >\n <bento-tab v-for=\"(_item, index) in tabsSlots\" :key=\"`tab-${index}`\" :title=\"getTabTitle(index)\">\n <div class=\"b-dashboard-template__container b-dashboard-template__container--tabs\">\n <slot :name=\"`tab-${index + 1}`\" />\n </div>\n </bento-tab>\n </bento-tabs>\n <div v-else class=\"b-dashboard-template__container\">\n <slot />\n </div>\n </div>\n </main>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, onUnmounted, ref, useSlots, watch } from 'vue';\n import { BentoHeader } from '@/components/header';\n import { BentoTab, BentoTabs } from '@/components/tabs';\n import { useWindowScroll } from '@vueuse/core';\n import { observeSizeOfElement } from '@/utils/ts/resize';\n import { useHasSlot } from '@/composables';\n import type { BentoDashboardTemplateHeader, BentoDashboardTemplateTabs } from './dashboard-template.types';\n\n const props = withDefaults(\n defineProps<{\n /**\n * The header that goes to the top of the template\n */\n header: BentoDashboardTemplateHeader;\n\n /**\n * All the tab properties that can be set on the inner tab components.\n * - tabs.activeTabIndex: the currently active tab index.\n * - tabs.tabs: an array of BentoTab props, the first item in the array will affect the `tab-1` slot and so on.\n */\n tabs?: BentoDashboardTemplateTabs;\n\n /**\n * Renders the tabs with a sticky positioning\n */\n stickyTabs?: boolean;\n\n /**\n * Renders the tabs with a sticky positioning\n */\n stickyFilters?: boolean;\n }>(),\n {\n tabs: undefined,\n stickyTabs: false,\n stickyFilters: false,\n }\n );\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const tabsRef = ref<InstanceType<typeof BentoTabs>>();\n const filtersRef = ref<HTMLDivElement>(null);\n const isFiltersPinned = ref(false);\n let filtersElementObserver: ResizeObserver | null = null;\n const isTabsPinned = ref(false);\n const tabsPosition = ref(0);\n\n const hasStickyFilters = computed(() => filtersRef.value && props.stickyFilters);\n const hasStickyTabs = computed(() => tabsRef.value && props.stickyTabs);\n\n const dashboardFiltersConditionalClasses = computed(() => ({\n 'b-dashboard-template__filters--sticky': props.stickyFilters,\n 'b-dashboard-template__filters--show-border':\n hasStickyFilters.value && !hasStickyTabs.value && isFiltersPinned.value,\n }));\n\n const dashboardTabsConditionalClasses = computed(() => ({\n 'b-dashboard-template__tabs--sticky': props.stickyTabs,\n 'b-dashboard-template__tabs--show-border': props.stickyTabs && isTabsPinned.value,\n }));\n\n const dashboardTopSectionConditionalClasses = computed(() => ({\n 'b-dashboard-template__top-section--sticky': props.stickyTabs || props.stickyFilters,\n }));\n\n const tabsSlots = computed(() => Object.keys(slots).filter(el => el?.includes('tab-')));\n\n const getTabTitle = (index: number) => props?.tabs.tabs?.[index]?.title ?? `Tab ${index + 1}`;\n\n const { y } = useWindowScroll();\n\n watch(\n () => filtersRef.value,\n () => {\n if (!filtersElementObserver && filtersRef.value) {\n filtersElementObserver = observeSizeOfElement(filtersRef.value, () => {\n if (filtersRef.value && hasStickyTabs.value) {\n const filtersHeight = filtersRef.value.offsetHeight;\n tabsPosition.value = hasStickyFilters.value ? filtersHeight : 0;\n (tabsRef.value.tablistwrapper.$el as HTMLDivElement).style.top = `${tabsPosition.value}px`;\n }\n });\n }\n }\n );\n\n watch(\n () => y.value,\n () => {\n if (hasStickyFilters.value) {\n isFiltersPinned.value = filtersRef.value?.getBoundingClientRect().top === 0;\n }\n if (hasStickyTabs.value) {\n isTabsPinned.value =\n (tabsRef.value.tablistwrapper.$el as HTMLDivElement)?.getBoundingClientRect().top ===\n tabsPosition.value;\n }\n }\n );\n\n onUnmounted(() => {\n filtersElementObserver?.disconnect();\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * Dashboard template is a full page template used to visualize data on pages such as data dashboards and reports.\n *\n * @example\n * import { BentoDashboardTemplate, BentoDashboardSection } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoDashboardTemplate, BentoDashboardSection },\n * template: `\n * <bento-dashboard-template :header=\"{ title: 'Dashboard'}\" :tabs=\"tabs: [{ title: 'Tab 1' }, { title: 'Tab 2' }]\" sticky-tabs sticky-filters>\n * <template #tab-1>\n * <bento-dashboard-section :header=\"{ title: 'Section'}\">\n * <template #controls>\n * // Add your controls here\n * </template>\n * // Add your content here\n * </bento-dashboard-section>\n * </template>\n * <template #tab-2>\n * <bento-dashboard-section :header=\"{ title: 'Section'}\">\n * // Add your content here\n * </bento-dashboard-section>\n * </template>\n * </bento-dashboard-template>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./dashboard-template.scss\" />\n","<template>\n <div class=\"b-dashboard-section\" :class=\"conditionalClasses\">\n <bento-header v-bind=\"header\" variant=\"component\" class=\"b-dashboard-template__header\">\n <template v-if=\"hasSlot('infoIconTooltipContent')\" #infoIconTooltipContent>\n <slot name=\"infoIconTooltipContent\" />\n </template>\n </bento-header>\n <div v-if=\"hasSlot('controls')\" class=\"b-dashboard-section__controls\">\n <slot name=\"controls\"></slot>\n </div>\n <div v-if=\"!hasSlot('content-col-1') && !hasSlot('content-col-2')\" class=\"b-dashboard-section__content\">\n <slot name=\"default\"></slot>\n </div>\n <div v-else class=\"b-dashboard-section__columns\">\n <div class=\"b-dashboard-section__content\"><slot name=\"content-col-1\"></slot></div>\n <div class=\"b-dashboard-section__content\"><slot name=\"content-col-2\"></slot></div>\n </div>\n <bento-divider class=\"b-dashboard-section__divider\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, onMounted, useSlots } from 'vue';\n import { BentoHeader } from '@/components/header';\n import { BentoDivider } from '@/components/divider';\n import { useHasSlot } from '@/composables';\n import type { BentoDashboardTemplateHeader } from '../../dashboard-template.types';\n\n const props = withDefaults(\n defineProps<{\n /**\n * The header of the section\n */\n header: BentoDashboardTemplateHeader;\n\n /**\n * Renders the section to take only half of the page\n */\n halfWidth?: boolean;\n }>(),\n {\n halfWidth: false,\n }\n );\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const conditionalClasses = computed(() => ({\n 'b-dashboard-section--half-width': props.halfWidth,\n }));\n\n onMounted(() => {\n if ((hasSlot('content-col-1') || hasSlot('content-col-2')) && props.halfWidth) {\n throw new Error('`content-col-1` and `content-col-2` cannot be used with half-width prop');\n }\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * Dashboard section is subcomponent of Dashboard template meant to be used to create the different sections within the page.\n *\n * @example\n * import { BentoDashboardSection } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoDashboardSection },\n * template: `\n * <bento-dashboard-section :header=\"{ title: 'Section' }\" half-width>\n * <template #controls>\n * // Add your controls here\n * </template>\n * // You can render content with two cols\n * <template #content-col-1>\n * // Add your content here\n * </template>\n * <template #content-col-2>\n * // Add your content here\n * </template>\n * // Or you can render full width content by using default slot\n * // Add your content here\n * </bento-dashboard-section>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./dashboard-section.scss\" />\n"],"names":["__default__$1","slots","useSlots","hasSlot","useHasSlot","tabsRef","ref","filtersRef","isFiltersPinned","filtersElementObserver","isTabsPinned","tabsPosition","hasStickyFilters","computed","props","hasStickyTabs","dashboardFiltersConditionalClasses","dashboardTabsConditionalClasses","dashboardTopSectionConditionalClasses","tabsSlots","el","getTabTitle","index","_b","_a","y","useWindowScroll","watch","observeSizeOfElement","filtersHeight","onUnmounted","__default__","conditionalClasses","onMounted"],"mappings":";;;;;;;;;AA+KI,MAAAA,IAAA,CAAA;;;;;;;;;;iBAhGAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAEAI,IAAAC,EAAA,GACAC,IAAAD,EAAA,IAAA,GACAE,IAAAF,EAAA,EAAA;AACA,QAAAG,IAAA;AACA,UAAAC,IAAAJ,EAAA,EAAA,GACAK,IAAAL,EAAA,CAAA,GAEAM,IAAAC,EAAA,MAAAN,EAAA,SAAAO,EAAA,aAAA,GACAC,IAAAF,EAAA,MAAAR,EAAA,SAAAS,EAAA,UAAA,GAEAE,IAAAH,EAAA,OAAA;AAAA,MAA2D,yCAAAC,EAAA;AAAA,MACR,8CAAAF,EAAA,SAAA,CAAAG,EAAA,SAAAP,EAAA;AAAA,IAEuB,EAAA,GAG1ES,IAAAJ,EAAA,OAAA;AAAA,MAAwD,sCAAAC,EAAA;AAAA,MACR,2CAAAA,EAAA,cAAAJ,EAAA;AAAA,IACgC,EAAA,GAGhFQ,IAAAL,EAAA,OAAA;AAAA,MAA8D,6CAAAC,EAAA,cAAAA,EAAA;AAAA,IACa,EAAA,GAG3EK,IAAAN,EAAA,MAAA,OAAA,KAAAZ,CAAA,EAAA,OAAA,CAAAmB,MAAAA,KAAA,gBAAAA,EAAA,SAAA,OAAA,CAAA,GAEAC,IAAA,CAAAC,MAAA;;AAAA,eAAAC,KAAAC,IAAAV,KAAA,gBAAAA,EAAA,KAAA,SAAA,gBAAAU,EAAAF,OAAA,gBAAAC,EAAA,UAAA,OAAAD,IAAA;AAAA,OAEA,EAAA,GAAAG,EAAA,IAAAC,EAAA;AAEA,WAAAC;AAAA,MAAA,MAAApB,EAAA;AAAA,MACqB,MAAA;AAEb,QAAA,CAAAE,KAAAF,EAAA,UACIE,IAAAmB,EAAArB,EAAA,OAAA,MAAA;AACI,cAAAA,EAAA,SAAAQ,EAAA,OAAA;AACI,kBAAAc,IAAAtB,EAAA,MAAA;AACA,YAAAI,EAAA,QAAAC,EAAA,QAAAiB,IAAA,GACAxB,EAAA,MAAA,eAAA,IAAA,MAAA,MAAA,GAAAM,EAAA;AAAA;AAAA,QACJ,CAAA;AAAA,MAER;AAAA,IACJ,GAGJgB;AAAA,MAAA,MAAAF,EAAA;AAAA,MACY,MAAA;;AAEJ,QAAAb,EAAA,UACIJ,EAAA,UAAAgB,IAAAjB,EAAA,UAAA,gBAAAiB,EAAA,wBAAA,SAAA,IAEJT,EAAA,UACIL,EAAA,UAAAa,IAAAlB,EAAA,MAAA,eAAA,QAAA,gBAAAkB,EAAA,wBAAA,SAAAZ,EAAA;AAAA,MAGJ;AAAA,IACJ,GAGJmB,EAAA,MAAA;AACI,MAAArB,KAAA,QAAAA,EAAA;AAAA,IAAmC,CAAA;;;;;;;;;;;;;;;;;;;;sBCzDvCsB,IAAA,CAAA;;;;;;;;iBAzCA9B,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAEA+B,IAAAnB,EAAA,OAAA;AAAA,MAA2C,mCAAAC,EAAA;AAAA,IACE,EAAA;AAG7C,WAAAmB,EAAA,MAAA;AACI,WAAA9B,EAAA,eAAA,KAAAA,EAAA,eAAA,MAAAW,EAAA;AACI,cAAA,IAAA,MAAA,yEAAA;AAAA,IACJ,CAAA;;;;;;;;;;;;;;;;;;;"}
@@ -4,7 +4,7 @@ import { BentoTab as v, BentoTabs as g } from "./tabs.js";
4
4
  import { u as C } from "./chunks/use-has-slot.fbeb19ec.js";
5
5
  import { D as R } from "./chunks/data-grid-template.keys.a819a991.js";
6
6
  import { n as S } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
7
- import "./assets/index35.css";
7
+ import "./assets/index49.css";
8
8
  const h = {}, I = /* @__PURE__ */ p({
9
9
  ...h,
10
10
  __name: "data-grid-template",