@globalpayments/vega 2.59.1 → 2.60.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 (256) hide show
  1. package/dist/cjs/{app-globals-64aff1a9.js → app-globals-8a3536ba.js} +3 -3
  2. package/dist/cjs/{code-block-4bfae76d.js → code-block-7d901dfc.js} +1 -1
  3. package/dist/cjs/{component-value-history-controller-slimmer.abstract-34f4577a.js → component-value-history-controller-slimmer.abstract-d61e5129.js} +2 -2
  4. package/dist/cjs/{content-state-b82b74de.js → content-state-2096aa5a.js} +2 -2
  5. package/dist/cjs/{design-token-0b1315f2.js → design-token-52f9da81.js} +3 -3
  6. package/dist/cjs/{element-appender-slimmer-f14737af.js → element-appender-slimmer-2a3e1e51.js} +2 -2
  7. package/dist/cjs/{image-annotation-action-a3146135.js → image-annotation-action-8c1ecc99.js} +2 -2
  8. package/dist/cjs/index.cjs.js +8 -9
  9. package/dist/cjs/{inject-keyboard-manager-70382bae.js → inject-keyboard-manager-ad865c95.js} +1 -1
  10. package/dist/cjs/{keyboard-manager-6858915b.js → keyboard-manager-7f4e1f43.js} +1 -1
  11. package/dist/cjs/{keyboard-manager-slimmer-faca2038.js → keyboard-manager-slimmer-138a90e5.js} +1 -1
  12. package/dist/cjs/loader.cjs.js +6 -7
  13. package/dist/cjs/{public-rules-26467413.js → public-rules-c711fae3.js} +4 -5
  14. package/dist/cjs/{responsive-format-facade-d2e03695.js → responsive-format-facade-3ab3b18c.js} +2 -2
  15. package/dist/cjs/{rich-text-editor-required-rule-026c8c3f.js → rich-text-editor-required-rule-4d92437f.js} +1 -1
  16. package/dist/cjs/{state-background-color-formatter-c57409ea.js → state-background-color-formatter-aa5570f6.js} +1 -1
  17. package/dist/cjs/string-format-strategy.abstract-07a95352.js +60 -0
  18. package/dist/cjs/{string-input-formatter-slimmer-1b757bad.js → string-input-formatter-slimmer-941eaec2.js} +1 -224
  19. package/dist/cjs/string-mask-strategy-6bdad95e.js +172 -0
  20. package/dist/cjs/{style-formatter-effb0730.js → style-formatter-dcb443fb.js} +2 -2
  21. package/dist/cjs/{type-guard-aa8fdeaf.js → type-guard-f12b5bae.js} +13 -3
  22. package/dist/cjs/{valid-credit-card-number-rule-4a1b00b8.js → valid-credit-card-number-rule-ce5c9147.js} +9 -9
  23. package/dist/cjs/vega-accordion.cjs.entry.js +6 -7
  24. package/dist/cjs/vega-app-header-button.cjs.entry.js +6 -7
  25. package/dist/cjs/vega-box.cjs.entry.js +7 -8
  26. package/dist/cjs/vega-button-circle.cjs.entry.js +6 -7
  27. package/dist/cjs/vega-button.cjs.entry.js +4 -5
  28. package/dist/cjs/vega-calendar_4.cjs.entry.js +14 -4
  29. package/dist/cjs/vega-card.cjs.entry.js +6 -7
  30. package/dist/cjs/vega-carousel.cjs.entry.js +4 -5
  31. package/dist/cjs/vega-chip.cjs.entry.js +6 -7
  32. package/dist/cjs/vega-code-block.cjs.entry.js +5 -6
  33. package/dist/cjs/vega-combo-box.cjs.entry.js +3 -4
  34. package/dist/cjs/vega-date-picker_2.cjs.entry.js +36 -11
  35. package/dist/cjs/vega-dialog_2.cjs.entry.js +6 -7
  36. package/dist/cjs/vega-divider.cjs.entry.js +6 -7
  37. package/dist/cjs/vega-dropdown_5.cjs.entry.js +7 -8
  38. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  39. package/dist/cjs/vega-flag-icon.cjs.entry.js +6 -7
  40. package/dist/cjs/vega-flex.cjs.entry.js +7 -8
  41. package/dist/cjs/vega-font.cjs.entry.js +6 -7
  42. package/dist/cjs/vega-grid.cjs.entry.js +6 -7
  43. package/dist/cjs/vega-icon.cjs.entry.js +6 -7
  44. package/dist/cjs/vega-image-uploader.cjs.entry.js +4 -5
  45. package/dist/cjs/vega-input-credit-card.cjs.entry.js +241 -12
  46. package/dist/cjs/vega-input-numeric.cjs.entry.js +3 -4
  47. package/dist/cjs/vega-input-phone-number.cjs.entry.js +110 -21
  48. package/dist/cjs/vega-input-select.cjs.entry.js +4 -5
  49. package/dist/cjs/vega-input.cjs.entry.js +16 -191
  50. package/dist/cjs/vega-left-nav_5.cjs.entry.js +6 -7
  51. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +4 -5
  52. package/dist/cjs/vega-pagination.cjs.entry.js +4 -5
  53. package/dist/cjs/vega-popover_2.cjs.entry.js +9 -10
  54. package/dist/cjs/vega-radio_2.cjs.entry.js +3 -4
  55. package/dist/cjs/vega-rich-text-content.cjs.entry.js +4 -5
  56. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +8 -9
  57. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +4 -5
  58. package/dist/cjs/vega-sidenav_3.cjs.entry.js +4 -5
  59. package/dist/cjs/vega-signature-capture.cjs.entry.js +6 -7
  60. package/dist/cjs/vega-table_8.cjs.entry.js +4 -5
  61. package/dist/cjs/vega-time-picker_2.cjs.entry.js +7 -8
  62. package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -8
  63. package/dist/cjs/vega.cjs.js +6 -7
  64. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +12 -1
  65. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +11 -0
  66. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +4 -0
  67. package/dist/collection/components/vega-date-picker/vega-date-picker.js +43 -0
  68. package/dist/collection/components/vega-input/slimmers/controllers/vega-input-mask-config-controller.js +4 -11
  69. package/dist/collection/components/vega-input/vega-input.js +1 -1
  70. package/dist/collection/components/vega-input-credit-card/vega-input-credit-card.js +6 -3
  71. package/dist/collection/components/vega-input-phone-number/slimmers/renderers/phone-number-input-renderer.js +3 -16
  72. package/dist/collection/constants/card-config.js +4 -4
  73. package/dist/collection/helpers/formatter/string-formatter/credit-card-blur-mask-strategy.js +1 -1
  74. package/dist/collection/helpers/formatter/string-formatter/vega-phone-number-input-strategy.js +104 -0
  75. package/dist/collection/helpers/formatter/test/string-formatter/vega-phone-number-input-strategy.test.js +43 -0
  76. package/dist/esm/{app-globals-05dbca3e.js → app-globals-c7699395.js} +3 -3
  77. package/dist/esm/{code-block-3d519665.js → code-block-055cae13.js} +1 -1
  78. package/dist/esm/{component-value-history-controller-slimmer.abstract-8b5be007.js → component-value-history-controller-slimmer.abstract-7a64c05a.js} +2 -2
  79. package/dist/esm/{content-state-73900a67.js → content-state-460f6254.js} +2 -2
  80. package/dist/esm/{design-token-dbc8c235.js → design-token-e1821e4a.js} +3 -3
  81. package/dist/esm/{element-appender-slimmer-6ad38a9b.js → element-appender-slimmer-4260c020.js} +2 -2
  82. package/dist/esm/{image-annotation-action-4ebed11f.js → image-annotation-action-95cc9118.js} +2 -2
  83. package/dist/esm/index.js +8 -9
  84. package/dist/esm/{inject-keyboard-manager-a28dfee4.js → inject-keyboard-manager-109817bf.js} +1 -1
  85. package/dist/esm/{keyboard-manager-fa6355cb.js → keyboard-manager-ab521d22.js} +1 -1
  86. package/dist/esm/{keyboard-manager-slimmer-818050ee.js → keyboard-manager-slimmer-cae3a002.js} +1 -1
  87. package/dist/esm/loader.js +6 -7
  88. package/dist/esm/{public-rules-f28aca10.js → public-rules-71e1883d.js} +4 -5
  89. package/dist/esm/{responsive-format-facade-81b72f39.js → responsive-format-facade-dbeffcd6.js} +2 -2
  90. package/dist/esm/{rich-text-editor-required-rule-c4ba68b8.js → rich-text-editor-required-rule-6cfdcaaf.js} +1 -1
  91. package/dist/esm/{state-background-color-formatter-da5e76e8.js → state-background-color-formatter-0f01d27a.js} +1 -1
  92. package/dist/esm/string-format-strategy.abstract-452f4398.js +58 -0
  93. package/dist/esm/{string-input-formatter-slimmer-b144e8d7.js → string-input-formatter-slimmer-6d99bb4f.js} +2 -223
  94. package/dist/esm/string-mask-strategy-6232a1c1.js +170 -0
  95. package/dist/esm/{style-formatter-7d817448.js → style-formatter-41ca4df2.js} +2 -2
  96. package/dist/esm/{type-guard-84b1f192.js → type-guard-12f7654b.js} +8 -2
  97. package/dist/esm/{valid-credit-card-number-rule-cc497bec.js → valid-credit-card-number-rule-81443274.js} +1 -1
  98. package/dist/esm/vega-accordion.entry.js +6 -7
  99. package/dist/esm/vega-app-header-button.entry.js +6 -7
  100. package/dist/esm/vega-box.entry.js +7 -8
  101. package/dist/esm/vega-button-circle.entry.js +6 -7
  102. package/dist/esm/vega-button.entry.js +4 -5
  103. package/dist/esm/vega-calendar_4.entry.js +14 -4
  104. package/dist/esm/vega-card.entry.js +6 -7
  105. package/dist/esm/vega-carousel.entry.js +4 -5
  106. package/dist/esm/vega-chip.entry.js +6 -7
  107. package/dist/esm/vega-code-block.entry.js +5 -6
  108. package/dist/esm/vega-combo-box.entry.js +3 -4
  109. package/dist/esm/vega-date-picker_2.entry.js +35 -10
  110. package/dist/esm/vega-dialog_2.entry.js +6 -7
  111. package/dist/esm/vega-divider.entry.js +6 -7
  112. package/dist/esm/vega-dropdown_5.entry.js +7 -8
  113. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  114. package/dist/esm/vega-flag-icon.entry.js +6 -7
  115. package/dist/esm/vega-flex.entry.js +7 -8
  116. package/dist/esm/vega-font.entry.js +6 -7
  117. package/dist/esm/vega-grid.entry.js +6 -7
  118. package/dist/esm/vega-icon.entry.js +6 -7
  119. package/dist/esm/vega-image-uploader.entry.js +4 -5
  120. package/dist/esm/vega-input-credit-card.entry.js +240 -11
  121. package/dist/esm/vega-input-numeric.entry.js +3 -4
  122. package/dist/esm/vega-input-phone-number.entry.js +110 -21
  123. package/dist/esm/vega-input-select.entry.js +4 -5
  124. package/dist/esm/vega-input.entry.js +10 -185
  125. package/dist/esm/vega-left-nav_5.entry.js +6 -7
  126. package/dist/esm/vega-loader-wrapper_2.entry.js +4 -5
  127. package/dist/esm/vega-pagination.entry.js +4 -5
  128. package/dist/esm/vega-popover_2.entry.js +9 -10
  129. package/dist/esm/vega-radio_2.entry.js +3 -4
  130. package/dist/esm/vega-rich-text-content.entry.js +4 -5
  131. package/dist/esm/vega-rich-text-editor_4.entry.js +8 -9
  132. package/dist/esm/vega-selection-chip_2.entry.js +4 -5
  133. package/dist/esm/vega-sidenav_3.entry.js +4 -5
  134. package/dist/esm/vega-signature-capture.entry.js +6 -7
  135. package/dist/esm/vega-table_8.entry.js +4 -5
  136. package/dist/esm/vega-time-picker_2.entry.js +7 -8
  137. package/dist/esm/vega-tooltip_2.entry.js +7 -8
  138. package/dist/esm/vega.js +6 -7
  139. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.d.ts +1 -0
  140. package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +1 -0
  141. package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +14 -0
  142. package/dist/types/components/vega-input/types.d.ts +3 -10
  143. package/dist/types/components.d.ts +14 -0
  144. package/dist/types/helpers/formatter/string-formatter/vega-phone-number-input-strategy.d.ts +49 -0
  145. package/dist/types/helpers/formatter/test/string-formatter/vega-phone-number-input-strategy.test.d.ts +1 -0
  146. package/dist/vega/index.esm.js +1 -1
  147. package/dist/vega/p-0dcec258.js +1 -0
  148. package/dist/vega/p-10063072.entry.js +1 -0
  149. package/dist/vega/p-1152850b.entry.js +1 -0
  150. package/dist/vega/p-165054fb.entry.js +1 -0
  151. package/dist/vega/p-1652cfc6.entry.js +1 -0
  152. package/dist/vega/p-16c6c22f.entry.js +1 -0
  153. package/dist/vega/p-1852ca80.entry.js +1 -0
  154. package/dist/vega/p-1b222c94.entry.js +1 -0
  155. package/dist/vega/{p-ca30b996.js → p-1b91a882.js} +1 -1
  156. package/dist/vega/{p-86f17433.js → p-1cabeb33.js} +1 -1
  157. package/dist/vega/p-1f8c46c4.entry.js +1 -0
  158. package/dist/vega/p-1fdf0f74.entry.js +1 -0
  159. package/dist/vega/{p-63c9eb58.js → p-200ba358.js} +1 -1
  160. package/dist/vega/p-20b8b626.entry.js +1 -0
  161. package/dist/vega/{p-8baacfc5.js → p-21873037.js} +1 -1
  162. package/dist/vega/{p-b40adb9e.js → p-2608b9fe.js} +1 -1
  163. package/dist/vega/{p-0f0baac3.js → p-27dfa896.js} +1 -1
  164. package/dist/vega/p-2e4bc8aa.entry.js +1 -0
  165. package/dist/vega/p-334e31a3.entry.js +1 -0
  166. package/dist/vega/p-394dfa02.entry.js +1 -0
  167. package/dist/vega/p-433ea113.entry.js +1 -0
  168. package/dist/vega/p-460bbd22.entry.js +1 -0
  169. package/dist/vega/p-46973cf9.entry.js +1 -0
  170. package/dist/vega/p-52c1dde9.entry.js +1 -0
  171. package/dist/vega/p-594ecdab.js +1 -0
  172. package/dist/vega/p-5f377954.js +1 -1
  173. package/dist/vega/p-62898294.entry.js +1 -0
  174. package/dist/vega/p-636f7b17.entry.js +1 -0
  175. package/dist/vega/p-68eae19d.entry.js +1 -0
  176. package/dist/vega/p-69119f58.entry.js +1 -0
  177. package/dist/vega/p-6b71d5d1.entry.js +1 -0
  178. package/dist/vega/p-71f9c4d4.js +1 -0
  179. package/dist/vega/{p-59e990c7.entry.js → p-741a8b61.entry.js} +1 -1
  180. package/dist/vega/{p-436f7e27.js → p-743c5baf.js} +1 -1
  181. package/dist/vega/{p-1a195e28.js → p-7e4fdccb.js} +1 -1
  182. package/dist/vega/p-824a06ba.js +1 -0
  183. package/dist/vega/{p-42033e59.js → p-8539e05e.js} +1 -1
  184. package/dist/vega/p-867a4970.js +1 -0
  185. package/dist/vega/{p-bdce4143.js → p-95ac7c7e.js} +1 -1
  186. package/dist/vega/p-95c30aed.entry.js +1 -0
  187. package/dist/vega/{p-6f90d444.js → p-9ce249a9.js} +1 -1
  188. package/dist/vega/{p-f6d25220.js → p-a433fef4.js} +1 -1
  189. package/dist/vega/p-af2de012.entry.js +1 -0
  190. package/dist/vega/p-b1faebe0.js +1 -0
  191. package/dist/vega/p-b56e2c89.entry.js +1 -0
  192. package/dist/vega/p-b8f50c69.entry.js +1 -0
  193. package/dist/vega/p-b9821a7f.entry.js +1 -0
  194. package/dist/vega/p-c883bce1.entry.js +1 -0
  195. package/dist/vega/p-cc2ceaa8.entry.js +1 -0
  196. package/dist/vega/{p-7f087c8b.js → p-d1ebec08.js} +1 -1
  197. package/dist/vega/{p-fc8badd3.entry.js → p-d35243c8.entry.js} +1 -1
  198. package/dist/vega/p-dbe5daa7.js +1 -0
  199. package/dist/vega/p-dd6a4ea6.entry.js +1 -0
  200. package/dist/vega/p-e3bb1cce.entry.js +13 -0
  201. package/dist/vega/p-e45f8a67.entry.js +1 -0
  202. package/dist/vega/p-e4fbd2b7.entry.js +1 -0
  203. package/dist/vega/p-eaa43f31.entry.js +1 -0
  204. package/dist/vega/p-ed50233f.entry.js +1 -0
  205. package/dist/vega/p-f1a2658b.entry.js +1 -0
  206. package/dist/vega/p-fc4c5265.entry.js +1 -0
  207. package/dist/vega/vega.esm.js +1 -1
  208. package/package.json +4 -3
  209. package/dist/cjs/card-config-2ee5505e.js +0 -65
  210. package/dist/cjs/regex-c1f70fd4.js +0 -15
  211. package/dist/esm/card-config-d2ad484e.js +0 -63
  212. package/dist/esm/regex-dfe11abf.js +0 -8
  213. package/dist/vega/p-12ed3141.entry.js +0 -1
  214. package/dist/vega/p-13eca7f3.entry.js +0 -1
  215. package/dist/vega/p-1ff1deaf.entry.js +0 -1
  216. package/dist/vega/p-2004317b.entry.js +0 -1
  217. package/dist/vega/p-29e0d4c8.entry.js +0 -1
  218. package/dist/vega/p-369f38ed.entry.js +0 -1
  219. package/dist/vega/p-36ed226a.js +0 -1
  220. package/dist/vega/p-3a0a4d15.js +0 -1
  221. package/dist/vega/p-4452e085.js +0 -1
  222. package/dist/vega/p-490f5e3f.entry.js +0 -1
  223. package/dist/vega/p-4996b853.entry.js +0 -1
  224. package/dist/vega/p-49fd1009.js +0 -1
  225. package/dist/vega/p-4fb159d5.js +0 -1
  226. package/dist/vega/p-51cce3f9.entry.js +0 -1
  227. package/dist/vega/p-53d67971.entry.js +0 -1
  228. package/dist/vega/p-555804a0.entry.js +0 -1
  229. package/dist/vega/p-5e2c9e69.js +0 -1
  230. package/dist/vega/p-675b9501.entry.js +0 -1
  231. package/dist/vega/p-707bb905.entry.js +0 -1
  232. package/dist/vega/p-7183bd72.entry.js +0 -1
  233. package/dist/vega/p-73b487b0.entry.js +0 -1
  234. package/dist/vega/p-76de6b00.entry.js +0 -1
  235. package/dist/vega/p-7b1bb372.entry.js +0 -1
  236. package/dist/vega/p-8a317208.entry.js +0 -1
  237. package/dist/vega/p-9479866e.entry.js +0 -1
  238. package/dist/vega/p-9f453b90.entry.js +0 -1
  239. package/dist/vega/p-a204a2b2.js +0 -1
  240. package/dist/vega/p-a328d448.entry.js +0 -1
  241. package/dist/vega/p-ad1b22b4.entry.js +0 -1
  242. package/dist/vega/p-ae415e7e.entry.js +0 -1
  243. package/dist/vega/p-be8bbaa5.entry.js +0 -1
  244. package/dist/vega/p-bf6187f7.entry.js +0 -1
  245. package/dist/vega/p-c5c5509c.entry.js +0 -13
  246. package/dist/vega/p-c9c2c8c6.entry.js +0 -1
  247. package/dist/vega/p-cc20f01f.entry.js +0 -1
  248. package/dist/vega/p-d3bcaa82.entry.js +0 -1
  249. package/dist/vega/p-dbb06804.entry.js +0 -1
  250. package/dist/vega/p-df647e48.entry.js +0 -1
  251. package/dist/vega/p-e989ce94.entry.js +0 -1
  252. package/dist/vega/p-e9d2e0dc.entry.js +0 -1
  253. package/dist/vega/p-f6b11a21.entry.js +0 -1
  254. package/dist/vega/p-f8e62e5e.entry.js +0 -1
  255. package/dist/vega/p-fd6f90fd.entry.js +0 -1
  256. package/dist/vega/p-ffaee583.entry.js +0 -1
@@ -1,7 +1,8 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-057d0f70.js';
2
- import { C as CARDS_INFO } from './card-config-d2ad484e.js';
2
+ import { F as FeatureFlag } from './feature-flag-controller-51659753.js';
3
+ import { V as VisaRegex, M as MasterCardRegex, A as AmexRegex, D as DiscoverRegex, i as isNonNullable } from './type-guard-12f7654b.js';
3
4
  import { R as RequiredFieldRule } from './required-field-rule-ab4bdc47.js';
4
- import { V as ValidCreditCardNumberRule } from './valid-credit-card-number-rule-cc497bec.js';
5
+ import { V as ValidCreditCardNumberRule } from './valid-credit-card-number-rule-81443274.js';
5
6
  import { s as sanitizeVegaComponent } from './component-7d906393.js';
6
7
  import { I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
7
8
  import { V as VegaComponentUsageRuntimeMetricsSlimmer, I as InjectVegaGlobalSlimmer } from './component-usage-runtime-metrics-a84cc93e.js';
@@ -13,8 +14,12 @@ import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-
13
14
  import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-999e21e3.js';
14
15
  import { f as VegaChange, B as VegaBlur, A as VegaFocus } from './dom-node-subject-factory-202655e7.js';
15
16
  import { V as VegaInternalIconManager } from './internal-icon-manager-7eac52c8.js';
16
- import { F as FeatureFlag } from './feature-flag-controller-51659753.js';
17
- import './regex-dfe11abf.js';
17
+ import { S as StringMaskStrategy } from './string-mask-strategy-6232a1c1.js';
18
+ import './index-e9da316f.js';
19
+ import './_commonjsHelpers-9943807e.js';
20
+ import './breakpoints-d9faf11c.js';
21
+ import './ui-8424715a.js';
22
+ import './typography-396de03f.js';
18
23
  import './internal-form-field-validation-rule.abstract-f5b6bdbf.js';
19
24
  import './number-4398f2e1.js';
20
25
  import './string-a953eafc.js';
@@ -25,8 +30,6 @@ import './dynamic-slimmer-90b8af32.js';
25
30
  import './vega-internal-event-id-b7c865de.js';
26
31
  import './translation-833d9ef4.js';
27
32
  import './page-resize-observer-slimmer-0bf7fbf3.js';
28
- import './ui-8424715a.js';
29
- import './breakpoints-d9faf11c.js';
30
33
  import './try-get-document-bef0f526.js';
31
34
  import './mutation-observer-slimmer-58ebc13c.js';
32
35
  import './mutation-observer-filters-1a054fb0.js';
@@ -35,8 +38,66 @@ import './sub-state-observer-slimmer-c823d69c.js';
35
38
  import './internal-vega-event-manager-526f8ed1.js';
36
39
  import './vega-env-manager-8f8dc473.js';
37
40
  import './icon-manager-2ee1c619.js';
38
- import './index-e9da316f.js';
39
- import './_commonjsHelpers-9943807e.js';
41
+ import './string-format-strategy.abstract-452f4398.js';
42
+
43
+ const CARDS_INFO = [
44
+ {
45
+ type: 'visa',
46
+ iconName: 'visa',
47
+ pattern: VisaRegex,
48
+ maskConfig: {
49
+ type: 'custom',
50
+ options: {
51
+ mask: '9999 9999 9999 9999 999',
52
+ slot: '9',
53
+ accept: /\d/,
54
+ triggerAtInit: FeatureFlag.isEnabled('VEGA_INPUT_CREDIT_CARD.ENABLE_HIDE_NUMBER_MASK_ON_FIRST_LOAD'),
55
+ },
56
+ },
57
+ },
58
+ {
59
+ type: 'mastercard',
60
+ iconName: 'mastercard',
61
+ pattern: MasterCardRegex,
62
+ maskConfig: {
63
+ type: 'custom',
64
+ options: {
65
+ mask: '9999 9999 9999 9999',
66
+ slot: '9',
67
+ accept: /\d/,
68
+ triggerAtInit: FeatureFlag.isEnabled('VEGA_INPUT_CREDIT_CARD.ENABLE_HIDE_NUMBER_MASK_ON_FIRST_LOAD'),
69
+ },
70
+ },
71
+ },
72
+ {
73
+ type: 'amex',
74
+ iconName: 'amex',
75
+ pattern: AmexRegex,
76
+ maskConfig: {
77
+ type: 'custom',
78
+ options: {
79
+ mask: '9999 999999 99999',
80
+ slot: '9',
81
+ accept: /\d/,
82
+ triggerAtInit: FeatureFlag.isEnabled('VEGA_INPUT_CREDIT_CARD.ENABLE_HIDE_NUMBER_MASK_ON_FIRST_LOAD'),
83
+ },
84
+ },
85
+ },
86
+ {
87
+ type: 'discover',
88
+ iconName: 'discover',
89
+ pattern: DiscoverRegex,
90
+ maskConfig: {
91
+ type: 'custom',
92
+ options: {
93
+ mask: '9999 9999 9999 9999',
94
+ slot: '9',
95
+ accept: /\d/,
96
+ triggerAtInit: FeatureFlag.isEnabled('VEGA_INPUT_CREDIT_CARD.ENABLE_HIDE_NUMBER_MASK_ON_FIRST_LOAD'),
97
+ },
98
+ },
99
+ },
100
+ ];
40
101
 
41
102
  const Icons = {
42
103
  'visa': {
@@ -88,6 +149,173 @@ const VegaInputCreditCardRuntimeMetricsPayloadDefinition = [
88
149
  },
89
150
  ];
90
151
 
152
+ /**
153
+ * Credit card mask strategy abstract class
154
+ */
155
+ class CreditCardMaskStrategy extends StringMaskStrategy {
156
+ /* istanbul ignore next */
157
+ /**
158
+ * Get the position of caret
159
+ *
160
+ * @param {string} input - The input string
161
+ * @param {number} caretPosition - The current position of caret
162
+ * @returns {Nullable<number>} The new position of caret
163
+ */
164
+ calculateCaretPosition(input, caretPosition) {
165
+ if (!isNonNullable(caretPosition))
166
+ return null;
167
+ const maskConfigType = this.getCreditCardMaskConfig(input);
168
+ if (maskConfigType) {
169
+ if (input.length > this.getLengthLimit()) {
170
+ const exceededLength = input.length - this.getLengthLimit();
171
+ return caretPosition - exceededLength;
172
+ }
173
+ const startValue = input.substring(0, caretPosition);
174
+ const maskedStartValue = this.format(startValue);
175
+ return caretPosition + (maskedStartValue.length - startValue.length);
176
+ }
177
+ else {
178
+ return caretPosition;
179
+ }
180
+ }
181
+ /* istanbul ignore next */
182
+ /**
183
+ * @inheritDoc
184
+ */
185
+ format(input, inputStatus) {
186
+ const maskConfigType = this.getCreditCardMaskConfig(input);
187
+ if (maskConfigType) {
188
+ this.setMaskConfig(maskConfigType.options);
189
+ const caretPosition = inputStatus === null || inputStatus === void 0 ? void 0 : inputStatus.caretPosition;
190
+ if (input.length > this.getLengthLimit() && isNonNullable(caretPosition)) {
191
+ const rawValueArr = [...input];
192
+ const exceededLength = input.length - this.getLengthLimit();
193
+ rawValueArr.splice(caretPosition - exceededLength, exceededLength);
194
+ return rawValueArr.join('');
195
+ }
196
+ return this.replaceMaskWithMatchedInputSlots(input, this.getMatchedInputSlotValue(input));
197
+ }
198
+ else {
199
+ return input;
200
+ }
201
+ }
202
+ /**
203
+ * get credit card type
204
+ *
205
+ * @param {string} value - card number string
206
+ * @returns {CardConfigType} - card type config
207
+ */
208
+ getCreditCardType(value) {
209
+ return CARDS_INFO.filter((card) => card.pattern.test(value))[0];
210
+ }
211
+ }
212
+
213
+ /**
214
+ * A class for formatting string with the given mask format
215
+ *
216
+ * @augments StringFormatStrategy
217
+ */
218
+ class CreditCardInputMaskStrategy extends CreditCardMaskStrategy {
219
+ /**
220
+ * It creates a new instance of the Mask class.
221
+ */
222
+ constructor() {
223
+ super({
224
+ mask: '',
225
+ slot: '9',
226
+ accept: /\d/,
227
+ triggerAtInit: FeatureFlag.isEnabled('VEGA_INPUT_CREDIT_CARD.ENABLE_HIDE_NUMBER_MASK_ON_FIRST_LOAD'),
228
+ });
229
+ }
230
+ /**
231
+ * get credit card mask config
232
+ *
233
+ * @param {string} value - card number string
234
+ * @returns {Nullable<MaskConfigType>} - mask config type
235
+ */
236
+ getCreditCardMaskConfig(value) {
237
+ let maskConfig;
238
+ const creditCardType = this.getCreditCardType(value);
239
+ if (creditCardType) {
240
+ maskConfig = creditCardType.maskConfig;
241
+ }
242
+ return maskConfig;
243
+ }
244
+ }
245
+
246
+ /**
247
+ * A class for formatting string with the given mask format
248
+ *
249
+ * @augments StringFormatStrategy
250
+ */
251
+ class CreditCardBlurMaskStrategy extends CreditCardMaskStrategy {
252
+ /**
253
+ * It creates a new instance of the Mask class.
254
+ *
255
+ * @param {boolean} hideCardNumberOnBlur - boolean
256
+ */
257
+ constructor(hideCardNumberOnBlur) {
258
+ super({
259
+ mask: '',
260
+ slot: '9',
261
+ accept: /[\d\s]/,
262
+ insertMode: false,
263
+ triggerAtInit: FeatureFlag.isEnabled('VEGA_INPUT_CREDIT_CARD.ENABLE_HIDE_NUMBER_MASK_ON_FIRST_LOAD'),
264
+ });
265
+ this.hideCardNumberOnBlur = hideCardNumberOnBlur;
266
+ }
267
+ /**
268
+ * @inheritDoc
269
+ */
270
+ getCreditCardMaskConfig(value) {
271
+ let maskConfig;
272
+ const creditCardType = this.getCreditCardType(value);
273
+ if (creditCardType) {
274
+ if (this.hideCardNumberOnBlur && value.trim().includes(' ')) {
275
+ maskConfig = this.generateDynamicMask(value);
276
+ }
277
+ }
278
+ return maskConfig;
279
+ }
280
+ /*
281
+ * The below method is e2e-test covered in
282
+ *
283
+ * @see{module:vega-input-credit-card-dynamic-mask-e2e}
284
+ */
285
+ /* istanbul ignore next */
286
+ /**
287
+ * Transform the input card number with dynamic card number mask, for example: '4111 2222 3333 44' will be transformed to 'XXXX XXXX XXXX 99'
288
+ *
289
+ * @param {string} value - card number string
290
+ * @returns {MaskConfigType} - mask config type
291
+ */
292
+ generateDynamicMask(value) {
293
+ const maskConfig = {
294
+ type: 'custom',
295
+ options: {
296
+ mask: '',
297
+ slot: '9',
298
+ accept: /[\d\s]/,
299
+ insertMode: false,
300
+ triggerAtInit: FeatureFlag.isEnabled('VEGA_INPUT_CREDIT_CARD.ENABLE_HIDE_NUMBER_MASK_ON_FIRST_LOAD'),
301
+ },
302
+ trigger: 'blur',
303
+ };
304
+ const cardNumberSplit = value.trim().split(' ');
305
+ const cardNumberMask =
306
+ // Map through the array and replace each character with 'X' or '9' depending on the index
307
+ cardNumberSplit
308
+ .map((element, index) => {
309
+ // Replace each character in the string with 'X' except the last element, which uses '9'
310
+ const replacementChar = index === cardNumberSplit.length - 1 ? '9' : 'X';
311
+ return replacementChar.repeat(element.length);
312
+ })
313
+ .join(' ');
314
+ maskConfig.options.mask = cardNumberMask;
315
+ return maskConfig;
316
+ }
317
+ }
318
+
91
319
  const vegaInputCreditCardCss = ":host{display:inline-block;width:100%;text-align:left;line-height:normal}";
92
320
 
93
321
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -275,13 +503,14 @@ const VegaInputCreditCard = class {
275
503
  getMaskConfig() {
276
504
  return [
277
505
  {
278
- type: 'credit-card',
506
+ type: 'custom',
279
507
  trigger: 'input',
508
+ strategy: () => new CreditCardInputMaskStrategy(),
280
509
  },
281
510
  {
282
- type: 'credit-card',
511
+ type: 'custom',
283
512
  trigger: 'blur',
284
- hideCardNumberOnBlur: this.hideCardNumberOnBlur,
513
+ strategy: () => new CreditCardBlurMaskStrategy(this.hideCardNumberOnBlur),
285
514
  },
286
515
  ];
287
516
  }
@@ -8,7 +8,7 @@ import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-
8
8
  import { c as createEventEmitSlimmer } from './event-emit-slimmer-40973ec2.js';
9
9
  import { b as FORM_ELEMENT_VALUE_CHANGE } from './static-subject-title-633b3474.js';
10
10
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
11
- import { K as KeyboardManagerSlimmer } from './keyboard-manager-slimmer-818050ee.js';
11
+ import { K as KeyboardManagerSlimmer } from './keyboard-manager-slimmer-cae3a002.js';
12
12
  import { c as convertToNumber, b as countDecimals } from './number-4398f2e1.js';
13
13
  import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-47820eaa.js';
14
14
  import { R as RequiredFieldRule } from './required-field-rule-ab4bdc47.js';
@@ -22,11 +22,10 @@ import './index-e9da316f.js';
22
22
  import './_commonjsHelpers-9943807e.js';
23
23
  import './dynamic-slimmer-90b8af32.js';
24
24
  import './try-get-document-bef0f526.js';
25
- import './keyboard-manager-fa6355cb.js';
26
- import './type-guard-84b1f192.js';
25
+ import './keyboard-manager-ab521d22.js';
26
+ import './type-guard-12f7654b.js';
27
27
  import './breakpoints-d9faf11c.js';
28
28
  import './ui-8424715a.js';
29
- import './regex-dfe11abf.js';
30
29
  import './typography-396de03f.js';
31
30
  import './string-a953eafc.js';
32
31
  import './create-public-api-runtime-metrics-slimmer-bedf3a1e.js';
@@ -13,7 +13,9 @@ import { F as FeatureFlag } from './feature-flag-controller-51659753.js';
13
13
  import './icon-manager-2ee1c619.js';
14
14
  import './wait-for-vega-handler-c2c07ac3.js';
15
15
  import './translation-833d9ef4.js';
16
- import './content-state-73900a67.js';
16
+ import './content-state-460f6254.js';
17
+ import { S as StringFormatStrategy } from './string-format-strategy.abstract-452f4398.js';
18
+ import { i as isNonNullable } from './type-guard-12f7654b.js';
17
19
  import { b as FORM_ELEMENT_VALUE_CHANGE } from './static-subject-title-633b3474.js';
18
20
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
19
21
  import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-47820eaa.js';
@@ -34,12 +36,10 @@ import './_commonjsHelpers-9943807e.js';
34
36
  import './internal-vega-event-manager-526f8ed1.js';
35
37
  import './number-4398f2e1.js';
36
38
  import './index-e9da316f.js';
37
- import './code-block-3d519665.js';
39
+ import './code-block-055cae13.js';
38
40
  import './string-a953eafc.js';
39
- import './type-guard-84b1f192.js';
40
- import './regex-dfe11abf.js';
41
- import './typography-396de03f.js';
42
41
  import './object-66c37948.js';
42
+ import './typography-396de03f.js';
43
43
  import './mutation-observer-slimmer-58ebc13c.js';
44
44
  import './mutation-observer-filters-1a054fb0.js';
45
45
  import './array-7888f339.js';
@@ -6201,6 +6201,109 @@ __decorate$4([
6201
6201
  MapToComponentMethod('watchCountryCode')
6202
6202
  ], CountrySelectRenderer.prototype, "watchCountryCode", null);
6203
6203
 
6204
+ /**
6205
+ * A class for formatting phone number with the given mask format
6206
+ *
6207
+ * @augments StringFormatStrategy
6208
+ */
6209
+ class VegaPhoneNumberInputStrategy extends StringFormatStrategy {
6210
+ constructor(formatter) {
6211
+ super();
6212
+ this.formatter = formatter;
6213
+ }
6214
+ /**
6215
+ * @inheritDoc
6216
+ */
6217
+ format(input) {
6218
+ return this.formatter(input);
6219
+ }
6220
+ /*
6221
+ * The below method is e2e-test covered in
6222
+ * module: Should show normal when phone number with same country code
6223
+ */
6224
+ /* istanbul ignore next */
6225
+ /**
6226
+ * Get the position of
6227
+ *
6228
+ * @param {string} input - The input string
6229
+ * @param {number} caretPosition - The current position of caret
6230
+ * @returns {Nullable<number>} The new position of caret
6231
+ */
6232
+ calculateCaretPosition(input, caretPosition) {
6233
+ if (isNonNullable(caretPosition)) {
6234
+ const startValue = input.substring(0, caretPosition);
6235
+ const numberCount = this.countNumbers(startValue);
6236
+ const maskedInputValue = this.format(input);
6237
+ const maskedStartValue = this.truncateToNumberCount(maskedInputValue, numberCount);
6238
+ if (maskedStartValue.length !== startValue.length &&
6239
+ !(maskedStartValue.endsWith(')') && maskedStartValue.slice(0, -1) === startValue)) {
6240
+ return caretPosition + (maskedStartValue.length - startValue.length);
6241
+ }
6242
+ else {
6243
+ return caretPosition;
6244
+ }
6245
+ }
6246
+ }
6247
+ /**
6248
+ * Trigger the formatter at init
6249
+ *
6250
+ * @returns {boolean} true or false
6251
+ */
6252
+ shouldTriggerAtInit() {
6253
+ return true;
6254
+ }
6255
+ /**
6256
+ * Count the numbers in a given string
6257
+ *
6258
+ * @param {string} value - given string
6259
+ * @returns {number} count
6260
+ */
6261
+ countNumbers(value) {
6262
+ let count = 0;
6263
+ for (let i = 0; i < value.length; i++) {
6264
+ const char = value[i];
6265
+ if (!isNaN(parseInt(char, 10)) && char !== ' ') {
6266
+ count++;
6267
+ }
6268
+ }
6269
+ return count;
6270
+ }
6271
+ /**
6272
+ * The below method is e2e-test covered in
6273
+ *
6274
+ * module:vega-input-phone-number-input-delete
6275
+ */
6276
+ /* istanbul ignore next */
6277
+ /**
6278
+ *
6279
+ * @param {string} value - a given string
6280
+ * @param {number} count - count of numbers
6281
+ * @returns {string} the return string
6282
+ */
6283
+ truncateToNumberCount(value, count) {
6284
+ let numberCount = 0;
6285
+ let result = '';
6286
+ if (count <= 0)
6287
+ return '';
6288
+ for (let i = 0; i < value.length; i++) {
6289
+ const char = value[i];
6290
+ if (/^\d$/.test(char)) {
6291
+ if (numberCount >= count) {
6292
+ break;
6293
+ }
6294
+ numberCount++;
6295
+ result += char;
6296
+ }
6297
+ else {
6298
+ if (numberCount < count || char === ')') {
6299
+ result += char;
6300
+ }
6301
+ }
6302
+ }
6303
+ return result;
6304
+ }
6305
+ }
6306
+
6204
6307
  var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6205
6308
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6206
6309
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -6212,19 +6315,6 @@ class PhoneNumberInputRenderer extends VegaSlimmer {
6212
6315
  super(...arguments);
6213
6316
  this.phoneNumberMaskFormatter = (rawValue) => {
6214
6317
  const newValue = parseIncompletePhoneNumber(rawValue);
6215
- /*
6216
- * The below method is e2e-test covered in
6217
- * @see{module:vega-input-phone-number-input-delete}
6218
- */
6219
- /* istanbul ignore next */
6220
- /**
6221
- * work around for keyboard press Backspace
6222
- * (123) -> (123
6223
- */
6224
- if (newValue === parseIncompletePhoneNumber(this.phoneNumberInputValue) &&
6225
- this.phoneNumberInputValue.length > rawValue.length) {
6226
- return this.phoneNumberInputValue.slice(0, -1);
6227
- }
6228
6318
  return this.valueController.formatNationalNumber(newValue);
6229
6319
  };
6230
6320
  }
@@ -6250,9 +6340,8 @@ class PhoneNumberInputRenderer extends VegaSlimmer {
6250
6340
  this.inputRef = ref;
6251
6341
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaChange, this.handleInputChange.bind(this));
6252
6342
  }, value: this.phoneNumberInputValue, maskConfig: {
6253
- type: 'custom-formatter',
6254
- formatter: this.phoneNumberMaskFormatter,
6255
- resetCaretPosition: true,
6343
+ type: 'custom',
6344
+ strategy: () => new VegaPhoneNumberInputStrategy(this.phoneNumberMaskFormatter),
6256
6345
  } })));
6257
6346
  }
6258
6347
  /**
@@ -4,7 +4,7 @@ import { s as sanitizeVegaComponent } from './component-7d906393.js';
4
4
  import { P as PageResizeObserverSlimmer, g as getCurrentBreakpoint } from './page-resize-observer-slimmer-0bf7fbf3.js';
5
5
  import { c as MapToComponentField, V as VegaSlimmer, M as MapToComponentMethod, L as LogUtility, I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
6
6
  import { a as arrayToClassString } from './ui-c20be16d.js';
7
- import { R as ResponsiveFormatFacade } from './responsive-format-facade-81b72f39.js';
7
+ import { R as ResponsiveFormatFacade } from './responsive-format-facade-dbeffcd6.js';
8
8
  import { V as VegaComponentUsageRuntimeMetricsSlimmer, I as InjectVegaGlobalSlimmer } from './component-usage-runtime-metrics-a84cc93e.js';
9
9
  import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-999e21e3.js';
10
10
  import { n as VegaDropdownShow, o as VegaDropdownHide, b as VegaDropdownClick, q as VegaDropdownSearch, r as VegaSearchTrigger, p as VegaReset, d as domNodeSubjectFactory, f as VegaChange, m as VegaSearch, D as VegaShow, E as VegaHide } from './dom-node-subject-factory-202655e7.js';
@@ -19,7 +19,7 @@ import { V as VegaInternalIconManager } from './internal-icon-manager-7eac52c8.j
19
19
  import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-47820eaa.js';
20
20
  import { c as createEventEmitSlimmer } from './event-emit-slimmer-40973ec2.js';
21
21
  import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-6b5b31f5.js';
22
- import { N as isArrayOfType, P as isSelectSourceItemType } from './type-guard-84b1f192.js';
22
+ import { Q as isArrayOfType, U as isSelectSourceItemType } from './type-guard-12f7654b.js';
23
23
  import { M as MutationObserverSlimmer } from './mutation-observer-slimmer-58ebc13c.js';
24
24
  import { T as TagNameMutationFilter } from './mutation-observer-filters-1a054fb0.js';
25
25
  import { T as TranslationSlimmer } from './translation-slimmer-c83b52c1.js';
@@ -43,12 +43,11 @@ import './index-e9da316f.js';
43
43
  import './icon-manager-2ee1c619.js';
44
44
  import './wait-for-vega-handler-c2c07ac3.js';
45
45
  import './translation-833d9ef4.js';
46
- import './content-state-73900a67.js';
47
- import './code-block-3d519665.js';
46
+ import './content-state-460f6254.js';
47
+ import './code-block-055cae13.js';
48
48
  import './string-a953eafc.js';
49
49
  import './object-66c37948.js';
50
50
  import './sub-state-observer-slimmer-c823d69c.js';
51
- import './regex-dfe11abf.js';
52
51
  import './typography-396de03f.js';
53
52
 
54
53
  var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {