@adyen/bento-vue2 1.2.0 → 1.3.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 (227) hide show
  1. package/README.md +60 -29
  2. package/dist/@types/components.d.ts +12 -0
  3. package/dist/@types/packages/vue2/src/components/button/components/loading-button/loading-button.vue.d.ts +3 -3
  4. package/dist/@types/packages/vue2/src/components/checkbox/components/checkbox-group/checkbox-group.vue.d.ts +76 -30
  5. package/dist/@types/packages/vue2/src/components/country/composables/index.d.ts +0 -1
  6. package/dist/@types/packages/vue2/src/components/country/country.vue.d.ts +1 -2
  7. package/dist/@types/packages/vue2/src/components/date-picker/date-picker.vue.d.ts +11 -1
  8. package/dist/@types/packages/vue2/src/components/date-range-picker/date-range-picker.vue.d.ts +11 -1
  9. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.vue.d.ts +1 -1
  10. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue.d.ts +1 -1
  11. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.vue.d.ts +1 -1
  12. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.vue.d.ts +1 -1
  13. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.vue.d.ts +1 -1
  14. package/dist/@types/packages/vue2/src/components/dropdown/dropdown.vue.d.ts +2 -1
  15. package/dist/@types/packages/vue2/src/components/filter-bar/components/date-range-filter/date-range-filter.vue.d.ts +0 -2
  16. package/dist/@types/packages/vue2/src/components/form-layout/components/form-layout-field-tip/form-layout-field-tip.vue.d.ts +10 -0
  17. package/dist/@types/packages/vue2/src/components/form-layout/components/form-layout-field-tip/index.d.ts +1 -0
  18. package/dist/@types/packages/vue2/src/components/form-layout/components/form-layout-group/composable/use-form-layout-group-percentage.d.ts +3 -0
  19. package/dist/@types/packages/vue2/src/components/form-layout/components/form-layout-group/form-layout-group.types.d.ts +1 -0
  20. package/dist/@types/packages/vue2/src/components/form-layout/components/form-layout-group/form-layout-group.vue.d.ts +23 -0
  21. package/dist/@types/packages/vue2/src/components/form-layout/components/form-layout-group/index.d.ts +1 -0
  22. package/dist/@types/packages/vue2/src/components/form-layout/components/form-layout-title/form-layout-title.vue.d.ts +33 -0
  23. package/dist/@types/packages/vue2/src/components/form-layout/components/form-layout-title/index.d.ts +1 -0
  24. package/dist/@types/packages/vue2/src/components/form-layout/components/index.d.ts +3 -0
  25. package/dist/@types/packages/vue2/src/components/form-layout/form-layout.types.d.ts +1 -0
  26. package/dist/@types/packages/vue2/src/components/form-layout/form-layout.vue.d.ts +33 -0
  27. package/dist/@types/packages/vue2/src/components/form-layout/index.d.ts +2 -0
  28. package/dist/@types/packages/vue2/src/components/input-field/input-field.vue.d.ts +2 -1
  29. package/dist/@types/packages/vue2/src/components/internal/controls-group/controls-group.vue.d.ts +53 -22
  30. package/dist/@types/packages/vue2/src/components/modal/components/base-modal/__mocks__/base-modal.vue.d.ts +3 -3
  31. package/dist/@types/packages/vue2/src/components/modal/components/base-modal/base-modal.vue.d.ts +51 -44
  32. package/dist/@types/packages/vue2/src/components/modal/components/modal-default/modal-default.vue.d.ts +3 -3
  33. package/dist/@types/packages/vue2/src/components/modal/modal.vue.d.ts +4 -12
  34. package/dist/@types/packages/vue2/src/components/radio-group/radio-group.vue.d.ts +50 -4
  35. package/dist/@types/packages/vue2/src/components/search-bar/search-bar.vue.d.ts +2 -1
  36. package/dist/@types/packages/vue2/src/components/sidepanel/components/sidepanel-page.vue.d.ts +68 -0
  37. package/dist/@types/packages/vue2/src/components/sidepanel/index.d.ts +3 -0
  38. package/dist/@types/packages/vue2/src/components/sidepanel/sidepanel.keys.d.ts +2 -0
  39. package/dist/@types/packages/vue2/src/components/sidepanel/sidepanel.types.d.ts +21 -0
  40. package/dist/@types/packages/vue2/src/components/sidepanel/sidepanel.vue.d.ts +43 -0
  41. package/dist/@types/packages/vue2/src/components/tabs/tabs.types.d.ts +1 -1
  42. package/dist/@types/packages/vue2/src/components/textarea/textarea.vue.d.ts +2 -1
  43. package/dist/@types/packages/vue2/src/components/timeline/timeline.types.d.ts +1 -1
  44. package/dist/@types/packages/vue2/src/composables/index.d.ts +1 -0
  45. package/dist/@types/packages/vue2/src/composables/use-form-layout-loading/use-form-layout-loading.d.ts +4 -0
  46. package/dist/@types/packages/vue2/src/index.d.ts +2 -0
  47. package/dist/@types/packages/vue2/src/types/utils-events.d.ts +0 -1
  48. package/dist/@types/packages/vue2/src/utils/ts/dev-environment.d.ts +1 -0
  49. package/dist/accordion.js +1 -1
  50. package/dist/alert.js +3 -3
  51. package/dist/assets/arrow-left.css +1 -0
  52. package/dist/assets/base-button.css +1 -1
  53. package/dist/assets/button.css +1 -1
  54. package/dist/assets/calendar.css +1 -1
  55. package/dist/assets/checkbox.css +1 -1
  56. package/dist/assets/controls-group.css +1 -1
  57. package/dist/assets/copy.css +1 -1
  58. package/dist/assets/dropdown-default-textbox.css +1 -1
  59. package/dist/assets/dropdown.css +1 -1
  60. package/dist/assets/error-message.css +1 -1
  61. package/dist/assets/footer-actions.css +1 -0
  62. package/dist/assets/grid-layout.css +1 -1
  63. package/dist/assets/index.css +1 -1
  64. package/dist/assets/index10.css +1 -1
  65. package/dist/assets/index11.css +1 -1
  66. package/dist/assets/index12.css +1 -1
  67. package/dist/assets/index13.css +1 -1
  68. package/dist/assets/index14.css +1 -1
  69. package/dist/assets/index15.css +1 -1
  70. package/dist/assets/index16.css +1 -1
  71. package/dist/assets/index17.css +1 -1
  72. package/dist/assets/index18.css +1 -1
  73. package/dist/assets/index19.css +1 -1
  74. package/dist/assets/index2.css +1 -1
  75. package/dist/assets/index20.css +1 -1
  76. package/dist/assets/index21.css +1 -1
  77. package/dist/assets/index22.css +1 -1
  78. package/dist/assets/index23.css +1 -1
  79. package/dist/assets/index24.css +1 -1
  80. package/dist/assets/index25.css +1 -1
  81. package/dist/assets/index26.css +1 -1
  82. package/dist/assets/index27.css +1 -1
  83. package/dist/assets/index28.css +1 -1
  84. package/dist/assets/index29.css +1 -1
  85. package/dist/assets/index3.css +1 -1
  86. package/dist/assets/index30.css +1 -1
  87. package/dist/assets/index31.css +1 -1
  88. package/dist/assets/index32.css +1 -1
  89. package/dist/assets/index33.css +1 -1
  90. package/dist/assets/index34.css +1 -1
  91. package/dist/assets/index35.css +1 -1
  92. package/dist/assets/index36.css +1 -1
  93. package/dist/assets/index37.css +1 -1
  94. package/dist/assets/index38.css +1 -1
  95. package/dist/assets/index39.css +1 -1
  96. package/dist/assets/index4.css +1 -1
  97. package/dist/assets/index40.css +1 -0
  98. package/dist/assets/index41.css +1 -0
  99. package/dist/assets/index5.css +1 -1
  100. package/dist/assets/index6.css +1 -1
  101. package/dist/assets/index7.css +1 -1
  102. package/dist/assets/index8.css +1 -1
  103. package/dist/assets/index9.css +1 -1
  104. package/dist/assets/listbox-option-tag.css +1 -1
  105. package/dist/assets/listbox.css +1 -1
  106. package/dist/assets/loading-button.css +1 -1
  107. package/dist/assets/tooltip.css +1 -1
  108. package/dist/avatar-image.js +1 -1
  109. package/dist/badge.js +1 -1
  110. package/dist/button.js +3 -3
  111. package/dist/card.js +3 -3
  112. package/dist/checkbox.js +93 -84
  113. package/dist/checkbox.js.map +1 -1
  114. package/dist/chunks/arrow-left.1d5d08bd.js +26 -0
  115. package/dist/chunks/arrow-left.1d5d08bd.js.map +1 -0
  116. package/dist/chunks/{base-button.d4487ac9.js → base-button.98379576.js} +2 -2
  117. package/dist/chunks/{base-button.d4487ac9.js.map → base-button.98379576.js.map} +1 -1
  118. package/dist/chunks/{button-actions.cf73ed47.js → button-actions.bd397c79.js} +2 -2
  119. package/dist/chunks/{button-actions.cf73ed47.js.map → button-actions.bd397c79.js.map} +1 -1
  120. package/dist/chunks/{button.c27a7ce2.js → button.d0c9527d.js} +2 -2
  121. package/dist/chunks/{button.c27a7ce2.js.map → button.d0c9527d.js.map} +1 -1
  122. package/dist/chunks/{calendar.8f50a65a.js → calendar.0ae43a96.js} +6 -6
  123. package/dist/chunks/calendar.0ae43a96.js.map +1 -0
  124. package/dist/chunks/{checkbox.c06daf12.js → checkbox.f8457c93.js} +3 -3
  125. package/dist/chunks/{checkbox.c06daf12.js.map → checkbox.f8457c93.js.map} +1 -1
  126. package/dist/chunks/controls-group.b827382b.js +87 -0
  127. package/dist/chunks/controls-group.b827382b.js.map +1 -0
  128. package/dist/chunks/{copy.b62beae5.js → copy.5a4cbd4d.js} +3 -3
  129. package/dist/chunks/{copy.b62beae5.js.map → copy.5a4cbd4d.js.map} +1 -1
  130. package/dist/chunks/{dropdown-default-textbox.a5eca928.js → dropdown-default-textbox.819e43f7.js} +32 -30
  131. package/dist/chunks/dropdown-default-textbox.819e43f7.js.map +1 -0
  132. package/dist/chunks/{dropdown.368486b1.js → dropdown.c05678d0.js} +142 -139
  133. package/dist/chunks/dropdown.c05678d0.js.map +1 -0
  134. package/dist/chunks/{error-message.a581a172.js → error-message.0433b539.js} +2 -2
  135. package/dist/chunks/{error-message.a581a172.js.map → error-message.0433b539.js.map} +1 -1
  136. package/dist/chunks/footer-actions.67642347.js +98 -0
  137. package/dist/chunks/footer-actions.67642347.js.map +1 -0
  138. package/dist/chunks/form-layout.types.a7a1438d.js +5 -0
  139. package/dist/chunks/form-layout.types.a7a1438d.js.map +1 -0
  140. package/dist/chunks/{index.3b6fc08a.js → index.0cf00b47.js} +6 -6
  141. package/dist/chunks/{index.3b6fc08a.js.map → index.0cf00b47.js.map} +1 -1
  142. package/dist/chunks/{index.f0d99471.js → index.10aaf539.js} +198 -192
  143. package/dist/chunks/{index.f0d99471.js.map → index.10aaf539.js.map} +1 -1
  144. package/dist/chunks/{index.ad39b625.js → index.133e4da0.js} +2 -2
  145. package/dist/chunks/{index.ad39b625.js.map → index.133e4da0.js.map} +1 -1
  146. package/dist/chunks/{index.175f9e2d.js → index.56858f4e.js} +15 -14
  147. package/dist/chunks/index.56858f4e.js.map +1 -0
  148. package/dist/chunks/{index.d07f9800.js → index.73d50fa6.js} +2 -2
  149. package/dist/chunks/{index.d07f9800.js.map → index.73d50fa6.js.map} +1 -1
  150. package/dist/chunks/{index.3dfea3bd.js → index.f0f8ed98.js} +3 -3
  151. package/dist/chunks/{index.3dfea3bd.js.map → index.f0f8ed98.js.map} +1 -1
  152. package/dist/chunks/{listbox-option-tag.c7e9a228.js → listbox-option-tag.8d6cccac.js} +3 -3
  153. package/dist/chunks/{listbox-option-tag.c7e9a228.js.map → listbox-option-tag.8d6cccac.js.map} +1 -1
  154. package/dist/chunks/{listbox.f51e92cd.js → listbox.116ed0c1.js} +177 -177
  155. package/dist/chunks/listbox.116ed0c1.js.map +1 -0
  156. package/dist/chunks/{loading-button.6d34f66f.js → loading-button.1c201f87.js} +10 -10
  157. package/dist/chunks/loading-button.1c201f87.js.map +1 -0
  158. package/dist/chunks/{tooltip.9af34fba.js → tooltip.2aff4fa6.js} +2 -2
  159. package/dist/chunks/tooltip.2aff4fa6.js.map +1 -0
  160. package/dist/chunks/use-form-layout-loading.d03e5d48.js +12 -0
  161. package/dist/chunks/use-form-layout-loading.d03e5d48.js.map +1 -0
  162. package/dist/code-snippet.js +6 -6
  163. package/dist/code-snippet.js.map +1 -1
  164. package/dist/country.js +149 -174
  165. package/dist/country.js.map +1 -1
  166. package/dist/currency.js +1 -1
  167. package/dist/data-grid.js +482 -499
  168. package/dist/data-grid.js.map +1 -1
  169. package/dist/date-picker.js +80 -74
  170. package/dist/date-picker.js.map +1 -1
  171. package/dist/date-range-picker.js +2 -2
  172. package/dist/date.js +1 -1
  173. package/dist/divider.js +1 -1
  174. package/dist/dropdown.js +72 -67
  175. package/dist/dropdown.js.map +1 -1
  176. package/dist/filter-bar.js +268 -265
  177. package/dist/filter-bar.js.map +1 -1
  178. package/dist/focus-trap.js +1 -1
  179. package/dist/form-layout.js +174 -0
  180. package/dist/form-layout.js.map +1 -0
  181. package/dist/header.js +3 -3
  182. package/dist/index.js +164 -155
  183. package/dist/index.js.map +1 -1
  184. package/dist/info-icon.js +2 -2
  185. package/dist/input-field.js +69 -67
  186. package/dist/input-field.js.map +1 -1
  187. package/dist/internal.js +6 -6
  188. package/dist/link.js +2 -2
  189. package/dist/loading-indicator.js +1 -1
  190. package/dist/menu.js +4 -4
  191. package/dist/modal.js +203 -324
  192. package/dist/modal.js.map +1 -1
  193. package/dist/pagination.js +4 -4
  194. package/dist/payment-method.js +2 -2
  195. package/dist/popover.js +4 -4
  196. package/dist/popper-container.js +2 -2
  197. package/dist/radio-group.js +97 -99
  198. package/dist/radio-group.js.map +1 -1
  199. package/dist/search-bar.js +2 -2
  200. package/dist/segmented-control.js +4 -4
  201. package/dist/sidepanel.js +218 -0
  202. package/dist/sidepanel.js.map +1 -0
  203. package/dist/status.js +2 -2
  204. package/dist/structured-list.js +1 -1
  205. package/dist/summary-grid.js +3 -3
  206. package/dist/tabs.js +3 -3
  207. package/dist/tabs.js.map +1 -1
  208. package/dist/tag.js +3 -3
  209. package/dist/textarea.js +84 -82
  210. package/dist/textarea.js.map +1 -1
  211. package/dist/timeline.js +23 -23
  212. package/dist/timeline.js.map +1 -1
  213. package/dist/toast.js +2 -2
  214. package/dist/toggle.js +2 -2
  215. package/dist/typography.js +1 -1
  216. package/dist/web-types.json +455 -73
  217. package/package.json +10 -8
  218. package/dist/@types/packages/vue2/src/components/country/composables/useCountryFlag.d.ts +0 -2
  219. package/dist/chunks/calendar.8f50a65a.js.map +0 -1
  220. package/dist/chunks/controls-group.9d58a091.js +0 -64
  221. package/dist/chunks/controls-group.9d58a091.js.map +0 -1
  222. package/dist/chunks/dropdown-default-textbox.a5eca928.js.map +0 -1
  223. package/dist/chunks/dropdown.368486b1.js.map +0 -1
  224. package/dist/chunks/index.175f9e2d.js.map +0 -1
  225. package/dist/chunks/listbox.f51e92cd.js.map +0 -1
  226. package/dist/chunks/loading-button.6d34f66f.js.map +0 -1
  227. package/dist/chunks/tooltip.9af34fba.js.map +0 -1
package/dist/dropdown.js CHANGED
@@ -1,16 +1,17 @@
1
- import { B as s } from "./chunks/dropdown.368486b1.js";
2
- import { defineComponent as a, computed as c, toRefs as m } from "vue";
3
- import { B as f, L as l } from "./chunks/listbox-option-tag.c7e9a228.js";
4
- import { n as u } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
5
- import { BentoCountry as y, BentoCountryVariant as _ } from "./country.js";
6
- import { u as v } from "./chunks/useCountryItems.5d7b436e.js";
7
- import { BentoPaymentMethod as b } from "./payment-method.js";
8
- import "./assets/index27.css";
9
- const w = a({
1
+ import { B as s } from "./chunks/dropdown.c05678d0.js";
2
+ import { defineComponent as u, computed as _, toRefs as m, provide as f } from "vue";
3
+ import { B as y, L as l } from "./chunks/listbox-option-tag.8d6cccac.js";
4
+ import { n as d } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
5
+ import { BentoCountry as v, BentoCountryVariant as c } from "./country.js";
6
+ import { u as b } from "./chunks/useCountryItems.5d7b436e.js";
7
+ import { d as w } from "./chunks/index.56858f4e.js";
8
+ import { BentoPaymentMethod as I } from "./payment-method.js";
9
+ import "./assets/index11.css";
10
+ const $ = u({
10
11
  name: "bento-dropdown-avatar",
11
12
  components: {
12
13
  BentoDropdown: s,
13
- BentoAvatar: f
14
+ BentoAvatar: y
14
15
  },
15
16
  props: {
16
17
  ...s.props,
@@ -28,44 +29,44 @@ const w = a({
28
29
  },
29
30
  emits: ["input"],
30
31
  setup(r, { emit: t }) {
31
- const n = (o) => t("input", o);
32
+ const n = (e) => t("input", e);
32
33
  return {
33
34
  // Values
34
- dropdownItems: c(
35
- () => r.items.map(({ value: o, label: d, src: p }) => ({ value: o, label: d, data: p }))
35
+ dropdownItems: _(
36
+ () => r.items.map(({ value: e, label: a, src: p }) => ({ value: e, label: a, data: p }))
36
37
  ),
37
38
  // Methods
38
39
  onInput: n
39
40
  };
40
41
  }
41
42
  });
42
- var I = function() {
43
+ var B = function() {
43
44
  var t = this, n = t._self._c;
44
- return t._self._setupProxy, n("div", [n("bento-dropdown", t._b({ attrs: { items: t.dropdownItems }, on: { input: t.onInput }, scopedSlots: t._u([{ key: "default", fn: function({ label: e, data: o }) {
45
- return [n("bento-avatar", { attrs: { username: e, src: o } })];
45
+ return t._self._setupProxy, n("div", [n("bento-dropdown", t._b({ attrs: { items: t.dropdownItems }, on: { input: t.onInput }, scopedSlots: t._u([{ key: "default", fn: function({ label: o, data: e }) {
46
+ return [n("bento-avatar", { attrs: { username: o, src: e } })];
46
47
  } }]) }, "bento-dropdown", t.$props, !1))], 1);
47
- }, $ = [], x = /* @__PURE__ */ u(
48
- w,
49
- I,
48
+ }, C = [], x = /* @__PURE__ */ d(
50
49
  $,
50
+ B,
51
+ C,
51
52
  !1,
52
53
  null,
53
54
  null,
54
55
  null,
55
56
  null
56
57
  );
57
- const J = x.exports, g = a({
58
+ const Q = x.exports, g = u({
58
59
  name: "b-dropdown-country",
59
60
  components: {
60
61
  BentoDropdown: s,
61
- BentoCountry: y
62
+ BentoCountry: v
62
63
  },
63
64
  props: {
64
65
  ...s.props,
65
66
  /**
66
67
  * The option elements to populate the country dropdown with.
67
68
  * It must be an array of {@see BentoCountryListboxOptions }
68
- * * @property {string} value.label - Text to be displayed in the option
69
+ * * @deprecated {string} value.label - Use BentoDropdown instead of custom labels
69
70
  * * @property {BentoCountryCode} value.value - Country code of the option
70
71
  */
71
72
  items: {
@@ -78,39 +79,43 @@ const J = x.exports, g = a({
78
79
  */
79
80
  variant: {
80
81
  type: String,
81
- default: _.CUSTOM,
82
- validator: (r) => Object.values(_).includes(r)
82
+ default: c.CUSTOM,
83
+ validator: (r) => Object.values(c).includes(r)
83
84
  }
84
85
  },
85
86
  emits: ["input"],
86
87
  setup(r, { emit: t }) {
87
- const { variant: n, items: e } = m(r), o = (p) => t("input", p);
88
- return {
88
+ const { variant: n, items: o } = m(r), e = (p) => t("input", p), a = b(n, o);
89
+ return f("skipBentoCountryDeprecateMessage", !0), (n.value === "custom" || o.value.some((p) => p.label)) && w(
90
+ 'BentoDropdownCountry "custom" variant and "items" prop "label" key',
91
+ "Use any of the other BentoDropdownCountry variants instead OR use BentoDropdown component for custom labels",
92
+ "2.0.0"
93
+ ), {
89
94
  // Values
90
- countryItems: v(n, e),
95
+ countryItems: a,
91
96
  // Methods
92
- onInput: o,
97
+ onInput: e,
93
98
  // Enums
94
- BentoCountryVariant: _
99
+ BentoCountryVariant: c
95
100
  };
96
101
  }
97
102
  });
98
- var B = function() {
103
+ var h = function() {
99
104
  var t = this, n = t._self._c;
100
- return t._self._setupProxy, n("div", [n("bento-dropdown", t._b({ attrs: { items: t.countryItems }, on: { input: t.onInput }, scopedSlots: t._u([{ key: "default", fn: function({ value: e, label: o }) {
101
- return [n("bento-country", { attrs: { code: e, label: o, variant: t.BentoCountryVariant.CUSTOM } })];
105
+ return t._self._setupProxy, n("div", [n("bento-dropdown", t._b({ attrs: { items: t.countryItems }, on: { input: t.onInput }, scopedSlots: t._u([{ key: "default", fn: function({ value: o, label: e }) {
106
+ return [n("bento-country", { attrs: { code: o, label: e, variant: t.BentoCountryVariant.CUSTOM } })];
102
107
  } }]) }, "bento-dropdown", t.$props, !1))], 1);
103
- }, C = [], h = /* @__PURE__ */ u(
108
+ }, D = [], A = /* @__PURE__ */ d(
104
109
  g,
105
- B,
106
- C,
110
+ h,
111
+ D,
107
112
  !1,
108
113
  null,
109
114
  null,
110
115
  null,
111
116
  null
112
117
  );
113
- const K = h.exports, A = a({
118
+ const W = A.exports, P = u({
114
119
  name: "b-dropdown-currency",
115
120
  components: {
116
121
  BentoDropdown: s,
@@ -133,30 +138,30 @@ const K = h.exports, A = a({
133
138
  setup(r, { emit: t }) {
134
139
  return {
135
140
  // Methods
136
- onInput: (e) => t("input", e)
141
+ onInput: (o) => t("input", o)
137
142
  };
138
143
  }
139
144
  });
140
- var P = function() {
145
+ var S = function() {
141
146
  var t = this, n = t._self._c;
142
- return t._self._setupProxy, n("bento-dropdown", t._b({ on: { input: t.onInput }, scopedSlots: t._u([{ key: "default", fn: function(e) {
143
- return [n("listbox-option-tag", { attrs: { option: e } })];
147
+ return t._self._setupProxy, n("bento-dropdown", t._b({ on: { input: t.onInput }, scopedSlots: t._u([{ key: "default", fn: function(o) {
148
+ return [n("listbox-option-tag", { attrs: { option: o } })];
144
149
  } }]) }, "bento-dropdown", t.$props, !1));
145
- }, S = [], D = /* @__PURE__ */ u(
146
- A,
150
+ }, k = [], R = /* @__PURE__ */ d(
147
151
  P,
148
152
  S,
153
+ k,
149
154
  !1,
150
155
  null,
151
156
  null,
152
157
  null,
153
158
  null
154
159
  );
155
- const N = D.exports, R = a({
160
+ const X = R.exports, M = u({
156
161
  name: "bento-dropdown-payment-method",
157
162
  components: {
158
163
  BentoDropdown: s,
159
- BentoPaymentMethod: b
164
+ BentoPaymentMethod: I
160
165
  },
161
166
  props: {
162
167
  ...s.props,
@@ -175,26 +180,26 @@ const N = D.exports, R = a({
175
180
  setup(r, { emit: t }) {
176
181
  return {
177
182
  // Methods
178
- onInput: (e) => t("input", e)
183
+ onInput: (o) => t("input", o)
179
184
  };
180
185
  }
181
186
  });
182
187
  var T = function() {
183
188
  var t = this, n = t._self._c;
184
- return t._self._setupProxy, n("div", [n("bento-dropdown", t._b({ on: { input: t.onInput }, scopedSlots: t._u([{ key: "default", fn: function({ value: e, label: o }) {
185
- return [n("bento-payment-method", { attrs: { type: e, label: o } })];
189
+ return t._self._setupProxy, n("div", [n("bento-dropdown", t._b({ on: { input: t.onInput }, scopedSlots: t._u([{ key: "default", fn: function({ value: o, label: e }) {
190
+ return [n("bento-payment-method", { attrs: { type: o, label: e } })];
186
191
  } }]) }, "bento-dropdown", t.$props, !1))], 1);
187
- }, k = [], F = /* @__PURE__ */ u(
188
- R,
192
+ }, F = [], O = /* @__PURE__ */ d(
193
+ M,
189
194
  T,
190
- k,
195
+ F,
191
196
  !1,
192
197
  null,
193
198
  null,
194
199
  null,
195
200
  null
196
201
  );
197
- const Q = F.exports, M = a({
202
+ const Y = O.exports, U = u({
198
203
  name: "bento-dropdown-tag",
199
204
  components: {
200
205
  BentoDropdown: s,
@@ -216,13 +221,13 @@ const Q = F.exports, M = a({
216
221
  },
217
222
  emits: ["input"],
218
223
  setup(r, { emit: t }) {
219
- const n = (o) => t("input", o);
224
+ const n = (e) => t("input", e);
220
225
  return {
221
226
  // Values
222
- tagItems: c(
227
+ tagItems: _(
223
228
  () => {
224
- var o;
225
- return (o = r.items) == null ? void 0 : o.map(({ label: d, value: p, variant: i }) => ({ label: d, value: p, data: i }));
229
+ var e;
230
+ return (e = r.items) == null ? void 0 : e.map(({ label: a, value: p, variant: i }) => ({ label: a, value: p, data: i }));
226
231
  }
227
232
  ),
228
233
  // Methods
@@ -230,28 +235,28 @@ const Q = F.exports, M = a({
230
235
  };
231
236
  }
232
237
  });
233
- var O = function() {
238
+ var L = function() {
234
239
  var t = this, n = t._self._c;
235
- return t._self._setupProxy, n("bento-dropdown", t._b({ staticClass: "b-dropdown-tag", attrs: { items: t.tagItems, "show-slot-content-in-multiple": "" }, on: { input: t.onInput }, scopedSlots: t._u([{ key: "default", fn: function({ label: e, data: o }) {
236
- return [n("listbox-option-tag", { attrs: { option: { value: e, data: o, label: "" } } })];
240
+ return t._self._setupProxy, n("bento-dropdown", t._b({ staticClass: "b-dropdown-tag", attrs: { items: t.tagItems, "show-slot-content-in-multiple": "" }, on: { input: t.onInput }, scopedSlots: t._u([{ key: "default", fn: function({ label: o, data: e }) {
241
+ return [n("listbox-option-tag", { attrs: { option: { value: o, data: e, label: "" } } })];
237
242
  } }]) }, "bento-dropdown", t.$props, !1));
238
- }, L = [], U = /* @__PURE__ */ u(
239
- M,
240
- O,
243
+ }, V = [], j = /* @__PURE__ */ d(
244
+ U,
241
245
  L,
246
+ V,
242
247
  !1,
243
248
  null,
244
249
  "6cc216bb",
245
250
  null,
246
251
  null
247
252
  );
248
- const W = U.exports;
253
+ const Z = j.exports;
249
254
  export {
250
255
  s as BentoDropdown,
251
- J as BentoDropdownAvatar,
252
- K as BentoDropdownCountry,
253
- N as BentoDropdownCurrency,
254
- Q as BentoDropdownPaymentMethod,
255
- W as BentoDropdownTag
256
+ Q as BentoDropdownAvatar,
257
+ W as BentoDropdownCountry,
258
+ X as BentoDropdownCurrency,
259
+ Y as BentoDropdownPaymentMethod,
260
+ Z as BentoDropdownTag
256
261
  };
257
262
  //# sourceMappingURL=dropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","sources":["../src/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.vue","../src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue","../src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.vue","../src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.vue","../src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.vue"],"sourcesContent":["<template>\n <div>\n <bento-dropdown v-slot=\"{ label, data }\" v-bind=\"$props\" :items=\"dropdownItems\" @input=\"onInput\">\n <bento-avatar :username=\"label\" :src=\"data\" />\n </bento-dropdown>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import { BentoListboxSelectedValue } from '@/types';\n import { BentoAvatarListboxOptions } from './dropdown-avatar.types';\n import { BentoAvatar } from '@/internal';\n import BentoDropdown from '@/components/dropdown/dropdown.vue';\n\n /**\n * A Avatar Dropdown showing a selectable list of countries.\n *\n * @example\n * import { BentoDropdownAvatar } from '@adyen/bento-vue2';\n * import type { BentoAvatarListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdownAvatar },\n * template: `\n * <bento-dropdown-avatar\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :multiple=\"true\"\n * :isOptionsDisabled=\"option => option.value === 2\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref('user-id-1') // Default value\n * const options: BentoAvatarListboxOptions = [\n * { label: 'User 1', value: 'user-id-1' },\n * { label: 'User 2', value: 'user-id-2', src: 'image-source.jpeg' },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'bento-dropdown-avatar',\n components: {\n BentoDropdown,\n BentoAvatar,\n },\n props: {\n ...BentoDropdown.props,\n /**\n * The option elements to populate the avatar dropdown with.\n * It must be an array of {@see BentoAvatarListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option.\n * * @property {string,number} value.value - Value of the option.\n * * @property {string} value.src - Image source of the avatar image.\n */\n items: {\n type: Array as PropType<BentoAvatarListboxOptions>,\n default: () => [],\n },\n },\n emits: ['input'],\n setup(props, { emit }) {\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n\n const dropdownItems = computed(() =>\n props.items.map(({ value, label, src }) => ({ value, label, data: src }))\n );\n\n return {\n // Values\n dropdownItems,\n\n // Methods\n onInput,\n };\n },\n });\n</script>\n","<template>\n <div>\n <bento-dropdown v-slot=\"{ value, label }\" v-bind=\"$props\" :items=\"countryItems\" @input=\"onInput\">\n <bento-country :code=\"value\" :label=\"label\" :variant=\"BentoCountryVariant.CUSTOM\" />\n </bento-dropdown>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, PropType, toRefs } from 'vue';\n import { BentoCountryListboxOptions } from './dropdown-country.types';\n import { BentoListboxSelectedValue } from '@/types';\n import { BentoCountry, BentoCountryVariant } from '@/components/country';\n import { useCountryItems } from './composables/useCountryItems';\n import BentoDropdown from '@/components/dropdown/dropdown.vue';\n\n /**\n * A Country Dropdown showing a selectable list of countries.\n *\n * @example\n * import { BentoDropdownCountry, BentoCountryCode } from '@adyen/bento-vue2';\n * import type { BentoCountryListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdown },\n * template: `\n * <bento-dropdown-country\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :multiple=\"true\"\n * :isOptionsDisabled=\"option => option.value === 2\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref(BentoCountryCode.NL) // Default value\n * const options: BentoCountryListboxOptions = [\n * { label: 'Option 1', value: BentoCountryCode.NL },\n * { label: 'Option 2', value: BentoCountryCode.BE },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'b-dropdown-country',\n components: {\n BentoDropdown,\n BentoCountry,\n },\n props: {\n ...BentoDropdown.props,\n /**\n * The option elements to populate the country dropdown with.\n * It must be an array of {@see BentoCountryListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option\n * * @property {BentoCountryCode} value.value - Country code of the option\n */\n items: {\n type: Array as PropType<BentoCountryListboxOptions>,\n default: () => [],\n },\n\n /**\n * Which label variant to display.\n * @values iso, name, phone_code, capital\n */\n variant: {\n type: String as PropType<BentoCountryVariant | `${BentoCountryVariant}`>,\n default: BentoCountryVariant.CUSTOM,\n validator: (value: BentoCountryVariant) => Object.values(BentoCountryVariant).includes(value),\n },\n },\n emits: ['input'],\n setup(props, { emit }) {\n const { variant, items } = toRefs(props);\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n\n const countryItems = useCountryItems(variant, items);\n\n return {\n // Values\n countryItems,\n\n // Methods\n onInput,\n\n // Enums\n BentoCountryVariant,\n };\n },\n });\n</script>\n","<template>\n <bento-dropdown v-slot=\"slotProps\" v-bind=\"$props\" @input=\"onInput\">\n <listbox-option-tag :option=\"slotProps\" />\n </bento-dropdown>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, PropType } from 'vue';\n import type { BentoCurrencyListboxOptions } from './dropdown-currency.types';\n import type { BentoListboxSelectedValue } from '@/types';\n import { ListboxOptionTag } from '@/internal';\n import BentoDropdown from '@/components/dropdown/dropdown.vue';\n\n /**\n * A Currency Dropdown showing a selectable list of currencies.\n *\n * @example\n * import { BentoDropdownCountry, BentoCountryCode } from '@adyen/bento-vue2';\n * import type { BentoCountryListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdown },\n * template: `\n * <bento-dropdown-currency\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :multiple=\"true\"\n * :isOptionsDisabled=\"option => option.value === 2\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref(BentoCountryCode.NL) // Default value\n * const options: BentoCountryListboxOptions = [\n * { label: 'Option 1', value: BentoCountryCode.NL },\n * { label: 'Option 2', value: BentoCountryCode.BE },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'b-dropdown-currency',\n components: {\n BentoDropdown,\n ListboxOptionTag,\n },\n props: {\n ...BentoDropdown.props,\n /**\n * The option elements to populate the country dropdown with.\n * It must be an array of {@see BentoCurrencyListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option\n * * @property {BentoCurrencyISOCode} value.code - Currency ISO code of the option\n */\n items: {\n type: Array as PropType<BentoCurrencyListboxOptions>,\n default: () => [],\n },\n },\n emits: ['input'],\n setup(_props, { emit }) {\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n\n return {\n // Methods\n onInput,\n };\n },\n });\n</script>\n","<template>\n <div>\n <bento-dropdown v-slot=\"{ value, label }\" v-bind=\"$props\" @input=\"onInput\">\n <bento-payment-method :type=\"value\" :label=\"label\" />\n </bento-dropdown>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, PropType } from 'vue';\n import { BentoPaymentMethodListboxOptions } from './dropdown-payment-method.types';\n import { BentoListboxSelectedValue } from '@/types';\n import { BentoPaymentMethod } from '@/components/payment-method';\n import BentoDropdown from '@/components/dropdown/dropdown.vue';\n\n /**\n * A Payment method Dropdown showing a selectable list of countries.\n *\n * @example\n * import { BentoDropdownPaymentMethod, BentoPaymentMethodType } from '@adyen/bento-vue2';\n * import type { BentoPaymentMethodListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdownPaymentMethod },\n * template: `\n * <bento-dropdown-payment-method\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :multiple=\"true\"\n * :isOptionsDisabled=\"option => option.value === BentoPaymentMethodType.VISA\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref(BentoPaymentMethodType.IDEAL) // Default value\n * const options: BentoPaymentMethodListboxOptions = [\n * { label: 'Option 1', value: BentoPaymentMethodType.IDEAL },\n * { label: 'Option 2', value: BentoPaymentMethodType.VISA },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'bento-dropdown-payment-method',\n components: {\n BentoDropdown,\n BentoPaymentMethod,\n },\n props: {\n ...BentoDropdown.props,\n /**\n * The option elements to populate the payment method dropdown with.\n * It must be an array of {@see BentoPaymentMethodListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option\n * * @property {BentoPaymentMethodType} value.value - Payment type code that\n */\n items: {\n type: Array as PropType<BentoPaymentMethodListboxOptions>,\n default: () => [],\n },\n },\n emits: ['input'],\n setup(_props, { emit }) {\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n\n return {\n // Methods\n onInput,\n };\n },\n });\n</script>\n","<template>\n <bento-dropdown\n v-slot=\"{ label, data }\"\n v-bind=\"$props\"\n class=\"b-dropdown-tag\"\n :items=\"tagItems\"\n show-slot-content-in-multiple\n @input=\"onInput\"\n >\n <listbox-option-tag :option=\"{ value: label, data, label: '' }\" />\n </bento-dropdown>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import type { BentoTagListboxOptions } from './dropdown-tag.types';\n import type { BentoListboxSelectedValue } from '../../../../../types';\n import { ListboxOptionTag } from '../../../../internal';\n import BentoDropdown from '../../../dropdown.vue';\n\n /**\n * A Tag Dropdown showing a selectable list of tags.\n *\n * @example\n * import { BentoDropdownTag, BentoTagVariant } from '@adyen/bento-vue2';\n * import type { BentoTagListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdownTag },\n * template: `\n * <bento-dropdown-tag\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref('unique-id-1') // Default value\n * const options: BentoTagListboxOptions = [\n * { label: 'Offline', value: 'unique-id-1', variant: BentoTagVariant.RED },\n * { label: 'Online', value: 'unique-id-2', variant: BentoTagVariant.GREEN },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'bento-dropdown-tag',\n components: {\n BentoDropdown,\n ListboxOptionTag,\n },\n props: {\n ...BentoDropdown.props,\n /**\n * The option elements to populate the tag dropdown with.\n * It must be an array of {@see BentoTagListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option\n * * @property {string,number} value.value - Value of the option\n * * @property {BentoTagVariant} value.variant - The BentTag variant shown for the option.\n */\n items: {\n type: Array as PropType<BentoTagListboxOptions>,\n default: () => [],\n },\n },\n emits: ['input'],\n setup(props, { emit }) {\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n\n const tagItems = computed(() =>\n props.items?.map(({ label, value, variant }) => ({ label, value, data: variant }))\n );\n\n return {\n // Values\n tagItems,\n\n // Methods\n onInput,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./dropdown-tag.scss\" />\n"],"names":["_sfc_main$4","defineComponent","BentoDropdown","BentoAvatar","props","emit","onInput","selectedValue","computed","value","label","src","_sfc_main$3","BentoCountry","BentoCountryVariant","variant","items","toRefs","useCountryItems","_sfc_main$2","ListboxOptionTag","_props","_sfc_main$1","BentoPaymentMethod","_sfc_main","_a"],"mappings":";;;;;;;;AA2CA,MAAAA,IAAAC,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA;AAAA,IACA,eAAAC;AAAA,IACA,aAAAC;AAAA,EACA;AAAA,EACA,OAAA;AAAA,IACA,GAAAD,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,OAAA;AAAA,MAQA,MAAA;AAAA,MACA,SAAA,MAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,MAAAE,GAAA,EAAA,MAAAC,EAAA,GAAA;AAEA,UAAAC,IAAA,CAAAC,MAAAF,EAAA,SAAAE,CAAA;AAMA,WAAA;AAAA;AAAA,MAAA,eAJAC;AAAA,QAAA,MAAAJ,EAAA,MAAA,IAAA,CAAA,EAAA,OAAAK,GAAA,OAAAC,GAAA,KAAAC,EAAA,OAAA,EAAA,OAAAF,GAAA,OAAAC,GAAA,MAAAC,EAAA,EAAA;AAAA,MACA;AAAA;AAAA,MAKA,SAAAL;AAAA,IAGA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;;qBCnCAM,IAAAX,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA;AAAA,IACA,eAAAC;AAAA,IACA,cAAAW;AAAA,EACA;AAAA,EACA,OAAA;AAAA,IACA,GAAAX,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,OAAA;AAAA,MAOA,MAAA;AAAA,MACA,SAAA,MAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,SAAA;AAAA,MAMA,MAAA;AAAA,MACA,SAAAY,EAAA;AAAA,MACA,WAAA,CAAAL,MAAA,OAAA,OAAAK,CAAA,EAAA,SAAAL,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,MAAAL,GAAA,EAAA,MAAAC,EAAA,GAAA;AAEA,UAAA,EAAA,SAAAU,GAAA,OAAAC,EAAA,IAAAC,EAAAb,CAAA,GACAE,IAAA,CAAAC,MAAAF,EAAA,SAAAE,CAAA;AAIA,WAAA;AAAA;AAAA,MAAA,cAFAW,EAAAH,GAAAC,CAAA;AAAA;AAAA,MAIA,SAAAV;AAAA;AAAA,MAGA,qBAAAQ;AAAA,IAGA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;;qBClDAK,IAAAlB,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA;AAAA,IACA,eAAAC;AAAA,IACA,kBAAAkB;AAAA,EACA;AAAA,EACA,OAAA;AAAA,IACA,GAAAlB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,OAAA;AAAA,MAOA,MAAA;AAAA,MACA,SAAA,MAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,MAAAmB,GAAA,EAAA,MAAAhB,EAAA,GAAA;AAIA,WAAA;AAAA;AAAA,MAAA,SAFA,CAAAE,MAAAF,EAAA,SAAAE,CAAA;AAAA,IAIA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;;qBC1BAe,IAAArB,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA;AAAA,IACA,eAAAC;AAAA,IACA,oBAAAqB;AAAA,EACA;AAAA,EACA,OAAA;AAAA,IACA,GAAArB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,OAAA;AAAA,MAOA,MAAA;AAAA,MACA,SAAA,MAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,MAAAmB,GAAA,EAAA,MAAAhB,EAAA,GAAA;AAIA,WAAA;AAAA;AAAA,MAAA,SAFA,CAAAE,MAAAF,EAAA,SAAAE,CAAA;AAAA,IAIA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;;qBCzBAiB,IAAAvB,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA;AAAA,IACA,eAAAC;AAAA,IACA,kBAAAkB;AAAA,EACA;AAAA,EACA,OAAA;AAAA,IACA,GAAAlB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,OAAA;AAAA,MAQA,MAAA;AAAA,MACA,SAAA,MAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,MAAAE,GAAA,EAAA,MAAAC,EAAA,GAAA;AAEA,UAAAC,IAAA,CAAAC,MAAAF,EAAA,SAAAE,CAAA;AAMA,WAAA;AAAA;AAAA,MAAA,UAJAC;AAAA,QAAA,MAAA;;AAAA,kBAAAiB,IAAArB,EAAA,UAAA,gBAAAqB,EAAA,IAAA,CAAA,EAAA,OAAAf,GAAA,OAAAD,GAAA,SAAAM,EAAA,OAAA,EAAA,OAAAL,GAAA,OAAAD,GAAA,MAAAM,EAAA;AAAA;AAAA,MACA;AAAA;AAAA,MAKA,SAAAT;AAAA,IAGA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"dropdown.js","sources":["../src/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.vue","../src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue","../src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.vue","../src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.vue","../src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.vue"],"sourcesContent":["<template>\n <div>\n <bento-dropdown v-slot=\"{ label, data }\" v-bind=\"$props\" :items=\"dropdownItems\" @input=\"onInput\">\n <bento-avatar :username=\"label\" :src=\"data\" />\n </bento-dropdown>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import { BentoListboxSelectedValue } from '@/types';\n import { BentoAvatarListboxOptions } from './dropdown-avatar.types';\n import { BentoAvatar } from '@/internal';\n import BentoDropdown from '@/components/dropdown/dropdown.vue';\n\n /**\n * A Avatar Dropdown showing a selectable list of countries.\n *\n * @example\n * import { BentoDropdownAvatar } from '@adyen/bento-vue2';\n * import type { BentoAvatarListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdownAvatar },\n * template: `\n * <bento-dropdown-avatar\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :multiple=\"true\"\n * :isOptionsDisabled=\"option => option.value === 2\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref('user-id-1') // Default value\n * const options: BentoAvatarListboxOptions = [\n * { label: 'User 1', value: 'user-id-1' },\n * { label: 'User 2', value: 'user-id-2', src: 'image-source.jpeg' },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'bento-dropdown-avatar',\n components: {\n BentoDropdown,\n BentoAvatar,\n },\n props: {\n ...BentoDropdown.props,\n /**\n * The option elements to populate the avatar dropdown with.\n * It must be an array of {@see BentoAvatarListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option.\n * * @property {string,number} value.value - Value of the option.\n * * @property {string} value.src - Image source of the avatar image.\n */\n items: {\n type: Array as PropType<BentoAvatarListboxOptions>,\n default: () => [],\n },\n },\n emits: ['input'],\n setup(props, { emit }) {\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n\n const dropdownItems = computed(() =>\n props.items.map(({ value, label, src }) => ({ value, label, data: src }))\n );\n\n return {\n // Values\n dropdownItems,\n\n // Methods\n onInput,\n };\n },\n });\n</script>\n","<template>\n <div>\n <bento-dropdown v-slot=\"{ value, label }\" v-bind=\"$props\" :items=\"countryItems\" @input=\"onInput\">\n <bento-country :code=\"value\" :label=\"label\" :variant=\"BentoCountryVariant.CUSTOM\" />\n </bento-dropdown>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, PropType, provide, toRefs } from 'vue';\n import { BentoCountryListboxOptions } from './dropdown-country.types';\n import { BentoListboxSelectedValue } from '@/types';\n import { BentoCountry, BentoCountryVariant } from '@/components/country';\n import BentoDropdown from '@/components/dropdown/dropdown.vue';\n import { useCountryItems } from './composables/useCountryItems';\n import { deprecate } from '@/utils/ts/deprecate';\n\n /**\n * A Country Dropdown showing a selectable list of countries.\n *\n * @example\n * import { BentoDropdownCountry, BentoCountryCode } from '@adyen/bento-vue2';\n * import type { BentoCountryListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdown },\n * template: `\n * <bento-dropdown-country\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :multiple=\"true\"\n * :isOptionsDisabled=\"option => option.value === 2\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref(BentoCountryCode.NL) // Default value\n * const options: BentoCountryListboxOptions = [\n * { label: 'Option 1', value: BentoCountryCode.NL },\n * { label: 'Option 2', value: BentoCountryCode.BE },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'b-dropdown-country',\n components: {\n BentoDropdown,\n BentoCountry,\n },\n props: {\n ...BentoDropdown.props,\n /**\n * The option elements to populate the country dropdown with.\n * It must be an array of {@see BentoCountryListboxOptions }\n * * @deprecated {string} value.label - Use BentoDropdown instead of custom labels\n * * @property {BentoCountryCode} value.value - Country code of the option\n */\n items: {\n type: Array as PropType<BentoCountryListboxOptions>,\n default: () => [],\n },\n\n /**\n * Which label variant to display.\n * @values iso, name, phone_code, capital\n */\n variant: {\n type: String as PropType<BentoCountryVariant | `${BentoCountryVariant}`>,\n default: BentoCountryVariant.CUSTOM,\n validator: (value: BentoCountryVariant) => Object.values(BentoCountryVariant).includes(value),\n },\n },\n emits: ['input'],\n setup(props, { emit }) {\n const { variant, items } = toRefs(props);\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n\n const countryItems = useCountryItems(variant, items);\n\n // Skip the BentoCountry deprecate message, because it's not relevant to the user for this component\n provide('skipBentoCountryDeprecateMessage', true);\n if (variant.value === 'custom' || items.value.some(item => item.label)) {\n deprecate(\n 'BentoDropdownCountry \"custom\" variant and \"items\" prop \"label\" key',\n 'Use any of the other BentoDropdownCountry variants instead OR use BentoDropdown component for custom labels',\n '2.0.0'\n );\n }\n\n return {\n // Values\n countryItems,\n\n // Methods\n onInput,\n\n // Enums\n BentoCountryVariant,\n };\n },\n });\n</script>\n","<template>\n <bento-dropdown v-slot=\"slotProps\" v-bind=\"$props\" @input=\"onInput\">\n <listbox-option-tag :option=\"slotProps\" />\n </bento-dropdown>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, PropType } from 'vue';\n import type { BentoCurrencyListboxOptions } from './dropdown-currency.types';\n import type { BentoListboxSelectedValue } from '@/types';\n import { ListboxOptionTag } from '@/internal';\n import BentoDropdown from '@/components/dropdown/dropdown.vue';\n\n /**\n * A Currency Dropdown showing a selectable list of currencies.\n *\n * @example\n * import { BentoDropdownCountry, BentoCountryCode } from '@adyen/bento-vue2';\n * import type { BentoCountryListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdown },\n * template: `\n * <bento-dropdown-currency\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :multiple=\"true\"\n * :isOptionsDisabled=\"option => option.value === 2\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref(BentoCountryCode.NL) // Default value\n * const options: BentoCountryListboxOptions = [\n * { label: 'Option 1', value: BentoCountryCode.NL },\n * { label: 'Option 2', value: BentoCountryCode.BE },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'b-dropdown-currency',\n components: {\n BentoDropdown,\n ListboxOptionTag,\n },\n props: {\n ...BentoDropdown.props,\n /**\n * The option elements to populate the country dropdown with.\n * It must be an array of {@see BentoCurrencyListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option\n * * @property {BentoCurrencyISOCode} value.code - Currency ISO code of the option\n */\n items: {\n type: Array as PropType<BentoCurrencyListboxOptions>,\n default: () => [],\n },\n },\n emits: ['input'],\n setup(_props, { emit }) {\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n\n return {\n // Methods\n onInput,\n };\n },\n });\n</script>\n","<template>\n <div>\n <bento-dropdown v-slot=\"{ value, label }\" v-bind=\"$props\" @input=\"onInput\">\n <bento-payment-method :type=\"value\" :label=\"label\" />\n </bento-dropdown>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, PropType } from 'vue';\n import { BentoPaymentMethodListboxOptions } from './dropdown-payment-method.types';\n import { BentoListboxSelectedValue } from '@/types';\n import { BentoPaymentMethod } from '@/components/payment-method';\n import BentoDropdown from '@/components/dropdown/dropdown.vue';\n\n /**\n * A Payment method Dropdown showing a selectable list of countries.\n *\n * @example\n * import { BentoDropdownPaymentMethod, BentoPaymentMethodType } from '@adyen/bento-vue2';\n * import type { BentoPaymentMethodListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdownPaymentMethod },\n * template: `\n * <bento-dropdown-payment-method\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :multiple=\"true\"\n * :isOptionsDisabled=\"option => option.value === BentoPaymentMethodType.VISA\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref(BentoPaymentMethodType.IDEAL) // Default value\n * const options: BentoPaymentMethodListboxOptions = [\n * { label: 'Option 1', value: BentoPaymentMethodType.IDEAL },\n * { label: 'Option 2', value: BentoPaymentMethodType.VISA },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'bento-dropdown-payment-method',\n components: {\n BentoDropdown,\n BentoPaymentMethod,\n },\n props: {\n ...BentoDropdown.props,\n /**\n * The option elements to populate the payment method dropdown with.\n * It must be an array of {@see BentoPaymentMethodListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option\n * * @property {BentoPaymentMethodType} value.value - Payment type code that\n */\n items: {\n type: Array as PropType<BentoPaymentMethodListboxOptions>,\n default: () => [],\n },\n },\n emits: ['input'],\n setup(_props, { emit }) {\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n\n return {\n // Methods\n onInput,\n };\n },\n });\n</script>\n","<template>\n <bento-dropdown\n v-slot=\"{ label, data }\"\n v-bind=\"$props\"\n class=\"b-dropdown-tag\"\n :items=\"tagItems\"\n show-slot-content-in-multiple\n @input=\"onInput\"\n >\n <listbox-option-tag :option=\"{ value: label, data, label: '' }\" />\n </bento-dropdown>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import type { BentoTagListboxOptions } from './dropdown-tag.types';\n import type { BentoListboxSelectedValue } from '../../../../../types';\n import { ListboxOptionTag } from '../../../../internal';\n import BentoDropdown from '../../../dropdown.vue';\n\n /**\n * A Tag Dropdown showing a selectable list of tags.\n *\n * @example\n * import { BentoDropdownTag, BentoTagVariant } from '@adyen/bento-vue2';\n * import type { BentoTagListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdownTag },\n * template: `\n * <bento-dropdown-tag\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref('unique-id-1') // Default value\n * const options: BentoTagListboxOptions = [\n * { label: 'Offline', value: 'unique-id-1', variant: BentoTagVariant.RED },\n * { label: 'Online', value: 'unique-id-2', variant: BentoTagVariant.GREEN },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'bento-dropdown-tag',\n components: {\n BentoDropdown,\n ListboxOptionTag,\n },\n props: {\n ...BentoDropdown.props,\n /**\n * The option elements to populate the tag dropdown with.\n * It must be an array of {@see BentoTagListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option\n * * @property {string,number} value.value - Value of the option\n * * @property {BentoTagVariant} value.variant - The BentTag variant shown for the option.\n */\n items: {\n type: Array as PropType<BentoTagListboxOptions>,\n default: () => [],\n },\n },\n emits: ['input'],\n setup(props, { emit }) {\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n\n const tagItems = computed(() =>\n props.items?.map(({ label, value, variant }) => ({ label, value, data: variant }))\n );\n\n return {\n // Values\n tagItems,\n\n // Methods\n onInput,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./dropdown-tag.scss\" />\n"],"names":["_sfc_main$4","defineComponent","BentoDropdown","BentoAvatar","props","emit","onInput","selectedValue","computed","value","label","src","_sfc_main$3","BentoCountry","BentoCountryVariant","variant","items","toRefs","countryItems","useCountryItems","provide","item","deprecate","_sfc_main$2","ListboxOptionTag","_props","_sfc_main$1","BentoPaymentMethod","_sfc_main","_a"],"mappings":"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"}