@adyen/bento-vue3 1.65.0 → 1.66.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 (183) hide show
  1. package/dist/@types/index.d.ts +445 -232
  2. package/dist/action-bar.js +1 -1
  3. package/dist/assets/accordion-item.css +1 -1
  4. package/dist/assets/action-bar.css +1 -1
  5. package/dist/assets/base-modal.css +1 -1
  6. package/dist/assets/button-actions-with-menu.css +1 -1
  7. package/dist/assets/card.css +1 -1
  8. package/dist/assets/copy.css +1 -1
  9. package/dist/assets/data-grid-template.css +1 -1
  10. package/dist/assets/data-grid.css +1 -1
  11. package/dist/assets/date.css +1 -1
  12. package/dist/assets/dialog-page.css +1 -1
  13. package/dist/assets/dropdown.css +1 -1
  14. package/dist/assets/file-uploader.css +1 -1
  15. package/dist/assets/filter-bar.css +1 -1
  16. package/dist/assets/header.css +1 -1
  17. package/dist/assets/info-icon.css +1 -1
  18. package/dist/assets/input-field-password.css +1 -1
  19. package/dist/assets/inspector.css +1 -1
  20. package/dist/assets/menu.css +1 -1
  21. package/dist/assets/modal-fullscreen.css +1 -1
  22. package/dist/assets/pagination.css +1 -1
  23. package/dist/assets/popover.css +1 -1
  24. package/dist/assets/sidepanel.css +1 -1
  25. package/dist/assets/step.css +1 -1
  26. package/dist/assets/summary-grid.css +1 -1
  27. package/dist/assets/tab.css +1 -0
  28. package/dist/assets/textarea.css +1 -1
  29. package/dist/assets/use-cached-selected-values.css +1 -1
  30. package/dist/checkbox.js +2 -2
  31. package/dist/chunks/{action-bar.BAfqAQjP.js → action-bar.OzhLTUKc.js} +38 -38
  32. package/dist/chunks/action-bar.OzhLTUKc.js.map +1 -0
  33. package/dist/chunks/button-actions-with-menu.xZYmwO7S.js +91 -0
  34. package/dist/chunks/button-actions-with-menu.xZYmwO7S.js.map +1 -0
  35. package/dist/chunks/calendar._oPk_A1C.js +2209 -0
  36. package/dist/chunks/calendar._oPk_A1C.js.map +1 -0
  37. package/dist/chunks/{checkbox-group.BKsddn67.js → checkbox-group.Dc5Olq0c.js} +4 -4
  38. package/dist/chunks/{checkbox-group.BKsddn67.js.map → checkbox-group.Dc5Olq0c.js.map} +1 -1
  39. package/dist/chunks/{checkbox.C1y3Ad4Z.js → checkbox.fkPJvdUo.js} +2 -2
  40. package/dist/chunks/{checkbox.C1y3Ad4Z.js.map → checkbox.fkPJvdUo.js.map} +1 -1
  41. package/dist/chunks/{code-snippet.Bj5SAyT-.js → code-snippet.DPIhpuKa.js} +3 -3
  42. package/dist/chunks/{code-snippet.Bj5SAyT-.js.map → code-snippet.DPIhpuKa.js.map} +1 -1
  43. package/dist/chunks/{controls-group.DD1m4EKn.js → controls-group.CrzkSu0U.js} +2 -2
  44. package/dist/chunks/{controls-group.DD1m4EKn.js.map → controls-group.CrzkSu0U.js.map} +1 -1
  45. package/dist/chunks/copy.RUoQOydT.js +118 -0
  46. package/dist/chunks/copy.RUoQOydT.js.map +1 -0
  47. package/dist/chunks/{dashboard-section.C6FNJuEz.js → dashboard-section.BmtN9b0B.js} +3 -3
  48. package/dist/chunks/{dashboard-section.C6FNJuEz.js.map → dashboard-section.BmtN9b0B.js.map} +1 -1
  49. package/dist/chunks/data-grid-template.DAuqLhPI.js +144 -0
  50. package/dist/chunks/data-grid-template.DAuqLhPI.js.map +1 -0
  51. package/dist/chunks/{data-grid.DroQMKSc.js → data-grid.BrYCmbPR.js} +10 -10
  52. package/dist/chunks/{data-grid.DroQMKSc.js.map → data-grid.BrYCmbPR.js.map} +1 -1
  53. package/dist/chunks/{date-picker.BuX2J2OW.js → date-picker.Bk4FNLyR.js} +33 -34
  54. package/dist/chunks/{date-picker.BuX2J2OW.js.map → date-picker.Bk4FNLyR.js.map} +1 -1
  55. package/dist/chunks/{date-range-picker.C2x1_xoz.js → date-range-picker.-YsRuGmp.js} +36 -37
  56. package/dist/chunks/{date-range-picker.C2x1_xoz.js.map → date-range-picker.-YsRuGmp.js.map} +1 -1
  57. package/dist/chunks/date.DSjCnSgL.js +163 -0
  58. package/dist/chunks/date.DSjCnSgL.js.map +1 -0
  59. package/dist/chunks/{dropdown-tag.Dm-1VD3B.js → dropdown-tag.BUDNO3d0.js} +2 -2
  60. package/dist/chunks/{dropdown-tag.Dm-1VD3B.js.map → dropdown-tag.BUDNO3d0.js.map} +1 -1
  61. package/dist/chunks/{dropdown.Bj6DK-2v.js → dropdown.usAqDecC.js} +307 -312
  62. package/dist/chunks/{dropdown.Bj6DK-2v.js.map → dropdown.usAqDecC.js.map} +1 -1
  63. package/dist/chunks/{error-message.DZWphzoT.js → error-message.DHMHq9bR.js} +2 -2
  64. package/dist/chunks/{error-message.DZWphzoT.js.map → error-message.DHMHq9bR.js.map} +1 -1
  65. package/dist/chunks/es6.n1ewaW31.js.map +1 -1
  66. package/dist/chunks/{file-uploader.C8DwUCMp.js → file-uploader.B_EI2fAc.js} +523 -523
  67. package/dist/chunks/file-uploader.B_EI2fAc.js.map +1 -0
  68. package/dist/chunks/{filter-bar.BvInaVGL.js → filter-bar.BxfaFHTk.js} +1004 -989
  69. package/dist/chunks/{filter-bar.BvInaVGL.js.map → filter-bar.BxfaFHTk.js.map} +1 -1
  70. package/dist/chunks/{get-date-locale.BN8xEjY0.js → get-date-locale.CAyOIbcp.js} +288 -649
  71. package/dist/chunks/get-date-locale.CAyOIbcp.js.map +1 -0
  72. package/dist/chunks/{header-with-views.De0oVJXS.js → header-with-views.COrWDbtU.js} +16 -16
  73. package/dist/chunks/{header-with-views.De0oVJXS.js.map → header-with-views.COrWDbtU.js.map} +1 -1
  74. package/dist/chunks/{header.Ckjp7n9t.js → header.DAEUKoX5.js} +62 -61
  75. package/dist/chunks/{header.Ckjp7n9t.js.map → header.DAEUKoX5.js.map} +1 -1
  76. package/dist/chunks/index.BrH1t1iu.js +407 -0
  77. package/dist/chunks/index.BrH1t1iu.js.map +1 -0
  78. package/dist/chunks/info-icon.DprUQ9fj.js +36 -0
  79. package/dist/chunks/info-icon.DprUQ9fj.js.map +1 -0
  80. package/dist/chunks/input-field-password.XrXAnMpT.js +369 -0
  81. package/dist/chunks/input-field-password.XrXAnMpT.js.map +1 -0
  82. package/dist/chunks/{input-field-phone-number.DVliTkE3.js → input-field-phone-number.CNurVdiF.js} +3 -3
  83. package/dist/chunks/{input-field-phone-number.DVliTkE3.js.map → input-field-phone-number.CNurVdiF.js.map} +1 -1
  84. package/dist/chunks/{input-field.xUQT0LXI.js → input-field.EOIwm2tq.js} +3 -3
  85. package/dist/chunks/{input-field.xUQT0LXI.js.map → input-field.EOIwm2tq.js.map} +1 -1
  86. package/dist/chunks/{pagination.D6A7TX6J.js → pagination._rYMF2W_.js} +168 -168
  87. package/dist/chunks/pagination._rYMF2W_.js.map +1 -0
  88. package/dist/chunks/{radio-group.435rdgzm.js → radio-group.H9A5QcNu.js} +3 -3
  89. package/dist/chunks/{radio-group.435rdgzm.js.map → radio-group.H9A5QcNu.js.map} +1 -1
  90. package/dist/chunks/{rich-text-editor.BDLncrV5.js → rich-text-editor.RD8aCPTi.js} +3 -3
  91. package/dist/chunks/{rich-text-editor.BDLncrV5.js.map → rich-text-editor.RD8aCPTi.js.map} +1 -1
  92. package/dist/chunks/{search-bar.Cngs3uYZ.js → search-bar.i7BY4IGB.js} +3 -3
  93. package/dist/chunks/{search-bar.Cngs3uYZ.js.map → search-bar.i7BY4IGB.js.map} +1 -1
  94. package/dist/chunks/{secondary-nav.ByCa4wiA.js → secondary-nav.DkRQsIx7.js} +2 -2
  95. package/dist/chunks/{secondary-nav.ByCa4wiA.js.map → secondary-nav.DkRQsIx7.js.map} +1 -1
  96. package/dist/chunks/{selection-card-group.9wJy7FC2.js → selection-card-group.B4xpnd-z.js} +3 -3
  97. package/dist/chunks/{selection-card-group.9wJy7FC2.js.map → selection-card-group.B4xpnd-z.js.map} +1 -1
  98. package/dist/chunks/step.BtNhPZAf.js +268 -0
  99. package/dist/chunks/step.BtNhPZAf.js.map +1 -0
  100. package/dist/chunks/{structured-list-item.DQzxNb_M.js → structured-list-item.BQbEDKhg.js} +3 -3
  101. package/dist/chunks/{structured-list-item.DQzxNb_M.js.map → structured-list-item.BQbEDKhg.js.map} +1 -1
  102. package/dist/chunks/summary-grid.types.BTr6x5cg.js +490 -0
  103. package/dist/chunks/summary-grid.types.BTr6x5cg.js.map +1 -0
  104. package/dist/chunks/tab.CAt51ksU.js +252 -0
  105. package/dist/chunks/tab.CAt51ksU.js.map +1 -0
  106. package/dist/chunks/{tabs.keys.Bc2pSKRw.js → tabs.keys.Cb4Vw5Jh.js} +3 -3
  107. package/dist/chunks/{tabs.keys.Bc2pSKRw.js.map → tabs.keys.Cb4Vw5Jh.js.map} +1 -1
  108. package/dist/chunks/{textarea.CV1HjB0x.js → textarea.DXSe9MHH.js} +83 -80
  109. package/dist/chunks/textarea.DXSe9MHH.js.map +1 -0
  110. package/dist/chunks/{timeline-item.DUp8MmgZ.js → timeline-item.Coz_LRD3.js} +10 -11
  111. package/dist/chunks/timeline-item.Coz_LRD3.js.map +1 -0
  112. package/dist/chunks/use-cached-selected-values.rqtiP4Nd.js +1649 -0
  113. package/dist/chunks/use-cached-selected-values.rqtiP4Nd.js.map +1 -0
  114. package/dist/code-snippet.js +1 -1
  115. package/dist/dashboard-template.js +1 -1
  116. package/dist/data-grid-template.js +1 -1
  117. package/dist/data-grid.js +1 -1
  118. package/dist/date-picker.js +2 -2
  119. package/dist/date-range-picker.js +2 -2
  120. package/dist/date.js +1 -1
  121. package/dist/dropdown.js +3 -3
  122. package/dist/file-uploader.js +1 -1
  123. package/dist/filter-bar.js +1 -1
  124. package/dist/header-with-views.js +1 -1
  125. package/dist/header.js +1 -1
  126. package/dist/index.js +34 -34
  127. package/dist/info-icon.js +1 -1
  128. package/dist/input-field-password.js +1 -1
  129. package/dist/input-field-phone-number.js +1 -1
  130. package/dist/input-field.js +1 -1
  131. package/dist/internal.js +6 -6
  132. package/dist/pagination.js +1 -1
  133. package/dist/radio-group.js +1 -1
  134. package/dist/rich-text-editor.js +1 -1
  135. package/dist/search-bar.js +2 -2
  136. package/dist/secondary-nav.js +1 -1
  137. package/dist/selection-card.js +1 -1
  138. package/dist/stepper.js +1 -1
  139. package/dist/structured-list.js +1 -1
  140. package/dist/styles/bento-dark.css +1 -0
  141. package/dist/styles/bento-light.css +1 -0
  142. package/dist/styles/bento.css +1 -0
  143. package/dist/styles/legacy.css +1 -0
  144. package/dist/styles/styleguide.css +1 -0
  145. package/dist/summary-grid.js +1 -1
  146. package/dist/tabs.js +1 -1
  147. package/dist/textarea.js +1 -1
  148. package/dist/timeline.js +1 -1
  149. package/dist/web-types.json +1 -1
  150. package/package.json +5 -5
  151. package/dist/assets/tabs.css +0 -1
  152. package/dist/chunks/action-bar.BAfqAQjP.js.map +0 -1
  153. package/dist/chunks/button-actions-with-menu.D50ABuSV.js +0 -174
  154. package/dist/chunks/button-actions-with-menu.D50ABuSV.js.map +0 -1
  155. package/dist/chunks/calendar.CLpwW_-k.js +0 -1290
  156. package/dist/chunks/calendar.CLpwW_-k.js.map +0 -1
  157. package/dist/chunks/copy.DqckFHHS.js +0 -156
  158. package/dist/chunks/copy.DqckFHHS.js.map +0 -1
  159. package/dist/chunks/data-grid-template.DzIpssxc.js +0 -143
  160. package/dist/chunks/data-grid-template.DzIpssxc.js.map +0 -1
  161. package/dist/chunks/date.CKXySBQv.js +0 -995
  162. package/dist/chunks/date.CKXySBQv.js.map +0 -1
  163. package/dist/chunks/file-uploader.C8DwUCMp.js.map +0 -1
  164. package/dist/chunks/get-date-locale.BN8xEjY0.js.map +0 -1
  165. package/dist/chunks/index.BDuTpjD8.js +0 -40
  166. package/dist/chunks/index.BDuTpjD8.js.map +0 -1
  167. package/dist/chunks/index.DD7TppDb.js +0 -10
  168. package/dist/chunks/index.DD7TppDb.js.map +0 -1
  169. package/dist/chunks/info-icon.CpGwbhZQ.js +0 -45
  170. package/dist/chunks/info-icon.CpGwbhZQ.js.map +0 -1
  171. package/dist/chunks/input-field-password.CJOf1GlS.js +0 -369
  172. package/dist/chunks/input-field-password.CJOf1GlS.js.map +0 -1
  173. package/dist/chunks/pagination.D6A7TX6J.js.map +0 -1
  174. package/dist/chunks/step.CpSPMvdW.js +0 -264
  175. package/dist/chunks/step.CpSPMvdW.js.map +0 -1
  176. package/dist/chunks/summary-grid.types.BpS1z1-W.js +0 -466
  177. package/dist/chunks/summary-grid.types.BpS1z1-W.js.map +0 -1
  178. package/dist/chunks/tabs.Cq1fdzVh.js +0 -266
  179. package/dist/chunks/tabs.Cq1fdzVh.js.map +0 -1
  180. package/dist/chunks/textarea.CV1HjB0x.js.map +0 -1
  181. package/dist/chunks/timeline-item.DUp8MmgZ.js.map +0 -1
  182. package/dist/chunks/use-cached-selected-values.CEwKqYIe.js +0 -1600
  183. package/dist/chunks/use-cached-selected-values.CEwKqYIe.js.map +0 -1
package/dist/checkbox.js CHANGED
@@ -1,6 +1,6 @@
1
- import { B as t, a } from "./chunks/checkbox.C1y3Ad4Z.js";
1
+ import { B as t, a } from "./chunks/checkbox.fkPJvdUo.js";
2
2
  import { C as x } from "./chunks/minus-small.DYIyF5XW.js";
3
- import { c as B, B as c } from "./chunks/checkbox-group.BKsddn67.js";
3
+ import { c as B, B as c } from "./chunks/checkbox-group.Dc5Olq0c.js";
4
4
  export {
5
5
  t as BentoCheckbox,
6
6
  a as BentoCheckboxEvent,
@@ -1,13 +1,13 @@
1
- import { defineComponent as R, computed as c, ref as _, toRefs as F, watch as E, provide as G, nextTick as f, createBlock as b, openBlock as d, Transition as U, withCtx as B, createElementVNode as h, unref as t, normalizeClass as L, createElementBlock as W, createCommentVNode as K, createVNode as y, createTextVNode as M, toDisplayString as S } from "vue";
2
- import { B as z } from "./button.AB0SOQMn.js";
3
- import { B as D } from "./typography.DN5eC5ch.js";
4
- import { B as J } from "./button-actions-with-menu.D50ABuSV.js";
5
- import { C as Z } from "./cross.B92GxFTY.js";
6
- import { u as j } from "./i18n.B6g5VX0q.js";
7
- import { u as q } from "./index.FNUaPG4G.js";
8
- import { P as Y } from "./popover.maCMPyz8.js";
9
- import { B as $ } from "./button-actions.D1pXI1AJ.js";
10
- import { _ as H } from "./_plugin-vue_export-helper.CHgC5LLL.js";
1
+ import { defineComponent as F, computed as c, ref as _, toRefs as G, watch as E, provide as U, nextTick as f, createBlock as b, openBlock as d, Transition as L, withCtx as B, createElementVNode as h, unref as t, normalizeClass as W, createElementBlock as K, createCommentVNode as M, createVNode as y, createTextVNode as z, toDisplayString as S } from "vue";
2
+ import { B as D } from "./button.AB0SOQMn.js";
3
+ import { B as J } from "./typography.DN5eC5ch.js";
4
+ import { B as Z } from "./button-actions-with-menu.xZYmwO7S.js";
5
+ import { C as j } from "./cross.B92GxFTY.js";
6
+ import { u as q } from "./i18n.B6g5VX0q.js";
7
+ import { u as Y } from "./index.FNUaPG4G.js";
8
+ import { P as $ } from "./popover.maCMPyz8.js";
9
+ import { B as H } from "./button-actions.D1pXI1AJ.js";
10
+ import { _ as Q } from "./_plugin-vue_export-helper.CHgC5LLL.js";
11
11
  import "../assets/action-bar.css";
12
12
  const N = {
13
13
  "en-US": {
@@ -32,13 +32,13 @@ const N = {
32
32
  selected: "selecionados",
33
33
  unsavedChanges: "alteração não salva | alterações não salvas"
34
34
  }
35
- }, Q = ["aria-label"], X = {
35
+ }, X = ["aria-label"], ee = {
36
36
  key: 0,
37
37
  class: "b-action-bar__close-button"
38
- }, ee = {
38
+ }, ae = {
39
39
  i18n: { messages: N }
40
- }, ae = /* @__PURE__ */ R({
41
- ...ee,
40
+ }, te = /* @__PURE__ */ F({
41
+ ...ae,
42
42
  __name: "action-bar",
43
43
  props: {
44
44
  /**
@@ -96,26 +96,26 @@ const N = {
96
96
  },
97
97
  emits: ["close", "cancel", "save"],
98
98
  setup(n, { emit: g }) {
99
- const s = n, m = g, { t: i, tc: I } = j({ messages: N }), T = c(() => s.selectionLabel ? s.selectionLabel : i("selected")), l = _(null), { extraBottomSpacing: O, visibleActions: P } = F(s), { width: r } = q(), e = _(null), p = _(null), u = c(() => s.variant === "confirmation");
99
+ const s = n, m = g, { t: i, tc: I, n: T } = q({ messages: N }), O = c(() => s.selectionLabel ? s.selectionLabel : i("selected")), l = _(null), { extraBottomSpacing: P, visibleActions: V } = G(s), { width: r } = Y(), e = _(null), p = _(null), u = c(() => s.variant === "confirmation");
100
100
  E(
101
- () => P.value,
101
+ () => V.value,
102
102
  (a) => {
103
103
  p.value = a <= 4 ? a : 4, e.value = p.value;
104
104
  },
105
105
  { immediate: !0 }
106
106
  );
107
- const V = c(() => ({
108
- "b-action-bar--extra-spacing": O.value,
107
+ const k = c(() => ({
108
+ "b-action-bar--extra-spacing": P.value,
109
109
  "b-action-bar--confirmation": u.value
110
110
  }));
111
- G(Y, 7);
112
- const k = c(() => {
113
- const a = s.actions.map((x) => ({
114
- ...x,
111
+ U($, 7);
112
+ const w = c(() => {
113
+ const a = s.actions.map((R) => ({
114
+ ...R,
115
115
  variant: "secondary"
116
116
  })), o = a.slice(0, e.value).reverse(), v = a.slice(e.value);
117
117
  return [...o, ...v];
118
- }), w = c(() => [
118
+ }), x = c(() => [
119
119
  {
120
120
  title: i("save"),
121
121
  event: () => m("save")
@@ -139,13 +139,13 @@ const N = {
139
139
  r.value < 500 ? e.value = 0 : v ? A() : C();
140
140
  },
141
141
  { immediate: !0 }
142
- ), (a, o) => (d(), b(U, {
142
+ ), (a, o) => (d(), b(L, {
143
143
  name: "b-action-bar__animation",
144
144
  appear: ""
145
145
  }, {
146
146
  default: B(() => [
147
147
  h("section", {
148
- class: L(["b-action-bar", V.value]),
148
+ class: W(["b-action-bar", k.value]),
149
149
  "aria-label": t(i)("actionBar")
150
150
  }, [
151
151
  h("div", {
@@ -153,37 +153,37 @@ const N = {
153
153
  ref: l,
154
154
  class: "b-action-bar__container"
155
155
  }, [
156
- u.value ? K("", !0) : (d(), W("div", X, [
157
- y(t(z), {
156
+ u.value ? M("", !0) : (d(), K("div", ee, [
157
+ y(t(D), {
158
158
  variant: "tertiary",
159
159
  inverse: "",
160
160
  "aria-label": t(i)("close"),
161
161
  onClick: o[0] || (o[0] = (v) => m("close"))
162
162
  }, {
163
163
  iconLeft: B(() => [
164
- y(t(Z), { "aria-hidden": !0 })
164
+ y(t(j), { "aria-hidden": !0 })
165
165
  ]),
166
166
  _: 1
167
167
  }, 8, ["aria-label"])
168
168
  ])),
169
- y(t(D), {
169
+ y(t(J), {
170
170
  el: "span",
171
171
  stronger: "",
172
172
  class: "b-action-bar__selection"
173
173
  }, {
174
174
  default: B(() => [
175
- M(S(n.itemCounter) + " " + S(u.value ? t(I)("unsavedChanges", n.itemCounter) : T.value), 1)
175
+ z(S(t(T)(n.itemCounter)) + " " + S(u.value ? t(I)("unsavedChanges", n.itemCounter) : O.value), 1)
176
176
  ]),
177
177
  _: 1
178
178
  }),
179
- u.value ? (d(), b(t($), {
179
+ u.value ? (d(), b(t(H), {
180
180
  key: 1,
181
- actions: w.value,
181
+ actions: x.value,
182
182
  class: "b-action-bar__actions",
183
183
  inverse: ""
184
- }, null, 8, ["actions"])) : (d(), b(J, {
184
+ }, null, 8, ["actions"])) : (d(), b(Z, {
185
185
  key: 2,
186
- actions: k.value,
186
+ actions: w.value,
187
187
  class: "b-action-bar__actions",
188
188
  "displayed-actions": e.value,
189
189
  "menu-position": "top-end",
@@ -191,13 +191,13 @@ const N = {
191
191
  inverse: ""
192
192
  }, null, 8, ["actions", "displayed-actions"]))
193
193
  ], 512)
194
- ], 10, Q)
194
+ ], 10, X)
195
195
  ]),
196
196
  _: 1
197
197
  }));
198
198
  }
199
- }), fe = /* @__PURE__ */ H(ae, [["__scopeId", "data-v-060c6443"]]);
199
+ }), be = /* @__PURE__ */ Q(te, [["__scopeId", "data-v-b0723466"]]);
200
200
  export {
201
- fe as B
201
+ be as B
202
202
  };
203
- //# sourceMappingURL=action-bar.BAfqAQjP.js.map
203
+ //# sourceMappingURL=action-bar.OzhLTUKc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-bar.OzhLTUKc.js","sources":["../../../vue2/src/components/action-bar/action-bar.vue"],"sourcesContent":["<template>\n <Transition name=\"b-action-bar__animation\" appear>\n <section class=\"b-action-bar\" :class=\"conditionalClasses\" :aria-label=\"t('actionBar')\">\n <div ref=\"actionBar\" class=\"b-action-bar__container\">\n <div v-if=\"!isConfirmationVariant\" class=\"b-action-bar__close-button\">\n <bento-button variant=\"tertiary\" inverse :aria-label=\"t('close')\" @click=\"emit('close')\">\n <template #iconLeft><cross-icon :aria-hidden=\"true\" /></template>\n </bento-button>\n </div>\n <bento-typography el=\"span\" stronger class=\"b-action-bar__selection\">\n {{ n(itemCounter) }}\n {{ isConfirmationVariant ? tc('unsavedChanges', itemCounter) : label }}\n </bento-typography>\n <bento-button-actions\n v-if=\"isConfirmationVariant\"\n :actions=\"confirmationActions\"\n class=\"b-action-bar__actions\"\n inverse\n />\n <button-actions-with-menu\n v-else\n :actions=\"actionsInternal\"\n class=\"b-action-bar__actions\"\n :displayed-actions=\"internalDisplayedActions\"\n menu-position=\"top-end\"\n disable-responsive-behavior\n inverse\n />\n </div>\n </section>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, nextTick, PropType, provide, ref, toRefs, watch } from 'vue';\n import { BentoButton, BentoButtonActions, BentoButtonActionsList } from '@/components/button';\n import { BentoTypography } from '@/components/typography';\n\n import { type BentoActionBarVariant } from '@/components/action-bar/action-bar.types';\n import ButtonActionsWithMenu from '@/components/internal/button-actions-with-menu/button-actions-with-menu.vue';\n import CrossIcon from '@adyen/ui-assets-icons-16/vue/cross';\n\n import { useI18n } from '@/utils/ts/i18n';\n import { useWindowSize } from '@vueuse/core';\n\n import messages from './messages.json';\n import { POPOVER_OFFSET_INJECTION_KEY } from '@/components/popover/popover.keys';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n // Constants\n const AVERAGE_BUTTON_SIZE = 100;\n const MENU_OFFSET = 7;\n const RESPONSIVE_BREAKPOINT = 500;\n const SPACING = 32;\n\n const props = defineProps({\n /**\n * List of actions that will be used to render the buttons.\n * Required and used for the `default` variant.\n *\n * Each object in the list should have a `title`, an `event` and,\n * optionally, an `icon`.\n *\n * The component will display 4 actions and the hide the rest inside a menu.\n *\n * @see BentoButton for a list of all the other props supported by each button action.\n */\n actions: {\n type: Array as PropType<BentoButtonActionsList>,\n default: () => [],\n },\n /**\n * How many actions should be visible outside the menu, cannot be more than 4\n */\n visibleActions: {\n type: Number,\n default: 4,\n validator: (value: number) => value > 0 && value <= 4,\n },\n /**\n * Use when there are sticky elements at the bottom, like sticky pagination\n */\n extraBottomSpacing: {\n type: Boolean,\n default: false,\n },\n /**\n * Show how many items are selected\n */\n itemCounter: {\n type: Number,\n required: true,\n },\n /**\n * Label for the selection, e.g. 'selected'/'changed'\n */\n selectionLabel: {\n type: String,\n default: null,\n },\n /**\n * Variant for the action bar\n * @values default, confirmation\n */\n variant: {\n type: String as PropType<BentoActionBarVariant>,\n default: 'default',\n },\n });\n\n const emit = defineEmits<{\n /**\n * Event emitted when the user click the close button\n */\n (e: 'close'): void;\n (e: 'cancel'): void;\n (e: 'save'): void;\n }>();\n\n const { t, tc, n } = useI18n<{ message: MessageSchema }>({ messages });\n const label = computed(() => (props.selectionLabel ? props.selectionLabel : t('selected')));\n\n // Refs\n const actionBar = ref<HTMLDivElement>(null);\n const { extraBottomSpacing, visibleActions } = toRefs(props);\n const { width } = useWindowSize();\n const internalDisplayedActions = ref(null);\n const internalVisibleActions = ref(null);\n\n const isConfirmationVariant = computed(() => props.variant === 'confirmation');\n\n watch(\n () => visibleActions.value,\n value => {\n internalVisibleActions.value = value <= 4 ? value : 4;\n internalDisplayedActions.value = internalVisibleActions.value;\n },\n { immediate: true }\n );\n\n // Styling\n const conditionalClasses = computed(() => ({\n 'b-action-bar--extra-spacing': extraBottomSpacing.value,\n 'b-action-bar--confirmation': isConfirmationVariant.value,\n }));\n\n // Provide POPOVER_OFFSET_INJECTION_KEY to change the value of the popover offset\n provide(POPOVER_OFFSET_INJECTION_KEY, MENU_OFFSET);\n\n // Manipulate actions array to display as intended\n const actionsInternal = computed(() => {\n // All buttons should be of type secondary in the action bar\n const actions = props.actions.map(action => ({\n ...action,\n variant: 'secondary',\n })) as BentoButtonActionsList;\n // Shown actions should display from left to right in action bar, instead of right to left which is the button actions default\n const shownActions = actions.slice(0, internalDisplayedActions.value).reverse();\n const hiddenActions = actions.slice(internalDisplayedActions.value);\n\n return [...shownActions, ...hiddenActions];\n });\n\n const confirmationActions = computed<BentoButtonActionsList>(() => [\n {\n title: t('save'),\n event: () => emit('save'),\n },\n {\n title: t('cancel'),\n variant: 'secondary',\n event: () => emit('cancel'),\n },\n ]);\n\n // Recursive functions to determine how many actions should be visible/hidden based on the screens width\n const showActions = async () => {\n await nextTick();\n if (\n width.value > actionBar.value.clientWidth + SPACING + AVERAGE_BUTTON_SIZE &&\n internalDisplayedActions.value < internalVisibleActions.value\n ) {\n internalDisplayedActions.value += 1;\n showActions();\n }\n };\n\n const hideActions = async () => {\n await nextTick();\n if (width.value < actionBar.value.clientWidth + SPACING && internalDisplayedActions.value > 0) {\n internalDisplayedActions.value -= 1;\n hideActions();\n }\n };\n\n // Screen width watcher to toggle hidden/visible actions\n watch(\n () => width.value,\n async (newValue, oldValue) => {\n await nextTick();\n if (!actionBar.value) {\n return;\n }\n const isIncreasing = newValue > oldValue;\n if (width.value < RESPONSIVE_BREAKPOINT) {\n internalDisplayedActions.value = 0;\n } else if (isIncreasing) {\n showActions();\n } else {\n hideActions();\n }\n },\n { immediate: true }\n );\n</script>\n\n<script lang=\"ts\">\n /**\n * Action bar is a floating bar that provides users with quick access to key actions that can be applied to one or multiple items.\n *\n * @example\n * import { BentoActionBar } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoActionBar },\n * template: `\n * <bento-action-bar\n * :actions='[\n * {\n * title: 'Delete',\n * critical: true,\n * icon: BinIcon,\n * event: () => true,\n * },\n * {\n * title: 'Edit',\n * icon: EditIcon,\n * event: () => true,\n * }\n * ]'\n * @close=\"closeAction\"\n * :item-counter=\"5\"\n * />\n * `\n * }\n */\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./action-bar.scss\" />\n"],"names":["__default__","messages","props","__props","emit","__emit","t","tc","n","useI18n","label","computed","actionBar","ref","extraBottomSpacing","visibleActions","toRefs","width","useWindowSize","internalDisplayedActions","internalVisibleActions","isConfirmationVariant","watch","value","conditionalClasses","provide","POPOVER_OFFSET_INJECTION_KEY","actionsInternal","actions","action","shownActions","hiddenActions","confirmationActions","showActions","nextTick","hideActions","newValue","oldValue","isIncreasing"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuPIA,KAAA;AAAA,EAAe,MAAA,EAAA,UAAAC,EAAA;AAEf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAjMA,UAAAC,IAAAC,GAuDAC,IAAAC,GASA,EAAA,GAAAC,GAAA,IAAAC,GAAA,GAAAC,EAAA,IAAAC,EAAA,EAAA,UAAAR,EAAA,CAAA,GACAS,IAAAC,EAAA,MAAAT,EAAA,iBAAAA,EAAA,iBAAAI,EAAA,UAAA,CAAA,GAGAM,IAAAC,EAAA,IAAA,GACA,EAAA,oBAAAC,GAAA,gBAAAC,EAAA,IAAAC,EAAAd,CAAA,GACA,EAAA,OAAAe,EAAA,IAAAC,EAAA,GACAC,IAAAN,EAAA,IAAA,GACAO,IAAAP,EAAA,IAAA,GAEAQ,IAAAV,EAAA,MAAAT,EAAA,YAAA,cAAA;AAEA,IAAAoB;AAAA,MAAA,MAAAP,EAAA;AAAA,MACyB,CAAAQ,MAAA;AAEjB,QAAAH,EAAA,QAAAG,KAAA,IAAAA,IAAA,GACAJ,EAAA,QAAAC,EAAA;AAAA,MAAwD;AAAA,MAC5D,EAAA,WAAA,GAAA;AAAA,IACkB;AAItB,UAAAI,IAAAb,EAAA,OAAA;AAAA,MAA2C,+BAAAG,EAAA;AAAA,MACW,8BAAAO,EAAA;AAAA,IACE,EAAA;AAIxD,IAAAI,EAAAC,GAAA,CAAA;AAGA,UAAAC,IAAAhB,EAAA,MAAA;AAEI,YAAAiB,IAAA1B,EAAA,QAAA,IAAA,CAAA2B,OAAA;AAAA,QAA6C,GAAAA;AAAA,QACtC,SAAA;AAAA,MACM,EAAA,GAGbC,IAAAF,EAAA,MAAA,GAAAT,EAAA,KAAA,EAAA,QAAA,GACAY,IAAAH,EAAA,MAAAT,EAAA,KAAA;AAEA,aAAA,CAAA,GAAAW,GAAA,GAAAC,CAAA;AAAA,IAAyC,CAAA,GAG7CC,IAAArB,EAAA,MAAA;AAAA,MAAmE;AAAA,QAC/D,OAAAL,EAAA,MAAA;AAAA,QACmB,OAAA,MAAAF,EAAA,MAAA;AAAA,MACS;AAAA,MAC5B;AAAA,QACA,OAAAE,EAAA,QAAA;AAAA,QACqB,SAAA;AAAA,QACR,OAAA,MAAAF,EAAA,QAAA;AAAA,MACiB;AAAA,IAC9B,CAAA,GAIJ6B,IAAA,YAAA;AACI,YAAAC,EAAA,GACAjB,EAAA,QAAAL,EAAA,MAAA,cAAA,KAAA,OAAAO,EAAA,QAAAC,EAAA,UAIID,EAAA,SAAA,GACAc,EAAA;AAAA,IACJ,GAGJE,IAAA,YAAA;AACI,YAAAD,EAAA,GACAjB,EAAA,QAAAL,EAAA,MAAA,cAAA,MAAAO,EAAA,QAAA,MACIA,EAAA,SAAA,GACAgB,EAAA;AAAA,IACJ;AAIJ,WAAAb;AAAA,MAAA,MAAAL,EAAA;AAAA,MACgB,OAAAmB,GAAAC,MAAA;AAGR,YADA,MAAAH,EAAA,GACA,CAAAtB,EAAA;AACI;AAEJ,cAAA0B,IAAAF,IAAAC;AACA,QAAApB,EAAA,QAAA,MACIE,EAAA,QAAA,IAAiCmB,IAEjCL,EAAA,IAEAE,EAAA;AAAA,MACJ;AAAA,MACJ,EAAA,WAAA,GAAA;AAAA,IACkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,91 @@
1
+ import { ref as v, watch as b, nextTick as f, defineComponent as A, toRef as y, computed as p, provide as _, createElementBlock as B, openBlock as h, createElementVNode as w, normalizeClass as N, createVNode as k, createBlock as E, createCommentVNode as C, unref as I } from "vue";
2
+ import { M as W, B as T } from "./menu.CiyYOoKd.js";
3
+ import { f as M, B as R } from "./button-actions.D1pXI1AJ.js";
4
+ import { u as g } from "./index.FNUaPG4G.js";
5
+ import { _ as O } from "./_plugin-vue_export-helper.CHgC5LLL.js";
6
+ import "../assets/button-actions-with-menu.css";
7
+ const L = (m) => {
8
+ const { breakpoint: e, container: u, defaultActionsCount: s, offset: n } = m, { width: r } = g(), o = v(s), l = 150, c = async () => {
9
+ var a;
10
+ await f();
11
+ const i = u.value.clientWidth, t = l * o.value + (((a = n == null ? void 0 : n.value) == null ? void 0 : a.offsetWidth) ?? 0) + l;
12
+ i >= t && o.value < s && (o.value += 1, c());
13
+ }, d = async () => {
14
+ var a;
15
+ await f();
16
+ const i = u.value.clientWidth, t = l * o.value + (((a = n == null ? void 0 : n.value) == null ? void 0 : a.offsetWidth) ?? 0);
17
+ i < t && o.value > 0 && (o.value -= 1, d());
18
+ };
19
+ return b([r, u], async ([i, t], [a]) => {
20
+ if (!t || !s || i > e)
21
+ return;
22
+ await f(), i > a ? c() : d();
23
+ }), {
24
+ displayedActionsCount: o
25
+ };
26
+ }, S = { class: "b-button-actions-with-menu" }, V = {}, D = /* @__PURE__ */ A({
27
+ ...V,
28
+ __name: "button-actions-with-menu",
29
+ props: {
30
+ actions: {},
31
+ actionsLayout: { default: "buttons-end" },
32
+ disableResponsiveBehavior: { type: Boolean, default: !1 },
33
+ displayedActions: { default: void 0 },
34
+ inverse: { type: Boolean, default: !1 },
35
+ hideDisplayedActionsBreakpoint: { default: 0 },
36
+ menuPosition: { default: "bottom-start" }
37
+ },
38
+ setup(m) {
39
+ const e = m, u = y(e, "inverse"), s = v(null), n = v(null), r = v(!1), o = p(() => {
40
+ const t = e.hideDisplayedActionsBreakpoint ? c.value : e.displayedActions;
41
+ return e.actions.slice(0, t);
42
+ }), l = p(() => {
43
+ var t;
44
+ return (t = n == null ? void 0 : n.value) == null ? void 0 : t.$el;
45
+ }), { displayedActionsCount: c } = L({
46
+ breakpoint: e.hideDisplayedActionsBreakpoint,
47
+ container: s,
48
+ defaultActionsCount: e.displayedActions,
49
+ offset: l
50
+ });
51
+ _(W, u), e.disableResponsiveBehavior || _(M, { buttonActionsWithMenu: s, menu: n, stackButtons: r });
52
+ const d = p(() => ({
53
+ "b-button-actions-with-menu__container-wrapper--buttons-end": e.actionsLayout === "buttons-end",
54
+ "b-button-actions-with-menu__container-wrapper--buttons-start": e.actionsLayout === "buttons-start",
55
+ "b-button-actions-with-menu__container-wrapper--stacked-buttons": r.value
56
+ })), i = p(
57
+ () => c.value !== void 0 && c.value < e.actions.length ? e.actions.slice(c.value, e.actions.length).map((t) => ({
58
+ text: t.title,
59
+ handler: t.event,
60
+ icon: t.icon,
61
+ critical: t.critical,
62
+ disabled: t.disabled
63
+ })) : []
64
+ );
65
+ return (t, a) => (h(), B("div", S, [
66
+ w("div", {
67
+ ref_key: "buttonActionsWithMenu",
68
+ ref: s,
69
+ role: "group",
70
+ class: N(["b-button-actions-with-menu__container-wrapper", d.value])
71
+ }, [
72
+ k(I(R), {
73
+ actions: o.value,
74
+ inverse: t.inverse,
75
+ layout: t.actionsLayout
76
+ }, null, 8, ["actions", "inverse", "layout"]),
77
+ i.value.length ? (h(), E(T, {
78
+ key: 0,
79
+ ref_key: "menu",
80
+ ref: n,
81
+ data: i.value,
82
+ "menu-position": t.menuPosition
83
+ }, null, 8, ["data", "menu-position"])) : C("", !0)
84
+ ], 2)
85
+ ]));
86
+ }
87
+ }), P = /* @__PURE__ */ O(D, [["__scopeId", "data-v-9262b995"]]);
88
+ export {
89
+ P as B
90
+ };
91
+ //# sourceMappingURL=button-actions-with-menu.xZYmwO7S.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-actions-with-menu.xZYmwO7S.js","sources":["../../../vue2/src/components/internal/button-actions-with-menu/composables/use-responsive-actions.ts","../../../vue2/src/components/internal/button-actions-with-menu/button-actions-with-menu.vue"],"sourcesContent":["import { useWindowSize } from '@vueuse/core';\nimport { nextTick, Ref, ref, watch } from 'vue';\n\ninterface UseResponsiveActionsProps {\n breakpoint?: number;\n container: Ref<HTMLElement>;\n defaultActionsCount: number;\n offset?: Ref<HTMLElement>;\n}\n\nexport const useResponsiveActions = (props: UseResponsiveActionsProps) => {\n const { breakpoint, container, defaultActionsCount, offset } = props;\n\n const { width: windowWidth } = useWindowSize();\n\n const displayedActionsCount = ref<number>(defaultActionsCount);\n\n const AVERAGE_BUTTON_WIDTH = 150; // button size + gap\n\n const showActions = async () => {\n await nextTick();\n\n const availableSpace = container.value.clientWidth;\n const totalActionWidth =\n AVERAGE_BUTTON_WIDTH * displayedActionsCount.value +\n (offset?.value?.offsetWidth ?? 0) +\n AVERAGE_BUTTON_WIDTH;\n\n // Only add actions if there's enough space and we haven't reached max\n if (availableSpace >= totalActionWidth && displayedActionsCount.value < defaultActionsCount) {\n displayedActionsCount.value += 1;\n\n showActions(); // keep trying to show more\n }\n };\n\n const hideActions = async () => {\n await nextTick();\n\n const availableSpace = container.value.clientWidth;\n const totalActionWidth = AVERAGE_BUTTON_WIDTH * displayedActionsCount.value + (offset?.value?.offsetWidth ?? 0);\n\n // Hide actions if they overflow the container\n if (availableSpace < totalActionWidth && displayedActionsCount.value > 0) {\n displayedActionsCount.value -= 1;\n\n hideActions(); // keep hiding until it fits\n }\n };\n\n watch([windowWidth, container], async ([newWidth, containerEl], [oldWidth]) => {\n if (!containerEl || !defaultActionsCount || newWidth > breakpoint) {\n return;\n }\n\n await nextTick();\n\n const isIncreasing = newWidth > oldWidth;\n\n if (isIncreasing) {\n showActions();\n } else {\n hideActions();\n }\n });\n\n return {\n displayedActionsCount,\n };\n};\n","<template>\n <div class=\"b-button-actions-with-menu\">\n <div\n ref=\"buttonActionsWithMenu\"\n role=\"group\"\n class=\"b-button-actions-with-menu__container-wrapper\"\n :class=\"conditionalClasses\"\n >\n <bento-button-actions :actions=\"computedActions\" :inverse=\"inverse\" :layout=\"actionsLayout\" />\n <bento-menu\n v-if=\"computedMenuActions.length\"\n ref=\"menu\"\n :data=\"computedMenuActions\"\n :menu-position=\"menuPosition\"\n />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { BentoButtonActions } from '@/components/button';\n import { BentoMenuItem } from '@/components/menu/components/menu-item/menu-item.types';\n import { MENU_INVERSE_INJECTION_KEY } from '@/components/menu/menu.keys';\n import BentoMenu from '@/components/menu/menu.vue';\n import { computed, provide, ref, toRef } from 'vue';\n import { BUTTON_ACTIONS_WITH_MENU_CONTAINER_INJECTION_KEY } from './button-actions-with-menu.keys';\n import { ButtonActionsWithMenuProps } from './button-actions-with-menu.types';\n import { useResponsiveActions } from './composables/use-responsive-actions';\n\n const props = withDefaults(defineProps<ButtonActionsWithMenuProps>(), {\n actionsLayout: 'buttons-end',\n disableResponsiveBehavior: false,\n displayedActions: undefined,\n inverse: false,\n hideDisplayedActionsBreakpoint: 0,\n menuPosition: 'bottom-start',\n });\n\n const inverseRef = toRef(props, 'inverse');\n const buttonActionsWithMenu = ref<HTMLDivElement>(null);\n const menu = ref(null);\n const stackButtons = ref(false);\n\n const computedActions = computed(() => {\n const displayedActionsLimit = props.hideDisplayedActionsBreakpoint\n ? displayedActionsCount.value\n : props.displayedActions;\n\n return props.actions.slice(0, displayedActionsLimit);\n });\n const computedMenuRef = computed(() => menu?.value?.$el);\n\n const { displayedActionsCount } = useResponsiveActions({\n breakpoint: props.hideDisplayedActionsBreakpoint,\n container: buttonActionsWithMenu,\n defaultActionsCount: props.displayedActions,\n offset: computedMenuRef,\n });\n\n provide(MENU_INVERSE_INJECTION_KEY, inverseRef);\n\n if (!props.disableResponsiveBehavior) {\n provide(BUTTON_ACTIONS_WITH_MENU_CONTAINER_INJECTION_KEY, { buttonActionsWithMenu, menu, stackButtons });\n }\n\n const conditionalClasses = computed(() => ({\n [`b-button-actions-with-menu__container-wrapper--buttons-end`]: props.actionsLayout === 'buttons-end',\n [`b-button-actions-with-menu__container-wrapper--buttons-start`]: props.actionsLayout === 'buttons-start',\n [`b-button-actions-with-menu__container-wrapper--stacked-buttons`]: stackButtons.value,\n }));\n\n const computedMenuActions = computed(() =>\n displayedActionsCount.value !== undefined && displayedActionsCount.value < props.actions.length\n ? (props.actions.slice(displayedActionsCount.value, props.actions.length).map(el => ({\n text: el.title,\n handler: el.event,\n icon: el.icon,\n critical: el.critical,\n disabled: el.disabled,\n })) as BentoMenuItem[])\n : []\n );\n</script>\n\n<script lang=\"ts\">\n /**\n * An internal button actions component with the option to display some of the actions in a menu.\n *\n * @example\n * <button-actions-with-menu\n * :actions=\"[\n * {\n * title: 'Primary',\n * event: () => { ... },\n * icon: FourPeopleIcon,\n * link: {\n * variant: 'default',\n * external: true,\n * to: 'https://www.adyen.com/'\n * },\n * },\n * {\n * title: 'Secondary',\n * event: () => { ... }\n * disabled: true,\n * variant: BentoButtonVariant.PRIMARY,\n * critical: true\n * }]\"\n * :displayedActions=\"2\"\n * />\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./button-actions-with-menu.scss\" />\n"],"names":["useResponsiveActions","props","breakpoint","container","defaultActionsCount","offset","windowWidth","useWindowSize","displayedActionsCount","ref","AVERAGE_BUTTON_WIDTH","showActions","nextTick","availableSpace","totalActionWidth","_a","hideActions","watch","newWidth","containerEl","oldWidth","__default__","__props","inverseRef","toRef","buttonActionsWithMenu","menu","stackButtons","computedActions","computed","displayedActionsLimit","computedMenuRef","provide","MENU_INVERSE_INJECTION_KEY","BUTTON_ACTIONS_WITH_MENU_CONTAINER_INJECTION_KEY","conditionalClasses","computedMenuActions","el"],"mappings":";;;;;;AAUa,MAAAA,IAAA,CAAAC,MAAA;AACT,QAAA,EAAA,YAAAC,GAAA,WAAAC,GAAA,qBAAAC,GAAA,QAAAC,EAAA,IAAAJ,GAEA,EAAA,OAAAK,EAAA,IAAAC,EAAA,GAEAC,IAAAC,EAAAL,CAAA,GAEAM,IAAA,KAEAC,IAAA,YAAA;;AACI,UAAAC,EAAA;AAEA,UAAAC,IAAAV,EAAA,MAAA,aACAW,IAAAJ,IAAAF,EAAA,WAAAO,IAAAV,KAAA,gBAAAA,EAAA,UAAA,gBAAAU,EAAA,gBAAA,KAAAL;AAMA,IAAAG,KAAAC,KAAAN,EAAA,QAAAJ,MACII,EAAA,SAAA,GAEAG,EAAA;AAAA,EACJ,GAGJK,IAAA,YAAA;;AACI,UAAAJ,EAAA;AAEA,UAAAC,IAAAV,EAAA,MAAA,aACAW,IAAAJ,IAAAF,EAAA,WAAAO,IAAAV,KAAA,gBAAAA,EAAA,UAAA,gBAAAU,EAAA,gBAAA;AAGA,IAAAF,IAAAC,KAAAN,EAAA,QAAA,MACIA,EAAA,SAAA,GAEAQ,EAAA;AAAA,EACJ;AAGJ,SAAAC,EAAA,CAAAX,GAAAH,CAAA,GAAA,OAAA,CAAAe,GAAAC,CAAA,GAAA,CAAAC,CAAA,MAAA;AACI,QAAA,CAAAD,KAAA,CAAAf,KAAAc,IAAAhB;AACI;AAGJ,UAAAU,EAAA,GAEAM,IAAAE,IAGIT,EAAA,IAEAK,EAAA;AAAA,EACJ,CAAA,GAGJ;AAAA,IAAO,uBAAAR;AAAA,EACH;AAER,gDC0CIa,IAAA,CAAA;;;;;;;;;;;;;AAlFA,UAAApB,IAAAqB,GASAC,IAAAC,EAAAvB,GAAA,SAAA,GACAwB,IAAAhB,EAAA,IAAA,GACAiB,IAAAjB,EAAA,IAAA,GACAkB,IAAAlB,EAAA,EAAA,GAEAmB,IAAAC,EAAA,MAAA;AACI,YAAAC,IAAA7B,EAAA,iCAAAO,EAAA,QAAAP,EAAA;AAIA,aAAAA,EAAA,QAAA,MAAA,GAAA6B,CAAA;AAAA,IAAmD,CAAA,GAEvDC,IAAAF,EAAA,MAAA;;AAAA,cAAAd,IAAAW,KAAA,gBAAAA,EAAA,UAAA,gBAAAX,EAAA;AAAA,KAAA,GAEA,EAAA,uBAAAP,EAAA,IAAAR,EAAA;AAAA,MAAuD,YAAAC,EAAA;AAAA,MACjC,WAAAwB;AAAA,MACP,qBAAAxB,EAAA;AAAA,MACgB,QAAA8B;AAAA,IACnB,CAAA;AAGZ,IAAAC,EAAAC,GAAAV,CAAA,GAEAtB,EAAA,6BACI+B,EAAAE,GAAA,EAAA,uBAAAT,GAAA,MAAAC,GAAA,cAAAC,EAAA,CAAA;AAGJ,UAAAQ,IAAAN,EAAA,OAAA;AAAA,MAA2C,8DAAA5B,EAAA,kBAAA;AAAA,MACiD,gEAAAA,EAAA,kBAAA;AAAA,MACE,kEAAA0B,EAAA;AAAA,IACT,EAAA,GAGrFS,IAAAP;AAAA,MAA4B,MAAArB,EAAA,UAAA,UAAAA,EAAA,QAAAP,EAAA,QAAA,SAAAA,EAAA,QAAA,MAAAO,EAAA,OAAAP,EAAA,QAAA,MAAA,EAAA,IAAA,CAAAoC,OAAA;AAAA,QAEiE,MAAAA,EAAA;AAAA,QACtE,SAAAA,EAAA;AAAA,QACG,MAAAA,EAAA;AAAA,QACH,UAAAA,EAAA;AAAA,QACI,UAAAA,EAAA;AAAA,MACA,EAAA,IAAA,CAAA;AAAA,IAEhB;;;;;;;;;;;;;;;;;;;;;;;;"}