@adyen/bento-vue2 1.52.0 → 1.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/dist/@types/components.d.ts +2 -0
  2. package/dist/@types/index.d.ts +474 -75
  3. package/dist/action-bar.js +1 -1
  4. package/dist/assets/accordion-item.css +1 -1
  5. package/dist/assets/action-bar.css +1 -1
  6. package/dist/assets/base-modal.css +1 -1
  7. package/dist/assets/card.css +1 -1
  8. package/dist/assets/checkbox.css +1 -1
  9. package/dist/assets/dashed-underline.css +1 -1
  10. package/dist/assets/data-grid.css +1 -1
  11. package/dist/assets/dialog-page.css +1 -1
  12. package/dist/assets/dropdown.css +1 -1
  13. package/dist/assets/file-uploader.css +1 -1
  14. package/dist/assets/filter-bar.css +1 -1
  15. package/dist/assets/header-with-views.css +1 -0
  16. package/dist/assets/input-field-password.css +1 -1
  17. package/dist/assets/inspector.css +1 -1
  18. package/dist/assets/menu.css +1 -1
  19. package/dist/assets/modal-fullscreen.css +1 -1
  20. package/dist/assets/popover.css +1 -1
  21. package/dist/assets/sidepanel.css +1 -1
  22. package/dist/assets/summary-grid-item-custom.css +1 -1
  23. package/dist/assets/use-cached-selected-values.css +1 -1
  24. package/dist/checkbox.js +2 -2
  25. package/dist/chunks/{action-bar.DuJkjAt1.js → action-bar.Cuktzrp5.js} +4 -4
  26. package/dist/chunks/{action-bar.DuJkjAt1.js.map → action-bar.Cuktzrp5.js.map} +1 -1
  27. package/dist/chunks/{base-modal.CiTysydg.js → base-modal.DnaWOvaM.js} +3 -3
  28. package/dist/chunks/{base-modal.CiTysydg.js.map → base-modal.DnaWOvaM.js.map} +1 -1
  29. package/dist/chunks/bin.DuebwJYu.js +24 -0
  30. package/dist/chunks/bin.DuebwJYu.js.map +1 -0
  31. package/dist/chunks/{button-actions-with-menu.B9oXYIgo.js → button-actions-with-menu.twMFsb82.js} +4 -4
  32. package/dist/chunks/{button-actions-with-menu.B9oXYIgo.js.map → button-actions-with-menu.twMFsb82.js.map} +1 -1
  33. package/dist/chunks/{calendar.Bq67h02Z.js → calendar.CJToU_uI.js} +2 -2
  34. package/dist/chunks/{calendar.Bq67h02Z.js.map → calendar.CJToU_uI.js.map} +1 -1
  35. package/dist/chunks/{checkbox-group.CqSIn-lG.js → checkbox-group.DkM6n3JR.js} +4 -4
  36. package/dist/chunks/{checkbox-group.CqSIn-lG.js.map → checkbox-group.DkM6n3JR.js.map} +1 -1
  37. package/dist/chunks/checkbox.l7h6GYew.js +176 -0
  38. package/dist/chunks/checkbox.l7h6GYew.js.map +1 -0
  39. package/dist/chunks/{click-outside.DSszkIvs.js → click-outside.C1Ud8AA2.js} +2 -2
  40. package/dist/chunks/{click-outside.DSszkIvs.js.map → click-outside.C1Ud8AA2.js.map} +1 -1
  41. package/dist/chunks/{code-snippet.CW42FdpP.js → code-snippet.BsEe6nml.js} +5 -5
  42. package/dist/chunks/{code-snippet.CW42FdpP.js.map → code-snippet.BsEe6nml.js.map} +1 -1
  43. package/dist/chunks/{controls-group.D0_cJaFF.js → controls-group.vFyThDMU.js} +2 -2
  44. package/dist/chunks/{controls-group.D0_cJaFF.js.map → controls-group.vFyThDMU.js.map} +1 -1
  45. package/dist/chunks/{copy.2iD8aI5a.js → copy.DD_Yfyn_.js} +3 -3
  46. package/dist/chunks/{copy.2iD8aI5a.js.map → copy.DD_Yfyn_.js.map} +1 -1
  47. package/dist/chunks/{dashboard-section.Cmulh6WM.js → dashboard-section.z-Rnv5E-.js} +3 -3
  48. package/dist/chunks/{dashboard-section.Cmulh6WM.js.map → dashboard-section.z-Rnv5E-.js.map} +1 -1
  49. package/dist/chunks/{dashed-underline.eMF75SuT.js → dashed-underline.CfQuYKV9.js} +8 -8
  50. package/dist/chunks/{dashed-underline.eMF75SuT.js.map → dashed-underline.CfQuYKV9.js.map} +1 -1
  51. package/dist/chunks/{data-grid-template.CdHnPE1-.js → data-grid-template.73mazFER.js} +2 -2
  52. package/dist/chunks/{data-grid-template.CdHnPE1-.js.map → data-grid-template.73mazFER.js.map} +1 -1
  53. package/dist/chunks/{data-grid.DedjAz4_.js → data-grid.C_Xoz-GC.js} +28 -18
  54. package/dist/chunks/data-grid.C_Xoz-GC.js.map +1 -0
  55. package/dist/chunks/{date-picker.BdMr3Sn2.js → date-picker.bgk9aymW.js} +5 -5
  56. package/dist/chunks/{date-picker.BdMr3Sn2.js.map → date-picker.bgk9aymW.js.map} +1 -1
  57. package/dist/chunks/{date-range-picker.BHfvD0GK.js → date-range-picker.-s05jOQA.js} +8 -8
  58. package/dist/chunks/{date-range-picker.BHfvD0GK.js.map → date-range-picker.-s05jOQA.js.map} +1 -1
  59. package/dist/chunks/{directive.O3yEdalv.js → directive.Cbdox5VL.js} +2 -2
  60. package/dist/chunks/{directive.O3yEdalv.js.map → directive.Cbdox5VL.js.map} +1 -1
  61. package/dist/chunks/{dropdown-tag.CvZ1jckk.js → dropdown-tag.8qh8J-NE.js} +3 -3
  62. package/dist/chunks/{dropdown-tag.CvZ1jckk.js.map → dropdown-tag.8qh8J-NE.js.map} +1 -1
  63. package/dist/chunks/{dropdown.CcHoKbLz.js → dropdown.DzWXcJyF.js} +50 -42
  64. package/dist/chunks/dropdown.DzWXcJyF.js.map +1 -0
  65. package/dist/chunks/{error-message.B1-ekAMa.js → error-message.CzQf7YOD.js} +2 -2
  66. package/dist/chunks/{error-message.B1-ekAMa.js.map → error-message.CzQf7YOD.js.map} +1 -1
  67. package/dist/chunks/es6.BtaxuP0b.js.map +1 -1
  68. package/dist/chunks/{file-uploader.Dlfzh5QQ.js → file-uploader.CcZPr-jD.js} +327 -326
  69. package/dist/chunks/file-uploader.CcZPr-jD.js.map +1 -0
  70. package/dist/chunks/{filter-bar.CwqoJGiK.js → filter-bar.BdGtQC7p.js} +305 -304
  71. package/dist/chunks/filter-bar.BdGtQC7p.js.map +1 -0
  72. package/dist/chunks/{focus-trap.CWlKh48z.js → focus-trap.CIUzScHc.js} +2 -2
  73. package/dist/chunks/{focus-trap.CWlKh48z.js.map → focus-trap.CIUzScHc.js.map} +1 -1
  74. package/dist/chunks/header-with-views.ChEgH2tn.js +1536 -0
  75. package/dist/chunks/header-with-views.ChEgH2tn.js.map +1 -0
  76. package/dist/chunks/{header.BAKjEGmH.js → header.0hX8OYwM.js} +3 -3
  77. package/dist/chunks/{header.BAKjEGmH.js.map → header.0hX8OYwM.js.map} +1 -1
  78. package/dist/chunks/index.BCUiAdb6.js +387 -0
  79. package/dist/chunks/{index.-wO_BQCb.js.map → index.BCUiAdb6.js.map} +1 -1
  80. package/dist/chunks/{info-icon-with-popover.CxXWP4TR.js → info-icon-with-popover.w6MpKOWh.js} +2 -2
  81. package/dist/chunks/{info-icon-with-popover.CxXWP4TR.js.map → info-icon-with-popover.w6MpKOWh.js.map} +1 -1
  82. package/dist/chunks/{info-icon.D3neDWqH.js → info-icon.C1ReXurF.js} +3 -3
  83. package/dist/chunks/{info-icon.D3neDWqH.js.map → info-icon.C1ReXurF.js.map} +1 -1
  84. package/dist/chunks/input-field-password.CZn4kW8v.js +198 -0
  85. package/dist/chunks/input-field-password.CZn4kW8v.js.map +1 -0
  86. package/dist/chunks/{input-field-phone-number.TXnK0dch.js → input-field-phone-number.C8WTJ1W-.js} +3 -3
  87. package/dist/chunks/{input-field-phone-number.TXnK0dch.js.map → input-field-phone-number.C8WTJ1W-.js.map} +1 -1
  88. package/dist/chunks/{input-field.De4sp76g.js → input-field.tP3Eupoo.js} +3 -3
  89. package/dist/chunks/{input-field.De4sp76g.js.map → input-field.tP3Eupoo.js.map} +1 -1
  90. package/dist/chunks/{inspector.types.ClnPOYmb.js → inspector.types.A0b4jNO3.js} +3 -3
  91. package/dist/chunks/{inspector.types.ClnPOYmb.js.map → inspector.types.A0b4jNO3.js.map} +1 -1
  92. package/dist/chunks/{layout-row.dh2VyGoD.js → layout-row.BgBazwnM.js} +2 -2
  93. package/dist/chunks/{layout-row.dh2VyGoD.js.map → layout-row.BgBazwnM.js.map} +1 -1
  94. package/dist/chunks/{listbox-option-tag.xGQr3Su1.js → listbox-option-tag.T9cfTst7.js} +2 -2
  95. package/dist/chunks/{listbox-option-tag.xGQr3Su1.js.map → listbox-option-tag.T9cfTst7.js.map} +1 -1
  96. package/dist/chunks/{menu.li3Kg9Uq.js → menu.CY7ceslP.js} +84 -83
  97. package/dist/chunks/{menu.li3Kg9Uq.js.map → menu.CY7ceslP.js.map} +1 -1
  98. package/dist/chunks/{modal-fullscreen.C4eL63TC.js → modal-fullscreen.Dz5w250z.js} +2 -2
  99. package/dist/chunks/{modal-fullscreen.C4eL63TC.js.map → modal-fullscreen.Dz5w250z.js.map} +1 -1
  100. package/dist/chunks/{modal.BpDz0Dhc.js → modal.CnmRkXZM.js} +2 -2
  101. package/dist/chunks/{modal.BpDz0Dhc.js.map → modal.CnmRkXZM.js.map} +1 -1
  102. package/dist/chunks/{on-click-outside.MUWbmGDn.js → on-click-outside.D9aY9g8G.js} +3 -2
  103. package/dist/chunks/{on-click-outside.MUWbmGDn.js.map → on-click-outside.D9aY9g8G.js.map} +1 -1
  104. package/dist/chunks/{pagination.FuELftBG.js → pagination.CvGOUwd8.js} +2 -2
  105. package/dist/chunks/{pagination.FuELftBG.js.map → pagination.CvGOUwd8.js.map} +1 -1
  106. package/dist/chunks/{popover.Cb6utVhS.js → popover.BvsqsZQ1.js} +2 -2
  107. package/dist/chunks/{popover.Cb6utVhS.js.map → popover.BvsqsZQ1.js.map} +1 -1
  108. package/dist/chunks/{popper-container.CiEkF7eb.js → popper-container.LRQgzjRf.js} +2 -2
  109. package/dist/chunks/{popper-container.CiEkF7eb.js.map → popper-container.LRQgzjRf.js.map} +1 -1
  110. package/dist/chunks/{promo-banner.PnHud5Wi.js → promo-banner.DDnJwMDC.js} +2 -2
  111. package/dist/chunks/{promo-banner.PnHud5Wi.js.map → promo-banner.DDnJwMDC.js.map} +1 -1
  112. package/dist/chunks/{radio-group._8PsjPCZ.js → radio-group.BvswbJa8.js} +4 -4
  113. package/dist/chunks/{radio-group._8PsjPCZ.js.map → radio-group.BvswbJa8.js.map} +1 -1
  114. package/dist/chunks/{search-bar.CVY2e8_B.js → search-bar.kKLreEXo.js} +3 -3
  115. package/dist/chunks/{search-bar.CVY2e8_B.js.map → search-bar.kKLreEXo.js.map} +1 -1
  116. package/dist/chunks/{secondary-nav.LxcuTR16.js → secondary-nav.C6bfsK2p.js} +3 -3
  117. package/dist/chunks/{secondary-nav.LxcuTR16.js.map → secondary-nav.C6bfsK2p.js.map} +1 -1
  118. package/dist/chunks/{segmented-control.D69WXQGh.js → segmented-control.BywW3ont.js} +2 -2
  119. package/dist/chunks/{segmented-control.D69WXQGh.js.map → segmented-control.BywW3ont.js.map} +1 -1
  120. package/dist/chunks/{selection-card-group.MTKkCBeK.js → selection-card-group.Ca4G00h5.js} +11 -11
  121. package/dist/chunks/{selection-card-group.MTKkCBeK.js.map → selection-card-group.Ca4G00h5.js.map} +1 -1
  122. package/dist/chunks/{sidepanel.BStCbRqN.js → sidepanel.D4H3Vu0m.js} +3 -3
  123. package/dist/chunks/{sidepanel.BStCbRqN.js.map → sidepanel.D4H3Vu0m.js.map} +1 -1
  124. package/dist/chunks/{structured-list-item.CeosjL40.js → structured-list-item.Bv8reTz2.js} +4 -4
  125. package/dist/chunks/{structured-list-item.CeosjL40.js.map → structured-list-item.Bv8reTz2.js.map} +1 -1
  126. package/dist/chunks/{summary-grid-item-custom.CF_TS7oA.js → summary-grid-item-custom.Bbdie4EL.js} +188 -135
  127. package/dist/chunks/summary-grid-item-custom.Bbdie4EL.js.map +1 -0
  128. package/dist/chunks/{tag.OgtZ3-ql.js → tag.IyMxowGc.js} +2 -2
  129. package/dist/chunks/{tag.OgtZ3-ql.js.map → tag.IyMxowGc.js.map} +1 -1
  130. package/dist/chunks/{teleport.B5fwsT5y.js → teleport.BHfrns33.js} +2 -2
  131. package/dist/chunks/{teleport.B5fwsT5y.js.map → teleport.BHfrns33.js.map} +1 -1
  132. package/dist/chunks/{textarea.BEISPJua.js → textarea.B9HjT5LH.js} +2 -2
  133. package/dist/chunks/{textarea.BEISPJua.js.map → textarea.B9HjT5LH.js.map} +1 -1
  134. package/dist/chunks/{timeline-item.BeWMuM8A.js → timeline-item.BIwk0vqM.js} +4 -4
  135. package/dist/chunks/{timeline-item.BeWMuM8A.js.map → timeline-item.BIwk0vqM.js.map} +1 -1
  136. package/dist/chunks/{tooltip.RPURZd36.js → tooltip.DShIiBiY.js} +2 -2
  137. package/dist/chunks/{tooltip.RPURZd36.js.map → tooltip.DShIiBiY.js.map} +1 -1
  138. package/dist/chunks/{tutorial.Ba8PTa0x.js → tutorial.DDlXTjAO.js} +4 -4
  139. package/dist/chunks/{tutorial.Ba8PTa0x.js.map → tutorial.DDlXTjAO.js.map} +1 -1
  140. package/dist/chunks/{use-cached-selected-values.CxlYYUbd.js → use-cached-selected-values.LVldNial.js} +12 -8
  141. package/dist/chunks/{use-cached-selected-values.CxlYYUbd.js.map → use-cached-selected-values.LVldNial.js.map} +1 -1
  142. package/dist/click-outside.js +1 -1
  143. package/dist/code-snippet.js +1 -1
  144. package/dist/dashboard-template.js +1 -1
  145. package/dist/dashed-underline.js +2 -2
  146. package/dist/data-grid-template.js +1 -1
  147. package/dist/data-grid.js +1 -1
  148. package/dist/date-picker.js +2 -2
  149. package/dist/date-range-picker.js +2 -2
  150. package/dist/dropdown.js +3 -3
  151. package/dist/file-uploader.js +1 -1
  152. package/dist/filter-bar.js +1 -1
  153. package/dist/focus-trap.js +1 -1
  154. package/dist/header-with-views.js +5 -0
  155. package/dist/header-with-views.js.map +1 -0
  156. package/dist/header.js +1 -1
  157. package/dist/index.js +195 -193
  158. package/dist/index.js.map +1 -1
  159. package/dist/info-icon.js +1 -1
  160. package/dist/input-field-password.js +1 -1
  161. package/dist/input-field-phone-number.js +1 -1
  162. package/dist/input-field.js +1 -1
  163. package/dist/inspector.js +1 -1
  164. package/dist/internal.js +10 -10
  165. package/dist/layout.js +1 -1
  166. package/dist/menu.js +1 -1
  167. package/dist/modal-fullscreen.js +1 -1
  168. package/dist/modal.js +2 -2
  169. package/dist/pagination.js +1 -1
  170. package/dist/popover.js +1 -1
  171. package/dist/popper-container.js +1 -1
  172. package/dist/promo-banner.js +1 -1
  173. package/dist/radio-group.js +1 -1
  174. package/dist/search-bar.js +2 -2
  175. package/dist/secondary-nav.js +1 -1
  176. package/dist/segmented-control.js +1 -1
  177. package/dist/selection-card.js +1 -1
  178. package/dist/sidepanel.js +1 -1
  179. package/dist/structured-list.js +1 -1
  180. package/dist/styles/bento-dark.css +47 -1
  181. package/dist/styles/bento-light.css +47 -1
  182. package/dist/styles/bento.css +47 -1
  183. package/dist/styles/legacy.css +47 -1
  184. package/dist/styles/styleguide.css +47 -1
  185. package/dist/summary-grid.js +1 -1
  186. package/dist/tag.js +1 -1
  187. package/dist/textarea.js +1 -1
  188. package/dist/timeline.js +1 -1
  189. package/dist/tutorial.js +1 -1
  190. package/dist/use-form-v4.js +8300 -0
  191. package/dist/use-form-v4.js.map +1 -0
  192. package/dist/web-types.json +520 -5
  193. package/package.json +6 -5
  194. package/dist/chunks/checkbox.BeYtbfPv.js +0 -170
  195. package/dist/chunks/checkbox.BeYtbfPv.js.map +0 -1
  196. package/dist/chunks/data-grid.DedjAz4_.js.map +0 -1
  197. package/dist/chunks/dropdown.CcHoKbLz.js.map +0 -1
  198. package/dist/chunks/file-uploader.Dlfzh5QQ.js.map +0 -1
  199. package/dist/chunks/filter-bar.CwqoJGiK.js.map +0 -1
  200. package/dist/chunks/index.-wO_BQCb.js +0 -370
  201. package/dist/chunks/input-field-password.CO0lAgMh.js +0 -194
  202. package/dist/chunks/input-field-password.CO0lAgMh.js.map +0 -1
  203. package/dist/chunks/summary-grid-item-custom.CF_TS7oA.js.map +0 -1
@@ -1,370 +0,0 @@
1
- import "./index.Cl4_42j5.js";
2
- import { onMounted as A, nextTick as M, watch as O, unref as $, getCurrentScope as I, onScopeDispose as R, getCurrentInstance as N, ref as m, computed as v, watchEffect as F } from "vue";
3
- function x(e) {
4
- return I() ? (R(e), !0) : !1;
5
- }
6
- function b(e) {
7
- return typeof e == "function" ? e() : $(e);
8
- }
9
- const L = typeof window < "u" && typeof document < "u";
10
- typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
11
- const j = (e) => e != null, C = Object.prototype.toString, B = (e) => C.call(e) === "[object Object]", W = () => {
12
- };
13
- function P(e, t) {
14
- function n(...u) {
15
- return new Promise((s, i) => {
16
- Promise.resolve(e(() => t.apply(this, u), { fn: t, thisArg: this, args: u })).then(s).catch(i);
17
- });
18
- }
19
- return n;
20
- }
21
- const z = (e) => e();
22
- function V(e, t = {}) {
23
- let n, u, s = W;
24
- const i = (c) => {
25
- clearTimeout(c), s(), s = W;
26
- };
27
- return (c) => {
28
- const f = b(e), d = b(t.maxWait);
29
- return n && i(n), f <= 0 || d !== void 0 && d <= 0 ? (u && (i(u), u = null), Promise.resolve(c())) : new Promise((r, o) => {
30
- s = t.rejectOnCancel ? o : r, d && !u && (u = setTimeout(() => {
31
- n && i(n), u = null, r(c());
32
- }, d)), n = setTimeout(() => {
33
- u && i(u), u = null, r(c());
34
- }, f);
35
- });
36
- };
37
- }
38
- function H(e, t) {
39
- var n;
40
- if (typeof e == "number")
41
- return e + t;
42
- const u = ((n = e.match(/^-?\d+\.?\d*/)) == null ? void 0 : n[0]) || "", s = e.slice(u.length), i = Number.parseFloat(u) + t;
43
- return Number.isNaN(i) ? e : i + s;
44
- }
45
- function D(e) {
46
- return N();
47
- }
48
- function G(e, t, n = {}) {
49
- const {
50
- eventFilter: u = z,
51
- ...s
52
- } = n;
53
- return O(
54
- e,
55
- P(
56
- u,
57
- t
58
- ),
59
- s
60
- );
61
- }
62
- function _(e, t = !0, n) {
63
- D() ? A(e, n) : t ? e() : M(e);
64
- }
65
- function Z(e, t, n = {}) {
66
- const {
67
- debounce: u = 0,
68
- maxWait: s = void 0,
69
- ...i
70
- } = n;
71
- return G(
72
- e,
73
- t,
74
- {
75
- ...i,
76
- eventFilter: V(u, { maxWait: s })
77
- }
78
- );
79
- }
80
- const p = L ? window : void 0;
81
- function w(e) {
82
- var t;
83
- const n = b(e);
84
- return (t = n == null ? void 0 : n.$el) != null ? t : n;
85
- }
86
- function E(...e) {
87
- let t, n, u, s;
88
- if (typeof e[0] == "string" || Array.isArray(e[0]) ? ([n, u, s] = e, t = p) : [t, n, u, s] = e, !t)
89
- return W;
90
- Array.isArray(n) || (n = [n]), Array.isArray(u) || (u = [u]);
91
- const i = [], a = () => {
92
- i.forEach((r) => r()), i.length = 0;
93
- }, c = (r, o, l, h) => (r.addEventListener(o, l, h), () => r.removeEventListener(o, l, h)), f = O(
94
- () => [w(t), b(s)],
95
- ([r, o]) => {
96
- if (a(), !r)
97
- return;
98
- const l = B(o) ? { ...o } : o;
99
- i.push(
100
- ...n.flatMap((h) => u.map((g) => c(r, h, g, l)))
101
- );
102
- },
103
- { immediate: !0, flush: "post" }
104
- ), d = () => {
105
- f(), a();
106
- };
107
- return x(d), d;
108
- }
109
- function U() {
110
- const e = m(!1);
111
- return N() && A(() => {
112
- e.value = !0;
113
- }, void 0), e;
114
- }
115
- function T(e) {
116
- const t = U();
117
- return v(() => (t.value, !!e()));
118
- }
119
- function Y(e, t, n = {}) {
120
- const { window: u = p, ...s } = n;
121
- let i;
122
- const a = T(() => u && "MutationObserver" in u), c = () => {
123
- i && (i.disconnect(), i = void 0);
124
- }, f = v(() => {
125
- const l = b(e), h = (Array.isArray(l) ? l : [l]).map(w).filter(j);
126
- return new Set(h);
127
- }), d = O(
128
- () => f.value,
129
- (l) => {
130
- c(), a.value && l.size && (i = new MutationObserver(t), l.forEach((h) => i.observe(h, s)));
131
- },
132
- { immediate: !0, flush: "post" }
133
- ), r = () => i == null ? void 0 : i.takeRecords(), o = () => {
134
- d(), c();
135
- };
136
- return x(o), {
137
- isSupported: a,
138
- stop: o,
139
- takeRecords: r
140
- };
141
- }
142
- function q(e = {}) {
143
- var t;
144
- const {
145
- window: n = p,
146
- deep: u = !0,
147
- triggerOnRemoval: s = !1
148
- } = e, i = (t = e.document) != null ? t : n == null ? void 0 : n.document, a = () => {
149
- var d;
150
- let r = i == null ? void 0 : i.activeElement;
151
- if (u)
152
- for (; r != null && r.shadowRoot; )
153
- r = (d = r == null ? void 0 : r.shadowRoot) == null ? void 0 : d.activeElement;
154
- return r;
155
- }, c = m(), f = () => {
156
- c.value = a();
157
- };
158
- return n && (E(n, "blur", (d) => {
159
- d.relatedTarget === null && f();
160
- }, !0), E(n, "focus", f, !0)), s && Y(i, (d) => {
161
- d.filter((r) => r.removedNodes.length).map((r) => Array.from(r.removedNodes)).flat().forEach((r) => {
162
- r === c.value && f();
163
- });
164
- }, {
165
- childList: !0,
166
- subtree: !0
167
- }), f(), c;
168
- }
169
- function y(e, t = {}) {
170
- const { window: n = p } = t, u = T(() => n && "matchMedia" in n && typeof n.matchMedia == "function");
171
- let s;
172
- const i = m(!1), a = (d) => {
173
- i.value = d.matches;
174
- }, c = () => {
175
- s && ("removeEventListener" in s ? s.removeEventListener("change", a) : s.removeListener(a));
176
- }, f = F(() => {
177
- u.value && (c(), s = n.matchMedia(b(e)), "addEventListener" in s ? s.addEventListener("change", a) : s.addListener(a), i.value = s.matches);
178
- });
179
- return x(() => {
180
- f(), c(), s = void 0;
181
- }), i;
182
- }
183
- function ee(e, t = {}) {
184
- function n(r, o) {
185
- let l = b(e[b(r)]);
186
- return o != null && (l = H(l, o)), typeof l == "number" && (l = `${l}px`), l;
187
- }
188
- const { window: u = p, strategy: s = "min-width" } = t;
189
- function i(r) {
190
- return u ? u.matchMedia(r).matches : !1;
191
- }
192
- const a = (r) => y(() => `(min-width: ${n(r)})`, t), c = (r) => y(() => `(max-width: ${n(r)})`, t), f = Object.keys(e).reduce((r, o) => (Object.defineProperty(r, o, {
193
- get: () => s === "min-width" ? a(o) : c(o),
194
- enumerable: !0,
195
- configurable: !0
196
- }), r), {});
197
- function d() {
198
- const r = Object.keys(e).map((o) => [o, a(o)]);
199
- return v(() => r.filter(([, o]) => o.value).map(([o]) => o));
200
- }
201
- return Object.assign(f, {
202
- greaterOrEqual: a,
203
- smallerOrEqual: c,
204
- greater(r) {
205
- return y(() => `(min-width: ${n(r, 0.1)})`, t);
206
- },
207
- smaller(r) {
208
- return y(() => `(max-width: ${n(r, -0.1)})`, t);
209
- },
210
- between(r, o) {
211
- return y(() => `(min-width: ${n(r)}) and (max-width: ${n(o, -0.1)})`, t);
212
- },
213
- isGreater(r) {
214
- return i(`(min-width: ${n(r, 0.1)})`);
215
- },
216
- isGreaterOrEqual(r) {
217
- return i(`(min-width: ${n(r)})`);
218
- },
219
- isSmaller(r) {
220
- return i(`(max-width: ${n(r, -0.1)})`);
221
- },
222
- isSmallerOrEqual(r) {
223
- return i(`(max-width: ${n(r)})`);
224
- },
225
- isInBetween(r, o) {
226
- return i(`(min-width: ${n(r)}) and (max-width: ${n(o, -0.1)})`);
227
- },
228
- current: d,
229
- active() {
230
- const r = d();
231
- return v(() => r.value.length === 0 ? "" : r.value.at(-1));
232
- }
233
- });
234
- }
235
- function X(e, t, n = {}) {
236
- const { window: u = p, ...s } = n;
237
- let i;
238
- const a = T(() => u && "ResizeObserver" in u), c = () => {
239
- i && (i.disconnect(), i = void 0);
240
- }, f = v(() => {
241
- const o = b(e);
242
- return Array.isArray(o) ? o.map((l) => w(l)) : [w(o)];
243
- }), d = O(
244
- f,
245
- (o) => {
246
- if (c(), a.value && u) {
247
- i = new ResizeObserver(t);
248
- for (const l of o)
249
- l && i.observe(l, s);
250
- }
251
- },
252
- { immediate: !0, flush: "post" }
253
- ), r = () => {
254
- c(), d();
255
- };
256
- return x(r), {
257
- isSupported: a,
258
- stop: r
259
- };
260
- }
261
- function te(e, t = { width: 0, height: 0 }, n = {}) {
262
- const { window: u = p, box: s = "content-box" } = n, i = v(() => {
263
- var o, l;
264
- return (l = (o = w(e)) == null ? void 0 : o.namespaceURI) == null ? void 0 : l.includes("svg");
265
- }), a = m(t.width), c = m(t.height), { stop: f } = X(
266
- e,
267
- ([o]) => {
268
- const l = s === "border-box" ? o.borderBoxSize : s === "content-box" ? o.contentBoxSize : o.devicePixelContentBoxSize;
269
- if (u && i.value) {
270
- const h = w(e);
271
- if (h) {
272
- const g = h.getBoundingClientRect();
273
- a.value = g.width, c.value = g.height;
274
- }
275
- } else if (l) {
276
- const h = Array.isArray(l) ? l : [l];
277
- a.value = h.reduce((g, { inlineSize: S }) => g + S, 0), c.value = h.reduce((g, { blockSize: S }) => g + S, 0);
278
- } else
279
- a.value = o.contentRect.width, c.value = o.contentRect.height;
280
- },
281
- n
282
- );
283
- _(() => {
284
- const o = w(e);
285
- o && (a.value = "offsetWidth" in o ? o.offsetWidth : t.width, c.value = "offsetHeight" in o ? o.offsetHeight : t.height);
286
- });
287
- const d = O(
288
- () => w(e),
289
- (o) => {
290
- a.value = o ? t.width : 0, c.value = o ? t.height : 0;
291
- }
292
- );
293
- function r() {
294
- f(), d();
295
- }
296
- return {
297
- width: a,
298
- height: c,
299
- stop: r
300
- };
301
- }
302
- const k = "focusin", Q = "focusout";
303
- function ne(e, t = {}) {
304
- const { window: n = p } = t, u = v(() => w(e)), s = m(!1), i = v(() => s.value), a = q(t);
305
- return !n || !a.value ? { focused: i } : (E(u, k, () => s.value = !0), E(u, Q, () => s.value = !1), { focused: i });
306
- }
307
- function re(e = {}) {
308
- const { window: t = p, behavior: n = "auto" } = e;
309
- if (!t)
310
- return {
311
- x: m(0),
312
- y: m(0)
313
- };
314
- const u = m(t.scrollX), s = m(t.scrollY), i = v({
315
- get() {
316
- return u.value;
317
- },
318
- set(c) {
319
- scrollTo({ left: c, behavior: n });
320
- }
321
- }), a = v({
322
- get() {
323
- return s.value;
324
- },
325
- set(c) {
326
- scrollTo({ top: c, behavior: n });
327
- }
328
- });
329
- return E(
330
- t,
331
- "scroll",
332
- () => {
333
- u.value = t.scrollX, s.value = t.scrollY;
334
- },
335
- {
336
- capture: !1,
337
- passive: !0
338
- }
339
- ), { x: i, y: a };
340
- }
341
- function oe(e = {}) {
342
- const {
343
- window: t = p,
344
- initialWidth: n = Number.POSITIVE_INFINITY,
345
- initialHeight: u = Number.POSITIVE_INFINITY,
346
- listenOrientation: s = !0,
347
- includeScrollbar: i = !0,
348
- type: a = "inner"
349
- } = e, c = m(n), f = m(u), d = () => {
350
- t && (a === "outer" ? (c.value = t.outerWidth, f.value = t.outerHeight) : i ? (c.value = t.innerWidth, f.value = t.innerHeight) : (c.value = t.document.documentElement.clientWidth, f.value = t.document.documentElement.clientHeight));
351
- };
352
- if (d(), _(d), E("resize", d, { passive: !0 }), s) {
353
- const r = y("(orientation: portrait)");
354
- O(r, () => d());
355
- }
356
- return { width: c, height: f };
357
- }
358
- export {
359
- X as a,
360
- te as b,
361
- re as c,
362
- ne as d,
363
- y as e,
364
- ee as f,
365
- Y as g,
366
- q as h,
367
- oe as u,
368
- Z as w
369
- };
370
- //# sourceMappingURL=index.-wO_BQCb.js.map
@@ -1,194 +0,0 @@
1
- import { defineComponent as X, useAttrs as J, ref as s, provide as j, computed as n, watch as M } from "vue";
2
- import { B as K } from "./button.D-3uUhuG.js";
3
- import { B as Y } from "./image.C2D2hKat.js";
4
- import { B as G } from "./input-field.De4sp76g.js";
5
- import { B as Q } from "./popover.Cb6utVhS.js";
6
- import { B as $ } from "./typography.J1v_SPG3.js";
7
- import { C as ee } from "./checkmark-circle-fill.DZBl7CeY.js";
8
- import { D as ae } from "./dot.CnkXzRn3.js";
9
- import { S as te, H as ie } from "./show.e4LEpZKG.js";
10
- import { d as oe, w as se } from "./index.-wO_BQCb.js";
11
- import { u as le } from "./i18n.BQkEbtPM.js";
12
- import { g as A } from "./generate-uid.NJ8tVoha.js";
13
- import { b as ne } from "./dropdown.CcHoKbLz.js";
14
- import { T as re } from "./tooltip.RPURZd36.js";
15
- import { n as de } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
16
- import "../assets/input-field-password.css";
17
- var f = /* @__PURE__ */ ((i) => (i.TEXT = "text", i.PASSWORD = "password", i))(f || {});
18
- const ce = "data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='capslock'%3e%3cg%20id='Union'%3e%3cpath%20d='M13.75%205.63952L8%201.03952L2.25%205.63952V7.74999H4.75V11.75H11.25V7.74999H13.75V5.63952ZM6.25%206.24999H3.88809L8%202.96046L12.1119%206.24999H9.75V10.25H6.25V6.24999Z'%20fill='%2300112C'/%3e%3cpath%20d='M11.25%2014.75V13.25H4.75V14.75H11.25Z'%20fill='%2300112C'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e";
19
- function m(i) {
20
- return (i == null ? void 0 : i.toString()) ?? "";
21
- }
22
- function ue(i, a = 8) {
23
- return m(i).length >= a;
24
- }
25
- function pe(i) {
26
- return /[a-z]/.test(m(i));
27
- }
28
- function ve(i) {
29
- return /[A-Z]/.test(m(i));
30
- }
31
- function fe(i) {
32
- return /\d/.test(m(i));
33
- }
34
- function me(i) {
35
- return /[^a-zA-Z0-9]/.test(m(i));
36
- }
37
- const _e = {
38
- "en-US": {
39
- capsLockEnabled: "Caps lock on",
40
- hidePassword: "Hide",
41
- showPassword: "Show",
42
- validationChecked: "Checked",
43
- validationMinLength: "8 characters",
44
- validationRequireLowercase: "1 lowercase (a-z)",
45
- validationRequireNumeric: "1 numerical (0-9)",
46
- validationRequireSpecialCharacter: "1 special character",
47
- validationRequireUppercase: "1 uppercase (A-Z)",
48
- validationSuggestion: "Avoid using currency symbols or accented letters.",
49
- validationTitle: "Password must contain at least:",
50
- validationUnchecked: "Unchecked",
51
- validationValid: "Input is valid"
52
- },
53
- "ja-JP": {
54
- capsLockEnabled: "Caps lockオン",
55
- hidePassword: "非表示",
56
- showPassword: "表示",
57
- validationMinLength: "8字",
58
- validationRequireLowercase: "小文字1字 (a-z)",
59
- validationRequireNumeric: "数字1字 (0-9)",
60
- validationRequireSpecialCharacter: "特殊文字1字",
61
- validationRequireUppercase: "大文字1字 (A-Z)",
62
- validationSuggestion: "通貨記号やアクセント付き文字は避けてください。",
63
- validationTitle: "パスワードには少なくとも次のものを含める必要があります :"
64
- },
65
- "pt-BR": {
66
- capsLockEnabled: "Caps lock ativado",
67
- hidePassword: "Ocultar",
68
- showPassword: "Exibir",
69
- validationMinLength: "8 caracteres",
70
- validationRequireLowercase: "1 minúscula (a-z)",
71
- validationRequireNumeric: "1 numérico (0-9)",
72
- validationRequireSpecialCharacter: "1 caractere especial",
73
- validationRequireUppercase: "1 maiúscula (A-Z)",
74
- validationSuggestion: "Evite símbolos de moeda ou letras acentuadas.",
75
- validationTitle: "A senha deve conter pelo menos:"
76
- }
77
- }, he = {
78
- i18n: { messages: _e },
79
- name: "bento-input-field-password"
80
- }, ge = /* @__PURE__ */ X({
81
- ...he,
82
- props: {
83
- condensed: { default: !1 },
84
- disabled: { default: !1 },
85
- errorMessage: { default: null },
86
- placeholder: { default: "" },
87
- readonly: { default: !1 },
88
- value: { default: void 0 },
89
- label: { default: null },
90
- validation: { default: void 0 },
91
- withHint: { type: Boolean, default: !0 }
92
- },
93
- emits: ["input:valid", "input"],
94
- setup(i, { emit: a }) {
95
- const t = i, e = 500, _ = 2e3, d = 2e3, { t: l } = le(), y = J(), p = s(f.PASSWORD), c = s(t.value), I = s(!1), g = s(!1), h = s([]), r = s(null), u = s(!1), T = s(null), P = s(null), F = s(null), w = s(!1);
96
- j(ne, "bento-input-field-password");
97
- const { focused: R } = oe(T), H = A("validationListId"), V = A("validationPopoverId"), E = n(() => p.value === f.TEXT), S = n(() => g.value && b.value ? t.errorMessage : ""), D = n(
98
- () => h.value.map(
99
- (o) => o ? "b-input-field-password__validation-list--valid" : "b-input-field-password__validation-list--invalid"
100
- )
101
- ), U = n(
102
- () => r.value ? "b-input-field-password__input-tooltip--timed" : ""
103
- ), O = n(() => ({
104
- ariaHidden: !1,
105
- condensed: t.condensed,
106
- disabled: t.disabled,
107
- errorMessage: S.value,
108
- placeholder: t.placeholder,
109
- readonly: t.readonly,
110
- type: p.value,
111
- value: c.value,
112
- "aria-haspopup": k.value ? "dialog" : !1,
113
- "aria-describedby": k.value ? V : "",
114
- ...y
115
- })), C = n(
116
- () => t.validation === void 0 ? {
117
- title: l("validationTitle"),
118
- suggestion: l("validationSuggestion"),
119
- list: [
120
- { label: l("validationMinLength"), validate: ue },
121
- { label: l("validationRequireLowercase"), validate: pe },
122
- { label: l("validationRequireUppercase"), validate: ve },
123
- { label: l("validationRequireNumeric"), validate: fe },
124
- { label: l("validationRequireSpecialCharacter"), validate: me }
125
- ]
126
- } : t.validation
127
- ), b = n(() => h.value.some((o) => !o)), k = n(
128
- () => {
129
- var o, v;
130
- return P.value && ((v = (o = C.value) == null ? void 0 : o.list) == null ? void 0 : v.length) > 0;
131
- }
132
- ), N = (o) => {
133
- typeof o.getModifierState == "function" && (w.value = o.getModifierState("CapsLock"));
134
- }, x = () => {
135
- E.value ? p.value = f.PASSWORD : p.value = f.TEXT;
136
- }, Z = (o) => {
137
- t.disabled || (c.value = o, a("input", c.value));
138
- }, L = (o) => {
139
- var v, B;
140
- h.value = ((B = (v = C.value) == null ? void 0 : v.list) == null ? void 0 : B.map(
141
- (q) => q.validate(o, q.additionalArgs)
142
- )) ?? [];
143
- }, z = () => {
144
- u.value = !1, r.value = null;
145
- }, W = () => {
146
- u.value = !0;
147
- };
148
- return M(R, (o) => {
149
- t.withHint && (I.value = o, o ? L(c.value) : g.value = !0);
150
- }), M(w, (o) => {
151
- o ? (u.value = !0, r.value = setTimeout(() => {
152
- r.value = null, u.value = !1;
153
- }, d)) : (clearTimeout(r.value), r.value = null, u.value = !1);
154
- }), se(
155
- c,
156
- (o) => {
157
- L(o), b.value || a("input:valid");
158
- },
159
- // wait for 0.5s before checking validity OR 2s of continuous typing
160
- { debounce: e, maxWait: _ }
161
- ), { __sfc: !0, DEBOUNCE_DURATION: e, DEBOUNCE_MAX_WAIT: _, TOOLTIP_TIMEOUT: d, t: l, props: t, emit: a, attrs: y, inputType: p, inputValue: c, isHintDisplayed: I, isTouched: g, passwordValidity: h, capsLockTooltipTimeoutID: r, isTooltipDisplayed: u, inputFieldPasswordRef: T, inputFieldPasswordInputRef: P, inputFieldPasswordCapsLockIconRef: F, isCapsLockOn: w, focused: R, validationListId: H, validationPopoverId: V, isPasswordReadable: E, computedErrorMessage: S, passwordValidityConditionalClass: D, tooltipConditionalClass: U, inputFieldArgs: O, computedValidations: C, hasErrors: b, hasValidations: k, checkCapsLock: N, toggleInputType: x, onInput: Z, checkValidity: L, handleCapsLockMouseLeave: z, handleCapsLockMouseEnter: W, BentoButton: K, BentoImage: Y, BentoInputField: G, BentoPopover: Q, BentoTypography: $, Tooltip: re, CheckmarkCircleFillIcon: ee, DotIcon: ae, HideIcon: ie, ShowIcon: te, CapsLockIcon: ce };
162
- }
163
- });
164
- var we = function() {
165
- var a = this, t = a._self._c, e = a._self._setupProxy;
166
- return t("div", { ref: "inputFieldPasswordRef" }, [t(e.BentoInputField, a._b({ ref: "inputFieldPasswordInputRef", staticClass: "b-input-field-password__input", attrs: { spellcheck: "false" }, on: { input: e.onInput, keydown: e.checkCapsLock, keyup: e.checkCapsLock }, scopedSlots: a._u([{ key: "default", fn: function() {
167
- return [a._v(a._s(a.label))];
168
- }, proxy: !0 }, e.isCapsLockOn ? { key: "iconBefore", fn: function() {
169
- return [t("div", { staticClass: "b-input-field-password__caps-lock-indicator", on: { mouseenter: e.handleCapsLockMouseEnter, mouseleave: e.handleCapsLockMouseLeave } }, [t(e.BentoImage, { ref: "inputFieldPasswordCapsLockIconRef", attrs: { src: e.CapsLockIcon, alt: e.t("capsLockEnabled") } })], 1), e.inputFieldPasswordCapsLockIconRef ? t(e.Tooltip, { class: e.tooltipConditionalClass, attrs: { content: e.t("capsLockEnabled"), "disabled-focus-trap": !0, "fallback-position": ["top", "bottom"], "is-shown": e.isTooltipDisplayed, "target-element": e.inputFieldPasswordCapsLockIconRef } }) : a._e()];
170
- }, proxy: !0 } : null, a.disabled ? null : { key: "iconAfter", fn: function() {
171
- return [t(e.BentoButton, { attrs: { variant: "tertiary" }, on: { click: e.toggleInputType }, scopedSlots: a._u([{ key: "iconLeft", fn: function() {
172
- return [e.isPasswordReadable ? a._e() : t(e.ShowIcon, { attrs: { "svg-title": e.t("showPassword") } }), e.isPasswordReadable ? t(e.HideIcon, { attrs: { "svg-title": e.t("hidePassword") } }) : a._e()];
173
- }, proxy: !0 }], null, !1, 956294632) })];
174
- }, proxy: !0 }], null, !0) }, "bento-input-field", e.inputFieldArgs, !1)), e.hasValidations ? t(e.BentoPopover, { attrs: { open: e.isHintDisplayed, "target-element": e.inputFieldPasswordInputRef, "disable-focus-trap": !0, "aria-label": e.computedValidations.title, "aria-describedby": e.validationListId, position: "right-start" } }, [t("div", { attrs: { id: e.validationPopoverId } }, [e.computedValidations.title ? t(e.BentoTypography, { staticClass: "b-input-field-password__validation-title" }, [a._v(" " + a._s(e.computedValidations.title) + " ")]) : a._e(), e.hasErrors ? a._e() : t("p", { staticClass: "b-input-field-password__validation-status--valid", attrs: { role: "alert" } }, [a._v(" " + a._s(e.t("validationValid")) + " ")]), t("ul", { staticClass: "b-input-field-password__validation-list", attrs: { id: e.validationListId } }, a._l(e.computedValidations.list, function(_, d) {
175
- return t("li", { key: d, class: e.passwordValidityConditionalClass[d], attrs: { "aria-live": "polite", "aria-atomic": "true" } }, [t("span", { staticClass: "b-input-field-password__validation-list-icon" }, [e.passwordValidity[d] ? t(e.CheckmarkCircleFillIcon, { attrs: { "svg-title": e.t("validationChecked") } }) : t(e.DotIcon, { attrs: { "svg-title": e.t("validationUnchecked") } })], 1), t(e.BentoTypography, { staticClass: "b-input-field-password__validation-list-text", attrs: { el: "span" } }, [a._v(" " + a._s(_.label) + " ")])], 1);
176
- }), 0), e.computedValidations.suggestion ? t(e.BentoTypography, { staticClass: "b-input-field-password__validation-suggestion" }, [a._v(" " + a._s(e.computedValidations.suggestion) + " ")]) : a._e()], 1)]) : a._e()], 1);
177
- }, Ce = [], be = /* @__PURE__ */ de(
178
- ge,
179
- we,
180
- Ce,
181
- !1,
182
- null,
183
- "72e6fb8a"
184
- );
185
- const He = be.exports;
186
- export {
187
- ve as a,
188
- fe as b,
189
- me as c,
190
- He as i,
191
- ue as m,
192
- pe as r
193
- };
194
- //# sourceMappingURL=input-field-password.CO0lAgMh.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-field-password.CO0lAgMh.js","sources":["../../src/components/input-field-password/input-field-password.types.ts","../../src/components/input-field-password/assets/capslock.svg","../../src/components/input-field-password/utilities/input-field-password.validation.ts","../../src/components/input-field-password/input-field-password.vue"],"sourcesContent":["import type { BentoInputFieldProps, BentoInputFieldValue } from '@/components/input-field/input-field.types';\n\n/**\n * Public\n */\n\nexport interface BentoInputFieldPasswordValidationListItem {\n label: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n validate: (value: BentoInputFieldValue, ...args: any[]) => boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n additionalArgs?: any[];\n}\n\nexport interface BentoInputFieldPasswordValidation {\n title?: string;\n suggestion?: string;\n list: BentoInputFieldPasswordValidationListItem[];\n}\n\nexport interface BentoInputFieldPasswordProps {\n /**\n * Reduces height of the input\n */\n condensed?: BentoInputFieldProps['condensed'];\n\n /**\n * Disables the possibility of changing value in the input-field\n */\n disabled?: BentoInputFieldProps['disabled'];\n\n /**\n * Renders input-field with an error state and the error message beneath the input box\n */\n errorMessage?: BentoInputFieldProps['errorMessage'];\n\n /**\n * Text displayed as the placeholder of the input-field\n */\n placeholder?: BentoInputFieldProps['placeholder'];\n\n /**\n * Setting this property to true will set the input field to read only state.\n */\n readonly?: BentoInputFieldProps['readonly'];\n\n /**\n * Text displayed as the value of the input-field\n */\n value?: BentoInputFieldProps['value'];\n\n /**\n * Label to be shown with the input field\n */\n label?: string;\n\n /**\n * Configuration object for password field validation.\n *\n * This object defines the validation criteria and associated messages for a password field.\n * It includes the following properties:\n *\n * - `title`: The title displayed at the top of the validation hint.\n * - `suggestion`: The message displayed at the bottom of the validation hint, providing additional guidance.\n * - `list`: An array of callback functions to be executed on the value after each user input, validating the password against the specified rules.\n *\n * By default, the validation checks that:\n *\n * - The value has a minimum length of 8 characters.\n * - The value contains at least one lowercase letter.\n * - The value contains at least one uppercase letter.\n * - The value contains at least one numeric digit.\n * - The value contains at least one special character.\n *\n *\n */\n validation?: BentoInputFieldPasswordValidation;\n\n /**\n * Whether the password validation hint is displayed when the input field is activated via focus or input\n */\n withHint?: boolean;\n}\n\n/**\n * Private\n */\n\nexport enum BentoInputFieldPasswordType {\n TEXT = 'text',\n PASSWORD = 'password',\n}\n","export default \"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='capslock'%3e%3cg%20id='Union'%3e%3cpath%20d='M13.75%205.63952L8%201.03952L2.25%205.63952V7.74999H4.75V11.75H11.25V7.74999H13.75V5.63952ZM6.25%206.24999H3.88809L8%202.96046L12.1119%206.24999H9.75V10.25H6.25V6.24999Z'%20fill='%2300112C'/%3e%3cpath%20d='M11.25%2014.75V13.25H4.75V14.75H11.25Z'%20fill='%2300112C'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e\"","import { BentoInputFieldValue } from '@/components/input-field';\n\nfunction stringifyValue(value: BentoInputFieldValue): string {\n return value?.toString() ?? '';\n}\n\n/**\n * Validates if the length of the provided value is greater than or equal to the specified length.\n *\n * @param value - The input value to check.\n * @param length - The minimum required length of the value. Defaults to 8.\n * @returns `true` if the length of the value is greater than or equal to the specified length, `false` otherwise.\n */\nexport function minLength(value: BentoInputFieldValue, length = 8): boolean {\n return stringifyValue(value).length >= length;\n}\n\n/**\n * Validates if the provided value contains at least one lowercase letter.\n *\n * @param value - The input value to check.\n * @returns `true` if the value contains at least one lowercase letter, `false` otherwise.\n */\nexport function requireLowercase(value: BentoInputFieldValue): boolean {\n return /[a-z]/.test(stringifyValue(value));\n}\n\n/**\n * Validates if the provided value contains at least one uppercase letter.\n *\n * @param value - The input value to check.\n * @returns `true` if the value contains at least one uppercase letter, `false` otherwise.\n */\nexport function requireUppercase(value: BentoInputFieldValue): boolean {\n return /[A-Z]/.test(stringifyValue(value));\n}\n\n/**\n * Validates if the provided value contains at least one numerical digit.\n *\n * @param value - The input value to check.\n * @returns `true` if the value contains at least one numerical digit, `false` otherwise.\n */\nexport function requireNumeric(value: BentoInputFieldValue): boolean {\n return /\\d/.test(stringifyValue(value));\n}\n\n/**\n * Validates if the provided value contains at least one special character (non-alphanumeric).\n *\n * @param value - The input value to check.\n * @returns `true` if the value contains at least one special character, `false` otherwise.\n */\nexport function requireSpecialCharacter(value: BentoInputFieldValue): boolean {\n return /[^a-zA-Z0-9]/.test(stringifyValue(value));\n}\n","<template>\n <div ref=\"inputFieldPasswordRef\">\n <bento-input-field\n ref=\"inputFieldPasswordInputRef\"\n v-bind=\"inputFieldArgs\"\n class=\"b-input-field-password__input\"\n spellcheck=\"false\"\n @input=\"onInput\"\n @keydown=\"checkCapsLock\"\n @keyup=\"checkCapsLock\"\n >\n <template #default>{{ label }}</template>\n\n <template v-if=\"isCapsLockOn\" #iconBefore>\n <div\n class=\"b-input-field-password__caps-lock-indicator\"\n @mouseenter=\"handleCapsLockMouseEnter\"\n @mouseleave=\"handleCapsLockMouseLeave\"\n >\n <bento-image\n ref=\"inputFieldPasswordCapsLockIconRef\"\n :src=\"CapsLockIcon\"\n :alt=\"t('capsLockEnabled')\"\n ></bento-image>\n </div>\n\n <tooltip\n v-if=\"inputFieldPasswordCapsLockIconRef\"\n :class=\"tooltipConditionalClass\"\n :content=\"t('capsLockEnabled')\"\n :disabled-focus-trap=\"true\"\n :fallback-position=\"['top', 'bottom']\"\n :is-shown=\"isTooltipDisplayed\"\n :target-element=\"inputFieldPasswordCapsLockIconRef\"\n ></tooltip>\n </template>\n\n <template v-if=\"!disabled\" #iconAfter>\n <bento-button variant=\"tertiary\" @click=\"toggleInputType\">\n <template #iconLeft>\n <show-icon v-if=\"!isPasswordReadable\" :svg-title=\"t('showPassword')\" />\n\n <hide-icon v-if=\"isPasswordReadable\" :svg-title=\"t('hidePassword')\" />\n </template>\n </bento-button>\n </template>\n </bento-input-field>\n\n <bento-popover\n v-if=\"hasValidations\"\n :open=\"isHintDisplayed\"\n :target-element=\"inputFieldPasswordInputRef\"\n :disable-focus-trap=\"true\"\n :aria-label=\"computedValidations.title\"\n :aria-describedby=\"validationListId\"\n position=\"right-start\"\n >\n <div :id=\"validationPopoverId\">\n <bento-typography v-if=\"computedValidations.title\" class=\"b-input-field-password__validation-title\">\n {{ computedValidations.title }}\n </bento-typography>\n\n <p v-if=\"!hasErrors\" class=\"b-input-field-password__validation-status--valid\" role=\"alert\">\n {{ t('validationValid') }}\n </p>\n\n <ul :id=\"validationListId\" class=\"b-input-field-password__validation-list\">\n <li\n v-for=\"(validation, index) in computedValidations.list\"\n :key=\"index\"\n :class=\"passwordValidityConditionalClass[index]\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n <span class=\"b-input-field-password__validation-list-icon\">\n <checkmark-circle-fill-icon\n v-if=\"passwordValidity[index]\"\n :svg-title=\"t('validationChecked')\"\n />\n\n <dot-icon v-else :svg-title=\"t('validationUnchecked')\" />\n </span>\n\n <bento-typography class=\"b-input-field-password__validation-list-text\" el=\"span\">\n {{ validation.label }}\n </bento-typography>\n </li>\n </ul>\n\n <bento-typography\n v-if=\"computedValidations.suggestion\"\n class=\"b-input-field-password__validation-suggestion\"\n >\n {{ computedValidations.suggestion }}\n </bento-typography>\n </div>\n </bento-popover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { BentoButton } from '@/components/button';\n import { BentoImage } from '@/components/image';\n import { BentoInputField } from '@/components/input-field';\n import { BentoPopover } from '@/components/popover';\n import { BentoTypography } from '@/components/typography';\n import { Tooltip } from '@/internal';\n import type { BentoInputFieldProps } from '@/components/input-field/input-field.types';\n import { type BentoInputFieldPasswordProps, BentoInputFieldPasswordType } from './input-field-password.types';\n import CheckmarkCircleFillIcon from '@adyen/ui-assets-icons-16/vue/checkmark-circle-fill';\n import DotIcon from '@adyen/ui-assets-icons-16/vue/dot';\n import HideIcon from '@adyen/ui-assets-icons-16/vue/hide';\n import ShowIcon from '@adyen/ui-assets-icons-16/vue/show';\n import CapsLockIcon from './assets/capslock.svg';\n\n import { useFocusWithin, watchDebounced } from '@vueuse/core';\n import { computed, provide, ref, SetupContext, useAttrs, watch } from 'vue';\n\n import { useI18n } from '@/utils/ts/i18n';\n\n import {\n minLength,\n requireLowercase,\n requireNumeric,\n requireSpecialCharacter,\n requireUppercase,\n } from '@/components/input-field-password/utilities/input-field-password.validation';\n import { generateUid } from '@/core/utils/ts';\n import messages from './messages.json';\n import { INPUT_FIELD_PARENT_COMPONENT_INJECTION_KEY } from '@/components/input-field/input-field.keys';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const DEBOUNCE_DURATION = 500;\n const DEBOUNCE_MAX_WAIT = 2000;\n const TOOLTIP_TIMEOUT = 2000;\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const props = defineProps({\n condensed: { default: false },\n disabled: { default: false },\n errorMessage: { default: null },\n placeholder: { default: '' },\n readonly: { default: false },\n value: { default: undefined },\n label: { default: null },\n validation: { default: undefined },\n withHint: { type: Boolean, default: true }\n});\n\n const emit = defineEmits([\"input:valid\", \"input\"]);\n\n const attrs = useAttrs();\n\n const inputType = ref(BentoInputFieldPasswordType.PASSWORD);\n const inputValue = ref(props.value);\n const isHintDisplayed = ref(false);\n const isTouched = ref(false);\n const passwordValidity = ref<boolean[]>([]);\n const capsLockTooltipTimeoutID = ref<ReturnType<typeof setTimeout>>(null);\n const isTooltipDisplayed = ref(false);\n const inputFieldPasswordRef = ref(null);\n const inputFieldPasswordInputRef = ref(null);\n const inputFieldPasswordCapsLockIconRef = ref(null);\n const isCapsLockOn = ref(false);\n\n provide(INPUT_FIELD_PARENT_COMPONENT_INJECTION_KEY, 'bento-input-field-password');\n\n const { focused } = useFocusWithin(inputFieldPasswordRef);\n\n const validationListId = generateUid('validationListId');\n const validationPopoverId = generateUid('validationPopoverId');\n\n const isPasswordReadable = computed(() => inputType.value === BentoInputFieldPasswordType.TEXT);\n const computedErrorMessage = computed(() => (isTouched.value && hasErrors.value ? props.errorMessage : ''));\n\n const passwordValidityConditionalClass = computed(() =>\n passwordValidity.value.map(validity =>\n validity\n ? 'b-input-field-password__validation-list--valid'\n : 'b-input-field-password__validation-list--invalid'\n )\n );\n\n const tooltipConditionalClass = computed(() =>\n capsLockTooltipTimeoutID.value ? 'b-input-field-password__input-tooltip--timed' : ''\n );\n\n const inputFieldArgs = computed<BentoInputFieldProps & SetupContext['attrs']>(() => ({\n ariaHidden: false,\n condensed: props.condensed,\n disabled: props.disabled,\n errorMessage: computedErrorMessage.value,\n placeholder: props.placeholder,\n readonly: props.readonly,\n type: inputType.value,\n value: inputValue.value,\n\n 'aria-haspopup': hasValidations.value ? 'dialog' : false,\n 'aria-describedby': hasValidations.value ? validationPopoverId : '',\n\n ...attrs,\n }));\n\n const computedValidations = computed(() =>\n props.validation === undefined\n ? {\n title: t('validationTitle'),\n suggestion: t('validationSuggestion'),\n list: [\n { label: t('validationMinLength'), validate: minLength },\n { label: t('validationRequireLowercase'), validate: requireLowercase },\n { label: t('validationRequireUppercase'), validate: requireUppercase },\n { label: t('validationRequireNumeric'), validate: requireNumeric },\n { label: t('validationRequireSpecialCharacter'), validate: requireSpecialCharacter },\n ],\n }\n : props.validation\n );\n\n const hasErrors = computed(() => passwordValidity.value.some(validation => !validation));\n const hasValidations = computed(\n () => inputFieldPasswordInputRef.value && computedValidations.value?.list?.length > 0\n );\n\n const checkCapsLock = (e: KeyboardEvent) => {\n // Check if getModifierState exists and is a function in case the user's browser is autofilling\n if (typeof e.getModifierState === 'function') {\n isCapsLockOn.value = e.getModifierState('CapsLock');\n }\n };\n\n const toggleInputType = () => {\n if (isPasswordReadable.value) {\n inputType.value = BentoInputFieldPasswordType.PASSWORD;\n } else {\n inputType.value = BentoInputFieldPasswordType.TEXT;\n }\n };\n\n const onInput = (value: string) => {\n if (props.disabled) {\n return;\n }\n\n inputValue.value = value;\n\n emit('input', inputValue.value);\n };\n\n const checkValidity = (value: BentoInputFieldPasswordProps['value']) => {\n passwordValidity.value =\n computedValidations.value?.list?.map(validationItem =>\n validationItem.validate(value, validationItem.additionalArgs)\n ) ?? [];\n };\n\n const handleCapsLockMouseLeave = () => {\n isTooltipDisplayed.value = false;\n capsLockTooltipTimeoutID.value = null;\n };\n\n const handleCapsLockMouseEnter = () => {\n isTooltipDisplayed.value = true;\n };\n\n watch(focused, focused => {\n if (!props.withHint) {\n return;\n }\n\n isHintDisplayed.value = focused;\n\n if (!focused) {\n isTouched.value = true;\n } else {\n checkValidity(inputValue.value);\n }\n });\n\n watch(isCapsLockOn, isCapsLockOn => {\n if (!isCapsLockOn) {\n clearTimeout(capsLockTooltipTimeoutID.value);\n\n capsLockTooltipTimeoutID.value = null;\n isTooltipDisplayed.value = false;\n } else {\n isTooltipDisplayed.value = true;\n\n capsLockTooltipTimeoutID.value = setTimeout(() => {\n capsLockTooltipTimeoutID.value = null;\n isTooltipDisplayed.value = false;\n }, TOOLTIP_TIMEOUT);\n }\n });\n\n watchDebounced(\n inputValue,\n inputValue => {\n checkValidity(inputValue);\n\n if (!hasErrors.value) {\n emit('input:valid');\n }\n },\n // wait for 0.5s before checking validity OR 2s of continuous typing\n { debounce: DEBOUNCE_DURATION, maxWait: DEBOUNCE_MAX_WAIT }\n );\n</script>\n\n<script lang=\"ts\">\n /**\n * The input field password is a component designed to support users' preference for entering values securely.\n * This is an extension of the `bento-input-field` component.\n *\n * @example\n * import { BentoInputFieldPassword } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoInputFieldPassword },\n * template: `\n * <bento-input-field-password\n * label=\"Label\"\n * error-message=\"Error\"\n * :validation=\"{\n * title: 'Password must contain at least:',\n * suggestion: 'Avoid using currency symbols or accented letters.',\n * list: [\n * { label: '8 characters', validate: minLength, additionalArgs: [8] },\n * { label: '1 lowercase (a-z)', validate: requireLowercase },\n * { label: '1 uppercase (A-Z)', validate: requireUppercase },\n * { label: '1 numerical (0-9)', validate: requireNumeric },\n * { label: '1 special character', validate: requireSpecialCharacter },\n * {\n * label: 'Always true',\n * validate: () => {\n * const example = 'Example';\n *\n * return () => example.length > 1;\n * },\n * },\n * ],\n * }\"\n * />\n * `\n * }\n */\n export default {\n i18n: { messages },\n name: 'bento-input-field-password',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./input-field-password.scss\" />\n"],"names":["BentoInputFieldPasswordType","BentoInputFieldPasswordType2","CapsLockIcon","stringifyValue","value","minLength","length","requireLowercase","requireUppercase","requireNumeric","requireSpecialCharacter","__default__","messages","DEBOUNCE_DURATION","DEBOUNCE_MAX_WAIT","TOOLTIP_TIMEOUT","t","useI18n","attrs","useAttrs","inputType","ref","inputValue","props","isHintDisplayed","isTouched","passwordValidity","capsLockTooltipTimeoutID","isTooltipDisplayed","inputFieldPasswordRef","inputFieldPasswordInputRef","inputFieldPasswordCapsLockIconRef","isCapsLockOn","provide","INPUT_FIELD_PARENT_COMPONENT_INJECTION_KEY","focused","useFocusWithin","validationListId","generateUid","validationPopoverId","isPasswordReadable","computed","computedErrorMessage","hasErrors","passwordValidityConditionalClass","validity","tooltipConditionalClass","inputFieldArgs","hasValidations","computedValidations","validation","_b","_a","checkCapsLock","e","toggleInputType","onInput","emit","checkValidity","validationItem","handleCapsLockMouseLeave","handleCapsLockMouseEnter","watch","focused2","isCapsLockOn2","watchDebounced","inputValue2"],"mappings":"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"}