@adyen/bento-vue2 0.10.0 → 0.10.1-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/dist/@types/components/currency/currency.vue.d.ts +9 -0
  2. package/dist/@types/components/data-grid/data-grid.vue.d.ts +3 -3
  3. package/dist/@types/components/date/date.vue.d.ts +9 -0
  4. package/dist/@types/components/modal/components/base-modal/base-modal.vue.d.ts +10 -0
  5. package/dist/@types/components/modal/components/modal-default/modal-default.vue.d.ts +9 -0
  6. package/dist/@types/components/modal/components/modal-dialog/modal-dialog.vue.d.ts +9 -0
  7. package/dist/@types/components/modal/modal.vue.d.ts +11 -0
  8. package/dist/@types/components/segmented-control/components/segmented-control-button/segmented-control-button.vue.d.ts +1 -1
  9. package/dist/@types/components/segmented-control/index.d.ts +2 -0
  10. package/dist/@types/components/segmented-control/segmented-control.types.d.ts +8 -0
  11. package/dist/@types/components/segmented-control/segmented-control.vue.d.ts +53 -0
  12. package/dist/@types/components.d.ts +2 -4
  13. package/dist/@types/index.d.ts +1 -0
  14. package/dist/accordion.js +206 -0
  15. package/dist/accordion.js.map +1 -0
  16. package/dist/alert.js +103 -0
  17. package/dist/alert.js.map +1 -0
  18. package/dist/assets/base-button.css +1 -0
  19. package/dist/assets/button-actions.css +1 -0
  20. package/dist/assets/button.css +1 -0
  21. package/dist/assets/checkbox.css +1 -0
  22. package/dist/assets/checkmark-circle-fill.css +1 -0
  23. package/dist/assets/checkmark-small.css +1 -0
  24. package/dist/assets/chevron-left.css +1 -0
  25. package/dist/assets/chevron-up.css +1 -0
  26. package/dist/assets/copy.css +1 -0
  27. package/dist/assets/cross-circle-fill.css +1 -0
  28. package/dist/assets/cross-small.css +1 -0
  29. package/dist/assets/cross.css +1 -0
  30. package/dist/assets/dropdown.css +1 -0
  31. package/dist/assets/grid-layout.css +1 -0
  32. package/dist/assets/index.css +1 -0
  33. package/dist/assets/index10.css +1 -0
  34. package/dist/assets/index11.css +1 -0
  35. package/dist/assets/index12.css +1 -0
  36. package/dist/assets/index13.css +1 -0
  37. package/dist/assets/index14.css +1 -0
  38. package/dist/assets/index15.css +1 -0
  39. package/dist/assets/index16.css +1 -0
  40. package/dist/assets/index17.css +1 -0
  41. package/dist/assets/index18.css +1 -0
  42. package/dist/assets/index19.css +1 -0
  43. package/dist/assets/index2.css +1 -0
  44. package/dist/assets/index20.css +1 -0
  45. package/dist/assets/index21.css +1 -0
  46. package/dist/assets/index22.css +1 -0
  47. package/dist/assets/index23.css +1 -0
  48. package/dist/assets/index24.css +1 -0
  49. package/dist/assets/index25.css +1 -0
  50. package/dist/assets/index26.css +1 -0
  51. package/dist/assets/index27.css +1 -0
  52. package/dist/assets/index28.css +1 -0
  53. package/dist/assets/index29.css +1 -0
  54. package/dist/assets/index3.css +1 -0
  55. package/dist/assets/index30.css +1 -0
  56. package/dist/assets/index31.css +1 -0
  57. package/dist/assets/index32.css +1 -0
  58. package/dist/assets/index33.css +1 -0
  59. package/dist/assets/index34.css +1 -0
  60. package/dist/assets/index35.css +1 -0
  61. package/dist/assets/index36.css +1 -0
  62. package/dist/assets/index37.css +1 -0
  63. package/dist/assets/index38.css +1 -0
  64. package/dist/assets/index4.css +1 -0
  65. package/dist/assets/index5.css +1 -0
  66. package/dist/assets/index6.css +1 -0
  67. package/dist/assets/index7.css +1 -0
  68. package/dist/assets/index8.css +1 -0
  69. package/dist/assets/index9.css +1 -0
  70. package/dist/assets/info-filled.css +1 -0
  71. package/dist/assets/listbox-option-tag.css +1 -0
  72. package/dist/assets/listbox.css +1 -0
  73. package/dist/assets/search.css +1 -0
  74. package/dist/assets/tooltip.css +1 -0
  75. package/dist/avatar-image.js +7 -0
  76. package/dist/avatar-image.js.map +1 -0
  77. package/dist/badge.js +57 -0
  78. package/dist/badge.js.map +1 -0
  79. package/dist/button.js +110 -0
  80. package/dist/button.js.map +1 -0
  81. package/dist/card.js +178 -0
  82. package/dist/card.js.map +1 -0
  83. package/dist/checkbox.js +94 -0
  84. package/dist/checkbox.js.map +1 -0
  85. package/dist/chunks/_plugin-vue2_normalizer.71e2aa87.js +33 -0
  86. package/dist/chunks/_plugin-vue2_normalizer.71e2aa87.js.map +1 -0
  87. package/dist/chunks/aria-label.ac9651a5.js +13 -0
  88. package/dist/chunks/aria-label.ac9651a5.js.map +1 -0
  89. package/dist/chunks/base-button.38651156.js +83 -0
  90. package/dist/chunks/base-button.38651156.js.map +1 -0
  91. package/dist/chunks/button-actions.59406268.js +105 -0
  92. package/dist/chunks/button-actions.59406268.js.map +1 -0
  93. package/dist/chunks/button.31b757d1.js +102 -0
  94. package/dist/chunks/button.31b757d1.js.map +1 -0
  95. package/dist/chunks/checkbox.fab16cce.js +138 -0
  96. package/dist/chunks/checkbox.fab16cce.js.map +1 -0
  97. package/dist/chunks/checkmark-circle-fill.d1aa324d.js +26 -0
  98. package/dist/chunks/checkmark-circle-fill.d1aa324d.js.map +1 -0
  99. package/dist/chunks/checkmark-small.1371dd20.js +26 -0
  100. package/dist/chunks/checkmark-small.1371dd20.js.map +1 -0
  101. package/dist/chunks/chevron-left.e3a49e62.js +47 -0
  102. package/dist/chunks/chevron-left.e3a49e62.js.map +1 -0
  103. package/dist/chunks/chevron-up.416431cd.js +47 -0
  104. package/dist/chunks/chevron-up.416431cd.js.map +1 -0
  105. package/dist/chunks/copy.fa9aa27e.js +105 -0
  106. package/dist/chunks/copy.fa9aa27e.js.map +1 -0
  107. package/dist/chunks/cross-circle-fill.0a1d738c.js +26 -0
  108. package/dist/chunks/cross-circle-fill.0a1d738c.js.map +1 -0
  109. package/dist/chunks/cross-small.7ecb1b97.js +26 -0
  110. package/dist/chunks/cross-small.7ecb1b97.js.map +1 -0
  111. package/dist/chunks/cross.db1f9177.js +26 -0
  112. package/dist/chunks/cross.db1f9177.js.map +1 -0
  113. package/dist/chunks/directive.23e35ab0.js +21 -0
  114. package/dist/chunks/directive.23e35ab0.js.map +1 -0
  115. package/dist/chunks/dropdown.0d394d2f.js +771 -0
  116. package/dist/chunks/dropdown.0d394d2f.js.map +1 -0
  117. package/dist/chunks/grid-layout.14423a2e.js +69 -0
  118. package/dist/chunks/grid-layout.14423a2e.js.map +1 -0
  119. package/dist/chunks/hasSlot.dceac207.js +5 -0
  120. package/dist/chunks/hasSlot.dceac207.js.map +1 -0
  121. package/dist/chunks/i18n.8934ef6c.js +1695 -0
  122. package/dist/chunks/i18n.8934ef6c.js.map +1 -0
  123. package/dist/chunks/index.2e54c294.js +801 -0
  124. package/dist/chunks/index.2e54c294.js.map +1 -0
  125. package/dist/chunks/index.34eba2c4.js +107 -0
  126. package/dist/chunks/index.34eba2c4.js.map +1 -0
  127. package/dist/chunks/index.59dc2e3f.js +801 -0
  128. package/dist/chunks/index.59dc2e3f.js.map +1 -0
  129. package/dist/chunks/index.73d7902e.js +29 -0
  130. package/dist/chunks/index.73d7902e.js.map +1 -0
  131. package/dist/chunks/index.8c38e06b.js +441 -0
  132. package/dist/chunks/index.8c38e06b.js.map +1 -0
  133. package/dist/chunks/index.8e9cdc73.js +441 -0
  134. package/dist/chunks/index.8e9cdc73.js.map +1 -0
  135. package/dist/chunks/index.a7a22907.js +929 -0
  136. package/dist/chunks/index.a7a22907.js.map +1 -0
  137. package/dist/chunks/index.ad5e1dbd.js +107 -0
  138. package/dist/chunks/index.ad5e1dbd.js.map +1 -0
  139. package/dist/chunks/index.e2141d95.js +86 -0
  140. package/dist/chunks/index.e2141d95.js.map +1 -0
  141. package/dist/chunks/index.f4582460.js +86 -0
  142. package/dist/chunks/index.f4582460.js.map +1 -0
  143. package/dist/chunks/index.f55fdc32.js +1118 -0
  144. package/dist/chunks/index.f55fdc32.js.map +1 -0
  145. package/dist/chunks/info-filled.9748686e.js +26 -0
  146. package/dist/chunks/info-filled.9748686e.js.map +1 -0
  147. package/dist/chunks/listbox-option-tag.2e5c4012.js +111 -0
  148. package/dist/chunks/listbox-option-tag.2e5c4012.js.map +1 -0
  149. package/dist/chunks/listbox-option-tag.f44b4ee0.js +111 -0
  150. package/dist/chunks/listbox-option-tag.f44b4ee0.js.map +1 -0
  151. package/dist/chunks/listbox.152dab0a.js +485 -0
  152. package/dist/chunks/listbox.152dab0a.js.map +1 -0
  153. package/dist/chunks/on-click-outside.3e0c3e2a.js +91 -0
  154. package/dist/chunks/on-click-outside.3e0c3e2a.js.map +1 -0
  155. package/dist/chunks/search.6be3396b.js +26 -0
  156. package/dist/chunks/search.6be3396b.js.map +1 -0
  157. package/dist/chunks/toastController.b1b08299.js +15 -0
  158. package/dist/chunks/toastController.b1b08299.js.map +1 -0
  159. package/dist/chunks/tooltip.a4625a7b.js +220 -0
  160. package/dist/chunks/tooltip.a4625a7b.js.map +1 -0
  161. package/dist/chunks/unique-id.a2a2b458.js +34 -0
  162. package/dist/chunks/unique-id.a2a2b458.js.map +1 -0
  163. package/dist/chunks/use-default-slot-validator.83d977a1.js +11 -0
  164. package/dist/chunks/use-default-slot-validator.83d977a1.js.map +1 -0
  165. package/dist/chunks/useCountryItems.cbe60557.js +29 -0
  166. package/dist/chunks/useCountryItems.cbe60557.js.map +1 -0
  167. package/dist/click-outside.js +23 -0
  168. package/dist/click-outside.js.map +1 -0
  169. package/dist/controls-group.js +59 -0
  170. package/dist/controls-group.js.map +1 -0
  171. package/dist/country.js +5979 -0
  172. package/dist/country.js.map +1 -0
  173. package/dist/currency.js +119 -0
  174. package/dist/currency.js.map +1 -0
  175. package/dist/data-grid.js +1169 -0
  176. package/dist/data-grid.js.map +1 -0
  177. package/dist/date-picker.js +8 -0
  178. package/dist/date-picker.js.map +1 -0
  179. package/dist/date.js +6 -0
  180. package/dist/date.js.map +1 -0
  181. package/dist/divider.js +35 -0
  182. package/dist/divider.js.map +1 -0
  183. package/dist/dropdown.js +262 -0
  184. package/dist/dropdown.js.map +1 -0
  185. package/dist/filter-bar.js +1735 -0
  186. package/dist/filter-bar.js.map +1 -0
  187. package/dist/focus-trap.js +5 -0
  188. package/dist/focus-trap.js.map +1 -0
  189. package/dist/header.js +205 -0
  190. package/dist/header.js.map +1 -0
  191. package/dist/index.js +335 -21278
  192. package/dist/index.js.map +1 -1
  193. package/dist/info-icon.js +61 -0
  194. package/dist/info-icon.js.map +1 -0
  195. package/dist/input-field.js +168 -0
  196. package/dist/input-field.js.map +1 -0
  197. package/dist/internal.js +13 -0
  198. package/dist/internal.js.map +1 -0
  199. package/dist/link.js +46 -0
  200. package/dist/link.js.map +1 -0
  201. package/dist/loading-indicator.js +51 -0
  202. package/dist/loading-indicator.js.map +1 -0
  203. package/dist/menu.js +474 -0
  204. package/dist/menu.js.map +1 -0
  205. package/dist/modal.js +709 -0
  206. package/dist/modal.js.map +1 -0
  207. package/dist/pagination.js +487 -0
  208. package/dist/pagination.js.map +1 -0
  209. package/dist/payment-method.js +84 -0
  210. package/dist/payment-method.js.map +1 -0
  211. package/dist/popover.js +284 -0
  212. package/dist/popover.js.map +1 -0
  213. package/dist/popper-container.js +225 -0
  214. package/dist/popper-container.js.map +1 -0
  215. package/dist/radio-group.js +192 -0
  216. package/dist/radio-group.js.map +1 -0
  217. package/dist/search-bar.js +106 -0
  218. package/dist/search-bar.js.map +1 -0
  219. package/dist/status.js +47 -0
  220. package/dist/status.js.map +1 -0
  221. package/dist/structured-list.js +98 -0
  222. package/dist/structured-list.js.map +1 -0
  223. package/dist/summary-grid.js +526 -0
  224. package/dist/summary-grid.js.map +1 -0
  225. package/dist/tabs.js +106 -0
  226. package/dist/tabs.js.map +1 -0
  227. package/dist/tag.js +73 -0
  228. package/dist/tag.js.map +1 -0
  229. package/dist/textarea.js +64 -0
  230. package/dist/textarea.js.map +1 -0
  231. package/dist/toast.js +132 -0
  232. package/dist/toast.js.map +1 -0
  233. package/dist/toggle.js +6 -0
  234. package/dist/toggle.js.map +1 -0
  235. package/dist/typography.js +111 -0
  236. package/dist/typography.js.map +1 -0
  237. package/dist/web-types.json +130 -13
  238. package/package.json +6 -4
  239. package/dist/@types/utils/ts/inject-css.d.ts +0 -2
@@ -0,0 +1,192 @@
1
+ import "./assets/index24.css";
2
+ import { defineComponent as v, toRefs as I, computed as r, ref as E, watch as R } from "vue";
3
+ import { ControlsGroup as A } from "./controls-group.js";
4
+ import { BentoTypography as k, BentoTypographyVariant as T, BentoTypographyElement as x } from "./typography.js";
5
+ import { u as L } from "./chunks/aria-label.ac9651a5.js";
6
+ import { g as O } from "./chunks/unique-id.a2a2b458.js";
7
+ import { u as D } from "./chunks/use-default-slot-validator.83d977a1.js";
8
+ import { h as y } from "./chunks/hasSlot.dceac207.js";
9
+ import { n as h } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
10
+ var i = /* @__PURE__ */ ((t) => (t.HORIZONTAL = "horizontal", t.VERTICAL = "vertical", t))(i || {}), s = /* @__PURE__ */ ((t) => (t.DISABLED = "disabled", t.ERROR = "error", t))(s || {});
11
+ const N = v({
12
+ name: "radio-button",
13
+ components: { BentoTypography: k },
14
+ inheritAttrs: !1,
15
+ model: { prop: "modelValue" },
16
+ props: {
17
+ /**
18
+ * Disable the radio button (optional)
19
+ */
20
+ disabled: {
21
+ type: Boolean,
22
+ default: !1
23
+ },
24
+ /**
25
+ * Shows radio-button in error state (optional)
26
+ */
27
+ hasError: {
28
+ type: Boolean,
29
+ default: !1
30
+ },
31
+ /**
32
+ * Indicates the value of the input that will be returned when it's checked
33
+ */
34
+ value: {
35
+ type: [String, Number],
36
+ required: !0
37
+ },
38
+ /**
39
+ * This property should not be used directly.
40
+ * It will be used by v-model directive on radio component.
41
+ */
42
+ modelValue: {
43
+ type: [String, Number],
44
+ default: null
45
+ }
46
+ },
47
+ emits: ["input"],
48
+ setup(t, { slots: e, emit: a }) {
49
+ var d, c, p, _, f, b, m;
50
+ const { value: n } = I(t), o = O("radio-button"), l = y(e)("default"), u = y(e)("description");
51
+ D("radio-button", l, u);
52
+ const g = r(() => ({
53
+ [`b-radio-button--${s.DISABLED}`]: t.disabled
54
+ })), C = r(() => ({
55
+ [`b-radio-button__input--${s.ERROR}`]: t.hasError
56
+ })), V = L({
57
+ ariaLabel: ((p = (c = (d = e.default) == null ? void 0 : d.call(e)) == null ? void 0 : c[0]) == null ? void 0 : p.text) ?? ((m = (b = (f = (_ = e.default) == null ? void 0 : _.call(e)) == null ? void 0 : f[0]) == null ? void 0 : b.children) == null ? void 0 : m.toString()),
58
+ label: n.value
59
+ }), S = r(() => t.hasError), B = r(() => t.value === t.modelValue);
60
+ return {
61
+ // Values
62
+ ariaLabel: V,
63
+ ariaInvalid: S,
64
+ isChecked: B,
65
+ defaultSlotValue: l,
66
+ descriptionSlotValue: u,
67
+ conditionalClassContainer: g,
68
+ conditionalClassInput: C,
69
+ radioButtonId: o,
70
+ // Events
71
+ onClick: () => {
72
+ t.disabled || a("input", t.value);
73
+ },
74
+ // Enums
75
+ BentoTypographyVariant: T,
76
+ BentoTypographyElement: x
77
+ };
78
+ }
79
+ });
80
+ var $ = function() {
81
+ var e = this, a = e._self._c;
82
+ return e._self._setupProxy, a("div", { staticClass: "b-radio-button", class: e.conditionalClassContainer, attrs: { "data-testid": "radio-button-container" } }, [a("input", { staticClass: "b-radio-button__input", class: e.conditionalClassInput, attrs: { id: e.radioButtonId, "aria-checked": e.isChecked, "aria-label": e.ariaLabel, "aria-invalid": e.ariaInvalid, disabled: e.disabled, type: "radio", role: "radio" }, domProps: { checked: e.isChecked, value: e.value }, on: { change: e.onClick } }), e.defaultSlotValue ? a("label", { staticClass: "b-radio-button__label-container", attrs: { for: e.radioButtonId } }, [e.defaultSlotValue ? a("bento-typography", { staticClass: "b-radio-button__label", attrs: { el: e.BentoTypographyElement.SPAN, variant: e.BentoTypographyVariant.BODY } }, [e._t("default")], 2) : e._e(), e.defaultSlotValue && e.descriptionSlotValue ? a("bento-typography", { staticClass: "b-radio-button__description", attrs: { el: e.BentoTypographyElement.SPAN, variant: e.BentoTypographyVariant.BODY } }, [e._t("description")], 2) : e._e()], 1) : e._e()]);
83
+ }, P = [], q = /* @__PURE__ */ h(
84
+ N,
85
+ $,
86
+ P,
87
+ !1,
88
+ null,
89
+ "56ff35ee",
90
+ null,
91
+ null
92
+ );
93
+ const z = q.exports, F = v({
94
+ name: "bento-radio-group",
95
+ components: { ControlsGroup: A, RadioButton: z },
96
+ inheritAttrs: !1,
97
+ props: {
98
+ /**
99
+ * The checkbox group's items.
100
+ */
101
+ items: {
102
+ type: Array,
103
+ required: !0
104
+ },
105
+ /**
106
+ * The checkbox group's layout. It can be vertical or horizontal. Defaults to vertical.
107
+ */
108
+ variant: {
109
+ type: String,
110
+ default: i.VERTICAL,
111
+ validator: (t) => Object.values(i).includes(t)
112
+ },
113
+ /**
114
+ * The form id the checkbox group is associated with. Defaults to null, as a checkbox group can also be used standalone.
115
+ */
116
+ formId: {
117
+ type: String,
118
+ default: null
119
+ },
120
+ /**
121
+ * If set to true, renders all radio-buttons in the group in a disabled state.
122
+ */
123
+ disabled: {
124
+ type: Boolean,
125
+ default: !1
126
+ },
127
+ /**
128
+ * If set to true, renders all radio-buttons in the group in an error state.
129
+ */
130
+ hasError: {
131
+ type: Boolean,
132
+ default: !1
133
+ },
134
+ /**
135
+ * The name associated with the group. Required for accessibility purposes.
136
+ */
137
+ label: { type: String, required: !0 },
138
+ /**
139
+ * Determines the initially selected value of the group. Corresponds to the BentoRadioButtonItem's value.
140
+ * Defaults to no value selected.
141
+ */
142
+ selectedValue: {
143
+ type: [Number, String, null],
144
+ default: null
145
+ }
146
+ },
147
+ emits: ["input"],
148
+ setup(t, { emit: e }) {
149
+ const a = E(t.selectedValue);
150
+ return R(
151
+ () => t.selectedValue,
152
+ () => {
153
+ a.value = t.selectedValue;
154
+ }
155
+ ), {
156
+ // Values
157
+ conditionalClasses: r(() => ({
158
+ "b-radio-group--horizontal": t.variant === i.HORIZONTAL
159
+ })),
160
+ inputValue: a,
161
+ // Methods
162
+ onInput: (l) => {
163
+ e("input", l);
164
+ }
165
+ };
166
+ }
167
+ });
168
+ var G = function() {
169
+ var e = this, a = e._self._c;
170
+ return e._self._setupProxy, a("controls-group", { staticClass: "b-radio-group", class: e.conditionalClasses, attrs: { form: e.formId, disabled: e.disabled, label: e.label } }, e._l(e.items, function(n) {
171
+ return a("radio-button", { key: n.value, attrs: { value: n.value, disabled: e.disabled || n.disabled, "has-error": e.hasError || n.hasError }, on: { input: e.onInput }, scopedSlots: e._u([n.description ? { key: "description", fn: function() {
172
+ return [e._v(e._s(n.description))];
173
+ }, proxy: !0 } : null], null, !0), model: { value: e.inputValue, callback: function(o) {
174
+ e.inputValue = o;
175
+ }, expression: "inputValue" } }, [e._v(" " + e._s(n.label) + " ")]);
176
+ }), 1);
177
+ }, H = [], Y = /* @__PURE__ */ h(
178
+ F,
179
+ G,
180
+ H,
181
+ !1,
182
+ null,
183
+ "cade7d8b",
184
+ null,
185
+ null
186
+ );
187
+ const ee = Y.exports;
188
+ export {
189
+ ee as BentoRadioGroup,
190
+ i as BentoRadioGroupVariant
191
+ };
192
+ //# sourceMappingURL=radio-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.js","sources":["../src/components/radio-group/radio-group.types.ts","../src/components/radio-group/components/radio-button/radio-button.types.ts","../src/components/radio-group/components/radio-button/radio-button.vue","../src/components/radio-group/radio-group.vue"],"sourcesContent":["export enum BentoRadioGroupVariant {\n HORIZONTAL = 'horizontal',\n VERTICAL = 'vertical',\n}\n\nexport interface BentoRadioGroupItem {\n value: string | number;\n label: string;\n description?: string;\n disabled?: boolean;\n hasError?: boolean;\n}\n\nexport type BentoRadioGroupItems = Array<BentoRadioGroupItem>;\n","export enum BentoRadioButtonStateClass {\n DISABLED = 'disabled',\n ERROR = 'error',\n}\n","<template>\n <div class=\"b-radio-button\" data-testid=\"radio-button-container\" :class=\"conditionalClassContainer\">\n <input\n :id=\"radioButtonId\"\n :aria-checked=\"isChecked\"\n :aria-label=\"ariaLabel\"\n :aria-invalid=\"ariaInvalid\"\n :checked=\"isChecked\"\n :disabled=\"disabled\"\n :value=\"value\"\n type=\"radio\"\n class=\"b-radio-button__input\"\n :class=\"conditionalClassInput\"\n role=\"radio\"\n @change=\"onClick\"\n />\n <label v-if=\"defaultSlotValue\" :for=\"radioButtonId\" class=\"b-radio-button__label-container\">\n <bento-typography\n v-if=\"defaultSlotValue\"\n class=\"b-radio-button__label\"\n :el=\"BentoTypographyElement.SPAN\"\n :variant=\"BentoTypographyVariant.BODY\"\n >\n <slot></slot>\n </bento-typography>\n <bento-typography\n v-if=\"defaultSlotValue && descriptionSlotValue\"\n class=\"b-radio-button__description\"\n :el=\"BentoTypographyElement.SPAN\"\n :variant=\"BentoTypographyVariant.BODY\"\n >\n <slot name=\"description\"></slot>\n </bento-typography>\n </label>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { BentoTypography, BentoTypographyElement, BentoTypographyVariant } from '@/components/typography';\n import type { HTMLAttributes } from 'vue/types/jsx';\n import { useAriaLabel } from '@/utils/ts/aria-label';\n import { generateUid } from '@/utils/ts/unique-id';\n import { computed, ComputedRef, defineComponent, toRefs } from 'vue';\n import { useDefaultSlotValidator } from '@/composables';\n import { hasSlot } from '@/utils/ts/hasSlot';\n import { BentoRadioButtonStateClass } from './radio-button.types';\n\n /**\n * Radio buttons are used when two or more options are mutually exclusive,\n * the user can only select a single option from a list of pre-defined options.\n * The label tag area is also clickable.\n * Only to be used internally.\n *\n * @usage\n * import { RadioButton } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { RadioButton },\n * template: `\n * <radio-button\n * disabled\n * value=\"inputRadio\"\n * >\n * Label text\n * <template #description>Description text below label</template>\n * </radio-button>\n * `,\n * }\n */\n export default defineComponent({\n name: 'radio-button',\n components: { BentoTypography },\n inheritAttrs: false,\n model: { prop: 'modelValue' },\n props: {\n /**\n * Disable the radio button (optional)\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * Shows radio-button in error state (optional)\n */\n hasError: {\n type: Boolean,\n default: false,\n },\n /**\n * Indicates the value of the input that will be returned when it's checked\n */\n value: {\n type: [String, Number],\n required: true,\n },\n /**\n * This property should not be used directly.\n * It will be used by v-model directive on radio component.\n */\n modelValue: {\n type: [String, Number],\n default: null,\n },\n },\n emits: ['input'],\n setup(props, { slots, emit }) {\n const { value } = toRefs(props);\n const radioButtonId = generateUid('radio-button');\n\n const defaultSlotValue = hasSlot(slots)('default');\n const descriptionSlotValue = hasSlot(slots)('description');\n\n useDefaultSlotValidator('radio-button', defaultSlotValue, descriptionSlotValue);\n\n const conditionalClassContainer = computed(() => ({\n [`b-radio-button--${BentoRadioButtonStateClass.DISABLED}`]: props.disabled,\n }));\n const conditionalClassInput = computed(() => ({\n [`b-radio-button__input--${BentoRadioButtonStateClass.ERROR}`]: props.hasError,\n }));\n\n const ariaLabel = useAriaLabel({\n ariaLabel: slots.default?.()?.[0]?.text ?? slots.default?.()?.[0]?.children?.toString(),\n label: value.value as string,\n });\n const ariaInvalid = computed<HTMLAttributes['aria-invalid']>(() => props.hasError);\n\n const isChecked: ComputedRef<boolean> = computed(() => props.value === props.modelValue);\n\n const onClick = () => {\n if (!props.disabled) {\n emit('input', props.value);\n }\n };\n\n return {\n // Values\n ariaLabel,\n ariaInvalid,\n isChecked,\n defaultSlotValue,\n descriptionSlotValue,\n conditionalClassContainer,\n conditionalClassInput,\n radioButtonId,\n\n // Events\n onClick,\n\n // Enums\n BentoTypographyVariant,\n BentoTypographyElement,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./radio-button.scss\" />\n","<template>\n <controls-group\n class=\"b-radio-group\"\n :class=\"conditionalClasses\"\n :form=\"formId\"\n :disabled=\"disabled\"\n :label=\"label\"\n >\n <radio-button\n v-for=\"item in items\"\n :key=\"item.value\"\n v-model=\"inputValue\"\n :value=\"item.value\"\n :disabled=\"disabled || item.disabled\"\n :has-error=\"hasError || item.hasError\"\n @input=\"onInput\"\n >\n {{ item.label }}\n <template v-if=\"item.description\" #description>{{ item.description }}</template>\n </radio-button>\n </controls-group>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, ref, watch } from 'vue';\n import { ControlsGroup } from '@/components/controls-group';\n import { BentoRadioGroupItems, BentoRadioGroupVariant } from './radio-group.types';\n import RadioButton from './components/radio-button/radio-button.vue';\n\n /**\n * A radio group component should be used whenever it is necessary to use a set of radio buttons\n * This component conforms to the official WAI-ARIA guidelines for grouping controls: https://www.w3.org/WAI/tutorials/forms/grouping/\n *\n * import { BentoRadioGroup, BentoRadioGroupVariant } from '@adyen/bento-vue2/';\n *\n * export default {\n * components: { BentoRadioGroup },\n * template: `\n * <bento-radio-group\n * label=\"Your group label\"\n * :items=\"[\n * { value: 1, label: 'Your label' },\n * { value: 2, label: 'Another label', description: 'Your descriptive sub label' },\n * ]\"\n * :variant=\"BentoRadioGroupVariant.HORIZONTAL\"\n * />\n * `\n * };\n */\n export default defineComponent({\n name: 'bento-radio-group',\n components: { ControlsGroup, RadioButton },\n inheritAttrs: false,\n props: {\n /**\n * The checkbox group's items.\n */\n items: {\n type: Array as PropType<BentoRadioGroupItems>,\n required: true,\n },\n /**\n * The checkbox group's layout. It can be vertical or horizontal. Defaults to vertical.\n */\n variant: {\n type: String as PropType<BentoRadioGroupVariant>,\n default: BentoRadioGroupVariant.VERTICAL,\n validator: (value: BentoRadioGroupVariant) => Object.values(BentoRadioGroupVariant).includes(value),\n },\n /**\n * The form id the checkbox group is associated with. Defaults to null, as a checkbox group can also be used standalone.\n */\n formId: {\n type: String,\n default: null,\n },\n /**\n * If set to true, renders all radio-buttons in the group in a disabled state.\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * If set to true, renders all radio-buttons in the group in an error state.\n */\n hasError: {\n type: Boolean,\n default: false,\n },\n /**\n * The name associated with the group. Required for accessibility purposes.\n */\n label: { type: String, required: true },\n /**\n * Determines the initially selected value of the group. Corresponds to the BentoRadioButtonItem's value.\n * Defaults to no value selected.\n */\n selectedValue: {\n type: [Number, String, null],\n default: null,\n },\n },\n emits: ['input'],\n setup(props, { emit }) {\n const inputValue = ref(props.selectedValue);\n\n watch(\n () => props.selectedValue,\n () => {\n inputValue.value = props.selectedValue;\n }\n );\n\n const conditionalClasses = computed(() => ({\n 'b-radio-group--horizontal': props.variant === BentoRadioGroupVariant.HORIZONTAL,\n }));\n\n const onInput = value => {\n emit('input', value);\n };\n\n return {\n // Values\n conditionalClasses,\n inputValue,\n\n // Methods\n onInput,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./radio-group.scss\" />\n"],"names":["BentoRadioGroupVariant","BentoRadioGroupVariant2","BentoRadioButtonStateClass","BentoRadioButtonStateClass2","_sfc_main$1","defineComponent","BentoTypography","props","slots","emit","value","toRefs","radioButtonId","generateUid","defaultSlotValue","hasSlot","descriptionSlotValue","useDefaultSlotValidator","conditionalClassContainer","computed","conditionalClassInput","ariaLabel","useAriaLabel","_c","_b","_a","_g","_f","_e","_d","ariaInvalid","isChecked","BentoTypographyVariant","BentoTypographyElement","_sfc_main","ControlsGroup","RadioButton","inputValue","ref","watch"],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ import "./assets/index31.css";
2
+ import { defineComponent as o, ref as s, watch as u } from "vue";
3
+ import { BentoInputField as i, BentoInputFieldType as p } from "./input-field.js";
4
+ import { d } from "./chunks/dropdown.0d394d2f.js";
5
+ import { u as L } from "./chunks/dropdown.0d394d2f.js";
6
+ import { S as f } from "./chunks/search.6be3396b.js";
7
+ import { C as m } from "./chunks/cross-circle-fill.0a1d738c.js";
8
+ import { n as h } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
9
+ var n = /* @__PURE__ */ ((r) => (r.CLEAR = "clear", r.ESCAPE = "escape-pressed", r.INPUT = "input", r.UPDATE = "update:search-term", r))(n || {}), _ = /* @__PURE__ */ ((r) => (r.CLEAR = "search-clear", r.INPUT = "search-input", r.UPDATE = "update:search-term", r))(_ || {});
10
+ const y = {
11
+ "en-US": {
12
+ search: "Search",
13
+ clearSearch: "Clear search"
14
+ }
15
+ }, b = o({
16
+ name: "bento-search-bar",
17
+ i18n: { messages: y },
18
+ components: {
19
+ CrossCircleFillIcon: m,
20
+ BentoInputField: i,
21
+ SearchIcon: f
22
+ },
23
+ inheritAttrs: !1,
24
+ props: {
25
+ /**
26
+ * Text that labels an the search bar input element
27
+ */
28
+ inputFieldAriaLabel: { type: String, required: !0 },
29
+ /**
30
+ * Custom debounce time. Default: 300
31
+ */
32
+ debounceTime: { type: Number, default: 300 },
33
+ /**
34
+ * Text displayed as the placeholder of the input-field
35
+ */
36
+ placeholder: { type: String, default: "" },
37
+ /**
38
+ * Text displayed as the value being searched
39
+ */
40
+ value: { type: String, default: void 0 }
41
+ },
42
+ emits: [
43
+ n.INPUT,
44
+ n.CLEAR,
45
+ n.ESCAPE
46
+ ],
47
+ setup(r, { emit: e }) {
48
+ const a = s(r.value), t = s();
49
+ u(
50
+ () => r.value,
51
+ () => {
52
+ a.value = r.value;
53
+ },
54
+ { immediate: !0 }
55
+ );
56
+ const c = () => {
57
+ a.value = "", e(n.CLEAR), e(n.INPUT, "");
58
+ }, l = d(() => {
59
+ e(n.INPUT, a.value);
60
+ }, r.debounceTime);
61
+ return {
62
+ // Values
63
+ searchTerm: a,
64
+ bentoInputField: t,
65
+ // Emits
66
+ onClearSearch: c,
67
+ onInputEvent: l,
68
+ // Enums
69
+ BentoInputFieldType: p,
70
+ BentoSearchBarInternalEvent: n
71
+ };
72
+ }
73
+ });
74
+ var C = function() {
75
+ var e = this, a = e._self._c;
76
+ return e._self._setupProxy, a("div", { staticClass: "b-search-bar" }, [a("bento-input-field", { ref: "bentoInputField", attrs: { type: e.BentoInputFieldType.SEARCH, "aria-label": e.inputFieldAriaLabel, "aria-hidden": !1, placeholder: e.placeholder }, on: { input: e.onInputEvent, "escape-pressed": function(t) {
77
+ return e.$emit(e.BentoSearchBarInternalEvent.ESCAPE);
78
+ } }, scopedSlots: e._u([{ key: "defaultIconBefore", fn: function() {
79
+ return [a("search-icon", { attrs: { "svg-title": e.$t("search") } })];
80
+ }, proxy: !0 }, e.searchTerm ? { key: "iconAfter", fn: function() {
81
+ return [a("div", { staticClass: "b-search-bar__clear-search", attrs: { tabindex: "0", "data-testid": "b-search-bar-clear-search-button" }, on: { click: e.onClearSearch, keypress: function(t) {
82
+ return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.onClearSearch.apply(null, arguments);
83
+ }, keyup: function(t) {
84
+ return !t.type.indexOf("key") && e._k(t.keyCode, "space", 32, t.key, [" ", "Spacebar"]) ? null : e.onClearSearch.apply(null, arguments);
85
+ } } }, [a("cross-circle-fill-icon", { attrs: { "svg-title": e.$t("clearSearch") } })], 1)];
86
+ }, proxy: !0 } : null], null, !0), model: { value: e.searchTerm, callback: function(t) {
87
+ e.searchTerm = t;
88
+ }, expression: "searchTerm" } })], 1);
89
+ }, S = [], v = /* @__PURE__ */ h(
90
+ b,
91
+ C,
92
+ S,
93
+ !1,
94
+ null,
95
+ "269c80b9",
96
+ null,
97
+ null
98
+ );
99
+ const F = v.exports;
100
+ export {
101
+ F as BentoSearchBar,
102
+ _ as BentoSearchBarEvent,
103
+ n as BentoSearchBarInternalEvent,
104
+ L as useSearchBarFilter
105
+ };
106
+ //# sourceMappingURL=search-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-bar.js","sources":["../src/components/search-bar/search-bar.types.ts","../src/components/search-bar/search-bar.vue"],"sourcesContent":["export enum BentoSearchBarInternalEvent {\n CLEAR = 'clear',\n ESCAPE = 'escape-pressed',\n INPUT = 'input',\n UPDATE = 'update:search-term',\n}\n\nexport enum BentoSearchBarEvent {\n CLEAR = 'search-clear',\n INPUT = 'search-input',\n UPDATE = 'update:search-term',\n}\n\nexport interface BentoSearchBarItem {\n label: string;\n}\n\nexport type BentoSearchBarData = Array<BentoSearchBarItem>;\n","<template>\n <div class=\"b-search-bar\">\n <bento-input-field\n ref=\"bentoInputField\"\n v-model=\"searchTerm\"\n :type=\"BentoInputFieldType.SEARCH\"\n :aria-label=\"inputFieldAriaLabel\"\n :aria-hidden=\"false\"\n :placeholder=\"placeholder\"\n @input=\"onInputEvent\"\n @escape-pressed=\"$emit(BentoSearchBarInternalEvent.ESCAPE)\"\n >\n <template #defaultIconBefore>\n <search-icon :svg-title=\"$t('search')\" />\n </template>\n\n <template v-if=\"searchTerm\" #iconAfter>\n <div\n class=\"b-search-bar__clear-search\"\n tabindex=\"0\"\n data-testid=\"b-search-bar-clear-search-button\"\n @click=\"onClearSearch\"\n @keypress.enter=\"onClearSearch\"\n @keyup.space=\"onClearSearch\"\n >\n <cross-circle-fill-icon :svg-title=\"$t('clearSearch')\" />\n </div>\n </template>\n </bento-input-field>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, ref , watch } from 'vue';\n import { BentoInputFieldType } from '@/components/input-field/input-field.types';\n import { debounce } from '@/utils/ts/debounce';\n import BentoInputField from '@/components/input-field/input-field.vue';\n import SearchIcon from '@adyen/ui-assets-icons-16/vue/search';\n import CrossCircleFillIcon from '@adyen/ui-assets-icons-16/vue/cross-circle-fill';\n import { BentoSearchBarInternalEvent } from './search-bar.types';\n import messages from './messages.json';\n \n /**\n * Search functionality to help users find the desired data quicker.\n * When a user starts typing, the data is dynamically filtered to\n * only show the relevant results.\n *\n * Clearing the search field displays the entire list again.\n *\n * @example\n * import {\n * BentoSearchBar,\n * BentoSearchBarData,\n * useSearchBarFilter\n * } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoSearchBar },\n * template: `\n * <bento-search-bar\n * input-field-aria-label=\"Search bar\"\n * v-modal=\"searchTerm\"\n * @input=\"onInput\"\n * @clear-search=\"onClearSearch\"\n * />\n * // Render the filtered data\n * {{ filteredData }}\n * `,\n * setup() {\n * const searchTerm = ref('');\n * const data = ref<BentoSearchBarData>([]);\n * const filteredData = useSearchBarFilter(searchTerm, data);\n *\n * consdt onInput = () => {}\n * consdt onClearSearch = () => {}\n *\n * return {\n * searchTerm,\n * filteredData,\n * onInput,\n * onClearSearch,\n * };\n * }\n * }\n */\n export default defineComponent({\n name: 'bento-search-bar',\n i18n: { messages },\n components: {\n CrossCircleFillIcon,\n BentoInputField,\n SearchIcon,\n },\n inheritAttrs: false,\n props: {\n /**\n * Text that labels an the search bar input element\n */\n inputFieldAriaLabel: { type: String, required: true },\n\n /**\n * Custom debounce time. Default: 300\n */\n debounceTime: { type: Number, default: 300 },\n\n /**\n * Text displayed as the placeholder of the input-field\n */\n placeholder: { type: String, default: '' },\n\n /**\n * Text displayed as the value being searched\n */\n value: { type: String, default: undefined },\n },\n emits: [\n BentoSearchBarInternalEvent.INPUT,\n BentoSearchBarInternalEvent.CLEAR,\n BentoSearchBarInternalEvent.ESCAPE,\n ],\n setup(props, { emit }) {\n const searchTerm = ref(props.value);\n const bentoInputField = ref<InstanceType<typeof BentoInputField> | null>();\n\n watch(\n () => props.value,\n () => {\n searchTerm.value = props.value;\n },\n { immediate: true }\n );\n\n const onClearSearch = () => {\n searchTerm.value = '';\n emit(BentoSearchBarInternalEvent.CLEAR);\n emit(BentoSearchBarInternalEvent.INPUT, '');\n };\n\n const onInputEvent = debounce(() => {\n emit(BentoSearchBarInternalEvent.INPUT, searchTerm.value);\n }, props.debounceTime);\n\n return {\n // Values\n searchTerm,\n bentoInputField,\n\n // Emits\n onClearSearch,\n onInputEvent,\n\n // Enums\n BentoInputFieldType,\n BentoSearchBarInternalEvent,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./search-bar.scss\" />\n"],"names":["BentoSearchBarInternalEvent","BentoSearchBarInternalEvent2","BentoSearchBarEvent","BentoSearchBarEvent2","_sfc_main","defineComponent","messages","CrossCircleFillIcon","BentoInputField","SearchIcon","props","emit","searchTerm","ref","bentoInputField","watch","onClearSearch","onInputEvent","debounce","BentoInputFieldType"],"mappings":";;;;;;;;AAAY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,QAAA,SACAA,EAAA,SAAA,kBACAA,EAAA,QAAA,SACAA,EAAA,SAAA,sBAJQA,IAAAD,KAAA,CAAA,CAAA,GAOAE,IAAA,kBAAAC,OACRA,EAAA,QAAA,gBACAA,EAAA,QAAA,gBACAA,EAAA,SAAA,sBAHQA,IAAAD,KAAA,CAAA,CAAA;;;;;;GC8EZE,IAAAC,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,MAAA,EAAA,UAAAC,EAAA;AAAA,EACA,YAAA;AAAA,IACA,qBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,YAAAC;AAAA,EACA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,qBAAA,EAAA,MAAA,QAAA,UAAA,GAAA;AAAA;AAAA;AAAA;AAAA,IAIA,cAAA,EAAA,MAAA,QAAA,SAAA,IAAA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA,EAAA,MAAA,QAAA,SAAA,GAAA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA,EAAA,MAAA,QAAA,SAAA,OAAA;AAAA,EAKA;AAAA,EACA,OAAA;AAAA,IACAT,EAAA;AAAA,IACAA,EAAA;AAAA,IACAA,EAAA;AAAA,EACA;AAAA,EACA,MAAAU,GAAA,EAAA,MAAAC,EAAA,GAAA;AAEA,UAAAC,IAAAC,EAAAH,EAAA,KAAA,GACAI,IAAAD,EAAA;AAEA,IAAAE;AAAA,MAAA,MAAAL,EAAA;AAAA,MACA,MAAA;AAEA,QAAAE,EAAA,QAAAF,EAAA;AAAA,MAAA;AAAA,MACA,EAAA,WAAA,GAAA;AAAA,IACA;AAGA,UAAAM,IAAA,MAAA;AACA,MAAAJ,EAAA,QAAA,IACAD,EAAAX,EAAA,KAAA,GACAW,EAAAX,EAAA,OAAA,EAAA;AAAA,IAAA,GAGAiB,IAAAC,EAAA,MAAA;AACA,MAAAP,EAAAX,EAAA,OAAAY,EAAA,KAAA;AAAA,IAAA,GAAAF,EAAA,YAAA;AAGA,WAAA;AAAA;AAAA,MAAA,YAAAE;AAAA,MAEA,iBAAAE;AAAA;AAAA,MACA,eAAAE;AAAA,MAGA,cAAAC;AAAA;AAAA,MACA,qBAAAE;AAAA,MAGA,6BAAAnB;AAAA,IACA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/status.js ADDED
@@ -0,0 +1,47 @@
1
+ import "./assets/index29.css";
2
+ import { defineComponent as a, computed as n } from "vue";
3
+ import { BentoTypography as o, BentoTypographyElement as l, BentoTypographyVariant as _ } from "./typography.js";
4
+ import { n as i } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
5
+ var r = /* @__PURE__ */ ((t) => (t.BLUE = "blue", t.GREEN = "green", t.GREY = "grey", t.ORANGE = "orange", t.RED = "red", t.YELLOW = "yellow", t))(r || {});
6
+ const p = a({
7
+ name: "bento-status",
8
+ components: { BentoTypography: o },
9
+ inheritAttrs: !1,
10
+ props: {
11
+ variant: {
12
+ type: String,
13
+ required: !0,
14
+ validator: (t) => Object.values(r).includes(t)
15
+ }
16
+ },
17
+ setup(t) {
18
+ return {
19
+ // Values
20
+ conditionalClass: n(() => ({
21
+ [`b-status__indicator--${t.variant}`]: !0
22
+ })),
23
+ // Enums
24
+ BentoTypographyElement: l,
25
+ BentoTypographyVariant: _
26
+ };
27
+ }
28
+ });
29
+ var c = function() {
30
+ var s = this, e = s._self._c;
31
+ return s._self._setupProxy, e("div", { staticClass: "b-status", attrs: { role: "status" } }, [e("span", { staticClass: "b-status__indicator", class: s.conditionalClass, attrs: { role: "presentation" } }), e("bento-typography", { staticClass: "b-status__label", attrs: { el: s.BentoTypographyElement.SPAN, variant: s.BentoTypographyVariant.BODY } }, [s._t("default")], 2)], 1);
32
+ }, u = [], d = /* @__PURE__ */ i(
33
+ p,
34
+ c,
35
+ u,
36
+ !1,
37
+ null,
38
+ "db708a18",
39
+ null,
40
+ null
41
+ );
42
+ const b = d.exports;
43
+ export {
44
+ b as BentoStatus,
45
+ r as BentoStatusVariant
46
+ };
47
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sources":["../src/components/status/status.types.ts","../src/components/status/status.vue"],"sourcesContent":["export enum BentoStatusVariant {\n BLUE = 'blue',\n GREEN = 'green',\n GREY = 'grey',\n ORANGE = 'orange',\n RED = 'red',\n YELLOW = 'yellow',\n}\n","<template>\n <div class=\"b-status\" role=\"status\">\n <span class=\"b-status__indicator\" :class=\"conditionalClass\" role=\"presentation\"></span>\n <bento-typography\n class=\"b-status__label\"\n :el=\"BentoTypographyElement.SPAN\"\n :variant=\"BentoTypographyVariant.BODY\"\n >\n <slot></slot>\n </bento-typography>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import { BentoTypography, BentoTypographyElement, BentoTypographyVariant } from '@/components/typography';\n import { BentoStatusVariant } from './status.types';\n\n /**\n * A Status component is used to indicate a\n * passage of time or a particular step of a process.\n *\n * @example\n * import { BentoStatus, BentoStatusVariant } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoStatus },\n * template: `\n * <bento-status :variant=\"BentoStatusVariant.RED\">\n * 1 week ago\n * </bento-status>\n * `\n * }\n */\n export default defineComponent({\n name: 'bento-status',\n components: { BentoTypography },\n inheritAttrs: false,\n props: {\n variant: {\n type: String as PropType<BentoStatusVariant>,\n required: true,\n validator: (type: BentoStatusVariant) => Object.values(BentoStatusVariant).includes(type),\n },\n },\n setup(props) {\n const conditionalClass = computed(() => ({\n [`b-status__indicator--${props.variant}`]: true,\n }));\n\n return {\n // Values\n conditionalClass,\n\n // Enums\n BentoTypographyElement,\n BentoTypographyVariant,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./status.scss\" />\n"],"names":["BentoStatusVariant","BentoStatusVariant2","_sfc_main","defineComponent","BentoTypography","type","props","computed","BentoTypographyElement","BentoTypographyVariant"],"mappings":";;;;AAAY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,OAAA,QACAA,EAAA,QAAA,SACAA,EAAA,OAAA,QACAA,EAAA,SAAA,UACAA,EAAA,MAAA,OACAA,EAAA,SAAA,UANQA,IAAAD,KAAA,CAAA,CAAA;ACkCZ,MAAAE,IAAAC,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA,EAAA,iBAAAC,EAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA,IACA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA,CAAAC,MAAA,OAAA,OAAAL,CAAA,EAAA,SAAAK,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,MAAAC,GAAA;AAMA,WAAA;AAAA;AAAA,MAAA,kBAJAC,EAAA,OAAA;AAAA,QAAA,CAAA,wBAAAD,EAAA,SAAA,GAAA;AAAA,MACA,EAAA;AAAA;AAAA,MAKA,wBAAAE;AAAA,MAGA,wBAAAC;AAAA,IACA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;"}
@@ -0,0 +1,98 @@
1
+ import "./assets/index30.css";
2
+ import { defineComponent as s } from "vue";
3
+ import { n as r } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
4
+ import { BentoTypography as n, BentoTypographyElement as i } from "./typography.js";
5
+ import { B as c, a } from "./chunks/button.31b757d1.js";
6
+ import { C as _ } from "./chunks/copy.fa9aa27e.js";
7
+ import { S as l } from "./chunks/search.6be3396b.js";
8
+ import { B as u } from "./chunks/tooltip.a4625a7b.js";
9
+ const p = s({
10
+ name: "bento-structured-list",
11
+ inheritAttrs: !1
12
+ });
13
+ var d = function() {
14
+ var t = this, e = t._self._c;
15
+ return t._self._setupProxy, e("div", { staticClass: "b-structured-list" }, [t._t("default")], 2);
16
+ }, m = [], f = /* @__PURE__ */ r(
17
+ p,
18
+ d,
19
+ m,
20
+ !1,
21
+ null,
22
+ "90809c21",
23
+ null,
24
+ null
25
+ );
26
+ const R = f.exports, v = {
27
+ "en-US": {
28
+ search: "Search"
29
+ }
30
+ }, y = s({
31
+ i18n: { messages: v },
32
+ name: "bento-structured-list-item",
33
+ components: {
34
+ BentoTypography: n,
35
+ BentoButton: c,
36
+ Copy: _,
37
+ SearchIcon: l
38
+ },
39
+ directives: { BentoTooltipDirective: u },
40
+ inheritAttrs: !1,
41
+ props: {
42
+ /**
43
+ * Label to display for the value
44
+ */
45
+ label: {
46
+ type: String,
47
+ required: !0
48
+ },
49
+ /**
50
+ * Text to copy when the user clicks `Copy` icon
51
+ */
52
+ copy: {
53
+ type: String,
54
+ default: void 0
55
+ },
56
+ /**
57
+ * Function to trigger when user clicks `Search` icon
58
+ */
59
+ search: {
60
+ type: Function,
61
+ default: void 0
62
+ },
63
+ /**
64
+ * Text to display when the user hovers over `Search` icon
65
+ */
66
+ searchTooltip: {
67
+ type: String,
68
+ default: void 0
69
+ }
70
+ },
71
+ setup() {
72
+ return {
73
+ BentoButtonVariant: a,
74
+ BentoTypographyElement: i
75
+ };
76
+ }
77
+ });
78
+ var h = function() {
79
+ var t = this, e = t._self._c;
80
+ return t._self._setupProxy, e("div", { staticClass: "b-structured-list-item" }, [e("div", { staticClass: "b-structured-list-item__label" }, [e("bento-typography", [t._v(" " + t._s(t.label) + " ")])], 1), e("div", { staticClass: "b-structured-list-item__value" }, [t._t("default"), t.copy ? e("copy", { staticClass: "b-structured-list-item__icon", attrs: { text: t.copy } }) : t._e(), t.search ? e("bento-button", { directives: [{ name: "bento-tooltip-directive", rawName: "v-bento-tooltip-directive:top", value: t.searchTooltip ? t.searchTooltip : t.$t("search"), expression: "searchTooltip ? searchTooltip : $t('search')", arg: "top" }], staticClass: "b-structured-list-item__icon", attrs: { variant: t.BentoButtonVariant.TERTIARY }, on: { click: t.search }, scopedSlots: t._u([{ key: "iconLeft", fn: function() {
81
+ return [e("search-icon", { attrs: { "svg-title": t.$t("search") } })];
82
+ }, proxy: !0 }], null, !1, 1678634924) }) : t._e()], 2)]);
83
+ }, b = [], B = /* @__PURE__ */ r(
84
+ y,
85
+ h,
86
+ b,
87
+ !1,
88
+ null,
89
+ "511c98f4",
90
+ null,
91
+ null
92
+ );
93
+ const A = B.exports;
94
+ export {
95
+ R as BentoStructuredList,
96
+ A as BentoStructuredListItem
97
+ };
98
+ //# sourceMappingURL=structured-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structured-list.js","sources":["../src/components/structured-list/structured-list.vue","../src/components/structured-list/components/structered-list-item/structured-list-item.vue"],"sourcesContent":["<template>\n <div class=\"b-structured-list\">\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent } from 'vue';\n\n /**\n * This is a list used to display pairs of information in a clear and organized manner.\n * `BentoStructureListItem` should be used to pass the label/value pairs to the list.\n *\n * @example\n * import { BentoStructuredListItem, BentoStructuredListItem } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoStructuredList, BentoStructuredListItem },\n * template: `\n * <bento-structured-list>\n * <bento-structured-list-item label=\"Payment\">\n * <bento-payment-method label=\"Klarna\" :type=\"BentoPaymentMethodType.KLARNA\" />\n * </bento-structured-list-item>\n * <bento-structured-list-item label=\"Amount\">\n * <bento-currency :currency=\"BentoCurrencyISOCode.USD\">\n * 123456\n * </bento-currency>\n * </bento-structured-list-item>\n * </bento-structured-list>\n * `\n * }\n */\n export default defineComponent({\n name: 'bento-structured-list',\n inheritAttrs: false,\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./structured-list.scss\" />\n","<template>\n <div class=\"b-structured-list-item\">\n <div class=\"b-structured-list-item__label\">\n <bento-typography>\n {{ label }}\n </bento-typography>\n </div>\n <div class=\"b-structured-list-item__value\">\n <slot />\n <copy v-if=\"copy\" class=\"b-structured-list-item__icon\" :text=\"copy\" />\n <bento-button\n v-if=\"search\"\n v-bento-tooltip-directive:top=\"searchTooltip ? searchTooltip : $t('search')\"\n class=\"b-structured-list-item__icon\"\n :variant=\"BentoButtonVariant.TERTIARY\"\n @click=\"search\"\n >\n <template #iconLeft>\n <search-icon :svg-title=\"$t('search')\" />\n </template>\n </bento-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, PropType } from 'vue';\n import { BentoTypography, BentoTypographyElement } from '@/components/typography';\n import { BentoButton, BentoButtonVariant } from '@/components/button';\n import Copy from '@/components/internal/copy/copy.vue';\n import { BentoTooltipDirective } from '@/directives';\n import SearchIcon from '@adyen/ui-assets-icons-16/vue/search';\n import messages from '../../messages.json';\n\n /**\n * This is an item of the `BentoStructuredList` meant to be used only with that component.\n * It consists of a label/value pair, and also the optional copy and search modifiers.\n *\n * @example\n * import { BentoStructuredListItem, BentoStructuredListItem } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoStructuredListItem, BentoStructuredListItem },\n * template: `\n * <bento-structured-list>\n * <bento-structured-list-item label=\"Shopper\" search='searchShopper' search-tooltip='Find shopper'>\n * <bento-typography>\n * 143442642\n * </bento-status>\n * </bento-structured-list-item>\n * <bento-structured-list-item label=\"Amount\" copy='123456'>\n * <bento-currency :currency=\"BentoCurrencyISOCode.USD\">\n * 123456\n * </bento-currency>\n * </bento-structured-list-item>\n * </bento-structured-list>\n * `\n * }\n */\n export default defineComponent({\n i18n: { messages },\n name: 'bento-structured-list-item',\n components: {\n BentoTypography,\n BentoButton,\n Copy,\n SearchIcon,\n },\n directives: { BentoTooltipDirective },\n inheritAttrs: false,\n props: {\n /**\n * Label to display for the value\n */\n label: {\n type: String,\n required: true,\n },\n /**\n * Text to copy when the user clicks `Copy` icon\n */\n copy: {\n type: String,\n default: undefined,\n },\n /**\n * Function to trigger when user clicks `Search` icon\n */\n search: {\n type: Function as PropType<(event: Event) => void>,\n default: undefined,\n },\n /**\n * Text to display when the user hovers over `Search` icon\n */\n searchTooltip: {\n type: String,\n default: undefined,\n },\n },\n setup() {\n return {\n BentoButtonVariant,\n BentoTypographyElement,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./structured-list-item.scss\" />\n"],"names":["_sfc_main$1","defineComponent","_sfc_main","messages","BentoTypography","BentoButton","Copy","SearchIcon","BentoTooltipDirective","BentoButtonVariant","BentoTypographyElement"],"mappings":";;;;;;;;AAgCA,MAAAA,IAAAC,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,cAAA;AAEA,CAAA;;;;;;;;;;;;;;;;;;GCwBAC,IAAAD,EAAA;AAAA,EAAA,MAAA,EAAA,UAAAE,EAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,IACA,iBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,MAAAC;AAAA,IACA,YAAAC;AAAA,EACA;AAAA,EACA,YAAA,EAAA,uBAAAC,EAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,OAAA;AAAA,MAIA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,MAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,QAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,eAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,QAAA;AAEA,WAAA;AAAA,MAAA,oBAAAC;AAAA,MACA,wBAAAC;AAAA,IACA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;;;"}