@adyen/bento-vue2 1.24.0 → 1.26.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 (190) hide show
  1. package/dist/@types/index.d.ts +484 -629
  2. package/dist/accordion.js +2 -2
  3. package/dist/action-bar.js +6 -6
  4. package/dist/alert.js +69 -104
  5. package/dist/alert.js.map +1 -1
  6. package/dist/assets/base-modal.css +1 -1
  7. package/dist/assets/dialog-page.css +1 -1
  8. package/dist/assets/dropdown.css +1 -1
  9. package/dist/assets/index10.css +1 -1
  10. package/dist/assets/index11.css +1 -1
  11. package/dist/assets/index12.css +1 -1
  12. package/dist/assets/index13.css +1 -1
  13. package/dist/assets/index14.css +1 -1
  14. package/dist/assets/index15.css +1 -1
  15. package/dist/assets/index16.css +1 -1
  16. package/dist/assets/index17.css +1 -1
  17. package/dist/assets/index18.css +1 -1
  18. package/dist/assets/index19.css +1 -1
  19. package/dist/assets/index2.css +1 -1
  20. package/dist/assets/index20.css +1 -1
  21. package/dist/assets/index21.css +1 -1
  22. package/dist/assets/index22.css +1 -1
  23. package/dist/assets/index23.css +1 -1
  24. package/dist/assets/index24.css +1 -1
  25. package/dist/assets/index25.css +1 -1
  26. package/dist/assets/index26.css +1 -1
  27. package/dist/assets/index27.css +1 -1
  28. package/dist/assets/index28.css +1 -1
  29. package/dist/assets/index29.css +1 -1
  30. package/dist/assets/index3.css +1 -1
  31. package/dist/assets/index30.css +1 -1
  32. package/dist/assets/index31.css +1 -1
  33. package/dist/assets/index32.css +1 -1
  34. package/dist/assets/index33.css +1 -1
  35. package/dist/assets/index34.css +1 -1
  36. package/dist/assets/index35.css +1 -1
  37. package/dist/assets/index36.css +1 -1
  38. package/dist/assets/index37.css +1 -1
  39. package/dist/assets/index38.css +1 -1
  40. package/dist/assets/index39.css +1 -1
  41. package/dist/assets/index4.css +1 -1
  42. package/dist/assets/index40.css +1 -1
  43. package/dist/assets/index41.css +1 -1
  44. package/dist/assets/index42.css +1 -1
  45. package/dist/assets/index43.css +1 -1
  46. package/dist/assets/index44.css +1 -1
  47. package/dist/assets/index45.css +1 -1
  48. package/dist/assets/index47.css +1 -1
  49. package/dist/assets/index48.css +1 -1
  50. package/dist/assets/index5.css +1 -1
  51. package/dist/assets/index6.css +1 -1
  52. package/dist/assets/index7.css +1 -1
  53. package/dist/assets/index8.css +1 -1
  54. package/dist/assets/index9.css +1 -1
  55. package/dist/assets/{listbox.css → use-cached-selected-values.css} +1 -1
  56. package/dist/avatar-image.js +1 -1
  57. package/dist/button.js +5 -5
  58. package/dist/card.js +83 -180
  59. package/dist/card.js.map +1 -1
  60. package/dist/checkbox.js +5 -5
  61. package/dist/chunks/{base-button.090f511d.js → base-button.ad74b6f8.js} +2 -2
  62. package/dist/chunks/{base-button.090f511d.js.map → base-button.ad74b6f8.js.map} +1 -1
  63. package/dist/chunks/{base-modal.aa09a60c.js → base-modal.1fff7abe.js} +6 -6
  64. package/dist/chunks/{base-modal.aa09a60c.js.map → base-modal.1fff7abe.js.map} +1 -1
  65. package/dist/chunks/{button-actions-with-menu.879c4573.js → button-actions-with-menu.e845d77a.js} +4 -4
  66. package/dist/chunks/{button-actions-with-menu.879c4573.js.map → button-actions-with-menu.e845d77a.js.map} +1 -1
  67. package/dist/chunks/{button-actions.239456cb.js → button-actions.81db18e8.js} +3 -3
  68. package/dist/chunks/{button-actions.239456cb.js.map → button-actions.81db18e8.js.map} +1 -1
  69. package/dist/chunks/{button.6e6324f0.js → button.9d6435ae.js} +3 -3
  70. package/dist/chunks/{button.6e6324f0.js.map → button.9d6435ae.js.map} +1 -1
  71. package/dist/chunks/{calendar.1e416969.js → calendar.640b8d25.js} +4 -4
  72. package/dist/chunks/{calendar.1e416969.js.map → calendar.640b8d25.js.map} +1 -1
  73. package/dist/chunks/{checkbox.f38276e6.js → checkbox.bfed007c.js} +3 -3
  74. package/dist/chunks/{checkbox.f38276e6.js.map → checkbox.bfed007c.js.map} +1 -1
  75. package/dist/chunks/{controls-group.f1dfa419.js → controls-group.4fb50009.js} +3 -3
  76. package/dist/chunks/{controls-group.f1dfa419.js.map → controls-group.4fb50009.js.map} +1 -1
  77. package/dist/chunks/{copy.acc9f1b0.js → copy.f85700c6.js} +4 -4
  78. package/dist/chunks/{copy.acc9f1b0.js.map → copy.f85700c6.js.map} +1 -1
  79. package/dist/chunks/dialog-page.73da22cf.js +133 -0
  80. package/dist/chunks/dialog-page.73da22cf.js.map +1 -0
  81. package/dist/chunks/{dropdown-default-textbox.c1f8fe5f.js → dropdown-default-textbox.54ca1b18.js} +2 -2
  82. package/dist/chunks/{dropdown-default-textbox.c1f8fe5f.js.map → dropdown-default-textbox.54ca1b18.js.map} +1 -1
  83. package/dist/chunks/dropdown.10c034aa.js +775 -0
  84. package/dist/chunks/dropdown.10c034aa.js.map +1 -0
  85. package/dist/chunks/{error-message.8734e591.js → error-message.31ec12b7.js} +2 -2
  86. package/dist/chunks/{error-message.8734e591.js.map → error-message.31ec12b7.js.map} +1 -1
  87. package/dist/chunks/{fixed-scroller.772ad033.js → fixed-scroller.4eb9a9ac.js} +2 -2
  88. package/dist/chunks/{fixed-scroller.772ad033.js.map → fixed-scroller.4eb9a9ac.js.map} +1 -1
  89. package/dist/chunks/{footer-actions.11071f12.js → footer-actions.a1e09b4f.js} +4 -4
  90. package/dist/chunks/{footer-actions.11071f12.js.map → footer-actions.a1e09b4f.js.map} +1 -1
  91. package/dist/chunks/{index.5d5f2200.js → index.15b088b9.js} +6 -6
  92. package/dist/chunks/{index.5d5f2200.js.map → index.15b088b9.js.map} +1 -1
  93. package/dist/chunks/{index.87180cdd.js → index.1ea85d4a.js} +138 -119
  94. package/dist/chunks/index.1ea85d4a.js.map +1 -0
  95. package/dist/chunks/{index.8e6bc325.js → index.317fca12.js} +3 -3
  96. package/dist/chunks/{index.8e6bc325.js.map → index.317fca12.js.map} +1 -1
  97. package/dist/chunks/{index.51308a21.js → index.671768a1.js} +3 -3
  98. package/dist/chunks/{index.51308a21.js.map → index.671768a1.js.map} +1 -1
  99. package/dist/chunks/{index.49ce3f6a.js → index.7eefc59c.js} +3 -3
  100. package/dist/chunks/{index.49ce3f6a.js.map → index.7eefc59c.js.map} +1 -1
  101. package/dist/chunks/{index.f19887a1.js → index.885d05a9.js} +2 -2
  102. package/dist/chunks/{index.f19887a1.js.map → index.885d05a9.js.map} +1 -1
  103. package/dist/chunks/{index.73abb1a9.js → index.8b8c3b16.js} +9 -9
  104. package/dist/chunks/{index.73abb1a9.js.map → index.8b8c3b16.js.map} +1 -1
  105. package/dist/chunks/{index.ff09389c.js → index.aaf965f8.js} +6 -6
  106. package/dist/chunks/{index.ff09389c.js.map → index.aaf965f8.js.map} +1 -1
  107. package/dist/chunks/{index.03ae22b4.js → index.b21197ca.js} +2 -2
  108. package/dist/chunks/{index.03ae22b4.js.map → index.b21197ca.js.map} +1 -1
  109. package/dist/chunks/{index.94980f50.js → index.d553d3d1.js} +2 -2
  110. package/dist/chunks/{index.94980f50.js.map → index.d553d3d1.js.map} +1 -1
  111. package/dist/chunks/{index.ba6c1040.js → index.dd30e538.js} +3 -3
  112. package/dist/chunks/index.dd30e538.js.map +1 -0
  113. package/dist/chunks/{listbox-option-tag.c0a56a95.js → listbox-option-tag.6bbb6bbe.js} +3 -3
  114. package/dist/chunks/{listbox-option-tag.c0a56a95.js.map → listbox-option-tag.6bbb6bbe.js.map} +1 -1
  115. package/dist/chunks/{loading-button.84a5529d.js → loading-button.eafc9e1b.js} +2 -2
  116. package/dist/chunks/{loading-button.84a5529d.js.map → loading-button.eafc9e1b.js.map} +1 -1
  117. package/dist/chunks/{payment-method.faa302de.js → payment-method.6c1ce07c.js} +2 -2
  118. package/dist/chunks/{payment-method.faa302de.js.map → payment-method.6c1ce07c.js.map} +1 -1
  119. package/dist/chunks/{tooltip.8e9d733c.js → tooltip.58ef3f4a.js} +3 -3
  120. package/dist/chunks/{tooltip.8e9d733c.js.map → tooltip.58ef3f4a.js.map} +1 -1
  121. package/dist/chunks/{use-bento-toast-controller.7d4436ad.js → use-bento-toast-controller.c3277f73.js} +2 -2
  122. package/dist/chunks/{use-bento-toast-controller.7d4436ad.js.map → use-bento-toast-controller.c3277f73.js.map} +1 -1
  123. package/dist/chunks/{listbox.e6e1bc90.js → use-cached-selected-values.69297473.js} +510 -448
  124. package/dist/chunks/use-cached-selected-values.69297473.js.map +1 -0
  125. package/dist/code-snippet.js +7 -7
  126. package/dist/code-snippet.js.map +1 -1
  127. package/dist/country.js +2 -2
  128. package/dist/currency.js +1 -1
  129. package/dist/data-grid-template.js +1 -1
  130. package/dist/data-grid.js +947 -885
  131. package/dist/data-grid.js.map +1 -1
  132. package/dist/date-picker.js +8 -8
  133. package/dist/date-range-picker.js +2 -2
  134. package/dist/date.js +1 -1
  135. package/dist/divider.js +1 -1
  136. package/dist/dropdown.js +7 -7
  137. package/dist/empty-state.js +3 -3
  138. package/dist/filter-bar.js +1115 -955
  139. package/dist/filter-bar.js.map +1 -1
  140. package/dist/focus-trap.js +1 -1
  141. package/dist/form-layout.js +15 -14
  142. package/dist/form-layout.js.map +1 -1
  143. package/dist/header.js +4 -4
  144. package/dist/index.js +177 -169
  145. package/dist/index.js.map +1 -1
  146. package/dist/info-icon.js +3 -3
  147. package/dist/input-field.js +31 -29
  148. package/dist/input-field.js.map +1 -1
  149. package/dist/internal.js +31 -78
  150. package/dist/internal.js.map +1 -1
  151. package/dist/link.js +1 -1
  152. package/dist/loading-indicator.js +1 -1
  153. package/dist/menu.js +1 -1
  154. package/dist/modal-fullscreen.js +6 -6
  155. package/dist/modal.js +6 -6
  156. package/dist/pagination.js +4 -4
  157. package/dist/payment-method.js +1 -1
  158. package/dist/popover.js +1 -1
  159. package/dist/popper-container.js +1 -1
  160. package/dist/radio-group.js +62 -62
  161. package/dist/radio-group.js.map +1 -1
  162. package/dist/search-bar.js +2 -2
  163. package/dist/secondary-nav.js +2 -2
  164. package/dist/segmented-control.js +2 -2
  165. package/dist/selection-card.js +4 -4
  166. package/dist/sidepanel.js +52 -50
  167. package/dist/sidepanel.js.map +1 -1
  168. package/dist/status.js +2 -2
  169. package/dist/stepper.js +3 -3
  170. package/dist/structured-list.js +1 -1
  171. package/dist/summary-grid.js +3 -3
  172. package/dist/tabs.js +52 -52
  173. package/dist/tabs.js.map +1 -1
  174. package/dist/tag.js +3 -3
  175. package/dist/textarea.js +4 -4
  176. package/dist/timeline.js +7 -7
  177. package/dist/toast.js +4 -4
  178. package/dist/toggle.js +2 -2
  179. package/dist/tutorial.js +88 -67
  180. package/dist/tutorial.js.map +1 -1
  181. package/dist/typography.js +1 -1
  182. package/dist/web-types.json +550 -266
  183. package/package.json +3 -2
  184. package/dist/chunks/dialog-page.75b295b7.js +0 -133
  185. package/dist/chunks/dialog-page.75b295b7.js.map +0 -1
  186. package/dist/chunks/dropdown.669b858b.js +0 -797
  187. package/dist/chunks/dropdown.669b858b.js.map +0 -1
  188. package/dist/chunks/index.87180cdd.js.map +0 -1
  189. package/dist/chunks/index.ba6c1040.js.map +0 -1
  190. package/dist/chunks/listbox.e6e1bc90.js.map +0 -1
package/dist/toast.js CHANGED
@@ -2,11 +2,11 @@ import { defineComponent as $, ref as c, computed as d, watch as k, onMounted as
2
2
  import "./chunks/index.4c062058.js";
3
3
  import { C as L } from "./chunks/cross-small.e851e0de.js";
4
4
  import { u as P } from "./chunks/i18n.eb5b985b.js";
5
- import { a as N } from "./chunks/button.6e6324f0.js";
6
- import { B as U } from "./chunks/index.ba6c1040.js";
5
+ import { a as N } from "./chunks/button.9d6435ae.js";
6
+ import { B as U } from "./chunks/index.dd30e538.js";
7
7
  import { n as B } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
8
- import { u as O } from "./chunks/use-bento-toast-controller.7d4436ad.js";
9
- import "./assets/index34.css";
8
+ import { u as O } from "./chunks/use-bento-toast-controller.c3277f73.js";
9
+ import "./assets/index32.css";
10
10
  const M = {
11
11
  "en-US": {
12
12
  dismiss: "Dismiss"
package/dist/toggle.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import { defineComponent as k, ref as p, computed as u, toRefs as I, watch as A } from "vue";
2
2
  import { C as B } from "./chunks/checkmark-small.520f01b1.js";
3
- import { B as L } from "./chunks/index.ba6c1040.js";
3
+ import { B as L } from "./chunks/index.dd30e538.js";
4
4
  import { g as E } from "./chunks/unique-id.a2a2b458.js";
5
5
  import { u as F } from "./chunks/use-default-slot-validator.b9bff4c6.js";
6
6
  import { u as R } from "./chunks/use-has-slot.fbeb19ec.js";
7
7
  import { g } from "./chunks/get-slot-text.99c3d860.js";
8
8
  import { u as x } from "./chunks/aria-label.ac9651a5.js";
9
9
  import { n as T } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
10
- import "./assets/index47.css";
10
+ import "./assets/index33.css";
11
11
  var f = /* @__PURE__ */ ((t) => (t.LABEL_FIRST = "label-first", t))(f || {}), d = /* @__PURE__ */ ((t) => (t.BEFORE = "before", t.AFTER = "after", t))(d || {});
12
12
  const D = k({
13
13
  name: "bento-toggle",
package/dist/tutorial.js CHANGED
@@ -1,16 +1,16 @@
1
- import { defineComponent as g, ref as d, computed as a, isRef as R, watch as F, nextTick as $ } from "vue";
2
- import { B as I } from "./chunks/index.87180cdd.js";
3
- import { B as S, a as P } from "./chunks/index.5d5f2200.js";
4
- import { B as k } from "./chunks/index.ba6c1040.js";
5
- import { BentoImage as w } from "./image.js";
6
- import { u as A } from "./chunks/i18n.eb5b985b.js";
7
- import { R as N } from "./chunks/refresh.71a03998.js";
1
+ import { defineComponent as g, ref as d, computed as n, isRef as F, watch as I, nextTick as P } from "vue";
2
+ import { B as $ } from "./chunks/index.1ea85d4a.js";
3
+ import { B as S, a as k } from "./chunks/index.15b088b9.js";
4
+ import { B as w } from "./chunks/index.dd30e538.js";
5
+ import { BentoImage as A } from "./image.js";
6
+ import { u as N } from "./chunks/i18n.eb5b985b.js";
7
+ import { R as D } from "./chunks/refresh.71a03998.js";
8
8
  import { n as f } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
9
- import { a as T, h as D, o as M } from "./chunks/index.51308a21.js";
10
- import { B as V } from "./chunks/button-actions.239456cb.js";
11
- import "./assets/index41.css";
12
- var E;
13
- const j = /* @__PURE__ */ g({
9
+ import { a as T, h as j, o as L } from "./chunks/index.671768a1.js";
10
+ import { B as M } from "./chunks/button-actions.81db18e8.js";
11
+ import "./assets/index34.css";
12
+ var B;
13
+ const V = /* @__PURE__ */ g({
14
14
  __name: "tutorial-indicator",
15
15
  props: {
16
16
  /**
@@ -18,11 +18,11 @@ const j = /* @__PURE__ */ g({
18
18
  * The indicator will position itself around the target element.
19
19
  */
20
20
  targetElement: {
21
- type: (E = T.props) == null ? void 0 : E.targetElement.type,
21
+ type: (B = T.props) == null ? void 0 : B.targetElement.type,
22
22
  required: !0
23
23
  }
24
24
  },
25
- setup(n) {
25
+ setup(a) {
26
26
  const e = d({
27
27
  width: "0",
28
28
  height: "0",
@@ -37,8 +37,8 @@ const j = /* @__PURE__ */ g({
37
37
  }
38
38
  }
39
39
  const o = [
40
- D(),
41
- M({
40
+ j(),
41
+ L({
42
42
  mainAxis: 2,
43
43
  alignmentAxis: -2
44
44
  }),
@@ -56,8 +56,8 @@ const j = /* @__PURE__ */ g({
56
56
  var q = function() {
57
57
  var t = this, e = t._self._c, s = t._self._setupProxy;
58
58
  return e(s.PopperContainer, { staticClass: "b-tutorial-indicator", attrs: { "target-element": t.targetElement, middleware: s.middleware, position: "top-start", "fixed-positioning": "", "disabled-focus-trap": "", "data-testid": "tutorial-indicator" } }, [e("div", { staticClass: "b-tutorial-indicator__highlight", style: s.computedStyles })]);
59
- }, K = [], L = /* @__PURE__ */ f(
60
- j,
59
+ }, K = [], Z = /* @__PURE__ */ f(
60
+ V,
61
61
  q,
62
62
  K,
63
63
  !1,
@@ -66,27 +66,27 @@ var q = function() {
66
66
  null,
67
67
  null
68
68
  );
69
- const Z = L.exports;
69
+ const z = Z.exports;
70
70
  let b = 0;
71
- const z = {
71
+ const H = {
72
72
  beforeCreate() {
73
73
  this.uuid = b.toString(), b += 1;
74
74
  }
75
75
  };
76
- var H = function() {
76
+ var U = function() {
77
77
  var t = this, e = t._self._c;
78
78
  return e("svg", t._b({ staticClass: "ui-assets-icons-16", attrs: { role: "img", xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "none" } }, "svg", t.$attrs, !1), [t.$attrs["svg-title"] ? e("title", [t._v(t._s(t.$attrs["svg-title"]))]) : t._e(), e("g", { attrs: { "clip-path": "url(#uia-icons-16-blocked__a" + t.uuid + ")" } }, [e("path", { attrs: { fill: "#00112C", d: "M9.51195 0.398918C8.00859 0.0998821 6.45033 0.253358 5.0342 0.839937C3.61808 1.42652 2.40769 2.41985 1.55611 3.69433C0.704529 4.96881 0.25 6.4672 0.25 8C0.25 10.0554 1.06652 12.0267 2.51992 13.4801C3.97333 14.9335 5.94457 15.75 8 15.75C9.53281 15.75 11.0312 15.2955 12.3057 14.4439C13.5801 13.5923 14.5735 12.3819 15.1601 10.9658C15.7466 9.54967 15.9001 7.99141 15.6011 6.48805C15.3021 4.9847 14.5639 3.60378 13.4801 2.51993C12.3962 1.43607 11.0153 0.697953 9.51195 0.398918ZM5.60823 2.22576C6.75027 1.75271 8.00693 1.62894 9.21931 1.8701C10.4317 2.11125 11.5453 2.70651 12.4194 3.58059C13.2935 4.45466 13.8887 5.56831 14.1299 6.78069C14.3711 7.99307 14.2473 9.24974 13.7742 10.3918C13.5555 10.9198 13.2667 11.4124 12.9177 11.8573L4.14271 3.0823C4.58761 2.73333 5.08018 2.44448 5.60823 2.22576ZM3.08208 4.14298L11.857 12.9179C11.7327 13.0154 11.6044 13.1085 11.4723 13.1967C10.4445 13.8834 9.23613 14.25 8 14.25C6.3424 14.25 4.75268 13.5915 3.58058 12.4194C2.40848 11.2473 1.75 9.65761 1.75 8C1.75 6.76387 2.11656 5.5555 2.80331 4.52769C2.89155 4.39564 2.98456 4.26733 3.08208 4.14298Z" } })]), e("defs", [e("clipPath", { attrs: { id: "uia-icons-16-blocked__a" + t.uuid } }, [e("rect", { attrs: { width: "16", height: "16", fill: "#fff" } })])])]);
79
- }, U = [], W = /* @__PURE__ */ f(
80
- z,
79
+ }, W = [], X = /* @__PURE__ */ f(
81
80
  H,
82
81
  U,
82
+ W,
83
83
  !1,
84
84
  null,
85
85
  null,
86
86
  null,
87
87
  null
88
88
  );
89
- const X = W.exports, G = {
89
+ const G = X.exports, J = {
90
90
  "en-US": {
91
91
  finish: "Finish",
92
92
  next: "Next",
@@ -96,10 +96,10 @@ const X = W.exports, G = {
96
96
  startTour: "Start tour",
97
97
  stepsOfTotal: "{step} of {totalSteps}"
98
98
  }
99
- }, J = {
100
- i18n: { messages: G }
101
- }, Q = /* @__PURE__ */ g({
102
- ...J,
99
+ }, Q = {
100
+ i18n: { messages: J }
101
+ }, Y = /* @__PURE__ */ g({
102
+ ...Q,
103
103
  __name: "tutorial-popover",
104
104
  props: {
105
105
  /**
@@ -136,7 +136,16 @@ const X = W.exports, G = {
136
136
  position: {
137
137
  type: String,
138
138
  default: S.BOTTOM_START,
139
- validator: (n) => Object.values(S).includes(n)
139
+ validator: (a) => Object.values(S).includes(a)
140
+ },
141
+ /**
142
+ * Options to control the scroll into view behavior.
143
+ * Takes the same options as the `scrollIntoView` function
144
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView}
145
+ */
146
+ scrollOptions: {
147
+ type: [Boolean, Object],
148
+ default: null
140
149
  },
141
150
  /**
142
151
  * Indicates whether this popover is a single tutorial or a tour.
@@ -180,72 +189,74 @@ const X = W.exports, G = {
180
189
  }
181
190
  },
182
191
  emits: ["next", "finish", "restart"],
183
- setup(n, { emit: t }) {
184
- const e = n, { t: s } = A(), o = a(() => ({
185
- title: s("skipTour"),
192
+ setup(a, { emit: t }) {
193
+ const e = a, s = { behavior: "smooth" }, { t: o } = N(), l = n(() => ({
194
+ title: o("skipTour"),
186
195
  event: () => t("finish")
187
- })), l = a(() => ({
188
- title: s("startTour"),
196
+ })), r = n(() => ({
197
+ title: o("startTour"),
189
198
  event: () => t("next")
190
- })), r = a(() => ({
191
- title: s("next"),
199
+ })), u = n(() => ({
200
+ title: o("next"),
192
201
  event: () => t("next")
193
- })), u = a(() => ({
194
- title: s("finish"),
202
+ })), p = n(() => ({
203
+ title: o("finish"),
195
204
  event: () => t("finish")
196
- })), p = a(() => ({
197
- title: s("ok"),
205
+ })), h = n(() => ({
206
+ title: o("ok"),
198
207
  event: () => t("finish")
199
- })), h = d(!1), y = d(!1), v = a(() => {
208
+ })), y = d(!1), C = d(!1), v = n(() => {
200
209
  var i;
201
- return R(e.targetElement) ? ((i = e.targetElement.value) == null ? void 0 : i.$el) || e.targetElement.value : e.targetElement.$el || e.targetElement;
202
- }), _ = a(() => e.step === 0), m = a(() => e.step === e.totalSteps), O = a(() => !_.value), B = a(() => [
210
+ return F(e.targetElement) ? ((i = e.targetElement.value) == null ? void 0 : i.$el) || e.targetElement.value : e.targetElement.$el || e.targetElement;
211
+ }), _ = n(() => e.step === 0), m = n(() => e.step === e.totalSteps), E = n(() => !_.value), x = n(() => [
203
212
  {
204
- text: s("restartTour"),
213
+ text: o("restartTour"),
205
214
  handler: () => t("restart"),
206
- icon: N
215
+ icon: D
207
216
  },
208
217
  ...m.value ? [] : [
209
218
  {
210
219
  text: "Skip tour",
211
220
  handler: () => t("finish"),
212
- icon: X
221
+ icon: G
213
222
  }
214
223
  ]
215
- ]), x = a(() => {
224
+ ]), R = n(() => {
216
225
  let i;
217
- _.value ? i = e.single ? p.value : l.value : m.value ? i = u.value : i = r.value;
226
+ _.value ? i = e.single ? h.value : r.value : m.value ? i = p.value : i = u.value;
218
227
  const c = [i];
219
- return _.value && !e.single ? c.push(o.value) : e.action && c.push(e.action), c;
228
+ return _.value && !e.single ? c.push(l.value) : e.action && c.push(e.action), c;
220
229
  });
221
- return F(
230
+ return I(
222
231
  () => e.active,
223
232
  async (i) => {
224
- var c, C;
225
- i && ((c = v.value) != null && c.scrollIntoView) && ((C = v.value) == null || C.scrollIntoView({ behavior: "smooth" }), await $()), h.value = i, y.value = i;
233
+ var c, O;
234
+ i && ((c = v.value) != null && c.scrollIntoView) && ((O = v.value) == null || O.scrollIntoView(
235
+ e.scrollOptions != null ? e.scrollOptions : s
236
+ ), await P()), y.value = i, C.value = i;
226
237
  },
227
238
  { immediate: !0 }
228
- ), { __sfc: !0, props: e, t: s, emit: t, ACTION_SKIP: o, ACTION_START: l, ACTION_NEXT: r, ACTION_FINISH: u, ACTION_OK: p, isPopoverOpen: h, isIndicatorVisible: y, targetElement: v, isFirstStep: _, isLastStep: m, showSteps: O, menuData: B, computedActions: x, BentoMenu: I, BentoPopover: P, BentoTypography: k, BentoButtonActions: V, BentoImage: w, TutorialIndicator: Z };
239
+ ), { __sfc: !0, DEFAULT_SCROLL_OPTIONS: s, props: e, t: o, emit: t, ACTION_SKIP: l, ACTION_START: r, ACTION_NEXT: u, ACTION_FINISH: p, ACTION_OK: h, isPopoverOpen: y, isIndicatorVisible: C, targetElement: v, isFirstStep: _, isLastStep: m, showSteps: E, menuData: x, computedActions: R, BentoMenu: $, BentoPopover: k, BentoTypography: w, BentoButtonActions: M, BentoImage: A, TutorialIndicator: z };
229
240
  }
230
241
  });
231
- var Y = function() {
242
+ var tt = function() {
232
243
  var t = this, e = t._self._c, s = t._self._setupProxy;
233
244
  return t.active && s.targetElement ? e("div", [s.isIndicatorVisible && s.targetElement ? e(s.TutorialIndicator, { attrs: { "target-element": s.targetElement } }) : t._e(), e(s.BentoPopover, { staticClass: "b-tutorial-popover", attrs: { "target-element": s.targetElement, position: t.position, open: s.isPopoverOpen, "aria-label": t.title, "fixed-positioning": "" }, nativeOn: { keydown: function(o) {
234
245
  return !o.type.indexOf("key") && t._k(o.keyCode, "esc", 27, o.key, ["Esc", "Escape"]) ? null : s.emit("finish");
235
246
  } }, scopedSlots: t._u([t.image ? { key: "image", fn: function() {
236
247
  return [e(s.BentoImage, t._b({ staticClass: "b-tutorial-popover__image", attrs: { "aspect-ratio": "landscape" } }, "bento-image", t.image, !1))];
237
248
  }, proxy: !0 } : null], null, !0) }, [e("div", { staticClass: "b-tutorial-popover__ripple", attrs: { "aria-hidden": "true" } }), e("div", { staticClass: "b-tutorial-popover__header" }, [e(s.BentoTypography, { attrs: { variant: "title", el: "span" } }, [t._v(" " + t._s(t.title) + " ")]), s.showSteps ? e(s.BentoTypography, { staticClass: "b-tutorial-popover__steps", attrs: { el: "span" } }, [t._v(" " + t._s(s.t("stepsOfTotal", { step: t.step, totalSteps: t.totalSteps })) + " ")]) : t._e()], 1), e(s.BentoTypography, [t._t("default")], 2), e("div", { staticClass: "b-tutorial-popover__footer" }, [s.isFirstStep ? t._e() : e(s.BentoMenu, { staticClass: "b-tutorial-popover__menu", attrs: { data: s.menuData, "data-testid": "menu-button" } }), e("div", { staticClass: "b-tutorial-popover__actions" }, [e(s.BentoButtonActions, { attrs: { actions: s.computedActions, layout: "buttons-end" } })], 1)], 1)], 1)], 1) : t._e();
238
- }, tt = [], et = /* @__PURE__ */ f(
239
- Q,
249
+ }, et = [], st = /* @__PURE__ */ f(
240
250
  Y,
241
251
  tt,
252
+ et,
242
253
  !1,
243
254
  null,
244
- "95dd3753",
255
+ "ac66e07d",
245
256
  null,
246
257
  null
247
258
  );
248
- const st = et.exports, rt = {}, ot = /* @__PURE__ */ g({
259
+ const ot = st.exports, rt = {}, nt = /* @__PURE__ */ g({
249
260
  ...rt,
250
261
  __name: "tutorial",
251
262
  props: {
@@ -256,11 +267,20 @@ const st = et.exports, rt = {}, ot = /* @__PURE__ */ g({
256
267
  steps: {
257
268
  type: Array,
258
269
  required: !0,
259
- validator: (n) => n.length > 0
270
+ validator: (a) => a.length > 0
271
+ },
272
+ /**
273
+ * Options to control the scroll into view behavior.
274
+ * Takes the same options as the `scrollIntoView` function
275
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView}
276
+ */
277
+ scrollOptions: {
278
+ type: [Boolean, Object],
279
+ default: null
260
280
  }
261
281
  },
262
- setup(n) {
263
- const t = n, e = d(0), s = a(() => t.steps.length - 1), o = a(() => s.value === 0);
282
+ setup(a) {
283
+ const t = a, e = d(0), s = n(() => t.steps.length - 1), o = n(() => s.value === 0);
264
284
  function l(r, u) {
265
285
  return {
266
286
  // Visual
@@ -270,13 +290,14 @@ const st = et.exports, rt = {}, ot = /* @__PURE__ */ g({
270
290
  step: u,
271
291
  totalSteps: s.value,
272
292
  action: r.action,
293
+ scrollOptions: t.scrollOptions,
273
294
  // Config
274
295
  active: u === e.value,
275
296
  single: o.value,
276
297
  position: r.position
277
298
  };
278
299
  }
279
- return { __sfc: !0, props: t, currentStep: e, totalSteps: s, isSingleTutorial: o, getPopoverProps: l, TutorialPopover: st };
300
+ return { __sfc: !0, props: t, currentStep: e, totalSteps: s, isSingleTutorial: o, getPopoverProps: l, TutorialPopover: ot };
280
301
  }
281
302
  });
282
303
  var at = function() {
@@ -290,18 +311,18 @@ var at = function() {
290
311
  s.currentStep = 0;
291
312
  } } }, "tutorial-popover", s.getPopoverProps(o, l), !1), [t._v(" " + t._s(o.description) + " ")]);
292
313
  }), 1);
293
- }, nt = [], it = /* @__PURE__ */ f(
294
- ot,
295
- at,
314
+ }, it = [], lt = /* @__PURE__ */ f(
296
315
  nt,
316
+ at,
317
+ it,
297
318
  !1,
298
319
  null,
299
320
  null,
300
321
  null,
301
322
  null
302
323
  );
303
- const ht = it.exports;
324
+ const yt = lt.exports;
304
325
  export {
305
- ht as BentoTutorial
326
+ yt as BentoTutorial
306
327
  };
307
328
  //# sourceMappingURL=tutorial.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tutorial.js","sources":["../src/components/tutorial/components/tutorial-popover/components/tutorial-indicator/tutorial-indicator.vue","../../../node_modules/@adyen/ui-assets-icons-16/dist/vue/blocked.vue","../src/components/tutorial/components/tutorial-popover/tutorial-popover.vue","../src/components/tutorial/tutorial.vue"],"sourcesContent":["<template>\n <popper-container\n :target-element=\"targetElement\"\n :middleware=\"middleware\"\n position=\"top-start\"\n fixed-positioning\n disabled-focus-trap\n class=\"b-tutorial-indicator\"\n data-testid=\"tutorial-indicator\"\n >\n <div class=\"b-tutorial-indicator__highlight\" :style=\"computedStyles\"></div>\n </popper-container>\n</template>\n\n<script setup lang=\"ts\">\n import { ref } from 'vue';\n import { hide, type Middleware, offset } from '@floating-ui/vue';\n import { PopperContainer } from '@/components/popper-container';\n\n const BORDER_OFFSET = 2;\n\n defineProps({\n /**\n * Tutorial indicator's target element.\n * The indicator will position itself around the target element.\n */\n targetElement: {\n type: PopperContainer.props?.targetElement.type,\n required: true,\n },\n });\n\n const computedStyles = ref({\n width: '0',\n height: '0',\n borderRadius: '0',\n });\n\n function getBorderRadius(element: HTMLElement) {\n try {\n const radius = parseFloat(getComputedStyle(element).getPropertyValue('border-radius'));\n return Number.isNaN(radius) ? '' : `${radius + 2 * BORDER_OFFSET}px`;\n } catch {\n return '';\n }\n }\n\n const middleware = [\n hide(),\n offset({\n mainAxis: BORDER_OFFSET,\n alignmentAxis: -BORDER_OFFSET,\n }),\n {\n name: 'updateIndicatorSize',\n fn: ({ x, y, elements }) => {\n const target = elements.reference as HTMLElement;\n computedStyles.value.width = `${target.offsetWidth + 4 * BORDER_OFFSET}px`;\n computedStyles.value.height = `${target.offsetHeight + 4 * BORDER_OFFSET}px`;\n computedStyles.value.borderRadius = getBorderRadius(target);\n return { x, y };\n },\n } as Middleware,\n ];\n</script>\n\n<style lang=\"scss\" scoped src=\"./tutorial-indicator.scss\" />\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-icons-16-blocked__a' + uuid + ')'\"><path fill=\"#00112C\" d=\"M9.51195 0.398918C8.00859 0.0998821 6.45033 0.253358 5.0342 0.839937C3.61808 1.42652 2.40769 2.41985 1.55611 3.69433C0.704529 4.96881 0.25 6.4672 0.25 8C0.25 10.0554 1.06652 12.0267 2.51992 13.4801C3.97333 14.9335 5.94457 15.75 8 15.75C9.53281 15.75 11.0312 15.2955 12.3057 14.4439C13.5801 13.5923 14.5735 12.3819 15.1601 10.9658C15.7466 9.54967 15.9001 7.99141 15.6011 6.48805C15.3021 4.9847 14.5639 3.60378 13.4801 2.51993C12.3962 1.43607 11.0153 0.697953 9.51195 0.398918ZM5.60823 2.22576C6.75027 1.75271 8.00693 1.62894 9.21931 1.8701C10.4317 2.11125 11.5453 2.70651 12.4194 3.58059C13.2935 4.45466 13.8887 5.56831 14.1299 6.78069C14.3711 7.99307 14.2473 9.24974 13.7742 10.3918C13.5555 10.9198 13.2667 11.4124 12.9177 11.8573L4.14271 3.0823C4.58761 2.73333 5.08018 2.44448 5.60823 2.22576ZM3.08208 4.14298L11.857 12.9179C11.7327 13.0154 11.6044 13.1085 11.4723 13.1967C10.4445 13.8834 9.23613 14.25 8 14.25C6.3424 14.25 4.75268 13.5915 3.58058 12.4194C2.40848 11.2473 1.75 9.65761 1.75 8C1.75 6.76387 2.11656 5.5555 2.80331 4.52769C2.89155 4.39564 2.98456 4.26733 3.08208 4.14298Z\"/></g><defs><clipPath :id=\"'uia-icons-16-blocked__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n<style>\n @import '../css/main.css';\n</style>\n","<template>\n <div v-if=\"active && targetElement\">\n <tutorial-indicator v-if=\"isIndicatorVisible && targetElement\" :target-element=\"targetElement\" />\n\n <bento-popover\n :target-element=\"targetElement\"\n :position=\"position\"\n :open=\"isPopoverOpen\"\n :aria-label=\"title\"\n fixed-positioning\n class=\"b-tutorial-popover\"\n @keydown.esc.native=\"emit('finish')\"\n >\n <template v-if=\"image\" #image>\n <bento-image v-bind=\"image\" aspect-ratio=\"landscape\" class=\"b-tutorial-popover__image\" />\n </template>\n\n <div aria-hidden=\"true\" class=\"b-tutorial-popover__ripple\"></div>\n\n <div class=\"b-tutorial-popover__header\">\n <bento-typography variant=\"title\" el=\"span\"> {{ title }} </bento-typography>\n\n <bento-typography v-if=\"showSteps\" el=\"span\" class=\"b-tutorial-popover__steps\">\n {{ t('stepsOfTotal', { step, totalSteps }) }}\n </bento-typography>\n </div>\n\n <bento-typography>\n <slot />\n </bento-typography>\n\n <div class=\"b-tutorial-popover__footer\">\n <bento-menu\n v-if=\"!isFirstStep\"\n :data=\"menuData\"\n class=\"b-tutorial-popover__menu\"\n data-testid=\"menu-button\"\n />\n <div class=\"b-tutorial-popover__actions\">\n <bento-button-actions :actions=\"computedActions\" layout=\"buttons-end\" />\n </div>\n </div>\n </bento-popover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, isRef, nextTick, PropType, ref, type default as Vue, watch } from 'vue';\n import { BentoMenu } from '@/components/menu';\n import { BentoPopover, BentoPopoverPositions } from '@/components/popover';\n import { BentoTypography } from '@/components/typography';\n import { type BentoButtonActionObject, BentoButtonActions } from '@/components/button';\n import { BentoImage } from '@/components/image';\n import { TutorialIndicator } from './components/tutorial-indicator';\n import { useI18n } from '@/utils/ts/i18n';\n import type { BentoMenuItem } from '@/components/menu/components';\n import type { VueNodeElement } from '@/types';\n import type { BentoTutorialStep } from '../../tutorial.types';\n import RefreshIcon from '@adyen/ui-assets-icons-16/vue/refresh';\n import BlockedIcon from '@adyen/ui-assets-icons-16/vue/blocked';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const props = defineProps({\n /**\n * Optional configuration for the secondary action.\n * In tour tutorials, this is ignored for the introductory step.\n */\n action: {\n type: Object as PropType<BentoButtonActionObject>,\n default: null,\n },\n\n /**\n * Indicates whether this popover is the active step (and should be visible).\n */\n active: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Optional illustration to display at the top of the popover.\n */\n image: {\n type: Object as PropType<BentoTutorialStep['image']>,\n default: null,\n },\n\n /**\n * Popover's position relative to the target element.\n * Possible values are:\n * 'auto', 'auto-start', 'auto-end',\n * 'top', 'top-start', 'top-end'\n * 'right', 'right-start', 'right-end'\n * 'bottom', 'bottom-start', 'bottom-end'\n * 'left', 'left-start', 'left-end'\n */\n position: {\n type: String as PropType<`${BentoPopoverPositions}`>,\n default: BentoPopoverPositions.BOTTOM_START,\n validator: (value: BentoPopoverPositions) => Object.values(BentoPopoverPositions).includes(value),\n },\n\n /**\n * Indicates whether this popover is a single tutorial or a tour.\n */\n single: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The tutorial step number.\n * In tour tutorials, `0` is the introductory step, and is displayed next\n * to the title.\n */\n step: {\n type: Number,\n default: null,\n },\n\n /**\n * Tutorial popover's target element.\n * The popover will position itself relatively to target element.\n */\n targetElement: {\n type: [Element, Object] as PropType<VueNodeElement>,\n required: true,\n },\n\n /**\n * The tutorial step title.\n */\n title: {\n type: String,\n required: true,\n },\n\n /**\n * Total count of steps.\n * In tour tutorials, this does not include the introductory step, and is\n * displayed next to the title.\n */\n totalSteps: {\n type: Number,\n default: null,\n },\n });\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const emit = defineEmits<{\n /**\n * Emitted when the user clicks the primary action in popovers during introductory or intermediate steps of tour tutorials\n */\n (e: 'next'): void;\n\n /**\n * Emitted when the user clicks the primary action in a single tutorial, the last step of a tour, or skips the tutorial\n */\n (e: 'finish'): void;\n\n /**\n * Emitted when the user selects the restart tour option\n */\n (e: 'restart'): void;\n }>();\n\n const ACTION_SKIP = computed<BentoButtonActionObject>(() => ({\n title: t('skipTour') as string,\n event: () => emit('finish'),\n }));\n\n const ACTION_START = computed<BentoButtonActionObject>(() => ({\n title: t('startTour') as string,\n event: () => emit('next'),\n }));\n\n const ACTION_NEXT = computed<BentoButtonActionObject>(() => ({\n title: t('next') as string,\n event: () => emit('next'),\n }));\n\n const ACTION_FINISH = computed<BentoButtonActionObject>(() => ({\n title: t('finish') as string,\n event: () => emit('finish'),\n }));\n\n const ACTION_OK = computed<BentoButtonActionObject>(() => ({\n title: t('ok') as string,\n event: () => emit('finish'),\n }));\n\n const isPopoverOpen = ref(false);\n const isIndicatorVisible = ref(false);\n\n const targetElement = computed(() => {\n if (isRef(props.targetElement)) {\n return ((props.targetElement.value as Vue)?.$el || props.targetElement.value) as HTMLElement;\n }\n return ((props.targetElement as Vue).$el || props.targetElement) as HTMLElement;\n });\n\n const isFirstStep = computed(() => props.step === 0);\n const isLastStep = computed(() => props.step === props.totalSteps);\n\n const showSteps = computed(() => !isFirstStep.value);\n\n const menuData = computed<BentoMenuItem[]>(() => [\n {\n text: t('restartTour'),\n handler: () => emit('restart'),\n icon: RefreshIcon,\n },\n ...(isLastStep.value\n ? []\n : [\n {\n text: 'Skip tour',\n handler: () => emit('finish'),\n icon: BlockedIcon,\n },\n ]),\n ]);\n\n const computedActions = computed(() => {\n let primaryAction: BentoButtonActionObject;\n if (isFirstStep.value) {\n primaryAction = props.single ? ACTION_OK.value : ACTION_START.value;\n } else if (isLastStep.value) {\n primaryAction = ACTION_FINISH.value;\n } else {\n primaryAction = ACTION_NEXT.value;\n }\n\n const actions = [primaryAction];\n if (isFirstStep.value && !props.single) {\n actions.push(ACTION_SKIP.value);\n } else if (props.action) {\n actions.push(props.action);\n }\n\n return actions;\n });\n\n watch(\n () => props.active,\n async isActive => {\n if (isActive && targetElement.value?.scrollIntoView) {\n targetElement.value?.scrollIntoView({ behavior: 'smooth' });\n\n // Skip to next tick to preserve popover appear animation\n await nextTick();\n }\n\n isPopoverOpen.value = isActive;\n isIndicatorVisible.value = isActive;\n },\n { immediate: true }\n );\n</script>\n\n<script lang=\"ts\">\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./tutorial-popover.scss\" />\n","<template>\n <div class=\"b-tutorial\">\n <tutorial-popover\n v-for=\"(step, index) in steps\"\n v-bind=\"getPopoverProps(step, index)\"\n :key=\"step.title\"\n @finish=\"currentStep = -1\"\n @next=\"currentStep += 1\"\n @restart=\"currentStep = 0\"\n >\n {{ step.description }}\n </tutorial-popover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, PropType, ref } from 'vue';\n import { TutorialPopover } from './components/tutorial-popover';\n import type { BentoTutorialStep } from './tutorial.types';\n\n const props = defineProps({\n /**\n * The steps configuration for the tutorial.\n *\n */\n steps: {\n type: Array as PropType<BentoTutorialStep[]>,\n required: true,\n validator: (value: BentoTutorialStep[]) => value.length > 0,\n },\n });\n\n const currentStep = ref(0);\n\n const totalSteps = computed(() => props.steps.length - 1);\n const isSingleTutorial = computed(() => totalSteps.value === 0);\n\n function getPopoverProps(step: BentoTutorialStep, index: number) {\n return {\n // Visual\n targetElement: step.target,\n image: step.image,\n title: step.title,\n step: index,\n totalSteps: totalSteps.value,\n action: step.action,\n\n // Config\n active: index === currentStep.value,\n single: isSingleTutorial.value,\n position: step.position,\n };\n }\n</script>\n\n<script lang=\"ts\">\n /**\n * The Tutorial is a temporary popover that should be used to educate users about\n * new or unfamiliar features or experiences.\n *\n * You can use single tutorial or chain them into a tour.\n *\n * Only use this component for new features/experiences that are not obvious and\n * self-explanatory on their own.\n *\n * @example\n * import { BentoTutorial } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoTutorial },\n * template: `\n * <bento-tutorial\n * :steps=\"[\n * {\n * target: targetElement1,\n * title: 'Tutorial intro title',\n * description: 'Intro body content',\n * image: { src: imageSource, alt: 'Alt text' }\n * },\n * {\n * target: targetElement1,\n * title: 'Tutorial intro title',\n * description: 'Intro body content',\n * action: { title: 'Action label', event: () => {} }\n * },\n * ]\"\n * />\n * `\n * }\n */\n export default {};\n</script>\n"],"names":["computedStyles","ref","getBorderRadius","element","radius","middleware","hide","offset","x","y","elements","target","uuid","_sfc_main$2","__default__$1","messages","t","useI18n","ACTION_SKIP","computed","emit","ACTION_START","ACTION_NEXT","ACTION_FINISH","ACTION_OK","isPopoverOpen","isIndicatorVisible","targetElement","isRef","props","_a","isFirstStep","isLastStep","showSteps","menuData","RefreshIcon","BlockedIcon","computedActions","primaryAction","actions","watch","isActive","_b","nextTick","__default__","currentStep","totalSteps","isSingleTutorial","getPopoverProps","step","index"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAgCI,UAAAA,IAAAC,EAAA;AAAA,MAA2B,OAAA;AAAA,MAChB,QAAA;AAAA,MACC,cAAA;AAAA,IACM,CAAA;AAGlB,aAAAC,EAAAC,GAAA;AACI,UAAA;AACI,cAAAC,IAAA,WAAA,iBAAAD,CAAA,EAAA,iBAAA,eAAA,CAAA;AACA,eAAA,OAAA,MAAAC,CAAA,IAAA,KAAA,GAAAA,IAAA,IAAA;AAAA,MAAmD,QAAA;AAEnD,eAAA;AAAA,MAAO;AAAA,IACX;AAGJ,UAAAC,IAAA;AAAA,MAAmBC,EAAA;AAAA,MACVC,EAAA;AAAA,QACE,UAAA;AAAA,QACO,eAAA;AAAA,MACM,CAAA;AAAA,MACnB;AAAA,QACD,MAAA;AAAA,QACU,IAAA,CAAA,EAAA,GAAAC,GAAA,GAAAC,GAAA,UAAAC,EAAA,MAAA;AAEF,gBAAAC,IAAAD,EAAA;AACA,iBAAAV,EAAA,MAAA,QAAA,GAAAW,EAAA,cAAA,IAAA,OACAX,EAAA,MAAA,SAAA,GAAAW,EAAA,eAAA,IAAA,OACAX,EAAA,MAAA,eAAAE,EAAAS,CAAA,GACA,EAAA,GAAAH,GAAA,GAAAC,EAAA;AAAA,QAAc;AAAA,MAClB;AAAA,IACJ;;;;;;;;;;;;;;;;;;ACzDR,IAAAG,IAAA;AAEA,MAAAC,IAAA;AAAA,EACA,eAAA;AACA,SAAA,OAAAD,EAAA,SAAA,GACAA,KAAA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;GC8PIE,IAAA;AAAA,EAAe,MAAA,EAAA,UAAAC,EAAA;AAEf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBApHA,EAAA,GAAAC,EAAA,IAAAC,EAAA,GAmBAC,IAAAC,EAAA,OAAA;AAAA,MAA6D,OAAAH,EAAA,UAAA;AAAA,MACtC,OAAA,MAAAI,EAAA,QAAA;AAAA,IACO,EAAA,GAG9BC,IAAAF,EAAA,OAAA;AAAA,MAA8D,OAAAH,EAAA,WAAA;AAAA,MACtC,OAAA,MAAAI,EAAA,MAAA;AAAA,IACI,EAAA,GAG5BE,IAAAH,EAAA,OAAA;AAAA,MAA6D,OAAAH,EAAA,MAAA;AAAA,MAC1C,OAAA,MAAAI,EAAA,MAAA;AAAA,IACS,EAAA,GAG5BG,IAAAJ,EAAA,OAAA;AAAA,MAA+D,OAAAH,EAAA,QAAA;AAAA,MAC1C,OAAA,MAAAI,EAAA,QAAA;AAAA,IACS,EAAA,GAG9BI,IAAAL,EAAA,OAAA;AAAA,MAA2D,OAAAH,EAAA,IAAA;AAAA,MAC1C,OAAA,MAAAI,EAAA,QAAA;AAAA,IACa,EAAA,GAG9BK,IAAAxB,EAAA,EAAA,GACAyB,IAAAzB,EAAA,EAAA,GAEA0B,IAAAR,EAAA,MAAA;;AACI,aAAAS,EAAAC,EAAA,aAAA,MACIC,IAAAD,EAAA,cAAA,UAAA,gBAAAC,EAAA,QAAAD,EAAA,cAAA,QAEJA,EAAA,cAAA,OAAAA,EAAA;AAAA,IAAkD,CAAA,GAGtDE,IAAAZ,EAAA,MAAAU,EAAA,SAAA,CAAA,GACAG,IAAAb,EAAA,MAAAU,EAAA,SAAAA,EAAA,UAAA,GAEAI,IAAAd,EAAA,MAAA,CAAAY,EAAA,KAAA,GAEAG,IAAAf,EAAA,MAAA;AAAA,MAAiD;AAAA,QAC7C,MAAAH,EAAA,aAAA;AAAA,QACyB,SAAA,MAAAI,EAAA,SAAA;AAAA,QACQ,MAAAe;AAAA,MACvB;AAAA,MACV,GAAAH,EAAA,QAAA,CAAA,IAAA;AAAA,QAGM;AAAA,UACI,MAAA;AAAA,UACU,SAAA,MAAAZ,EAAA,QAAA;AAAA,UACsB,MAAAgB;AAAA,QACtB;AAAA,MACV;AAAA,IACJ,CAAA,GAGVC,IAAAlB,EAAA,MAAA;AACI,UAAAmB;AACA,MAAAP,EAAA,QACIO,IAAAT,EAAA,SAAAL,EAAA,QAAAH,EAAA,QAA8DW,EAAA,QAE9DM,IAAAf,EAAA,QAEAe,IAAAhB,EAAA;AAGJ,YAAAiB,IAAA,CAAAD,CAAA;AACA,aAAAP,EAAA,SAAA,CAAAF,EAAA,SACIU,EAAA,KAAArB,EAAA,KAAA,IAA8BW,EAAA,UAE9BU,EAAA,KAAAV,EAAA,MAAA,GAGJU;AAAA,IAAO,CAAA;AAGX,WAAAC;AAAA,MAAA,MAAAX,EAAA;AAAA,MACgB,OAAAY,MAAA;;AAER,QAAAA,OAAAX,IAAAH,EAAA,UAAA,QAAAG,EAAA,qBACIY,IAAAf,EAAA,UAAA,QAAAe,EAAA,eAAA,EAAA,UAAA,SAAA,IAGA,MAAAC,EAAA,IAGJlB,EAAA,QAAAgB,GACAf,EAAA,QAAAe;AAAA,MAA2B;AAAA,MAC/B,EAAA,WAAA,GAAA;AAAA,IACkB;;;;;;;;;;;;;;;;;;;;uBC3KtBG,KAAA,CAAA;;;;;;;;;;;;;;;iBA1DAC,IAAA5C,EAAA,CAAA,GAEA6C,IAAA3B,EAAA,MAAAU,EAAA,MAAA,SAAA,CAAA,GACAkB,IAAA5B,EAAA,MAAA2B,EAAA,UAAA,CAAA;AAEA,aAAAE,EAAAC,GAAAC,GAAA;AACI,aAAA;AAAA;AAAA,QAAO,eAAAD,EAAA;AAAA,QAEiB,OAAAA,EAAA;AAAA,QACR,OAAAA,EAAA;AAAA,QACA,MAAAC;AAAA,QACN,YAAAJ,EAAA;AAAA,QACiB,QAAAG,EAAA;AAAA;AAAA,QACV,QAAAC,MAAAL,EAAA;AAAA,QAGiB,QAAAE,EAAA;AAAA,QACL,UAAAE,EAAA;AAAA,MACV;AAAA,IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[1]}
1
+ {"version":3,"file":"tutorial.js","sources":["../src/components/tutorial/components/tutorial-popover/components/tutorial-indicator/tutorial-indicator.vue","../../../node_modules/@adyen/ui-assets-icons-16/dist/vue/blocked.vue","../src/components/tutorial/components/tutorial-popover/tutorial-popover.vue","../src/components/tutorial/tutorial.vue"],"sourcesContent":["<template>\n <popper-container\n :target-element=\"targetElement\"\n :middleware=\"middleware\"\n position=\"top-start\"\n fixed-positioning\n disabled-focus-trap\n class=\"b-tutorial-indicator\"\n data-testid=\"tutorial-indicator\"\n >\n <div class=\"b-tutorial-indicator__highlight\" :style=\"computedStyles\"></div>\n </popper-container>\n</template>\n\n<script setup lang=\"ts\">\n import { ref } from 'vue';\n import { hide, type Middleware, offset } from '@floating-ui/vue';\n import { PopperContainer } from '@/components/popper-container';\n\n const BORDER_OFFSET = 2;\n\n defineProps({\n /**\n * Tutorial indicator's target element.\n * The indicator will position itself around the target element.\n */\n targetElement: {\n type: PopperContainer.props?.targetElement.type,\n required: true,\n },\n });\n\n const computedStyles = ref({\n width: '0',\n height: '0',\n borderRadius: '0',\n });\n\n function getBorderRadius(element: HTMLElement) {\n try {\n const radius = parseFloat(getComputedStyle(element).getPropertyValue('border-radius'));\n return Number.isNaN(radius) ? '' : `${radius + 2 * BORDER_OFFSET}px`;\n } catch {\n return '';\n }\n }\n\n const middleware = [\n hide(),\n offset({\n mainAxis: BORDER_OFFSET,\n alignmentAxis: -BORDER_OFFSET,\n }),\n {\n name: 'updateIndicatorSize',\n fn: ({ x, y, elements }) => {\n const target = elements.reference as HTMLElement;\n computedStyles.value.width = `${target.offsetWidth + 4 * BORDER_OFFSET}px`;\n computedStyles.value.height = `${target.offsetHeight + 4 * BORDER_OFFSET}px`;\n computedStyles.value.borderRadius = getBorderRadius(target);\n return { x, y };\n },\n } as Middleware,\n ];\n</script>\n\n<style lang=\"scss\" scoped src=\"./tutorial-indicator.scss\" />\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-icons-16-blocked__a' + uuid + ')'\"><path fill=\"#00112C\" d=\"M9.51195 0.398918C8.00859 0.0998821 6.45033 0.253358 5.0342 0.839937C3.61808 1.42652 2.40769 2.41985 1.55611 3.69433C0.704529 4.96881 0.25 6.4672 0.25 8C0.25 10.0554 1.06652 12.0267 2.51992 13.4801C3.97333 14.9335 5.94457 15.75 8 15.75C9.53281 15.75 11.0312 15.2955 12.3057 14.4439C13.5801 13.5923 14.5735 12.3819 15.1601 10.9658C15.7466 9.54967 15.9001 7.99141 15.6011 6.48805C15.3021 4.9847 14.5639 3.60378 13.4801 2.51993C12.3962 1.43607 11.0153 0.697953 9.51195 0.398918ZM5.60823 2.22576C6.75027 1.75271 8.00693 1.62894 9.21931 1.8701C10.4317 2.11125 11.5453 2.70651 12.4194 3.58059C13.2935 4.45466 13.8887 5.56831 14.1299 6.78069C14.3711 7.99307 14.2473 9.24974 13.7742 10.3918C13.5555 10.9198 13.2667 11.4124 12.9177 11.8573L4.14271 3.0823C4.58761 2.73333 5.08018 2.44448 5.60823 2.22576ZM3.08208 4.14298L11.857 12.9179C11.7327 13.0154 11.6044 13.1085 11.4723 13.1967C10.4445 13.8834 9.23613 14.25 8 14.25C6.3424 14.25 4.75268 13.5915 3.58058 12.4194C2.40848 11.2473 1.75 9.65761 1.75 8C1.75 6.76387 2.11656 5.5555 2.80331 4.52769C2.89155 4.39564 2.98456 4.26733 3.08208 4.14298Z\"/></g><defs><clipPath :id=\"'uia-icons-16-blocked__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n<style>\n @import '../css/main.css';\n</style>\n","<template>\n <div v-if=\"active && targetElement\">\n <tutorial-indicator v-if=\"isIndicatorVisible && targetElement\" :target-element=\"targetElement\" />\n\n <bento-popover\n :target-element=\"targetElement\"\n :position=\"position\"\n :open=\"isPopoverOpen\"\n :aria-label=\"title\"\n fixed-positioning\n class=\"b-tutorial-popover\"\n @keydown.esc.native=\"emit('finish')\"\n >\n <template v-if=\"image\" #image>\n <bento-image v-bind=\"image\" aspect-ratio=\"landscape\" class=\"b-tutorial-popover__image\" />\n </template>\n\n <div aria-hidden=\"true\" class=\"b-tutorial-popover__ripple\"></div>\n\n <div class=\"b-tutorial-popover__header\">\n <bento-typography variant=\"title\" el=\"span\"> {{ title }} </bento-typography>\n\n <bento-typography v-if=\"showSteps\" el=\"span\" class=\"b-tutorial-popover__steps\">\n {{ t('stepsOfTotal', { step, totalSteps }) }}\n </bento-typography>\n </div>\n\n <bento-typography>\n <slot />\n </bento-typography>\n\n <div class=\"b-tutorial-popover__footer\">\n <bento-menu\n v-if=\"!isFirstStep\"\n :data=\"menuData\"\n class=\"b-tutorial-popover__menu\"\n data-testid=\"menu-button\"\n />\n <div class=\"b-tutorial-popover__actions\">\n <bento-button-actions :actions=\"computedActions\" layout=\"buttons-end\" />\n </div>\n </div>\n </bento-popover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, isRef, nextTick, PropType, ref, type default as Vue, watch } from 'vue';\n import { BentoMenu } from '@/components/menu';\n import { BentoPopover, BentoPopoverPositions } from '@/components/popover';\n import { BentoTypography } from '@/components/typography';\n import { type BentoButtonActionObject, BentoButtonActions } from '@/components/button';\n import { BentoImage } from '@/components/image';\n import { TutorialIndicator } from './components/tutorial-indicator';\n import { useI18n } from '@/utils/ts/i18n';\n import type { BentoMenuItem } from '@/components/menu/components';\n import type { VueNodeElement } from '@/types';\n import type { BentoTutorialScrollOptions, BentoTutorialStep } from '../../tutorial.types';\n import RefreshIcon from '@adyen/ui-assets-icons-16/vue/refresh';\n import BlockedIcon from '@adyen/ui-assets-icons-16/vue/blocked';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const DEFAULT_SCROLL_OPTIONS: BentoTutorialScrollOptions = { behavior: 'smooth' };\n\n const props = defineProps({\n /**\n * Optional configuration for the secondary action.\n * In tour tutorials, this is ignored for the introductory step.\n */\n action: {\n type: Object as PropType<BentoButtonActionObject>,\n default: null,\n },\n\n /**\n * Indicates whether this popover is the active step (and should be visible).\n */\n active: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Optional illustration to display at the top of the popover.\n */\n image: {\n type: Object as PropType<BentoTutorialStep['image']>,\n default: null,\n },\n\n /**\n * Popover's position relative to the target element.\n * Possible values are:\n * 'auto', 'auto-start', 'auto-end',\n * 'top', 'top-start', 'top-end'\n * 'right', 'right-start', 'right-end'\n * 'bottom', 'bottom-start', 'bottom-end'\n * 'left', 'left-start', 'left-end'\n */\n position: {\n type: String as PropType<`${BentoPopoverPositions}`>,\n default: BentoPopoverPositions.BOTTOM_START,\n validator: (value: BentoPopoverPositions) => Object.values(BentoPopoverPositions).includes(value),\n },\n\n /**\n * Options to control the scroll into view behavior.\n * Takes the same options as the `scrollIntoView` function\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView}\n */\n scrollOptions: {\n type: [Boolean, Object] as PropType<BentoTutorialScrollOptions>,\n default: null,\n },\n\n /**\n * Indicates whether this popover is a single tutorial or a tour.\n */\n single: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The tutorial step number.\n * In tour tutorials, `0` is the introductory step, and is displayed next\n * to the title.\n */\n step: {\n type: Number,\n default: null,\n },\n\n /**\n * Tutorial popover's target element.\n * The popover will position itself relatively to target element.\n */\n targetElement: {\n type: [Element, Object] as PropType<VueNodeElement>,\n required: true,\n },\n\n /**\n * The tutorial step title.\n */\n title: {\n type: String,\n required: true,\n },\n\n /**\n * Total count of steps.\n * In tour tutorials, this does not include the introductory step, and is\n * displayed next to the title.\n */\n totalSteps: {\n type: Number,\n default: null,\n },\n });\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const emit = defineEmits<{\n /**\n * Emitted when the user clicks the primary action in popovers during introductory or intermediate steps of tour tutorials\n */\n (e: 'next'): void;\n\n /**\n * Emitted when the user clicks the primary action in a single tutorial, the last step of a tour, or skips the tutorial\n */\n (e: 'finish'): void;\n\n /**\n * Emitted when the user selects the restart tour option\n */\n (e: 'restart'): void;\n }>();\n\n const ACTION_SKIP = computed<BentoButtonActionObject>(() => ({\n title: t('skipTour') as string,\n event: () => emit('finish'),\n }));\n\n const ACTION_START = computed<BentoButtonActionObject>(() => ({\n title: t('startTour') as string,\n event: () => emit('next'),\n }));\n\n const ACTION_NEXT = computed<BentoButtonActionObject>(() => ({\n title: t('next') as string,\n event: () => emit('next'),\n }));\n\n const ACTION_FINISH = computed<BentoButtonActionObject>(() => ({\n title: t('finish') as string,\n event: () => emit('finish'),\n }));\n\n const ACTION_OK = computed<BentoButtonActionObject>(() => ({\n title: t('ok') as string,\n event: () => emit('finish'),\n }));\n\n const isPopoverOpen = ref(false);\n const isIndicatorVisible = ref(false);\n\n const targetElement = computed(() => {\n if (isRef(props.targetElement)) {\n return ((props.targetElement.value as Vue)?.$el || props.targetElement.value) as HTMLElement;\n }\n return ((props.targetElement as Vue).$el || props.targetElement) as HTMLElement;\n });\n\n const isFirstStep = computed(() => props.step === 0);\n const isLastStep = computed(() => props.step === props.totalSteps);\n\n const showSteps = computed(() => !isFirstStep.value);\n\n const menuData = computed<BentoMenuItem[]>(() => [\n {\n text: t('restartTour'),\n handler: () => emit('restart'),\n icon: RefreshIcon,\n },\n ...(isLastStep.value\n ? []\n : [\n {\n text: 'Skip tour',\n handler: () => emit('finish'),\n icon: BlockedIcon,\n },\n ]),\n ]);\n\n const computedActions = computed(() => {\n let primaryAction: BentoButtonActionObject;\n if (isFirstStep.value) {\n primaryAction = props.single ? ACTION_OK.value : ACTION_START.value;\n } else if (isLastStep.value) {\n primaryAction = ACTION_FINISH.value;\n } else {\n primaryAction = ACTION_NEXT.value;\n }\n\n const actions = [primaryAction];\n if (isFirstStep.value && !props.single) {\n actions.push(ACTION_SKIP.value);\n } else if (props.action) {\n actions.push(props.action);\n }\n\n return actions;\n });\n\n watch(\n () => props.active,\n async isActive => {\n if (isActive && targetElement.value?.scrollIntoView) {\n targetElement.value?.scrollIntoView(\n props.scrollOptions != null ? props.scrollOptions : DEFAULT_SCROLL_OPTIONS\n );\n\n // Skip to next tick to preserve popover appear animation\n await nextTick();\n }\n\n isPopoverOpen.value = isActive;\n isIndicatorVisible.value = isActive;\n },\n { immediate: true }\n );\n</script>\n\n<script lang=\"ts\">\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./tutorial-popover.scss\" />\n","<template>\n <div class=\"b-tutorial\">\n <tutorial-popover\n v-for=\"(step, index) in steps\"\n v-bind=\"getPopoverProps(step, index)\"\n :key=\"step.title\"\n @finish=\"currentStep = -1\"\n @next=\"currentStep += 1\"\n @restart=\"currentStep = 0\"\n >\n {{ step.description }}\n </tutorial-popover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, PropType, ref } from 'vue';\n import { TutorialPopover } from './components/tutorial-popover';\n import type { BentoTutorialScrollOptions, BentoTutorialStep } from './tutorial.types';\n\n const props = defineProps({\n /**\n * The steps configuration for the tutorial.\n *\n */\n steps: {\n type: Array as PropType<BentoTutorialStep[]>,\n required: true,\n validator: (value: BentoTutorialStep[]) => value.length > 0,\n },\n\n /**\n * Options to control the scroll into view behavior.\n * Takes the same options as the `scrollIntoView` function\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView}\n */\n scrollOptions: {\n type: [Boolean, Object] as PropType<BentoTutorialScrollOptions>,\n default: null,\n },\n });\n\n const currentStep = ref(0);\n\n const totalSteps = computed(() => props.steps.length - 1);\n const isSingleTutorial = computed(() => totalSteps.value === 0);\n\n function getPopoverProps(step: BentoTutorialStep, index: number) {\n return {\n // Visual\n targetElement: step.target,\n image: step.image,\n title: step.title,\n step: index,\n totalSteps: totalSteps.value,\n action: step.action,\n scrollOptions: props.scrollOptions,\n\n // Config\n active: index === currentStep.value,\n single: isSingleTutorial.value,\n position: step.position,\n };\n }\n</script>\n\n<script lang=\"ts\">\n /**\n * The Tutorial is a temporary popover that should be used to educate users about\n * new or unfamiliar features or experiences.\n *\n * You can use single tutorial or chain them into a tour.\n *\n * Only use this component for new features/experiences that are not obvious and\n * self-explanatory on their own.\n *\n * @example\n * import { BentoTutorial } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoTutorial },\n * template: `\n * <bento-tutorial\n * :steps=\"[\n * {\n * target: targetElement1,\n * title: 'Tutorial intro title',\n * description: 'Intro body content',\n * image: { src: imageSource, alt: 'Alt text' }\n * },\n * {\n * target: targetElement1,\n * title: 'Tutorial intro title',\n * description: 'Intro body content',\n * action: { title: 'Action label', event: () => {} }\n * },\n * ]\"\n * />\n * `\n * }\n */\n export default {};\n</script>\n"],"names":["computedStyles","ref","getBorderRadius","element","radius","middleware","hide","offset","x","y","elements","target","uuid","_sfc_main$2","__default__$1","messages","DEFAULT_SCROLL_OPTIONS","t","useI18n","ACTION_SKIP","computed","emit","ACTION_START","ACTION_NEXT","ACTION_FINISH","ACTION_OK","isPopoverOpen","isIndicatorVisible","targetElement","isRef","props","_a","isFirstStep","isLastStep","showSteps","menuData","RefreshIcon","BlockedIcon","computedActions","primaryAction","actions","watch","isActive","_b","nextTick","__default__","currentStep","totalSteps","isSingleTutorial","getPopoverProps","step","index"],"mappings":"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","x_google_ignoreList":[1]}
@@ -1,4 +1,4 @@
1
- import { B as p, c as e, b as r, a as y } from "./chunks/index.ba6c1040.js";
1
+ import { B as p, c as e, b as r, a as y } from "./chunks/index.dd30e538.js";
2
2
  export {
3
3
  p as BentoTypography,
4
4
  e as BentoTypographyElement,